INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

verzögerte For-Schleife abbrechen



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!

21.11.2008, 13:28
Beitrag #1

*Gerald* Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Oct 2008

8.2
2008
de

71000
Deutschland
verzögerte For-Schleife abbrechen
Hi,

habe folgendes Problem. Ich habe ein Testprogramm geschrieben mit dem ich aus einem txt File Werte auslese z.b. die Anzahl von Durchläufen und die Durchlaufsdauer. diese Werte füge ich dann einmal als N an die For-Schleife und die Durchlaufsdauer lege ich an ein Timing-vi in der Schleife. Damit ich die For schleife vorzeitig verlassen kann habe ich einen Bedingungsanschluss eingefügt. Das klappt auch, Probleme gibts es dann wenn die Durchlaufsdauer groß wird (ca. 10min) weil ich dann trotzdem den einen Schleifen durchlauf abwarten muss. Wie kann ich das umgehen, dass er den Durchlauf fertig macht und gleich stoppt.


danke schonmal gruß Gerald
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.11.2008, 13:48
Beitrag #2

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
verzögerte For-Schleife abbrechen
' schrieb:Hi,

habe folgendes Problem. Ich habe ein Testprogramm geschrieben mit dem ich aus einem txt File Werte auslese z.b. die Anzahl von Durchläufen und die Durchlaufsdauer. diese Werte füge ich dann einmal als N an die For-Schleife und die Durchlaufsdauer lege ich an ein Timing-vi in der Schleife. Damit ich die For schleife vorzeitig verlassen kann habe ich einen Bedingungsanschluss eingefügt. Das klappt auch, Probleme gibts es dann wenn die Durchlaufsdauer groß wird (ca. 10min) weil ich dann trotzdem den einen Schleifen durchlauf abwarten muss. Wie kann ich das umgehen, dass er den Durchlauf fertig macht und gleich stoppt.
danke schonmal gruß Gerald


evtl kannst du die 10minuten schleife in mehrere kleine unterteilen? sprich du hast nachher 10 "eine minuten" schleifen die nacheinander abgearbeitet werden, und alle auf den stoppbutton hören!

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2008, 15:13
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
verzögerte For-Schleife abbrechen
Oder mit Eventstruktur. Ob Du dann den Haupt-Code in die For- Schleife oder in den Timout-Case der Event-Struktur hineinsteckst, ist egal.
Lv85_img
Sonstige .vi  abbruch.vi (Größe: 8,98 KB / Downloads: 289)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2008, 19:22
Beitrag #4

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
verzögerte For-Schleife abbrechen
' schrieb:Oder mit Eventstruktur. Ob Du dann den Haupt-Code in die For- Schleife oder in den Timout-Case der Event-Struktur hineinsteckst, ist egal.
Lv85_img[attachment=43002:abbruch.vi]


hatte ich auch überlegt, aber schafft es ein event eine schleife mittendrin zu unterbrechen? da läuft doch der grade laufende schleifendurchlauf auch erst noch zu ende oder? hab grade leider kein LabVIEW da zum testen.

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2008, 20:17
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
verzögerte For-Schleife abbrechen
' schrieb:hatte ich auch überlegt, aber schafft es ein event eine schleife mittendrin zu unterbrechen? da läuft doch der grade laufende schleifendurchlauf auch erst noch zu ende oder? hab grade leider kein LabVIEW da zum testen.
Das hast Du einen Schwachpunkt richtig erkannt. Es wird nur dann sofort unterbrochen, wenn das Programm im Timeout-Case der Event-Struktur wartet. Wenn das Programm irgendwo anders wartet, z.B auf irgendwelche Bytes bei einem DAQ-Read-VI, oder weil aufgerufenes Sub-Vis so lange brauchen usw., dann hilft natürlich diese Struktur nichts.

Die Frage nach der Unterbrechbarkeit eines Programm wird ja häufig gestellt, und es gibt da keine universelle Lösung. So wie Du es vorgeschlagen hast geht es auch, aber es ist genau so wenig eine Universallösung. Mit Deiner Frage "Kannst Du nicht..?" gibst Du ja auch zu erkennen, daß Du das weißt.

