Hallo GerdW,
vielen Dank für deine ausführlichen Tipps und Verbesserungen. Damit hast du mir schon mal sehr geholfen. Auch verstehe ich jetzt einige Zusammenhänge besser!
Zitat:"Skript"? Du meinst wohl VI oder dessen BD…
Oh ja, natürlich meinte ich VI. Bei uns am Institut hat sich auch Messskript eingebürgert. Deshalb der falsche Terminus!
Zitat:Warum?
Es lief mit einer maximalen Queuegröße von 500 am stabilsten. Wenn -1 oder etwas größeres als 500 gewählt wurde, wurden nur 1,6 Sekunden in die TDMS geschrieben bzw. das PXI hatte nach sehr kurzer Zeit eine 100% Kernauslast und hat sich neugestartet. Aber ich hoffe dass sich deine Verbesserungsvorschläge auch darauf auswirken.
Zitat:Soweit ich dass bei den Queues verstanden habe...
Zitat:Nein. Wieso?
Mein Fehler, ich hatte etwas zur Speicherreservierung mit Queues durcheinandergebracht.
Zitat:Ganz großer Fehler: eine Queue mit einem Producer (Messschleife)...
Ah, ok. Das erklärt so einiges. War mir bisher nicht bewusst.
Zitat:Lese die Queue nur in der Speicherschleife und reiche den aktuellen Status für die Anzeige per Notifier weiter!
Werde ich machen. Ich hatte bisher nur Queues oder Melder verwendet. Aber nicht kombiniert.
Zitat:Warum musst du überall den Queue-Status abfragen, obwohl du dessen Ausgaben nie verwendest?
Zum besseren Verständnis und einfacheren Einarbeitung wurden mir VI's von Vorgängern gegeben. Dort wurden die Queues so aufgezogen. Aber eigentlich hätte ich auch durch den Namen des Baussteins darauf kommen können dass es nicht notwendig ist.
Zitat:Deine DAQmxRead fragen nur die gerade verfügbaren Samples ab. Warum fragst du nicht Blöcke mit definierter Sampleanzahl ab? Dann könnte sich auch das Problem der zappelnden Graphen relativieren…
Klingt gut, werde ich machen. Die meisten VI's hier am Institut arbeiten ohne Blöcke mit definierter Sampleanzahl. Bin dadurch auch gar nicht auf die Idee gekommen dass es daran liegen könnte.
Zitat:- Deine zwei Queues werden in einer Schleife abgefragt, d.h. die langsamere Queue kann die schnellere ausbremsen. Das ist kein wirklich durchdachtes Design…
Klingt logisch! Muss ich ändern.
Zitat:- Die Anzeigeschleife wird zusätzlich noch durch eine Wartezeit ausgebremst - dies ist für die Anzeige sinnvoll, aber nicht für die Queue…
Verstehe.
Zitat:- Warum schreibst du einen Wert in ein Terminal und zusätzlich noch in eine lokale Variable eben dieses Terminals? Warum nutzt du keine Drähte, um Daten weiterzureichen? (Das bezieht sich auf deine Pfadangaben…)
Mich hatten die Drähte gestört. Ich fand es mit Drähten an dieser Stelle zu unübersichtlich, außerdem hatten mich auch die Lokalen Variablen begeistert. Im Prinzip ist es wohl Spielerei. Werde ich auch ändern.
Also nochmals vielen Dank! Ich kann jetzt gleich wieder ans PXI und werde deine Vorschläge direkt testen.
Gruß Afti3l