Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Moin Zusammen,
kann man in Erreignisstruktur zu einem Ereignis Priorität geben.
Zum Beispiel:
ich habe 3 Ereignisse, P1,P2 und Not Aus. Und ich möchte das Programm abbrechen, egal wo das Programm steht(P1 oder P2).
LG Lola
wenn deine Events P1 und P2 dein Programm blockieren können, hast du schon vorher einen Designfehler gemacht.
Events sollten NIE ein Programm blockieren!
Zitat:kann man in Erreignisstruktur zu einem Ereignis Priorität geben.
In neueren LabVIEW-Versionen kann man Events priorisieren.
ABER: dies verhindert nicht, dass weiterhin THINK DATAFLOW gültig ist!
Ein Event ist KEIN Interrupt, neue Events werden erst nach Abarbeitung des aktuellen Eventcases verarbeitet!
wenn deine Events P1 und P2 dein Programm blockieren können, hast du schon vorher einen Designfehler gemacht.
Events sollten NIE ein Programm blockieren!
Zitat:kann man in Erreignisstruktur zu einem Ereignis Priorität geben.
In neueren LabVIEW-Versionen kann man Events priorisieren.
ABER: dies verhindert nicht, dass weiterhin THINK DATAFLOW gültig ist!
Ein Event ist KEIN Interrupt, neue Events werden erst nach Abarbeitung des aktuellen Eventcases verarbeitet!
Hallo GerdW,
die P1 und P2 blockieren nicht mein Programm. Ich möchte nur falls es einen Hardware Fehler auftritt, dann kann ich das ganze Programm Software massig abbrechen.
LG Lola
01.12.2014, 16:35 (Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2014 16:35 von GerdW.)
Zitat:die P1 und P2 blockieren nicht mein Programm.
In beiden Events liegt ein subVI, welches uns unbekannt ist…
Zitat:Ich möchte nur falls es einen Hardware Fehler auftritt, dann kann ich das ganze Programm Software massig abbrechen.
Rein vom Anschein her kannst du jederzeit auf den NOTAUS-Knopf drücken…
Wozu die Wartezeit in der Schleife? Ist die nicht kontraproduktiv bzgl. deiner Anfrage, "sofort" stoppen zu können? THINK DATAFLOW!
Wenn du diese Wartezeit unbedingt brauchst: Erstell einen Timeout-Eventcase und lasse diesen 100ms warten…
Zitat:die P1 und P2 blockieren nicht mein Programm.
In beiden Events liegt ein subVI, welches uns unbekannt ist…
Zitat:Ich möchte nur falls es einen Hardware Fehler auftritt, dann kann ich das ganze Programm Software massig abbrechen.
Rein vom Anschein her kannst du jederzeit auf den NOTAUS-Knopf drücken…
Wozu die Wartezeit in der Schleife? Ist die nicht kontraproduktiv bzgl. deiner Anfrage, "sofort" stoppen zu können? THINK DATAFLOW!
Wenn du diese Wartezeit unbedingt brauchst: Erstell einen Timeout-Eventcase und lasse diesen 100ms warten…
guten Morgen GerdW,
in jedem Event liegt ein SubVI, die werden ausgeführt, wenn man die Taster P1 oder P2 betätigt. Das Problem ist, wenn man den Taster NOT AUS betätigt, werden die SubVI nicht untergebrochen. Sondern die laufen bis zum Ende. Aber ich möchte in jeder Zeit das ganze unterbrechen wenn ich NOT- AUS betätige.
02.12.2014, 10:14 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2014 10:20 von Lucki.)
Nur kurzen Hinweis, habe jetzt keine Zeit:
Man kann ein Sub-Vi, satt das Ikon zu benutzen, auch über Methodenknoten aufrufen, und zwar so, dass dann nicht das Hauptprogramm während der Ausführungszeit blockiert wird. Ebenso läßt es sich stoppen, indem man über Methoden- (oder Eigenschafts-?) Knoten direkt den Stop-Knopf des Sub-Vis betätigt.
Also: In den beiden Ereignissen P1 und P2 Aufruf der SubVis nicht über ihre Ikons, sondern über Methodenkonten, und bei Ereignis "Not-Aus" das Stoppen der beiden Sub-Vis veranlassen.
Think Dataflow!
Wie soll ein anderes Event der Event-Struktur verarbeitet werden, wenn ein SubVI abgearbeitet wird und sich das Haupt-VI noch IN einem anderen Event-Case befindet?
Lösungs-Möglichkeiten: s. Lucki (wenn auch etwas unschön zwecks radikalem Abbruch eines VIs) oder Umbau deines VI!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
(02.12.2014 10:35 )jg schrieb: Lösungs-Möglichkeiten: s. Lucki (wenn auch etwas unschön zwecks radikalem Abbruch eines VIs) oder Umbau deines VI!
Das war von mir unglücklich formuliert. Mit Stoppen des VI meinte ich, dass man über eine Referenz zum Sub-Vi ganz sanft den Stopp-Knopf des Sub-Vis drückt.
02.12.2014, 11:27 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2014 11:42 von lola2014.)
(02.12.2014 10:14 )Lucki schrieb: Nur kurzen Hinweis, habe jetzt keine Zeit:
Man kann ein Sub-Vi, satt das Ikon zu benutzen, auch über Methodenknoten aufrufen, und zwar so, dass dann nicht das Hauptprogramm während der Ausführungszeit blockiert wird. Ebenso läßt es sich stoppen, indem man über Methoden- (oder Eigenschafts-?) Knoten direkt den Stop-Knopf des Sub-Vis betätigt.
Also: In den beiden Ereignissen P1 und P2 Aufruf der SubVis nicht über ihre Ikons, sondern über Methodenkonten, und bei Ereignis "Not-Aus" das Stoppen der beiden Sub-Vis veranlassen.
moin Lucki,
ich habe noch nie mit Methodenknoten gearbeitet, wie kann man durch diese Funktion ein SubVI aufrufen?
danke
(02.12.2014 11:27 )lola2014 schrieb:
(02.12.2014 10:14 )Lucki schrieb: Nur kurzen Hinweis, habe jetzt keine Zeit:
Man kann ein Sub-Vi, satt das Ikon zu benutzen, auch über Methodenknoten aufrufen, und zwar so, dass dann nicht das Hauptprogramm während der Ausführungszeit blockiert wird. Ebenso läßt es sich stoppen, indem man über Methoden- (oder Eigenschafts-?) Knoten direkt den Stop-Knopf des Sub-Vis betätigt.
Also: In den beiden Ereignissen P1 und P2 Aufruf der SubVis nicht über ihre Ikons, sondern über Methodenkonten, und bei Ereignis "Not-Aus" das Stoppen der beiden Sub-Vis veranlassen.
moin Lucki,
ich habe noch nie mit Methodenknoten gearbeitet, wie kann man durch diese Funktion ein SubVI aufrufen?
danke