LabVIEWForum.de
Programmstruktur mit Zustandsautomaten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programmstruktur mit Zustandsautomaten (/Thread-Programmstruktur-mit-Zustandsautomaten)



Programmstruktur mit Zustandsautomaten - creo_123 - 24.04.2022 10:01

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..


RE: Programmstruktur mit Zustandsautomaten - Martin.Henz - 24.04.2022 11:46

Hallo creo_123,

du kannst den Cluster als Typedef festlegen.


RE: Programmstruktur mit Zustandsautomaten - jg - 25.04.2022 10:51

(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


RE: Programmstruktur mit Zustandsautomaten - creo_123 - 25.04.2022 15:37

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.


RE: Programmstruktur mit Zustandsautomaten - Martin.Henz - 25.04.2022 16:16

(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.


RE: Programmstruktur mit Zustandsautomaten - jg - 26.04.2022 15:58

(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


RE: Programmstruktur mit Zustandsautomaten - creo_123 - 28.04.2022 05:59

absolut nachvollziehbar!Smile Nochmals vielen Dank euch beiden..