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 

Ereignisstruktur in While-Schleife mit Zeitglied



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!

12.01.2009, 22:11
Beitrag #1

Erlendur Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jan 2009

8.2
2007
de

7751
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
Werte Leser.

Ich versuche euch kurz ein Problem zu schildern und hoffe es gibt eine Lösung dafür.

Bevor ich u.U. missverständlich und ausschweifend über das reale, komplizierte Programm schreibe, habe ich ein äquivalentes Main und Sub - VI hochgeladen und beschreibe das Problem an diesen einfachen Zähler-Ersatzprogrammen.

Es geht um folgende Problematik: Ich möchte mit einem einzigen STOP-Button alle While-Schleifen und Sub-Vis herunterfahren. Im Bsp. ist nur ein Sub-VI zu sehen. Zusätzlich stoppt das Sub-VI, wenn ein Kriterium erreicht ist, gibt Wahr weiter und in Folge dessen stoppt auch das Main-VI - diese Funktion ist erwünscht.

Nun ist in die While-Schleife ein Zeitglied integriert. Z.B. 60sec. Das Verhalten ist folgendes, bei einem Abbruch mittels Stop-Taster reagiert die Ereignisstruktur erst bei erneutem Schleifenstart, also nach Ablauf der 60sec.

Ich möchte folgendes: Trotz des Wartens, verursacht durch das Zeitglied, soll die Ereignisstruktur anspringen und das VI beenden.

Gibt es dafür eine programmiertechnische Lösung?

Die hochgeladenen Programme sind Version 8.2. Zur Veranschaulichung könnt ihr im Sub-VI die Wartezeit runternehmen, da sonst 60sec erstmal nix passiert.

Gruß Erlendur


Angehängte Datei(en)
Sonstige .vi  main.vi (Größe: 20,16 KB / Downloads: 184)

Sonstige .vi  sub1.vi (Größe: 19 KB / Downloads: 179)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2009, 23:22
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
' schrieb:Gibt es dafür eine programmiertechnische Lösung?
z.B. die folgende. Hauptgedanke ist, die Zeit scheibchenweise abzuarbeiten.

Lv82_img


Angehängte Datei(en)
Sonstige .vi  sub1.vi (Größe: 21,04 KB / Downloads: 183)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2009, 23:37
Beitrag #3

Erlendur Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jan 2009

8.2
2007
de

7751
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
' schrieb:z.B. die folgende. Hauptgedanke ist, die Zeit scheibchenweise abzuarbeiten.

Lv82_img

Vielen Dank IchSelbst.

Sieht auf den ersten Blick ungewohnt aus und ich bin auch noch nicht so ganz dahintergestiegen wie das funktioniert - aber es klappt.
Ich bin soeben bei meiner weiteren Recherche auf einen Begriff gestoßen - StateMachine. Da wollte einer eine 15min While-Schleife machen. Bei mir im realen Programm isses eine 5min While-Schleife. Ohne deinen Vorschlag könnte man da in dieser Zeit z.B. mit einem Abbruch-Kriterium nicht eingreifen, was ja im Grunde mein Problem war.

Ist die besagte StateMachine für meine Anwendung hilfreich? Wenn ja, erkundige ich mich mal, was es damit auf sich hat.

Jedenfalls nochmal vielen Dank für die schnelle Antwort.

MfG Erlendur
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2009, 23:44
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
' schrieb:Ist die besagte StateMachine für meine Anwendung hilfreich?
In Prinzip ja. Auch das, was ich da gemacht habe, kann schon als Statemachine bezeichnet werden.

Zitat:Wenn ja, erkundige ich mich mal, was es damit auf sich hat.
Statemachines sind in LV so wichtig wie Eventcases etc. Sich nicht zu erkundigen ist ein fataler Fehler.Wink

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.01.2009, 11:29
Beitrag #5

Erlendur Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jan 2009

8.2
2007
de

7751
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
' schrieb:In Prinzip ja. Auch das, was ich da gemacht habe, kann schon als Statemachine bezeichnet werden.

Statemachines sind in LV so wichtig wie Eventcases etc. Sich nicht zu erkundigen ist ein fataler Fehler.Wink

Guten Tag IchSelbst oder andere Leser.

