LabVIEWForum.de
Parallele Schleifen beliebig stoppen/neustarten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Parallele Schleifen beliebig stoppen/neustarten (/Thread-Parallele-Schleifen-beliebig-stoppen-neustarten)



Parallele Schleifen beliebig stoppen/neustarten - buettnerstefan - 03.06.2015 09:18

Hallo,

wie der Titel schon sagt möchte ich 2 (oder auch mehr) parallele Schleifen beliebig oft starten, stoppen und neustarten können.
Dazu habe ich mir eine zwar funktionstüchtige aber wahrscheinlich sehr umständliche Lösung gebastelt. Da bei dieser Variante der halbe Bildschirm schon voll ist und in den Schleifen ja auch noch was passieren soll wird es dann schnell unübersichtlich...wegen gutem Programmierstil und so Big Grin
Daher die Frage: Gibt es da schon irgendwas Fertiges? (Bausteine, besondere Schleifen o.ä.)
Oder gibt es eine einfachere Lösung mit SubVI´s oder sowas?

Grüße
Stefan

PS: Ich will die Schleifen für Datenerfassung, Datenverarbeitung, Daten wegspeichern und Werte schreiben nutzen, da alles auf einmal bei hohen Sampleraten zuviel wird für den PC Cool


RE: Parallele Schleifen beliebig stoppen/neustarten - Lucki - 03.06.2015 12:55

Die Umständlichkeit resultiert aus Deiner Struktur. Ich würde auf jeden Fall eine dritte Schleife nur zur Ereignisbehandlung (der Bedienelemente) verwenden. Von da aus werden die beiden anderen Schleifen gesteuert - von mir aus auch über lokale Variablen.


RE: Parallele Schleifen beliebig stoppen/neustarten - Trinitatis - 03.06.2015 14:32

Schleifen neu anstarten ist eh´ ziemlich umständlich und meist unnötig. Wenn du die Schleifensteuerung interruptgesteuert über Queues oder Notifier machst, dann stehen deine Schleifen solange, bis sie eben was tun sollen.

Und eine der Meldungen muss dann natürlich sein: Beenden


Gruß, Marko


RE: Parallele Schleifen beliebig stoppen/neustarten - buettnerstefan - 03.06.2015 15:23

In meiner "großen" Version mit Messwerterfassung und Verarbeitung u.s.w. hab ich schon eine Queue von der Erzeugerschleife zur Verarbeitungsschleife. Das diese stehen bleibt, wenn die Queue leer ist, klappt auch. Aber sobald wieder etwas drin ist läuft sie sofort weider an, was ich ja verhindern möchte. Und wie ich die Erfassung anhalten soll indem diese auf etwas wartet erschließt sich mir gerade noch nicht Huh

Es wäre schön wenn jemand ein Beispiel dazu posten könnte.

Eine reine Sequenz- oder Statemaschine-Struktur kommt auch nicht in Frage, da ich eben wahlweise alles gleichzeitig laufen lassen oder nur eine oder mal zwei gleichzeitig laufen lassen möchte.


Grüße
Stefan