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 

Gerätetreiber nach DLL überführen



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!

01.04.2020, 08:50 (Dieser Beitrag wurde zuletzt bearbeitet: 01.04.2020 09:06 von NoWay.)
Beitrag #1

NoWay Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 241
Registriert seit: Jul 2013

LV-2019
2013
EN


Deutschland
Gerätetreiber nach DLL überführen
Hallo zusammen.

Folgendes Szenario ist gegeben:
Ich habe mir für ein Fluke8508 Treiber VIs geladen und auch schon erfolgreich getestet.
Quelle: http://sine.ni.com/apps/utf8/niid_web_di...el_id=4613
Nun steht die Anforderung im Raum, dass ich die Treiber VIs in eine DLL überführe, damit die Ansteuerung des Gerätes auch mit anderer, im Hause befindlicher Software möglich wird.
Da alle Daten vorhanden sind, war ich in der Annahme, das könne ja nicht so schwierig sein, da Labview per AppBuilder eine DLL erzeugen kann.
Gesagt, getan. Ich habe also die EinzelVIs durch den AppBuilder geschoben und bekomme als Ausgabe folgendes:
  • DLL File
  • Header File
  • Ini File
  • Lib File

Schön. Nun wollte ich den ganzen Kram nicht ungetestet rausgeben und dachte mir: Wenn das so einfach war, dann kann ich ja auch diese DLL wieder importieren und nutzen oder zumindest per Library Function Call verwerten. Doch scheinbar sind die Funktionen nicht abrufbar.

Das Problem:
Ich verstehe nicht, was ich falsch gemacht habe oder ggf. ergänzen muss, damit die exportierte DLL korrekt verwertbar ist. Es mangelt mir hier scheinbar an elementarem Wissen. Im Anhang habe ich das ProjectFile des Treibers angehangen. Vielleicht kann mir hier jemand auf die Sprünge helfen, wo es klemmt.

Meine bisherigen (diffusen) Erkenntnisse:
  • Im Header File steht was von einer extcode.h. Beim Import über den Assistenten werde ich darauf hingewiesen, dass eben diese Datei fehlt. Mir ist nicht klar, warum bei der Erzeugung auf diese Datei verwiesen wird. Im Ausgabeverzeichnis taucht diese Datei auch nicht auf. Wieso steht das dann im Header File?
    *EDIT* Extcode.h wird erzeugt, wenn ich in den Einstellungen unter "Advanced" ein Häckchen setze, bei: Include additional Labview Header Files. Allerdings fehlen dann wiederum andere Dateien beim Import:
       
  • Ich habe gelesen, dass ggf. ein Preprocessor oder sowas in der Art angegeben werden kann/muss. Diesen Schritt habe ich stets übersprungen. Liegt hier des Rätsels Lösung?
  • Die Funktionen "sind irgendwie da" werden aber vom Import Assistenten nicht erkannt. Der Assistent listet mir zwar alle Funktionen auf, allerdings kann ich diesen Schritt dann nicht fortführen.
       

Anmerkungen zum Anhang:
Da ich mit den Treibern bereits gearbeitet habe, sind diese vermutlich als 2019er Version gespeichert. Wenn das zu Problemen führt, bitte den Project Style Treiber aus obigen Link verwenden.

Habt ihr eine Idee, wie ich hier wieder auf einen grünen Zweig komme?

Beste Grüße
NoWay


Angehängte Datei(en)
0.0 .zip  Fluke 8508.zip (Größe: 667,46 KB / Downloads: 212)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.06.2020, 23:30
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 417
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Gerätetreiber nach DLL überführen
Also den Import Assistenten fand ich bisher in den sehr sehr seltenen Fällen wo ich ihn mal probiert habe immer sehr nervig.
Wenn du nur ein paar von den Funktionen testen willst, dann lege die Parameter für den Aufruf doch einfach von Hand fest.

BTW: extcode.h gehört zu LabVIEW und das findest du zusammen mit einigen anderen Dateien unter
\National Instruments\LabVIEW 2019\cincode

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: