Hallo Markus,
Zitat:Also ob das vom Programmierstil her gut ist und ob man das ggfs besser lösen kann.
- Das Frontpanel muss nicht auf "maximiert" gestellt werden. Vor allem bei den paar FP-Elementen…
- Ab und zu mal AutoCleanup benutzen…
- Ich bin kein Freund des DAQAssistenten. Dafür gibt es einfache DAQmx-Funktionen.
- Sehr viele lokale Variablen - IMHO zuviele für ein solche kleines VI.
- Du verwendest eine Wartezeit in der Hauptschleife, obwohl DAQmx das Schleifentiming vorgeben sollte.
- Das State-Enum ist nicht typdefiniert.
- Das BuildArray gehört direkt vor den zweiten DAQAssi, das musst du nicht 4 oder 5mal im Code verstreuen!
- Die Registerkarte sollte keine äußere Case-Struktur umschalten, sondern als Bedingung einen State der inneren Case-Struktur aufrufen.
- SelectedPath gehört in ein Schieberegister, so wie alle anderen internen "Variablen" der Statemachine auch…
- Verwende einen Latch-Schaltmodus für deine Buttons, statt sie über lokale Variablen wieder zurückzusetzen.
- Das VI kann nicht sauber beendet werden (nur gewaltsames Abbrechen ist möglich).
- Warum sind die Ausgabewerte vom Typ DBL, obwohl der DAQAssi U32 erwartet?
Zitat:Beim Speichern passieren noch seltsame Dinge, da scheint irgendein Puffer im Spiel zu sein.
Wozu rufst du ein zweites "Speichern"-ExpressVI auf, nur um es zu deaktivieren?