LabVIEWForum.de - Programmstruktur mit Zustandsautomaten

LabVIEWForum.de

Normale Version: Programmstruktur mit Zustandsautomaten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Einen schönen Sonntag zusammen,

ich hätte mal eine prinzipielle Frage zum Aufbau einer Programmstruktur in Labview. In einer While-Schleife läuft ein Zustandsautomat bestehend aus einer Case-Struktur und einer Enum-Konstante für die einzelnen Zustände. Alle Daten, d.h. Messwerte, Prüfparameter etc. laufen als Cluster über ein Schieberegister durch meine Programm. Das funktioniert soweit auch gut, allerdings ist es immer ein großer Anpassungsaufwand wenn ich in dem Cluster einen Wert ergänze, da ich das Cluster dann auch in einer Vielzahl von Sub-VIs aktualisieren muss. Hier wäre meine Frage, ob es eine Möglichkeit gibt das sinnvoller aufzubauen?

Im Voraus besten Dank für die Hilfe und viele Grüße..
Hallo creo_123,

du kannst den Cluster als Typedef festlegen.
(24.04.2022 11:46 )Martin.Henz schrieb: [ -> ]Hallo creo_123,

du kannst den Cluster als Typedef festlegen.
Du MUSST den Cluster als Typedef anlegen !!! Genauso wie das Enum für die State-Machine !!!

Gruß, Jens
Zunächst einmal vielen Dank für eure Antworten! Alles funktioniert wie erwartet und hilft mir wirklich sehr.

Interessieren würde mich aber noch, weshalb ich das sowohl beim Cluster als auch bei der Enum-Konstante machen MUSS? Auch vorher hat es ja funktioniert, war aber mit erheblichem Anpassungsaufwand verbunden.
(25.04.2022 15:37 )creo_123 schrieb: [ -> ]Zunächst einmal vielen Dank für eure Antworten! Alles funktioniert wie erwartet und hilft mir wirklich sehr.

Interessieren würde mich aber noch, weshalb ich das sowohl beim Cluster als auch bei der Enum-Konstante machen MUSS? Auch vorher hat es ja funktioniert, war aber mit erheblichem Anpassungsaufwand verbunden.

Nunja ... ich hatte "kannst" geschrieben und Jens hat daraus ein MUSS gemacht :-)
Das ist schon alles ok so.

Im Endeffekt musst du das natürlich nicht zwingend machen. Es macht nur keinen Spass und jeder der sich dein Programm betrachtet ist entsetzt.
(25.04.2022 15:37 )creo_123 schrieb: [ -> ]Zunächst einmal vielen Dank für eure Antworten! Alles funktioniert wie erwartet und hilft mir wirklich sehr.

Interessieren würde mich aber noch, weshalb ich das sowohl beim Cluster als auch bei der Enum-Konstante machen MUSS? Auch vorher hat es ja funktioniert, war aber mit erheblichem Anpassungsaufwand verbunden.

Hallo,

vielleicht hätte ich schreiben sollen, "du solltest dringend" anstatt "MUSS". Wieso MUSS? Weil man sich mit diesem Vorgehen die Arbeit ersparen bzw. vereinfachen kann, wenn man etwas an Enums oder Clustern ändert. Es ist einfach eine "Best Practice", der man unbedingt folgen sollte - und zwar genau aus dem Grund, den du beschrieben hast.

Gruß, Jens
absolut nachvollziehbar!Smile Nochmals vielen Dank euch beiden..
Referenz-URLs