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 

Schleife durch Ereignis unterbrechen



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!

03.09.2009, 07:49
Beitrag #1

HansWerner
Unregistered


 







Schleife durch Ereignis unterbrechen
Folgendes Problem:
Ein Signalgenerator soll in einer mehrfach geschachtelten Schleife angesteuert werden.
Dieser soll mittels ARB eine Datei "abspielen".
Es soll eine "Messreihe" mit mehreren Parametern durchgeführt werden.
Die einzelnen Parameter werden in der schon angesprochenen geschachtelten Schleife verändert.
Also: Parameter ändern ---> Signalgenerator ansteuern ---> Warten bis Signalgenerierung beendet ---> Neue Iteration
So gesehen ein sequentieller Ablaúf der durch eine mehrfach geschachtelte Schleife getriggert wird.
Ich möchte nun nicht in eine Schleife die Wartezeit einbauen, sondern die Wartezeit nur einmal definieren und die Warteschleife über ein Ereignis aufrufen. Lässt sich dies realisieren und wenn ja wie ? Kann ich eine mehrfach geschachtelte Schleife durch eine Wartezeit unterbrechen und danach fortsetzen ?
Die Wartezeit ergibt sich aus der Grösse der Datei bzw. Anzahl der Abtastwerte (Samples) geteilt durch Abtastrate (Sampling rate).
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.09.2009, 19:59
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Schleife durch Ereignis unterbrechen
' schrieb:So gesehen ein sequentieller Ablaúf der durch eine mehrfach geschachtelte Schleife getriggert wird.
Jawohl, wunderbar. Zum Abarbeiten solcher sequenzieller Abläufe sind Statemachines das richtige Mittel.

Zitat:Ich möchte nun nicht in eine Schleife die Wartezeit einbauen,
Warum nicht?
Wenn du deinen sequenziellen Ablauf mit einer Statemachine macht, machst du einfach einen State, der eine bestimmte Zeitlang wartet. Nanach springt die Statemachine in den Case, der dem folgt, der den Wartecase aufgerufen hat.

Zitat:sondern die Wartezeit nur einmal definieren und die Warteschleife über ein Ereignis aufrufen.
Ein Ereignis als solches aktiviert einen Programmabschnitt - der aber keinen zeitlichen Zusammenhang hat mit dem Programmabschnitt, der das Ereignis auslöst! Will sagen: Man kennst zwar den Zeitpunkt, zu dem das Ereignis ausgelöst wird. Wann das Ereignis aber tatsächlich z.B. den Code in einem Evenbt-Case abarbeitet, kann man nicht genau vorhersagen. Diese Tatsache widerspricht sich aber mit einem sequenziellen Ablauf.

Zitat:Lässt sich dies realisieren und wenn ja wie ?
Im Prinzip ja.
Einfach das Property "Value(signalisierend)" z.B. eines Bedienelemntes beschreiben. Damit wird ein Ereignis erzeugt. Der abzuarbeitende Code muss dann in einer Event-Struktur liegen.
Oder eine Queue nehmen. Auch das kann man als Ereignis betrachten. Ein "Ereignis" tritt ein, wenn in die Queue geschrieben wird. Dann gibt es z.B ein SubVi, das diese Queue ausliest und etwas tut. z.B. Warten. Nach dem Warten kann wieder per Queue der Schrittkette mit geteilt werden ....

Zitat:Kann ich eine mehrfach geschachtelte Schleife durch eine Wartezeit unterbrechen und danach fortsetzen ?
Ich will es lieber so sagen: Eine Schleife kann sich selbst aufgrund eines bestimmten Zustandes anhalten und eine bestimmte zeitlang warten. Wenn du sagst "Schleife unterbrechen" klingt das wie "den Thread der While-Schleife von außen" anhalten. Das nämlich geht nicht.
Klar, kann man eine wie immer geartete Schleife (dazu zählen auch Statemachines!) unterbrechen. Das ist aber keine Funktion von LV, sondern obliegt dem Können des Programmierers.

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
  Einen laufenden Task unterbrechen alex-one 1 2.895 24.04.2020 07:35
Letzter Beitrag: kpa
Wink Benutzerdefinirtes Ereignis mit Arduino jennylena 1 3.276 15.02.2018 09:53
Letzter Beitrag: IchSelbst
  Ereignis Struktur 911tom 9 6.939 20.12.2017 20:57
Letzter Beitrag: GerdW
  Ereignis "Wertänderung" verzögern aw 3 4.891 11.08.2016 16:08
Letzter Beitrag: Trinitatis
  For-Scheife zu unterschiedlichen Zeitpunkten unterbrechen? Stefan_r 6 4.857 03.11.2014 10:12
Letzter Beitrag: Stefan_r
  Messwerte Protokollieren für ein Ereignis ghost79fi 1 3.336 07.07.2014 08:13
Letzter Beitrag: GerdW

Gehe zu: