LabVIEWForum.de
Parallele While-Schleifen und Ausgabeparameter - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Parallele While-Schleifen und Ausgabeparameter (/Thread-Parallele-While-Schleifen-und-Ausgabeparameter)



Parallele While-Schleifen und Ausgabeparameter - HardyE - 07.11.2008 08:54

Hallo LV-Profis!

Ich habe ein komplexes Programm in LV programmiert.
In diesem Programm gibt es mehrere parallele Schleifen. In diesen Schleifen werden Grenzwert-Tests ausgewertet und als (grünes) boolesches Signal ausgegeben. Eine weitere Schleife "empfängt" diese Signale und wertet sie weiter aus.
Das Problem dabei sit, dass LV diese Schleifen nicht parallel ausführen will.

Um das Problem einzugrenzen habe ich das Programm mal vereinfacht (um es Euch hier auch leichter zu machen sich das Problem vorstellen zu können).
Dabei gibt es 3 Schleifen mit jeweils einer numerischen Anzeige der Schleifen-Iteration.
In der 3. Schleife ist ein STOP-Button. An dessen Ausgang sollen alle 3 Schleifen gestoppt werden.

Analog zu beobachten ist das Verhalten. Die 3. Schleife läuft und kann natürlich gestoppt werden. Die anderen beiden laufen nicht.
Somit wird das Eingangssignal wie in meiner komplexen Schaltung auch nicht ausgewertet. Hier vereinfacht durch das STOP-Button Signal.

Wie kann man das Problem lösen?


Danke schonmal
Gruß
Hardy
Lv85_img


Parallele While-Schleifen und Ausgabeparameter - Achim - 07.11.2008 09:04

So gar nicht! LV beruht auf dem Datenflussprinzip, das heißt eine Struktur/VI wird erst dann ausgeführt, wenn es alle Daten aus vorherigen Strukturen anliegen hat, diese also beendet sind. Diese Sequenzierung hast du dadurch erzeugt, dass du Signale aus einer Schleife in die andere verdrahtet hast.

Wenn du von einer Schleife aus eine andere beenden willst, kannst du das mit lokalen Variablen machen, die in der einen Schleife beschrieben werden und in der anderen Schleife ausgelesen werden. Das ganze kannst du natürlich auch wechselseitig machen...


Parallele While-Schleifen und Ausgabeparameter - HardyE - 07.11.2008 09:08

' schrieb:So gar nicht! LV beruht auf dem Datenflussprinzip, das heißt eine Struktur/VI wird erst dann ausgeführt, wenn es alle Daten aus vorherigen Strukturen anliegen hat, diese also beendet sind. Diese Sequenzierung hast du dadurch erzeugt, dass du Signale aus einer Schleife in die andere verdrahtet hast.

Wenn du von einer Schleife aus eine andere beenden willst, kannst du das mit lokalen Variablen machen, die in der einen Schleife beschrieben werden und in der anderen Schleife ausgelesen werden. Das ganze kannst du natürlich auch wechselseitig machen...

Moin Achim!

Danke für die schnelle Antwort.
Könntest Du dazu mal ein Beispiel einstellen?
Mein Progrämmchen ist ja im Anhang.

Danke schonmal
Hardy


Parallele While-Schleifen und Ausgabeparameter - Achim - 07.11.2008 09:18

[attachment=15213]Lv85_img

Wenn du ein bisschen überlegt hättest und meine letzte Antwort nochmal gelesen hättest, wärst du da sicher auch alleine drauf gekommen...


Parallele While-Schleifen und Ausgabeparameter - Lucki - 07.11.2008 09:55

@Avhim
Gut und schön, aber wozu im gotteswillen diese 3 Stoppknöpfe für ein in denselben Zweck: Stoppen des gesamten VI? Die dienen doch hier einzig dazu, diesen armen Hardy noch völlig konfus zu machen. Es genügt doch einer:
[attachment=15214]


Parallele While-Schleifen und Ausgabeparameter - Achim - 07.11.2008 09:59

jaja...ist ja gut...

Evtl. braucht er aber ja mehr als einen Button, weil diese z.B. auf nem Tab-Control mit mehreren Seiten liegen und der Abbruch von allen Stellen aus möglich sein soll...ja ich weiß...ist vermutlich nicht so...aber ganz kampflos wollte ich mich nicht geschlagen geben...


Parallele While-Schleifen und Ausgabeparameter - HardyE - 07.11.2008 11:11

' schrieb:[attachment=42732:Unbenannt_1_achim.vi]Lv85_img

Wenn du ein bisschen überlegt hättest und meine letzte Antwort nochmal gelesen hättest, wärst du da sicher auch alleine drauf gekommen...

Hallo Achim,

sorry, hatte es kurz nach dem Posting auch verstanden und schon reproduzieren können.
Ist ja auch einfach gewesen. Hatte es gestern schon mal mit einer anderen Variablen probiert. Es hatte aber auf anhieb nicht geklappt, deshalb die "dumme" Gegenfrage. Soweit läuft es jetzt. Versuche das jetzt mal im komplexen Programm umzusetzen.
Da müssen z.B. auch Strings mitübergeben werden.

Danke nochmal
Hardy