LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Mehrere Threads in EINER Schleife erzeugen

Hallo erstmal,

ich habe ein VI ("test.vi"), das in einer Endlosschleife Daten erzeugt.

 

Ein übergeordnetes VI("testtest.vi") soll mehrere Instanzen (clones) von meinem test.vi erzeugen mit unterschiedlichen Eingangswerten. 

 

Wenn ich zB 3 Instanzen fest verdrahte, funktioniert das auch. 

Nur weiß ich zum Designzeitpunkt noch nicht, wieviele Instanzen ich erzeugen muss, also will ich von meinem test.vi in einer for-Schleife mit Autoindex n Instanzen erzeugen.

Wenn ich das aber mache, bleibt meine for Schleife in der ersten Ausführung stehen, da mein subvi(test.vi) in einer Endlosschleife ist. 

Müsste ich also in jedem Schleifendurchlauf einen Thread manuell erstellen? Wie geht das?

 

Viele Grüße Sören 

 

Download All
0 Kudos
Message 1 of 7
(3,643 Views)

Hallo Sören

 

Call by Reference wartet immer bis das VI beendet wird. Mit der Run VI-Methode funktioniert's. Leider ist es damit einfach etwas umständlicher einen Wert zu übergeben.

Siehe Screenshot.

 

 

 

Daniel

 

Message Edited by dan_u on 09-26-2008 01:49 PM
0 Kudos
Message 2 of 7
(3,635 Views)
Und vergiss nich die Option 8 beim Open anzugeben. Es geht ja um reentrantes VI, oder? Smiley Wink
0 Kudos
Message 3 of 7
(3,617 Views)

Vielen Dank, das hat mir schon sehr geholfen.

0 Kudos
Message 4 of 7
(3,581 Views)

dan_u wrote:

Siehe Screenshot.

 

 


Daniel,

Is there a reason you're not merging all this code into one single FOR loop? Just curious.

0 Kudos
Message 5 of 7
(3,579 Views)

Actually no, just did the least possible modifications to the original VI Smiley Wink

Only difference I could think of in this case is error handling. In the unlikely case that opening the 2nd (or later) VI reference throws an error none of the VIs are run (which could be desired behavior).

 

Daniel

 

 

0 Kudos
Message 6 of 7
(3,565 Views)

Hallo Zusammen,

 

ich arbeite auch mit dem Mehrfachaufruf eines VIs. Allerdings tritt in diesem ein Fehler auf und ich habe noch keine Möglichkeit gefunden den Highlight Modus in den Clonen zu starten. Ist das möglich?

VI Properties:Reentrant execution; Preallocation clone for each instance.

 

Gruß Micha 

0 Kudos
Message 7 of 7
(3,539 Views)