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!
gibt es in LabVIEW die Möglichkeit zur Laufzeit unterschiedliche DLL's aufzurufen?
Jetzt kommt der Knackpunkt:
die Namen sind beim Programmstart noch nicht bekannt!
Direkt geht's net.
Indirekt kannst du jede DLL-Methode über sub-Vi's aufrufen, welche ihrerseits über vi-server aufgerufen werden. Dann gibst du den Pfad des dynamisch aufgerufenen vi's an und nicht der DLL (was ja nicht geht). Die "dynamischen Vi's kannst du in eine LLB packen und somit einer bestehenden Applikation nachträglich beifügen.
Willst du allerdings Daten übergeben oder zurückbekommen, müssen die einzelnen "Versionen" der dynamischen Vi's die gleichen Frontpanel-Elemente besitzen. Ansonsten stehst du beim ausprogrammieren vor undendlich vielen Möglichkeiten zur Datenübergabe (da LV sogenannt "strict typed" ist, oder Datentyp muss zu Programmierzeit bekannt sein) und sitzt somit wieder in der Klemme. :kopfgegendiemauer:
Die Anschlüsse der DLL sind immer gleich. Leider muss ich dann für jede neue DLL erst ein LabVIEW VI programmieren, damit ich den DLL Knoten konfigurieren kann. Die DLL wird vom Betreiber gestellt und kommt ab und an mit einer neuen Version (interne Verbesserung). Nun möchte er diese zur Laufzeit einbinden. Derzeit ist dies über den Dateinamen gelöst. welcher immer gleich ist. Kunde überschreibt die alte DLL fertig. Nun will er aber Teile mit der alten DLL berechnen und anderen mit einer neueren Version.
Die Idee ist es eine eigene DLL zu programmieren, der ich den Dateinamen übergebe und diese intern die Betreiber DLL aufruft. Über die WindowsAPI kann ich DLL laden und entladen.
Nun wollte ich das gleich mit LV machen um mir den Programmieraufwand mit der C DLL zu sparen.
Falls jemanden doch noch eine Idee einfällt, ich bin für jede Anregung dankbar.