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 

Messung zusätzlich per Timer starten



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!

09.02.2010, 10:07
Beitrag #4

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
Messung zusätzlich per Timer starten
Stichwort Datenfluss:
Der Datenfluss in LV ist eigentlich ganz leicht zu verstehen, da er immer den sichtbaren Verbindungen folgt und jedes Element solange mit der Ausführung seines Codes wartet, bis alle erwarteten Signale geliefert wurden.

Jetzt fragst du dich sicherlich: Aber wie kann ich Daten von einer While-Schleife in eine andere parallele Schleife übertragen, wenn die erste While-Schleife doch erst nach Beendigung Werte über ihre Tunnel weitergibt?

Das geht mit einer Queue oder einem Notifier, evtl auch mit einem Event, aber auch mit lokalen und globalen Variablen.

Ich persönlich vermeide globale Variablen wo immer es geht und nutze in den meisten Fällen Melder, Queues und wo es angebracht ist auch Events und wenn es nicht anders geht auch lokale Variablen.

In deinem Fall würde ich zu einem Melder greifen, da du bei solch trivialen Problemen keine Eventstruktur benötigst und ich annehme, dass deine Messung schneller abläuft als dein Timer.
Ich habe mal einen Screenshot gemacht, der zeigt wie du die Melder händeln kannst. Das Wait in deiner oberen (bzw linken) Schleife ist überflüssig, da dein Express-VI schon dafür sorgt, dass deine Prozessorlasst nicht bei 100% liegt. Ebenfalls die Anzeige für Impuls kannst du dir im normalen Betrieb schenken, da du so schnell nicht gucken kannst wie die an und aus geht. Ich habe sie daher nur zur Veranschaulichung im Debugmodus beibehalten.
Die Case-Struktur in der unteren Schleife dient lediglich dazu, dass die Schleife bei Beendigung des Programmes nicht erst noch die Sequenz durchläuft, sondern direkt die Schleife beendet. Die Sequenz innerhalb der Case-Struktur sorgt in dem Beispiel dafür, den Indikator nach 1,5 s wieder auf FALSE zu setzen (mittels einer lokalen Variablen). Die Abbruchbedingung der unteren Schleife ist direkt mit dem Errorausgang des WaitOnNotifier-Elements verbunden, da dies einen Fehler ausgibt, sobald der Melder nach beenden der oberen Schleife zerstört wird und somit die untere Schleife ebenfalls beendet wird.

   

Ich hoffe, ich habe jetzt nicht nur deine Hausaufgaben gemacht, sondern du hast auch etwas dabei gelernt!:PNaja, programmieren musst du es ja dennoch selbst, da ich ja nur eine Möglichkeit aufzeige, wie es gemacht werden kann.
Ach ja, wurde noch gar nicht gesagt: ExpressVIs sind nicht unsere Freunde!:)Die sind nur gut um mal schnell eine exemplarische Lösung zu bekommen, sollten aber in "richtigen" Programmen durch effektiveren Code (zu Fuß) ersetzt werden, da sich dieser im Fehlerfall auch analysieren lässt.
Falls ich später noch Zeit (und Lust) habe, zeige ich evtl noch wie deine Problemlösung ohne ExpressVI aussehen kann.

Vielleicht hat aber auch jemand anderes Lust (und Zeit) dazu?!

Beste Grüße aus dem schönen Schweden,
Tobias

PS: Solltet ihr denken, dass ich öfters mal y und z vertausche: das liegt daran, dass ich mit deutschem Tatsturtreiber an einer schwedischen Tastatur arbeite und die Fehler kommen immer dann, wenn ich mal wieder beim tippen auf die Tasten schaue... Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Messung zusätzlich per Timer starten - BsaiboT - 09.02.2010 10:07

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  2 Parallele While-Schleifen mit unterschiedlichen Timer beenden Tomate27 3 2.938 18.08.2020 13:29
Letzter Beitrag: GerdW
  Timer macht was er will :-) Natalie1984 6 4.028 04.07.2019 12:49
Letzter Beitrag: IchSelbst
  While-Schleife anhalten ohne Timer valerian 2 4.172 04.10.2017 09:28
Letzter Beitrag: valerian
  Timer in [s] grba123 9 8.332 18.08.2015 15:14
Letzter Beitrag: Lucki
  Bedingung mit Timer verknüpfen ETechnik 7 6.440 28.05.2015 19:31
Letzter Beitrag: ETechnik
  (Absoluter) Bezug des VIs Timer-Wert RadioactiveMan 1 4.046 22.07.2014 13:17
Letzter Beitrag: jg

Gehe zu: