Reset nach Stop in der whileschleife - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Reset nach Stop in der whileschleife (/Thread-Reset-nach-Stop-in-der-whileschleife) |
Reset nach Stop in der whileschleife - applefan - 22.12.2010 12:09 Hallo an alle, ich habe da ein kleines Problem. Ich habe ein Vi welches acht Magnetventile ansteuert und ein paar selbstgemachte Symbole (Ursprung war immer eine LED) an und ausschaltet. Wenn ich jetzt während des Programmablaufes (weil ich zum Beispiel optisch einen Fehler entdecke) das Programm stoppe, stoppt zwar der Ablauf des Vis aber die Ventile und LEDs die zum Zeitpunkt des stoppens an waren bleiben an. Ich möchte aber das wann immer ich die Stop-Taste drücke alles wieder in den Ursprungszustand zurück versetzt wird, d.h. alle Ventile und LEDs aus. Kann mir da jemand helfen? Gruß Thomas Reset nach Stop in der whileschleife - NWOmason - 22.12.2010 12:42 Leider kann ich das Blockdiagramm nicht öffnen. Da kriege ich immer einen schweren internen Fehler in "Image2.cpp". Häng doch mal kurz nen Screenshot vom Blockdiagramm an. Grundsätzlich kannst du doch einfach ein kleines VI schreiben, dass dir nach dem drücken der Stop-Taste alle Leds usw wieder auf false setzt? Bezeihungsweise auch ans Programmende setzen. Beste Grüße, NWO @Edit: So ungefähr in diese Richtung: Reset nach Stop in der whileschleife - applefan - 22.12.2010 13:17 Hallo NWO, erstmal danke werde deine Methode gleich testen. Habe ein Vi angehängt ohne Hardwareverknüpfung und ein .jpeg vom Blockdiagramm, vielleicht schaust du ja noch einmal rein Gruß Thomas Reset nach Stop in der whileschleife - applefan - 22.12.2010 13:24 Hallo NWO, hab es gerade probiert. Die LEDs gehen bei deiner Version aus, aber die Schalter bleiben an, d.h. für mich das die Ventile die angeschaltet sind auch angeschaltet bleiben. Ich möchte aber eben den gesamten Ablauf wieder in den START-Zustand haben - also alles aus. Gruß Thomas Reset nach Stop in der whileschleife - NWOmason - 22.12.2010 13:27 Hallo Thomas, ich würde einfach den Stop-Schalter an die Schleife durchverdrahten. Hinter der Schleife einen Case einfügen, der bei True alle Werte wieder auf False setzt. Habe mein Beispiel mal kurz an die Gegebenheiten angepasst. Beste grüße, NWO Reset nach Stop in der whileschleife - chrissyPu - 22.12.2010 13:56 Hallo, folgendes Vorgehen würde ich empfehlen: - Standardwerte für Schalter etc. definieren - Zum Start des VIs die Methode Reinitialize to Default Value (gibt's auch fürs gesamte VI) aufrufen. Am Anfang deshalb, weil man dann im weiteren Programmablauf von definierten Zuständen ausgehen kann. Wenns beim debuggen schön aussehen soll, kannst Du den Block ja nochmal einfügen... Reset nach Stop in der whileschleife - applefan - 22.12.2010 14:03 Hi NWO, das funktioniert leider nur in der Simulation. Ich habe mich nach deinem ersten Vorschlag natürlich selbst ein weiter probiert. Ich habe eine Sequenz genommen und meinen Cluster aus der Whileschleife als lokale Variable in eine zweite Sequenz getan, Konstante angehängt und alle LEDs und Ventile auf False gesetzt. So weit so gut, es wird beim Stop alles abgeschaltet aber leider werden die Ventile (Hardware am NI9472) nicht ausgeschaltet. Gruß Thomas Reset nach Stop in der whileschleife - jg - 22.12.2010 14:09 Hast du auch alle DOs im per DAQmx wieder auf False gesetzt? Das musst du schon selber machen, wenn du einen Task stoppst, dann bleibt ein Ausgang in seinem letzten Zustand. Grundprinzip, alles was nicht automatisch geht, muss man selber machen. Deinen Cluster kannst du auch per InvokeNode am Ende auf Default-Werte setzen: [attachment=31398] Gruß, Jens Reset nach Stop in der whileschleife - NWOmason - 22.12.2010 14:17 Natürlich müssen die digitalen Ausgänge auch noch ausgeschalten werden. Ich habe mich jetzt mal nur auf die Anzeigeelemente bezogen. Sorry, da war ich vielleicht auch etwas ungenau. Schreib doch einfach einmalig ein False an jeden Ausgang beim Beenden. Beste Grüße, NWO |