LabVIEWForum.de - Sequenz wird zweimal durchlaufen

LabVIEWForum.de

Normale Version: Sequenz wird zweimal durchlaufen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich stehe mal wieder am Rande der Verzweiflung.

Die Sequenz wird 2 mal ausgeführt und das Programm springt erst anschließend in den Zustand "Auf Benutzer warten". Warum? Blink Die Sequenz soll nur 1 mal durchlaufen werden.

Grüße
Marcel
Das lässt sich auf Grund des Screenshots nicht sagen. Ich vermute eine Race-Condition auf Grund der Abarbeitung von Code parallel zu deinem Code-Ausschnitt.

Gruß, Jens
Hallo Jens,

wie kann ich eine "Race-Condition" vermeiden? Was genau ist das eigentlich?
Ich habe übrigens herausgefunden, dass wenn sich maximal eine "Warten" Funktion in der gesamten Sequenzstruktur befindet, dass das Problem nicht auftritt. Sobald ich eine zweite "Warten" Funtkion einfüge wird die Sequenz zweimal ausgeführt. Vielleicht gibt es eine andere Möglichkeit, bei der das Problem nicht auftritt? Evtl. eine zeitgesteuerte Sequenzstruktur?

Vielen Dank im Voraus für deine Hilfe!

Grüße
Marcel
P.S.: In der außen befindlichen While-Schliefe befindet sich kein weiterer Programmcode, außer der abgebildeten State Machine!
Hallo Marcel

Zur weiteren Beantwortung deiner Fragen wäre vorerst ein Bild mit dem kompletten Inhalt der While-Schleife sowie ein Bild mit dem kompletten Inhalt des Cases "Auf Benutzer warten" notwendig. Schön wäre natürlich das VI selbst.

Race-Conditions ergeben sich aus parallelen Programmabläufen, in deren Folge man nicht definitiv sagen kann, welchen Wert eine bestimmte Dateninstanz hat.
(19.01.2018 23:16 )mprocket schrieb: [ -> ]Ich habe übrigens herausgefunden, dass wenn sich maximal eine "Warten" Funktion in der gesamten Sequenzstruktur befindet, dass das Problem nicht auftritt. Sobald ich eine zweite "Warten" Funtkion einfüge wird die Sequenz zweimal ausgeführt.
Also das ist sicher NICHT die Ursache für die 2-malige Ausführung.

Beantworten lässt sich das aber nur bei vollständiger Kenntnis deines VI (wie IchSelbst schon geschrieben hat). Meine Glaskugel ist leider kaputt :glass2:

Gruß, Jens
Hallo Zusammen,

danke für eure Antworten. Anbei findet ihr mein VI. Es geht um den Zustand "SEW Freigabe".

Die Timing Funktion mag nicht die Ursache sein, dennoch wird bei mehreren "warten" Funktionen die Sequenz 2 mal ausgeführt.Huh

Danke für eure Hilfe und schönen Sonntag
Marcel
(21.01.2018 13:46 )mprocket schrieb: [ -> ]die Sequenz 2 mal ausgeführt.

Das Schaltverhalten des Buttons "SEW Freigabe" (Prüfstand hochfahren) steht auf "Bis zum Loslassen schalten". Dieses Verhalten bewirkt Events sowohl beim Drücken des Buttons als auch beim Loslassen des Buttons. Demzufolge wird der Event und die Sequenz pro Klick zweimal ausgeführt.

Ich empfehle ein Umstellen des Verhaltens auf "Latch beim Loslassen".
Hallo IchSelbst,

vielen Dank für die Lösung! Big Grin

Grüße
Marcel
Referenz-URLs