INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DLL ausführen auf PXI-8106



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.06.2009, 15:36
Beitrag #1

dal Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2009

8.6
2008
kA

52076
Deutschland
DLL ausführen auf PXI-8106
Hallo,

ich habe ein Problem das mich grade zum Verzweifeln bringt.
Ich arbeite grade an einem Projekt, bei dem ich einen Servocontroller per LabVIEW ansteuern. Die Firma des Servocontroller hat eine dll mit allen Funktionen bereitgestellt und sogar fertige VI´s die auf die einzelnen Funktionen der dll zugreifen. Das hat auch alles wunderbar geklappt.

Jetzt will ich das ganze über das PXI-8106 System laufen lassen. Zum ersten test rufe ich nur die init Funktion (die eh als erstes aufgerufen werden muss) der dll auf.

Beim kompilieren taucht dann der Fehler auf:

Failed to download target - multi rate - variables.vi
LabVIEW: Failed to load shared library Xenax.dll:init:C on RT target device.
Deployment completed with errors


Ich habe eine DLL selbst geschrieben um zu gucken ob das PXI System überhaupt mit dll´s arbeiten kann. Doch dies Funktioniert.
Meine Vermutung ist, dass das PXI System mit einfachen dll Dateien keine Probleme hat. Doch bei dll Dateien die auf andere Daten Zugreifen, bzw. etwas senden wie in meinem Fall ein Telegramm an den Servocontroller, gibt es Probleme.
Kann jemand meine Theorie bestätigen bzw. widerlegen oder hat jemand schon mal ein ähnliches Problem gehabt und wenn ja wie wurde dieses bewältigt.

Würde mich sehr über eine Antwort freuen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.06.2009, 19:01
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
DLL ausführen auf PXI-8106
Zur Klarstellung, da ich beides auf NI.com finde:

Hast du ein NI PXI-8106 RT oder ein NI PXI-8106 System?

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.06.2009, 19:53
Beitrag #3

dal Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2009

8.6
2008
kA

52076
Deutschland
DLL ausführen auf PXI-8106
Hallo Jens,

ich habe ein PXI-8106 RT.

Gruß Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.06.2009, 20:10
Beitrag #4

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
DLL ausführen auf PXI-8106
ruf die main dll im dependency walker (suche auf google) auf, damit du alle abhaengigkeiten siehst.
danach ruf die mail dll im rt checker auf (http://digital.ni.com/public.nsf/allkb/0...B00015230) und stell sicher, dass der dll checker auch die abhaengigen dlls checkt.

wenn das klappt, dann kopier alle dls in den ni-rtsystem folder
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.06.2009, 20:15
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL ausführen auf PXI-8106
Wahrscheinlich ruft Deine DLL APIs auf die vom ETS realtime System auf dem RT Kontroller nicht unterstüzt sind. Thomas hat es schon angesprochen dass Du die DLL und alle Dependencies mit dem RT Checker kontrollieren solltest ob die da Windows APIs gebrauchen die vom ETS System nicht unterstützt werden.

Eine andere Variante ist dass diese DLL in der neusten Visual C(++) kompiliert wurde mit dynamischem C runtime Support. Das ETS System kommt glaub ich mit der Standard MS C Runtime V7 (glaube von VS .Net). Wenn das in VC2005 oder noch neuer kompiliert wurde dann ist die richtige runtime noch nicht auf dem System und die Installation/Kopieren der entsprechenden Runtime hat gute Chancen um auch nicht zu funktionieren, da die neueren Versionen auch immer von neueren System APIs Gebrauch machen.

Oder die DLL ist mit der Debug Version der Runtime gelinkt was auch nicht gehen würde.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.06.2009, 11:27
Beitrag #6

dal Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2009

8.6
2008
kA

52076
Deutschland
DLL ausführen auf PXI-8106
Hallo,

ich möchte mich für die Hilfe bei euch allen bedanken. Habe jetzt herraus gefunden dass die DLL nicht echtzeitfähig ist.
Ich probiere einen anderen Lösungsweg für mein Problem aus.

Nochmals vielen Dank Big Grin !!!

Gruß Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Gehe zu: