16.08.2012, 13:44
Hallo LabVIEW Forum,
ich habe mit einem Problem zu kämpfen, welches ich mit den bisherigen Posts hier im Forum nicht gelöst bekomme.
Was ich tun möchte:
Ich möchte eine DLL die ich in C geschrieben habe einbinden. Das klappt auch mit einem Call Library Function Node ausgezeichnet.
Da die DLL eine sehr lange Laufzeit haben kann (bis zu 3 minuten), möchte ich parallel dazu ein VI aufrufen, welches mir den Fortschritt der DLL mit einer Fortschrittsanzeige (bar) anzeigt.
Im ersten Schritt möchte ich in diesem parallelen VI nur einen Zähler hochlaufen lassen und diesen als Fortschrittsanzeige anzeigen.
Das Problem ist nun, sobald im Programm die DLL aufgerufen wird, aktualisiert das Frontpanel meine Fortschrittsanzeige nicht mehr. --> Datenflussprinzip
Das möchte ich nun umgehen. Dazu habe ich hier im Forum zwei Möglichkeiten gefunden. Parallele Schleifen und Aufruf von SubVIs über Referenzen.
Ich habe die Möglichkeiten mit einfachen Beispielen (ohne Aufruf einer DLL) getestet und es funktionierte. Beides funktioniert jedoch nicht, wenn ich in einem SubVI eine DLL aufrufe. Ich habe meinen Code mit den parallelen Schleifen mal vereinfacht angehängt.
Ich hoffe es kann mir jemand helfen? Muss ich evtl. etwas an den VI Einstellungen ändern?
Danke und viele Grüße
tiwo

ich habe mit einem Problem zu kämpfen, welches ich mit den bisherigen Posts hier im Forum nicht gelöst bekomme.
Was ich tun möchte:
Ich möchte eine DLL die ich in C geschrieben habe einbinden. Das klappt auch mit einem Call Library Function Node ausgezeichnet.
Da die DLL eine sehr lange Laufzeit haben kann (bis zu 3 minuten), möchte ich parallel dazu ein VI aufrufen, welches mir den Fortschritt der DLL mit einer Fortschrittsanzeige (bar) anzeigt.
Im ersten Schritt möchte ich in diesem parallelen VI nur einen Zähler hochlaufen lassen und diesen als Fortschrittsanzeige anzeigen.
Das Problem ist nun, sobald im Programm die DLL aufgerufen wird, aktualisiert das Frontpanel meine Fortschrittsanzeige nicht mehr. --> Datenflussprinzip
Das möchte ich nun umgehen. Dazu habe ich hier im Forum zwei Möglichkeiten gefunden. Parallele Schleifen und Aufruf von SubVIs über Referenzen.
Ich habe die Möglichkeiten mit einfachen Beispielen (ohne Aufruf einer DLL) getestet und es funktionierte. Beides funktioniert jedoch nicht, wenn ich in einem SubVI eine DLL aufrufe. Ich habe meinen Code mit den parallelen Schleifen mal vereinfacht angehängt.
Ich hoffe es kann mir jemand helfen? Muss ich evtl. etwas an den VI Einstellungen ändern?
Danke und viele Grüße
tiwo
