04.04.2014, 12:10
Hallo Labview-Profis,
ich bin nach längerer Pause wieder an Labview dran.
Ich habe diesmal eine selbstentwickelte DLL die zur Kommunikation über die serielle Schnittstelle mit einem Mikrocontroller dient.
Diese DLL funktioniert auch korret. Baut eine Verbindung auf und beendet sie am Ende auch wieder korrekt.
Jetzt habe ich diese DLL in mein Labview-Programm mit dem VI "Knoten zum aufruf externer Bibliotheken" eingebunden. Das funktioniert soweit auch gut. Ich kann dann mit meinem Programm die Kommunikation aufbauen und Daten hin und herschicken.
Dabei ist die DLL über zwei Schnittstellen (Funktionen aus der DLL) in Labview eingebunden. Die erste dient zum Kommunikation. Die zweite nur um jederzeit den Status der DLL abzufragen.
Die Kommunikation in Labview (besser gesagt der Aufruf der DLL) wird über einen Button gestartet.
Mein Problem ist jetzt das ich die Kommunikation nur einmal ausführen kann. Ein zweites mal geht es nicht da meine DLL eine Fehlermeldung zurück gibt die besagt das der Port bereits besetzt ist.
Erst wenn ich Labview komplett neustart kann ich wieder aufbauen.
In Labview selbst verwende ich nichts was mit der Kommunikation zu tun hat. Also keine VISA-Schnittstellen oder sonst was. Die ganze Kommunikation läuft ausschließlich über die DLL.
Habt ihr eine Idee an was das liegen könnt das Labview hier die Schnittstelle blockiert?
Wenn ich das nicht umgehen kann gibt es eine Möglichkeit die Schnittstelle im Nachhinein über Labview frei zu geben?
Wär super wenn ihr en paar Tipps hättet
Viele Grüße,
Berdschi
ich bin nach längerer Pause wieder an Labview dran.
Ich habe diesmal eine selbstentwickelte DLL die zur Kommunikation über die serielle Schnittstelle mit einem Mikrocontroller dient.
Diese DLL funktioniert auch korret. Baut eine Verbindung auf und beendet sie am Ende auch wieder korrekt.
Jetzt habe ich diese DLL in mein Labview-Programm mit dem VI "Knoten zum aufruf externer Bibliotheken" eingebunden. Das funktioniert soweit auch gut. Ich kann dann mit meinem Programm die Kommunikation aufbauen und Daten hin und herschicken.
Dabei ist die DLL über zwei Schnittstellen (Funktionen aus der DLL) in Labview eingebunden. Die erste dient zum Kommunikation. Die zweite nur um jederzeit den Status der DLL abzufragen.
Die Kommunikation in Labview (besser gesagt der Aufruf der DLL) wird über einen Button gestartet.
Mein Problem ist jetzt das ich die Kommunikation nur einmal ausführen kann. Ein zweites mal geht es nicht da meine DLL eine Fehlermeldung zurück gibt die besagt das der Port bereits besetzt ist.
Erst wenn ich Labview komplett neustart kann ich wieder aufbauen.
In Labview selbst verwende ich nichts was mit der Kommunikation zu tun hat. Also keine VISA-Schnittstellen oder sonst was. Die ganze Kommunikation läuft ausschließlich über die DLL.
Habt ihr eine Idee an was das liegen könnt das Labview hier die Schnittstelle blockiert?
Wenn ich das nicht umgehen kann gibt es eine Möglichkeit die Schnittstelle im Nachhinein über Labview frei zu geben?
Wär super wenn ihr en paar Tipps hättet
Viele Grüße,
Berdschi