Es ist schon etwas länger her, dass ich mit LV 5.0.1 gearbeitet habe, so dass ich mir nicht sicher bin ob alles geht was ich hier beschreibe.
1. Das Beispiel macht folgendes: main.vi öffnet eine Referenz auf subvi.vi und startet es mit der Methode RunVI. Anchließend wird gewartet, um subvi ein paar Zahlen würfeln zu lassen und in einen Chart zu schreiben (While loop mit 200 msec Wartezeit). Dann wird mit einer von zwei Methoden das VI beendet. 1. Methode benutzt AbortVI um das VI hart abzubrechen, 2. Methode benutzt SetControlValue um die Stopschaltfläche zu betätigen, die die whileschleife beendet.
Anschließend wird die Referenz wieder geschlossen.
2. Das Subvi.vi ist schon in Version 5.0 und benutzt keine DLL. Ist das das richtige VI?
3. Die Fehlerbeschreibung heißt, dass sich das Subvi aufhängt. Wenn das VI eine Funktion in der DLL aufruft und diese Funktion nicht mehr zurück kommt bleibt nur die Möglichkeit das VI mit der Methode Abort VI zu beenden. Allerdings bleibt dann das VI und die DLL in einem undefiniertem Zustand zurück.
4. Die Konvertierung von LV6.1 nach LV 5.0 geht nicht in einem Schritt. Der Code ist so einfach, dass ich nur das Blockdiagramm als Graphik angehängt habe.
Waldemar
email: buero@hersacher.de
Waldemar
Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions