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 Import automatisieren



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!

12.02.2015, 18:04
Beitrag #1

CS Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Feb 2015

2014
2014
DE_EN



DLL Import automatisieren
Hallo

Ich benutze LabVIEW 2014 und möchte mehrere DLLs importieren, die sehr viele Funktionen (>2000) bereitstellen.
Prinzipiell geht das über das "Tools / Import / Shared Library" sehr einfach. Bis auf die Tatsache, dass man die Schnittstellen-Definition von manchen Funktionen manuell nachbearbeiten muss.

Nun zu meinen Fragen:
1) Da ich die Schnittstellen-Definition von Funktionen nachbearbeiten muss, würde ich gern ein eigenes Tool schreiben, welches aus (DLL + Header) die passenden (VI und LVLIB) automatisch generiert. Gibt es eine LabVIEW API, um mit einer Programmiersprache wie C++ eigene VIs zu generieren?
Oder gibt es eine Formatbeschreibung der VIs?

Falls dies nicht möglich ist:

2) Bietet LabVIEW zumindest die Möglichkeit eine Beschreibung der Funktionen und deren Parameter automatisch zu generieren; z.B. aus einer entsprechenden Dokumentation in der Header Datei? In welchem Format müsste man eine solche Schnittstellen-Beschreibung anlegen?

Ich hoffe, dass mir jemand in diesem Formum weiterhelfen kann.

Gruß,
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.02.2015, 19:08
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: DLL Import automatisieren
Hallo Christian,

Zitat:Gibt es eine LabVIEW API, um mit einer Programmiersprache wie C++ eigene VIs zu generieren?
Es gibt ein API, um mit LabVIEW neue VIs automatisch zu erstellen: LabVIEW Scripting!

Zitat:Oder gibt es eine Formatbeschreibung der VIs?
Was schwebt dir hier vor?

Zitat:Bietet LabVIEW zumindest die Möglichkeit eine Beschreibung der Funktionen und deren Parameter automatisch zu generieren
Siehe oben: Scripting!

Zitat:In welchem Format müsste man eine solche Schnittstellen-Beschreibung anlegen?
Das bleibt deiner Programmierung des Scriptings überlassen. Textdateien sind meist sehr einfach zu handhaben…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2015, 21:38
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL Import automatisieren
(12.02.2015 18:04 )CS schrieb:  Hallo

Ich benutze LabVIEW 2014 und möchte mehrere DLLs importieren, die sehr viele Funktionen (>2000) bereitstellen.
Prinzipiell geht das über das "Tools / Import / Shared Library" sehr einfach. Bis auf die Tatsache, dass man die Schnittstellen-Definition von manchen Funktionen manuell nachbearbeiten muss.

Nun zu meinen Fragen:
1) Da ich die Schnittstellen-Definition von Funktionen nachbearbeiten muss, würde ich gern ein eigenes Tool schreiben, welches aus (DLL + Header) die passenden (VI und LVLIB) automatisch generiert. Gibt es eine LabVIEW API, um mit einer Programmiersprache wie C++ eigene VIs zu generieren?
Oder gibt es eine Formatbeschreibung der VIs?

Falls dies nicht möglich ist:

2) Bietet LabVIEW zumindest die Möglichkeit eine Beschreibung der Funktionen und deren Parameter automatisch zu generieren; z.B. aus einer entsprechenden Dokumentation in der Header Datei? In welchem Format müsste man eine solche Schnittstellen-Beschreibung anlegen?

Ich hoffe, dass mir jemand in diesem Formum weiterhelfen kann.

Gruß,
Christian

Gerd hat es Dir schon erklärt. Auf LabVIEW Ebene ist LabVIEW Scripting die Antwort. Aber....
Dein Vorhaben in Ehren, Du wirst sehr schnell merken dass ein solches Tool eine Riesenarbeit ist und es ist sehr unwahrscheinlich dass es Dir gelingt ein Tool zu schreiben dass weniger Nacharbeit erfordert dann der Library Import Wizard.

Zwar ist die C header Deklaration tatsächlich nicht ausführlich genug um ein sauberes automatisches Tool zu schreiben das alle Details korrekt implementiert. Aber es ist die einzige einigermassen Standardmethode um sowas zu tun, wenn man mal von ActiveX Interface Definitions absieht aber die sind nicht für Standard C Funktionen geeignet sondern basieren spezifisch auf dem OLE Interface Standard der spezial dafür geschaffen wurde um eine viel striktere Definition von Interfaces zu ermöglichen.

Mein Aproach würde das Ganze auf eine ganz andere Art anpacken. Mache ein Interface um diese Libraries das die 2000 Funktionen zusammenfasst in logische Funktionen so dass die Interfacearbeit viel eingeschränkter ist.

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
13.02.2015, 10:53
Beitrag #4

CS Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Feb 2015

2014
2014
DE_EN



RE: DLL Import automatisieren
Hallo GerdW, Hallo rolfk

Vielen Dank für Eure Tips.

Vielleicht noch eine Bemerkung zum Hintergrund der Geschichte.
Genau genommen haben wir eine XmlRpc Schnittstelle und die C DLL + Header sollen den Zugriff auf diese XmlRpc Schnittstelle für viele Programmiersprachen deutlich zu vereinfachen.
Der Code der C DLL wird bereits mittels eines Quellcode-Generators automatisch erzeugt.
Da wir die Schnittstelle auch in Zukunft weiterentwickeln, müssen wir die C DLL sowie die LabVIEW VIs jedesmal neu generieren. Der Update Mechanismus von LabVIEW hilft da ungemein. Erfordert aber trotzdem manuelle Nacharbeit.

Ein autoamtischer VI Generator ist erstmal viel Arbeit; richtig. Man muss ihn jedoch nur an einem Dutzend representativer Funktionen ausgiebig testen.
Danach braucht man nur noch auf einen Knopf drücken => fertig.

Nach einer ersten Recherche, habe ich noch eine Frage:
Kann mir jemand eine gute Einführung oder Tutorial für LabVIEW Scripting empfehlen?

Vielen Dank
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  USB Relay DLL import hansi9990 3 10.209 02.09.2019 09:15
Letzter Beitrag: hansi9990
  DLL Import externe Struktur in Header bekommen hansi9990 15 24.483 30.09.2016 17:20
Letzter Beitrag: hansi9990
  aus einem Library Import Installer machen galilio 5 13.053 04.04.2016 09:32
Letzter Beitrag: galilio
  Labview Import / DLL debuggen galilio 36 54.096 10.11.2015 21:42
Letzter Beitrag: rolfk
  Import Assistent findet Funktionen nicht TDO 1 5.636 11.12.2014 16:24
Letzter Beitrag: jg
  dll Import richtig verstanden? Gruenschnabel 6 8.324 19.09.2014 10:25
Letzter Beitrag: DATAAHEAD

Gehe zu: