09-26-2008 06:28 AM
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
09-26-2008 06:48 AM - edited 09-26-2008 06:49 AM
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
09-26-2008 07:39 AM
09-29-2008 11:10 AM
Vielen Dank, das hat mir schon sehr geholfen.
09-29-2008 11:28 AM
dan_u wrote:Siehe Screenshot.
![]()
Daniel,
Is there a reason you're not merging all this code into one single FOR loop? Just curious.
09-29-2008 12:08 PM
Actually no, just did the least possible modifications to the original VI ![]()
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
09-30-2008 04:06 AM
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