Lösung z.B bei DAQmx Read: kurzes Timeout setzen, den entstehenden Fehler abfangen, immer wieder neuer Leseversuch, bis die Bytes endlich da sind und gelesen werden können. Nach jedem Versuch kann man das Programm abbrechen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2008, 21:50
Beitrag #6

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
verzögerte For-Schleife abbrechen
' schrieb:Das hast Du einen Schwachpunkt richtig erkannt. Es wird nur dann sofort unterbrochen, wenn das Programm im Timeout-Case der Event-Struktur wartet. Wenn das Programm irgendwo anders wartet, z.B auf irgendwelche Bytes bei einem DAQ-Read-VI, oder weil aufgerufenes Sub-Vis so lange brauchen usw., dann hilft natürlich diese Struktur nichts.

Die Frage nach der Unterbrechbarkeit eines Programm wird ja häufig gestellt, und es gibt da keine universelle Lösung. So wie Du es vorgeschlagen hast geht es auch, aber es ist genau so wenig eine Universallösung. Mit Deiner Frage "Kannst Du nicht..?" gibst Du ja auch zu erkennen, daß Du das weißt.

Lösung z.B bei DAQmx Read: kurzes Timeout setzen, den entstehenden Fehler abfangen, immer wieder neuer Leseversuch, bis die Bytes endlich da sind und gelesen werden können. Nach jedem Versuch kann man das Programm abbrechen.

Sprich, das Programm in möglichst kleine Einheiten unterteilen, eine andere Lösung kommt mir auch nicht auf.

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.11.2008, 10:23
Beitrag #7

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
verzögerte For-Schleife abbrechen
Hallo zusammen,
mein erster Post hier im Forum war für Signal ExpressVerdacht
Nun möchte ich auch für LabVIEW etwas beitragen, denn ich habe in diesem Klasse-Forum einiges gelernt und auf diesem Wege
allen danken die Ihre Zeit opfern und die Fragen beantworten und hoffe jetzt etwas zurückgeben zu können.

Zum Programm:
Ich habe angefangen mich mit den Timed Strukturen zu beschäftigen und muss sagen wow da steckt sehr viel Potenzial drin.
Darauf basiert auch das angehängte Vi.
Die zusätzliche Event-Struktur dient zum Abbruch der Timed-Struktur, kann aber auch sehr schön durch einen Notifier im Top-Level-Vi
ersetzt werden.

Folgende Einstellungen sind programmatisch veränderbar (Angaben auf bisherigen Wissensstand)
- Offset/Wartezeit bis das der eigentliche Code ausgeführt wird.
- Die Ausführungsgeschwindigkeit des Codes (die Abbruchbedingung ist davon völlig losgelöst !!)
- Welcher Prozessorkern zuständig ist.
- Gesamt (Absolut)-Zeit der Ausführungsdauer

Gerald ich hoffe das löst Dein Problem.

Gruß
Ralf


Lv85_img


Angehängte Datei(en)
Sonstige .vi  abbruch2.vi (Größe: 106,93 KB / Downloads: 288)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2008, 10:57 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2008 10:59 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
verzögerte For-Schleife abbrechen
' schrieb:Hallo zusammen,
mein erster Post hier im Forum war für Signal ExpressVerdacht
Da ist nix verdächtig, Du steigst hier ein mit einem ganz lauten Knall. Herzlichen Glückwunsch für dieses Beispiel!
Ignoranz ist nie gut, aber als mildernden Umstand rechne ich mir an: es scheint nicht nur mir so zu gehen, daß ich die Timeloop-Struktur weitgehend ignoriert habe, nach dem Motto: Wozu soll das gut sein?
Ich werde versuchen, an Hand Deines Beispiels die Timeloop-Struktur richtig zu verstehen. Wenn ich dazu Fragen habe, dann melde ich mich bei Dir.
Gruß
Ludwig
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2008, 11:59
Beitrag #9

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
verzögerte For-Schleife abbrechen
Hallo Lucki,
Danke für den Glückwünsch und ja sehr gerne helfe ich.

Gruß
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sub-VI über Button im Hauptpanel abbrechen der Philipp ausm Wald 28 31.557 01.08.2018 06:55
Letzter Beitrag: GerdW
  verzögerte Boolausgabe Trinitatis 2 3.473 16.12.2016 21:15
Letzter Beitrag: Trinitatis
  "Abbrechen"-Knopf im Datei-Dialog ändern Marcusius 1 3.860 10.06.2015 12:49
Letzter Beitrag: jg
  Laufendes VI abbrechen Patrik 5 6.795 04.04.2013 08:09
Letzter Beitrag: Patrik
  wie Prozess vorzeitig abbrechen? Hasenfuss 3 4.875 13.03.2013 16:46
Letzter Beitrag: GerdW
  Zyklus abbrechen ragingbull 11 9.527 24.09.2012 16:19
Letzter Beitrag: GerdW

Gehe zu: