LabVIEWForum.de - VI alle x Minuten "neu starten"

LabVIEWForum.de

Normale Version: VI alle x Minuten "neu starten"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2

Her Tesla

Hallo liebes Forum,

ich habe da (mal wieder) ein Problem und ich hoffe, dass ihr mir dabei helfen könnt (im Anhang habe ich mal das Beispiel-Programm angefügt).
Wie dort zu sehen möchte ich folgendes realiseren:
- Die TimedStructure soll eigentlich das Programm jede x Minuten neu beginnen (tut sie aber nicht und da liegt auch das Problem)
- Danach soll mithilfe einer Queue erst ein Programmteil ausgeführt werden, während der untere Teil wartet
- Dann soll bis zum Ablauf der x Minuten der untere Teil ausgeführt werden
- Dann soll es wieder von vorne anfangen

Aber wie schon geschrieben, weiß ich nciht, wie ich meine Anforderung realisieren kann, dass das VI alle x Minuten "neu startet" - habt ihr da vielleicht eine Idee?
Hallo Tesla,

Zitat:(tut sie aber nicht und da liegt auch das Problem)
THINK DATAFLOW!

- Die TWL kann erst in die nächste Iteration gehen, wenn der Inhalt der Schleife abgearbeitet ist. Da dort aber wiederum eine While-Schleife arbeitet, die der Benutzer durch Klicken eines Stopp-Buttons beenden muss, kann das nicht funktionieren...
- Du fragst den Notifier einmal vor der inneren While-Loop ab und lässt dann die Loop mit diesem Ergebnis endlos rotieren. Wozu? Noch schlimmer: in der inneren While-Loop ist keine Timing-Funktion zu sehen...

Zitat:wie ich meine Anforderung realisieren kann, dass das VI alle x Minuten "neu startet" - habt ihr da vielleicht eine Idee?
Um das VI (welches eigentlich?) neu zu starten, muss es vor Ablauf dieser Minute auch schon beendet sein...

Ideen:
Schau dir Statemachines an.
Schau dir an, wie man parallele Schleifen laufen lässt.
Schau dir an, wie man Befehle per Queue von einer Schleife zur anderen schickt.

Her Tesla

Das ist ja auch nur ein Beispiel, um zu sehen, wie es gehen könnte (die Funktionalität, die ich haben will, steckt da NICHT drin).
Gibt es denn in LabView eine Möglichkeit, dass ich eine Schleife (in der ein Spektrometer Aufnahmen machen soll) alle x Minuten neustarten kann, sodass die Endlosschleife dabei beendet wird ?!
Und ich möchte, dass das was in der TimedStructure ist, neugestartet wird.
Stell es dir dabei bitte so vor:
In der oberen Abarbeitung in der Structure soll sich eine Linse über einen Motor hochdrehen, um einen Weißabgleich zu machen, danach soll sie sich wieder runterdrehen.
Danach sollen bis zu einer vorgegebenen Zeit x Aufnahmen gemacht werden (was der unteren Schleife entspricht), um dann alles von vorne zu beginnen.

Ist das möglich?
Hallo Tesla,

Zitat:eine Schleife ... alle x Minuten neustarten kann, sodass die Endlosschleife dabei beendet wird ?!
Das ist ein Widerspruch in sich: entweder Endlosschleife oder nicht Big Grin

Zitat:was in der TimedStructure ist, neugestartet wird.
THINK DATAFLOW! Die äußere Struktur kann erst weiterarbeiten, wenn alles enthaltene abgearbeitet ist!!!

Zitat:In der oberen Abarbeitung in der Structure ... was der unteren Schleife entspricht
Deine Wortwahl ist falsch, denn du hast keine parallelen Strukturen, sondern geschachtelte: du musst von "außen" und "innen" reden!!!