Ich habe deinen Vorschlag soeben versucht im realen Programm umzusetzen. Doch leider bin ich auf eine neue Hürde gestoßen. Die Sub-VIs sind While-Schleifen, in denen es einige Rückkopplungen gibt. Diese werde durch globale Variablen gespeist.
Nun habe ich das eine Sub-VI schon so umgebaut, dass es deinem (IchSelbst) Vorschlag ähnelt. Nur kann ich eben diese Rückkopplungen nicht nutzen, da der Kern des Sub-VIs in einem Case untergebracht ist.

Ich lade mal das Ursprungsprogramm (Nitrifikation) und meine versuchte Änderung (Nitrifikation-Stop) hoch. Vielleicht kannst du mal gucken, ob du es mit ein paar Handgriffen umgestalten kannst.

Wenn es nicht gehen sollte, ist es bei diesem Programm nicht so schlimm. Ich hätte es nur gerne als funktionierendes Beispiel um mich danach an das schwierigere Sub-VI heranzuwagen. Dieses lade ich auch noch hoch, dass ist das Programm Denitri.

--> Hier ist die Besonderheit, dass ich zwei While-Schleifen habe. Die eine richtet sich nach einer max. Zeit als Abbruchkriterium, die andere nach einem Kurvenverlauf. Die jeweils andere While-Schleife soll ebenfalls beendet werden, wenn die eine das Kriterium erfüllt hat.
Hier wäre es schön, wenn es eine Möglichkeit gibt, dass das OK bzw. das von außerhalb kommende Stop in der oberen Schleife nicht erst nach 5 min sondern sofort erkannt wird.

Viel Text, entschuldigt bitte. Hoffe aber es gibt ne Lösung.

Version ist wieder 8.2.

Gruß Erlendur


Angehängte Datei(en)
Sonstige .vi  Denitrifikation.vi (Größe: 53,15 KB / Downloads: 141)

Sonstige .vi  Nitrifikation__Stop_.vi (Größe: 22,23 KB / Downloads: 148)

Sonstige .vi  Nitrifikation.vi (Größe: 27,78 KB / Downloads: 152)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.01.2009, 12:06
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
' schrieb:Hoffe aber es gibt ne Lösung.
Bestimmt. Auch in LV ist wenn auch nur Vieles machbar. Fight

Allerdings kann ich den Sourcecode gerade nicht ankucken - kein LV auf dem Rechner.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.01.2009, 20:35
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Ereignisstruktur in While-Schleife mit Zeitglied
' schrieb:Die Sub-VIs sind While-Schleifen, in denen es einige Rückkopplungen gibt. Diese werde durch globale Variablen gespeist.
Dann ersetzt du den Rückkopplungsknoten halt durch Schieberegister.

Zitat:Nur kann ich eben diese Rückkopplungen nicht nutzen, da der Kern des Sub-VIs in einem Case untergebracht ist.
Schieberegister? Müssen in allen anderen Cases halt nur durchgeschoben werden.

Ich hab dein Nitrifikation__Stop_.vi mal fertig (war doch schon fast fertig) gemacht und angehängt.

Außerdem:
Du solltest dir einen anständigen Programmierstil angewöhnen. Leitungen von links nach rechts und rechtwinkelig. Ein leserlicher Programmierstil erhöht die Changen auf eine Hilfestellung.


Angehängte Datei(en)
Sonstige .vi  Nitrifikation__Stop_.vi (Größe: 23,8 KB / Downloads: 146)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben Hummingbird 15 13.702 02.11.2011 16:13
Letzter Beitrag: Hummingbird
  1x While Schleife, 1x Zeitges. While Schleife, die zeitgs. START/STOP dali4u 1 5.925 23.05.2011 09:22
Letzter Beitrag: Y-P
  While Schleife in Ereignisstruktur Fidel90 15 12.889 14.01.2011 15:00
Letzter Beitrag: Fidel90
  Problem mit While Schleife und Ereignisstruktur Poncho 1 3.413 07.05.2008 21:16
Letzter Beitrag: IchSelbst
  Während Ereignisstruktur läuft Schleife stoppen und danach wieder anschalten Tippi 4 4.202 07.08.2006 12:39
Letzter Beitrag: Tippi

Gehe zu: