VI alle x Minuten "neu starten" - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: VI alle x Minuten "neu starten" (/Thread-VI-alle-x-Minuten-neu-starten) Seiten: 1 2 |
VI alle x Minuten "neu starten" - Her Tesla - 02.11.2012 16:03 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? RE: VI alle x Minuten "neu starten" - GerdW - 02.11.2012 16:19 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. RE: VI alle x Minuten "neu starten" - Her Tesla - 02.11.2012 16:48 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? RE: VI alle x Minuten "neu starten" - GerdW - 02.11.2012 16:52 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 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 entsprichtDeine 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.Ja, es ist alles möglich, was du machen willst. Bei passender Programmierung!!! RE: VI alle x Minuten "neu starten" - Her Tesla - 03.11.2012 13:15 (02.11.2012 16:52 )GerdW schrieb: Hallo Tesla, 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. RE: VI alle x Minuten "neu starten" - GerdW - 04.11.2012 17:19 Hallo Tesla, Zitat:Tja, was soll ich jetzt daraus lernen?Ok, nochmal die Kurzzusammenfassung: Zitat:THINK DATAFLOW! Das solltest du schon lernen, aber probier es ruhig allein aus... RE: VI alle x Minuten "neu starten" - Her Tesla - 05.11.2012 08:56 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. RE: VI alle x Minuten "neu starten" - GerdW - 05.11.2012 08:58 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... Mein Vorschlag lautet: Programmiere eine ordentliche Statemachine! (Hatte ich das schon mal erwähnt?) RE: VI alle x Minuten "neu starten" - Her Tesla - 05.11.2012 10:37 (05.11.2012 08:58 )GerdW schrieb: Hallo Tesla, Ich habe es wenigstens in Anführungszeichen gesetzt RE: VI alle x Minuten "neu starten" - dimitri84 - 05.11.2012 10:51 (05.11.2012 10:37 )Her Tesla schrieb: Ich habe es wenigstens in Anführungszeichen gesetztWas dich bei den LV-Programmierern hier nicht unbedingt beliebter macht. GerdW hat sowohl inhaltlich als auch orthografisch recht ... Gruß |