LabVIEWForum.de
Keine Funktionen in einer Geräterhersteller-.dll ansprechbar - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Keine Funktionen in einer Geräterhersteller-.dll ansprechbar (/Thread-Keine-Funktionen-in-einer-Geraeterhersteller-dll-ansprechbar)



Keine Funktionen in einer Geräterhersteller-.dll ansprechbar - LäbViju - 29.11.2011 19:48

Hallo liebes Forum!

Ich bin neu in der LabVIEW-Welt und versuche gerade meine Synapsen dem Datenfluss-Modell anzugleichen...... Und bin schon beim ersten Versuch gescheitert... Cry

Meine Frage: Ich habe eine .dll von einem Gerätehersteller (Messverstärker Fa.Megatron (EMA3 3u4DMS): http://www.megatron.eu/SMC3/plugin-transformer?trafo=live&plugin=doc&mode=designin&tp_subRulesID=1206567953264&language=de&objType=doc#ajax0&false&designin&LoadDocument&/Products/Sensorsubsysteme/Messelektroniken/DMS.theme&de&doc&1264676103186 ).

Wenn ich nun versuche die Funktionen darin anzusprechen (mit dem Call Library Function Node), werden keine Funktionen unter "Function Name" angezeigt. Kann es sein, dass die .dll nicht der Aufrufnorm entspricht (c od. Win-API) oder mache ich was verkehrt?

Die .dll und die sonstigen Angaben habe ich angehängt.

Vielen Dank im voraus für Eure Antworten!

Gruß
Daniel


RE: Keine Funktionen in einer Geräterhersteller-.dll ansprechbar - jg - 29.11.2011 20:31

Wieso willst du mit einem Hardware-Teil, das eine ganz normale RS-232 besitzt, eine DLL importieren?
Nimm ein entsprechendes Kabel und kommuniziere mit dem Teil per VISA-VIs.

Die DLL ist auf den ersten Blick sowieso nicht LabVIEW-kompatibel, da sie nur eine C++ -Klasse besitzt. Das ist nicht per DLL-Knoten aufrufbar.

Gruß, Jens


RE: Keine Funktionen in einer Geräterhersteller-.dll ansprechbar - LäbViju - 30.11.2011 10:14

Hallo Jens,

danke für deine Antwort!
Ja, per VISA hab ich auch schon eine Verbindung hergestellt aber die Funktionen in der .dll sind schon etwas komfortabler, z.B. muss ich per direkter RS232 Komm. erst einen 3byte Wert rauslesen und umwandeln, den richtigen Kanal, das Vorzeichen und die Skalierung aus dem Wert rausshiften und dann noch skalieren. Das ist halt in der .dll Funktion schon alles mit drin und ich bekomme mit den oben genannten Imputs meinen Float-Messwert raus. Es wird mir aber wohl nix anders übrigbleiben als es per Hand zu Fuß zu machen oder gibt es noch eine andere Lösung?

Gruß
Daniel


RE: Keine Funktionen in einer Geräterhersteller-.dll ansprechbar - GerdW - 30.11.2011 10:20

Hallo LäbViju,

Zitat:per Hand zu Fuß zu machen
Stelle ich mir komisch vor... Smile

Zitat:erst einen 3byte Wert rauslesen und umwandeln, den richtigen Kanal, das Vorzeichen und die Skalierung aus dem Wert rausshiften und dann noch skalieren.
Um 24 bit zu zerlegen und umzurechnen kannst du natürlich einen C-Wrapper für deine C++-DLL erstellen & diesen dann per CLF-Node aufrufen. Du kannst natürlich auch ein klitzekleines VI schreiben, dass diese Umrechnung erledigt. Entscheide für dich, was einfacher und schneller geht...


RE: Keine Funktionen in einer Geräterhersteller-.dll ansprechbar - LäbViju - 30.11.2011 15:15

Hallo Gerd,

Zitat: Zitat:per Hand zu Fuß zu machen
Stelle ich mir komisch vor... Smile

Ja, Fußprogrammierung ist nicht die einfachste... ;-)

Ich werde wohl ein (klitzekleines??) VI schreiben, das mir den Messwert extrahiert - ich soll ja auch das Projekt in LabView umsetzen und nicht in C++... ;-)

Gruß
Daniel