Ich wiederhole mich nur ungern:
Zitat:Schau dir Statemachines an.
Schau dir an, wie man parallele Schleifen laufen lässt.
Schau dir an, wie man Befehle per Queue von einer Schleife zur anderen schickt.
Ja, es ist alles möglich, was du machen willst. Bei passender Programmierung!!!

Her Tesla

(02.11.2012 16:52 )GerdW schrieb: [ -> ]Hallo Tesla,

Zitat:eine Schleife ... alle x Minuten neustarten kann, sodass die Endlosschleife dabei beendet wird ?!
Das ist ein Widerspruch in sich: entweder Endlosschleife oder nicht Big Grin

Zitat:was in der TimedStructure ist, neugestartet wird.
THINK DATAFLOW! Die äußere Struktur kann erst weiterarbeiten, wenn alles enthaltene abgearbeitet ist!!!

Zitat:In der oberen Abarbeitung in der Structure ... was der unteren Schleife entspricht
Deine Wortwahl ist falsch, denn du hast keine parallelen Strukturen, sondern geschachtelte: du musst von "außen" und "innen" reden!!!

Ich wiederhole mich nur ungern:
Zitat:Schau dir Statemachines an.
Schau dir an, wie man parallele Schleifen laufen lässt.
Schau dir an, wie man Befehle per Queue von einer Schleife zur anderen schickt.
Ja, es ist alles möglich, was du machen willst. Bei passender Programmierung!!!

Tja, was soll ich jetzt daraus lernen?
Entschuldigung, aber das ist nicht die Hilfe, nach der ich gesucht habe.
Ich probiere es alleine - trotzdem danke für deine Hilfe.
Hallo Tesla,

Zitat:Tja, was soll ich jetzt daraus lernen?
Ok, nochmal die Kurzzusammenfassung:
Zitat:THINK DATAFLOW!
Schau dir Statemachines an.
Schau dir an, wie man parallele Schleifen laufen lässt.
Schau dir an, wie man Befehle per Queue von einer Schleife zur anderen schickt.

Das solltest du schon lernen, aber probier es ruhig allein aus...

Her Tesla

Hallo GerdW,

es ist ja nicht so, dass ich nicht weiss wovon du redest, aber mit LabView zu "programmieren" ist irgendwie schon was anderes, als z.B. mit Java oder C.

Deswegen hätte ich doch nur gerne einen Vorschlag gehabt, wie man das realisieren kann, denn ich weiss, dass es gehen muss.
Trotzdem danke - ich schau mir die von dir genannten Sachen noch einmal an.

LG

Edit: Habe z.B. herausgefunden, dass die "Elapsed Time" Funktion so ziemlich genau das macht, was ich möchte, wenn ich diese mit der Abbruch-Bedingung der While.-Schleife kopple. Smile
Hallo Tesla,

wenn jemand das Wort "programmieren" in Anführungszeichen setzt, wenn er es mit LabVIEW in einem Satz nennt, dann weiß ich nicht, ob ich denjenigem noch weiter helfen sollte... Hmm

Mein Vorschlag lautet: Programmiere eine ordentliche Statemachine! (Hatte ich das schon mal erwähnt?)

Her Tesla

(05.11.2012 08:58 )GerdW schrieb: [ -> ]Hallo Tesla,

wenn jemand das Wort "programmieren" in Anführungszeichen setzt, wenn er es mit LabVIEW in einem Satz nennt, dann weiß ich nicht, ob ich denjenigem noch weiter helfen sollte... Hmm

Mein Vorschlag lautet: Programmiere eine ordentliche Statemachine! (Hatte ich das schon mal erwähnt?)

Ich habe es wenigstens in Anführungszeichen gesetzt Wink
(05.11.2012 10:37 )Her Tesla schrieb: [ -> ]Ich habe es wenigstens in Anführungszeichen gesetzt Wink
Was dich bei den LV-Programmierern hier nicht unbedingt beliebter macht.

GerdW hat sowohl inhaltlich als auch orthografisch recht ...



Gruß
Seiten: 1 2
Referenz-URLs