![]() |
Variable Anzahl von Instanzen zur Laufzeit - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Variable Anzahl von Instanzen zur Laufzeit (/Thread-Variable-Anzahl-von-Instanzen-zur-Laufzeit) Seiten: 1 2 |
Variable Anzahl von Instanzen zur Laufzeit - D_Sev - 03.11.2013 14:25 Hallo zusammen, eventuell steh ich einfach etwas auf dem Schlauch, aber mir fällt grad keine Lösung ein wie ich zur Programm-Laufzeit eine variable Anzahl von Instanzen eines SubVI's starten kann. Die Instanzen des VIs sollen parallel über einen längeren Zeitraum laufen - ich kann sie also nicht einfach per Referenz in einer Schleife aufrufen. Hat da jemand eine Idee? RE: Variable Anzahl von Instanzen zur Laufzeit - GerdW - 03.11.2013 18:26 Hallo Sev, mache das VI reentrant, erkläre es zum "VI-Template" und starte es mehrfach per passendem VI-Server-Aufruf (d.h. mit entsprechend gesetzten Optionen): dann kann es auch mehrfach parallel ablaufen... RE: Variable Anzahl von Instanzen zur Laufzeit - D_Sev - 03.11.2013 19:01 Moin, mein Problem liegt nicht bei der parallelen Ausführung ansich. Reentrant ist es, und ich kann das vi auch munter mehrfach parallel ausführen. Aber eben nur unter der Bedingung, dass ich vorher weiß wie oft es parallel gestartet werden soll. Mein Problem liegt nur bei dem Aufruf einer unbeknannten Anzahl zur Laufzeit, da im Blockdiagramm ja gewartet wird bis das VI abgeschlossen ist. Daher kann ich den Aufruf nicht in einer Schleife starten sondern muss vorher die Anzahl der "Call by Reference" Knoten kennen und parallel anlegen. Nu hab ich aber grad nochmal etwas zum asynchronen Aufruf gelesen und mir scheint damit könnte es gehen. Mal etwas rumprobiren. RE: Variable Anzahl von Instanzen zur Laufzeit - GerdW - 03.11.2013 19:10 Hallo sev, komisch, bei mir geht das auch ohne asynchronen Aufruf: [attachment=47081] RE: Variable Anzahl von Instanzen zur Laufzeit - D_Sev - 03.11.2013 19:30 Und wie übergibts du Paramter ? RE: Variable Anzahl von Instanzen zur Laufzeit - GerdW - 03.11.2013 19:32 Hallo Sev, per Queue... RE: Variable Anzahl von Instanzen zur Laufzeit - jg - 03.11.2013 19:33 z.B. über die InvokeNode Control Value->Set vor Start des VIs [attachment=47082] Gruß, Jens RE: Variable Anzahl von Instanzen zur Laufzeit - D_Sev - 03.11.2013 19:37 (03.11.2013 19:32 )GerdW schrieb: Hallo Sev, Und wie haben die unterschiedlichen Instanzen unterschiedliche Queue-Referencen (03.11.2013 19:33 )jg schrieb: z.B. über die InvokeNode Control Value->Set vor Start des VIs Das muss ich mir mal angucken, so ad hoc sagt mir das nichts ![]() RE: Variable Anzahl von Instanzen zur Laufzeit - GerdW - 03.11.2013 19:40 Hallo Sev, dort werden identische Worker-VIs gestartet, die parallel an dem gleichen Arbeits-Brocken arbeiten: jeder bearbeitet ein Arbeits-Häppchen. Diese Häppchen liegen als Elemente in einer Queue, jeder Worker holt sich Arbeitshäppchen aus der Queue. Wenn die Queue leer ist, ist die Arbeit erledigt und die Worker-VIs können sich beenden... (Zusätzliche, eher konstante Randparameter werden in einer FGV verwaltet...) Wenn deine identischen VIs aber unterschiedliche Arbeit erledigen sollen, dann kannst du jedem eine eigene Queue per Namen zuweisen... RE: Variable Anzahl von Instanzen zur Laufzeit - D_Sev - 03.11.2013 19:46 (03.11.2013 19:40 )GerdW schrieb: Wenn deine identischen VIs aber unterschiedliche Arbeit erledigen sollen, dann kannst du jedem eine eigene Queue per Namen zuweisen... Über die InvokeNode die Jens genannt hat ? |