![]() |
beenden von Flache Sequenzstruktur - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: beenden von Flache Sequenzstruktur (/Thread-beenden-von-Flache-Sequenzstruktur) |
RE: beenden von Flache Sequenzstruktur - jg - 20.11.2014 16:11 THINK Dataflow! Ich habe mal deine Feedbacknode durch ein Schieberegister ersetzt und danach das Programm durch Autoclean-Up gejagt. Danach kommt das hier raus: [attachment=51405] Was passiert, wenn du deinen "Latch" Stopp Button drückst? - Der Stopp-Button wird ausgelesen, die For-Loop beendet und der Stopp Button springt zurück auf False. - Hierdurch wird aber nicht deine While-Loop beendet, sie startet den nächsten Step. - In diesem Schritt führst du jetzt zwar kein Kommando mehr aus, ABER die Wartezeit diesen Schrittes wird jetzt abgearbeitet -> FAIL. Der Vorteil einer Statemachine ist eigentlich, dass man die programmierten Schritte nicht statisch abarbeiten muss (im Prinzip machst du das), sondern dass man im Fehler- oder Abbruchfall dediziert zu einem "Abbruch-Case" springen kann, in dem man dann z.B. alles sauber ausschaltet. Was beim nächsten Start des VI genau schief geht, keine Ahnung, da musst du einmal Fehlersuche betreiben (Errorcluster anzeigen, etc. pp.). Gruß, Jens RE: beenden von Flache Sequenzstruktur - GerdW - 20.11.2014 16:48 Und wenn auf Feedbacknode/Schieberegister verzichtet worden wäre (wie in meinem als Lösung markierten Vorschlag), dann wäre dieses Problem auch nicht aufgetreten… RE: beenden von Flache Sequenzstruktur - Mido - 27.11.2014 12:40 Hallo Jens, GerdW, vielen Dank für eure Hilfe, das Programm läuft jetzt einwandfrei. ![]() Gruß Mido P.S.: ich war letzte Woche Krank, deswegen habe ich mich erst heute gemeldet RE: beenden von Flache Sequenzstruktur - Mido - 01.12.2014 13:09 Hallo Zusammen, ich hab ein Problem, wahrscheinlich ist es einfacher als ich denke,...mein Programm ist für eine bestimmte Messungen geschrieben und funktioniert einwandfrei.. Nun wollte ich das Programm in eine EXE-Datei umwandeln und wollte, dass das Prgoramm nicht automatisch ausgeführt wird, daher habe ich eine while-schleife am Anfang gemacht, wenn ich so zu sagen auf STARTEN, was eigenltich die While-Schleife beendet, drücke, wird das Programm ausgeführt. Nun zu meinem Problem: das Programm läuft schon gut bis auf den Teimer , denn wenn ich auf STOPP drücke, und wierder auf STARTEN drücke, wird Teimer nicht zurückgesetzt, sondern zählt er weiter, wo er auf gehört hat.( z.B wenn das Porgramm gestoppt wird und der Teimer zeigt 30 Sec. und in 20 Sec. wieder auf STARTEN gedrückt, zeigt Teimer 50 Sec. ![]() Ich will aber dass der teimer immer von 0 zähle wenn ich auf STARTEN drücke kann mir jemand helfen bzw. einen Tipp geben, wie man den Fehler beheben kann ? vielen Dank im Voraus Mido P.S.: vill liegt mein Problem in den rot markierten Bereich, aber ich kann es leider nicht beheben ![]() [attachment=51505] RE: beenden von Flache Sequenzstruktur - GerdW - 01.12.2014 13:12 Hallo Mido, Zitat:Ich will aber dass der teimer immer von 0 zähle wenn ich auf STARTEN drückeDann musst du ihn wohl noch wirklich auf Null setzen! 1. Eine EXE sollte wirklich beendet werden (d.h. Fenster schließen und Programm aus dem Speicher werfen), wenn man auf Beenden klickt… 2. Wenn deine EXE aber einen "Restart" macht, bist du als Programmierer für die korrekte (Re-)Initialisierung zuständig! 3. Lokale Variablen fürher sehr schnell zu Race Conditions… |