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!

08.02.2010, 18:28
Beitrag #1

LV-Starter Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Nov 2009

2009
2009
kA

97
Deutschland
Messung zusätzlich per Timer starten
Servus zusammen, ich muss mich mal wieder mit einer echten Kleinigkeit melden.

Ich sag gleich, es ist mit sicherheit eine grundlegende Sache, aber ich komme einfach nicht dahinter.

Es geht um Folgendes:
Ich will meine DAQ-Karte, bzw. meine Messung per Timer, z.B. alle 3s auslösen.

Dazu hab ich im ni-forum ein bsp. gefunden (linke schleife).
Jetzt fängt das erste Problem an, ich weiß nämlich nicht genau wie es funktioniert - sicher die Bedienung ist mir klar, aber die genaue (!!) Funktion vor allem mit den Schieberegistern versteh ich nicht. Klar, es übergibt einen wert zurück - aber warum wird das benötigt?
Gibt es keinen simplen Timer bei dem ich Impuls-und Pausenzeiten einstellen kann?
Wenn hier jemand eine Erklärung zu hätte wäre es klasse.

Das nächste ist, dass der boolsche Wert nur IN der Schleife sich verändert.
Sobald ich über Tunnel meine Messung mittels DAQ-karte starten möchte funktioniert das nicht, und was zusätzlich dazu kommt ist, dass noch nicht mal der händische Tastendruck funktioniert?

Nungut dachte ich, IN der Timer schleife scheint der sich der Wert zu ändern, also wird die Schleife von der Messung in die Timer-schleife gebaut, funktioniert genauso wenig.

Womit hat das zu tun, ich komm nicht drauf. Bin mir aber sicher es kann nur eine Kleinigkeit sein.

Vielen Dank für die Hilfe


LV 8.6 Student


Angehängte Datei(en)
Sonstige .vi  Impulsgeber.Ausloesung.vi (Größe: 22,45 KB / Downloads: 273)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2010, 18:53
Beitrag #2

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
Messung zusätzlich per Timer starten
Mal schnell geantwortet:

Du solltest dich mit dem Prinzip des Datenflusses noch einmal beschäftigen.
Deine rechte Schleife wartet solange, bis die linke beendet wurde und sie somit den letzten Wert aus dem Schieberegister bekommt.
Deshalb funktioniert auch der "Handstart" nicht. weil die rechte Schleife noch nicht ausgeführt wird.

Das Schieberegister sorgt einfach nur dafür, dass ein True an den Reset-Eingang des Timers gemeldet wird, nachdem dieser abgelaufen war und er somit neu startet.

Du könntest beispielsweise in der linken Schleife einen Melder setzen, auf den du in der rechten wartest und dann dort entsprechend deine Messung starten.

Tobias Brüggemann
Dipl.-Ing.(FH) Nachrichtentechnik/Elektronik
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.02.2010, 19:28
Beitrag #3

LV-Starter Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Nov 2009

2009
2009
kA

97
Deutschland
Messung zusätzlich per Timer starten
OK, warum das schieberegister von Nöten ist leuchtet ein!

Dass die zweite Schleife wartet bis die Erste Schleife beendet ist hab ich jetzt auch verstanden.
Aber wie genau soll das mit einem Merker funktionieren, bzw. hab ich deine Formulation zwar verstanden, aber wie ich in der Praxis das tue ist mir nicht ganz klar.

Wie kann ich mir einen "merker" vorstellen? Hab zwar einen Artikel bei google.books drüber gefunden, weitergebracht hats nicht.

Prinzip des Datenflusses... ich weiß was es bedeutet, aber in LV hab ich einfach zu wenig Erfahrung... leider. Aber mit einer Schulstunde die Woche kann man eben keine Bäume ausreißen...

Vll könnte mir da jemand unter die Arme greifen, kann ja nichts großes sein. Merci!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
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
09.02.2010, 10:21
Beitrag #5

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Messung zusätzlich per Timer starten
Offtopic2
' schrieb:...
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

:DTausch doch die Tasten Rofl2

Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2010, 10:34
Beitrag #6

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
Messung zusätzlich per Timer starten
' schrieb:Offtopic2
:DTausch doch die Tasten Rofl2

Gruß SeBa
Scherzkeks! Ich werde mir im April eine deutsche Tastatur importieren! Klimper
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


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

Gehe zu: