LabVIEWForum.de - Probleme bei Enums in einer State Machine

LabVIEWForum.de

Normale Version: Probleme bei Enums in einer State Machine
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

ich wollte mal fragen, ob es einen kleinen Trick gibt, um alle Enums, die für eine State Machnie relevant sind, zu ändern. Mit dem Ändern ist die Veränderungen von den Objekten der Enums gemeint.

mfg Pate Toni
Da musst Du ein Typedef machen. Wenn Du das dann einmal änderst, wird es an allen zugehörigen Objekten auch geändert.
Evtl. mach' ich schnell ein Bsp.

Gruß Markus
Hier ist das Bsp.
Du kannst jetzt im Hallo-Type-Def Deine Einträge ändern und dann auf File->Apply Changes klicken.... Dann wird es in jeder Konstanten im Hallo-VI geändert.

Gruß Markus

' schrieb:Da musst Du ein Typedef machen. Wenn Du das dann einmal änderst, wird es an allen zugehörigen Objekten auch geändert.
Evtl. mach' ich schnell ein Bsp.

Gruß Markus

(VI LV 8.2)
danke, klappt wunderbar!!
Moin!

Ich hab dazu auch mal ne Frage:

Funktioniert das auch bei bestehenden StateMachines? In meinem Beispiel habe ich eine SM mit 5 States und würde gern vor den ersten Case in die Enumkonstante noch einen einfügen. Das funktioniert aber nicht, dann kommt die Casestruktur völlig durcheinander. Wenn ich ihn dagegen hinten anhänge, klappt das einwandfrei.

Wenn ich nun aber statt der Enumkonstante solch ein Control an die SM ranhänge, kommt auch alles durcheinander (die Informationen der Cases gehen verloren). Muss ich jetzt meine StateMachines komplett neu machen (mit solch einem TypeDef-Control) oder gibt es noch eine andere Lösung, eine StateMachine zu erweitern?

Grüßle
S.

Lv71_img
Ohne mir die Dateien angeschaut zu haben:
Du musst alle bisher vorhandenen Enums in deiner SM mit der Typedef-Enum ersetzen. Danach sollte es kein Problem mehr sein, die Änderungen vorzunehmen.
Ahja, das muss man natürlich wissen. Hat geklappt, danke.

Jedoch hat er dann die Cases total durcheinandergebracht, so dass man die dann erst wieder miteinander tauschen muss. Das kann bei vielen Cases schon mal unübersichtlich werden.

Grüßle
S.
Deswegen sollte man solche Sachen schon von Anfang an so programmieren, dass man im Nachhinein problemlos Dinge ändern kann.
Ich geb's zu, man sollte auch wissen was es in LabVIEW für Möglichkeiten gibt, die man in so einem Fall anwenden kann.

Gruß Markus
Hab mit StateMachines noch nicht so lange programmiert, daher wusste ich nicht, dass man das relativ schwer ändern kann. Von jetzt an werd ich das dann auch mit solch einem Control machen.
Referenz-URLs