LabVIEWForum.de
Wie auf Ergebnisse aus reentranten VIs warten? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wie auf Ergebnisse aus reentranten VIs warten? (/Thread-Wie-auf-Ergebnisse-aus-reentranten-VIs-warten)



Wie auf Ergebnisse aus reentranten VIs warten? - toaran_ - 24.01.2013 16:32

Hallo zusammen

ich habe folgendes Szenario in meinem Projekt:

Ich habe ein Main Vi in dem ein Diagramm alle möglichen Messwerte anzeigt und alle Kommandos abgearbeitet werden. ich mache einige Messungen und hole Daten von den angeschlossenen Sensoren... insgesamt messe ich an 1-10 Sensoren gleichzeitig... alles kein Problem.

jetzt hat mir unsere Entwicklungsabteilung ein neues mess VI gegeben das ich nun mit einbauen soll. das Problem daran ist das die Messungen darin einige Sekunden dauern und das Vi natürlich so geschrieben ist das ich es nicht so einfach in meine Statemachine Struktur einbinden kann und das Vi nimmt auch nur Messwerte für einen Sensor auf.... Folge davon ist wenn die Messung läuft wartet meine ganze Messschleife bis die Messung fertig ist und ich müsste die Messungen nacheinander machen.
Das geht so nicht ... also dachte ich mir ich starte das Mess VI reentrant mehrfach und lasse mir die Ergebnisse über je einen Notifier geben. wärenddessen kann meine Hauptmessschleife weiter Daten aufzeichnen

ich habe da mal ein Beispiel gemacht wie das funktionieren soll ...

Ich habe ja bisher reentrante Vi aufrufe gemieden...

klar könnte ich mir die Zeit nehmen und das MessVi entsprechend umbauen ... aber ich denke ihr wisst ja wie das mit Vis von Fremden ist ... das dauert bei schlechtem Stil bis man da durch sieht...

würdet ihr das anders machen?

T

seit wann gibt es eigentlich diese Teile ?"Start Asynchronous Call Node"
[attachment=43222]


[attachment=43220][attachment=43221]


RE: wie auf ergebnisse aus reentranten Vis warten? - jg - 24.01.2013 17:26

"Asynchronous Call" gibt es seit LV 2011 und könnte genau die Lösung für dein Problem sein. VI in einem Schritt starten und woanders auf Beendigung überprüfen.

Gruß, Jens

P.S.: Hakt die Hochstelltaste deiner Tastatur? Teilweise geht sie, teilweise nicht. Box


RE: Wie auf Ergebnisse aus reentranten VIs warten? - GerdW - 24.01.2013 18:41

Nachtrag:
Ich wette, die Leute bei NI haben zu diesen "Asynchron..."-Funktionen doch glatt ein Beispiel zu LabVIEW dazugefügt, welches über den Examplefinder zu finden ist... Big Grin


RE: Wie auf Ergebnisse aus reentranten VIs warten? - jg - 24.01.2013 19:04

@GerdW:
Treffer versenkt. Laber