LabVIEWForum.de - Wartezeit - Abbruch durch Case-Struktur

LabVIEWForum.de

Normale Version: Wartezeit - Abbruch durch Case-Struktur
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo User,

ich möchte in einer State-Machine in einem Case auf einen Eingang (Lokale Variable) warten.
Wenn die Zeit des Verzögerungsgliedes abgelaufen ist in den nächsten Case springen und eine Fehlermeldung ausgeben.
Sollte während der Wartezeit aber der Eingang "True" werden, möchte ich in einen anderen Case springen.

Soweit funktioniert das auch. Allerdings fängt die Zeit des Wartegliedes nicht immer bei 0 an, daher sind die Zeiten sehr unterschiedlich
und sehr ärgelich, wenn die Meldung z.B. schon nach 1 Sekunde kommt statt nach eingestellten 10s. Die Einstellung "Automatisches Rücksetzen" ist gesetzt,
sonst funktioniert es gar nicht, da die Komponente nie zurückgesetzt wird.

Ich habe hier leider ein Express-VI benutzt, da es mir mit anderen Zeitkomponenten nicht gelungen ist. Die anderen Komponenten
für eine Verzögerung ließen sich durch den True-werdenden Eingang nicht unterbrechen.

Wie kann ich also sicherstellen, dass die Zeit immer von Null-beginnt?

bzw. welche elegantere Lösung gibt es für ein solches Problem?

Vielen Dank.

LV-Version: 8.5
Blende mal den Rücksetz-Eingang ein...und wenn du das erste mal in den Case kommst, sagst du hier TRUE...überprüfen kannst du das, in dem du per Schieberegister prüfst, ob der vorhergehende Schritt der gleiche war oder nicht!

PS: Ich empfehle dir für ne StateMachine Enums anstelle von Strings...damit vermeidest du Tippfehler in den Case-Namen!
.... und die bitte als TypeDef, falls Du später mal was ändern möchtest (neuer State einfügen,...).

Gruß Markus

' schrieb:Ich empfehle dir für ne StateMachine Enums
Hey Achim und Y-P,

danke für Eure Tipps, habs in der Art und Weise von Achim umgesetzt. Funktioniert soweit.
Dachte, dass es da evtl noch was komfortableres gibt, denn die Express-Vi´s sind ja glaub ich bei den Profis nicht so beliebt.

Danke euch.
Hast Du Dein Enum als TypeDef definiert?

Gruß Markus

' schrieb:danke für Eure Tipps, habs in der Art und Weise von Achim umgesetzt.
Referenz-URLs