Zur Anzeige dieses Dialogfelds klicken Sie im Blockdiagramm mit der rechten Maustaste auf die Funktion Aufruf externer Bibliotheken und wählen aus dem Kontextmenü die Option Konfigurieren aus.

Hier werden die Bibliotheksdatei, die Funktion, der Parameter, die Ausgabewerte für Objekte und die Aufrufkonventionen beim Aufruf einer DLL festgelegt. Wenn Sie Einstellungen verändern und anschließend auf OK klicken, wird das Blockdiagramm-Objekt an die neuen Einstellungen angepasst. Das Objekt zeigt dann die eingestellte Anzahl an Anschlüssen an und wird auf die angegebenen Datentypen konfiguriert.

Mit Hilfe des Knotens zum Aufrufen externer Bibliotheken können Sie befehlsorientierte Programmiersprachen in LabVIEW einbinden. Wenn Sie eine gemeinsam genutzte Bibliothek aufrufen möchten, die ActiveX-Objekte enthält, verwenden Sie die Funktion Automation Open mit dem Property Node und dem Invoke Node.

Das Dialogfeld enthält folgende Komponenten:

Option Beschreibung
Funktion Auf der Registerkarte Funktion wird der Knoten zum Aufruf externer Bibliotheken konfiguriert.

Die Registerkarte enthält folgende Komponenten:

  • Bibliotheksname oder Pfad-

    Gibt entweder den Namen oder den Pfad der aufgerufenen Bibliothek an. Die beiden Ausgangsparameter sind allerdings nicht beliebig austauschbar. Wenn Sie VIs und Anwendungen auf anderen Computern nutzen oder an einer anderen Stelle speichern, spielt es eine wichtige Rolle, ob Sie die Bibliothek namentlich oder über einen Dateipfad aufrufen. Wann eine DLL namentlich oder über einen Pfad anzugeben ist, erfahren Sie im Abschnitt "Festlegen des Speicherorts von DLLs".

    Um die Pfadangabe plattformunabhängig zu machen, verwenden Sie das Sternchen (*) als Platzhalter. Bei C++-Compilern werden die Parameternamen in die Namen der Bibliotheksfunktionen integriert (dieser Vorgang wird "Name Decoration" genannt). Sie sind daher plattformabhängig. Um eine Plattformabhängigkeit in exportierten Funktionsnamen zu vermeiden, verwenden Sie die den Befehl extern "C"{} in Ihrer Header-Datei.

  • Pfad im Diagramm angeben-

    Bestimmt, ob Bibliotheksname oder Pfad im Blockdiagramm angegeben werden kann. Bei Auswahl dieser Option erscheinen die Anschlüsse Pfad (Eingang) und Pfad (Ausgang) als Optionen im Anschlussfeld des Knotens. Bei Auswahl dieser Option wird die unter Bibliotheksname oder -pfad angegebene Bibliothek ignoriert. Tipp Über den Anschluss Pfad (Eingang) wird die vorher angegebene Bibliothek aus dem Speicher entfernt. Verbinden Sie dazu einen leeren oder ungültigen Pfad mit Pfad (Eingang).

  • Funktionsname-

    Gibt den Namen der aufgerufenen Funktion an. Hinweis Wenn Sie eine Bibliothek angeben, werden im Bedienelement Funktionsname automatisch die in der Bibliothek gefundenen Funktionsnamen angezeigt. (macOS) Wenn das Bedienelement Funktionsname leer ist, installieren Sie die nm-Utility zur Anzeige einer Liste mit Funktionsnamen. Das nm-Utility wird mit Xcode, der Standard-Entwicklungsumgebung für macOS, installiert. Sie können Xcode kostenlos vom App Store für Mac herunterladen.

  • Thema-

    Gibt an, ob die Funktion "Aufruf externer Bibliotheken" vom Thread, in dem das VI gerade ausführt wird, in den Thread der Benutzeroberfläche wechseln soll oder ob sie im weiterhin im aktuellen Thread ausgeführt werden soll. Die Standardeinstellung lautet In UI-Thread ausführen.

    • Im UI-Thread laufen lassen -

      Gibt an, dass der Knoten zum Aufruf externer Bibliotheken vom aktuellen Thread in den Thread der Benutzeroberfläche wechseln soll. Bei der Ausführung im Thread der Benutzeroberfläche einer LabVIEW-DLL, die mit Hilfe von Pfad im Blockdiagramm angeben dynamisch geladen wird, hängt sich LabVIEW auf.

    • Lauf in einem beliebigen Gewinde

      Legt fest, ob der Knoten zum Aufruf externer Bibliotheken weiterhin im aktuellen Thread ausgeführt werden soll. Vergewissern Sie sich, dass die Funktion von mehreren Threads gleichzeitig aufgerufen werden kann. Hinweis Für alle Aufrufe von LabVIEW-eigenen DLLs sollte In beliebigem Thread ausführen ausgewählt sein. Wenn Sie den Knoten zum Aufruf externer Bibliotheken mit einer LabVIEW-eignen DLL konfigurieren und die Einstellung In UI-Thread ausführen auswählen, hängt sich LabVIEW möglicherweise auf und ein Neustart ist erforderlich.

  • Konvention anrufen -

    Gibt die Aufrufkonvention für die Funktion an. Die Standardeinstellung lautet C.

    • stdcall (WINAPI)-

      Bestimmt, ob sich das Objekt nach der __stdcall-Aufrufkonvention richten soll.

    • C-

      Bestimmt, ob sich das Objekt nach der __cdecl-Aufrufkonvention richten soll.

  • Funktion Prototyp-

    Zeigt den C-Prototyp der Funktion an. (Nur-Lese-Modus).

Parameter

Führt die aktuellen Parameter für den Knoten zum Aufruf externer Bibliotheken auf. Sie können die Parameter-Liste konfigurieren, indem Sie die Schaltflächen auf der rechten Seite des Parameter-Listenfelds verwenden. Der Ausgabetyp ist erforderlich und kann daher nicht gelöscht werden.

  • Parameter-

    Führt die aktuellen Parameter für den Knoten zum Aufruf externer Bibliotheken auf. Sie können die Parameter-Liste konfigurieren, indem Sie die Schaltflächen auf der rechten Seite des Parameter-Listenfelds verwenden. Der Ausgabetyp ist erforderlich und kann daher nicht gelöscht werden.

    • Einen Parameter hinzufügen -

      Fügt den ausgewählten Parameter in der Parameter-Liste unter dem markierten ein.

    • Löschen Sie den ausgewählten Parameter

      Löscht den ausgewählten Parameter aus der Liste Parameter.

    • Bewegen Sie den ausgewählten Parameter nach oben ein-

      Verschiebt den ausgewählten Parameter in der Liste Parameter um eine Ebene nach oben, wodurch die Reihenfolge der Parameter im Funktionsprototyp geändert wird.

    • Den ausgewählten Parameter nach unten verschieben ein-

      Verschiebt den ausgewählten Parameter in der Liste Parameter um eine Ebene nach unten, wodurch die Reihenfolge der Parameter im Funktionsprototyp geändert wird.

  • Aktuelle Parameter-

    Enthält Einstellungen zum ausgewählten Parameter.

    • Name-

      Gibt den Parameternamen an.

    • Typ-

      Gibt den Datentyp des Parameters an.

      • Numerisch - Legt fest, dass der Datentyp Numerisch verwendet wird.
        • Datentyp

          Gibt den genauen Typ der im Typ-Element markierten Daten an.

          Hinweis Bei den Datentypen Vorzeichenbehafteter zeigergroßer Integer und Vorzeichenloser zeigergroßer Integer passt sich der Knoten zum Aufruf externer Bibliotheken an das Betriebssystem an, auf dem er ausgeführt wird, und gibt Daten der entsprechenden Größe an die DLL-Funktion aus. Auf einer 64-Bit-Plattform werden die numerischen Datentypen in 64-Bit-Integer umgewandelt. Auf einer 32-Bit-Plattform werden die numerischen Datentypen in 32-Bit-Integer umgewandelt.
        • Pass-

          Gibt an, ob der Wert oder ein Zeiger auf den Wert übergeben werden soll.

      • Array - Legt fest, dass der Datentyp Array verwendet wird.
        • Datentyp

          Gibt den genauen Typ der im Typ-Element markierten Daten an.

          Hinweis Bei den Datentypen Vorzeichenbehafteter zeigergroßer Integer und Vorzeichenloser zeigergroßer Integer passt sich der Knoten zum Aufruf externer Bibliotheken an das Betriebssystem an, auf dem er ausgeführt wird, und gibt Daten der entsprechenden Größe an die DLL-Funktion aus. Auf einer 64-Bit-Plattform werden die numerischen Datentypen in 64-Bit-Integer umgewandelt. Auf einer 32-Bit-Plattform werden die numerischen Datentypen in 32-Bit-Integer umgewandelt.
        • Abmessungen -

          Gibt die Dimensionen des Parameters an.

        • Array Format-

          Gibt das zu verwendende Array-Format an.

        • Mindestgröße-

          Gibt die Mindestgröße eines 1D-Arrays an und reserviert den dafür benötigten Speicherplatz. Sie können entweder selbst einen Zahlenwert angeben oder nach dem Festlegen eines Integer-Parameters aus der Liste Parameter einen Wert auswählen. Die Standardeinstellung lautet "kein". Diese Option ist nur für Array-Zeiger verfügbar.

          Wenn Sie eine Zeichenkette eingeben, die kleiner als die Mindestgröße ist, vergrößert LabVIEW die Zeichenkette auf die Mindestgröße. Überschreitet ein String die Mindestgröße, behält er seine Größe bei. Wenn das Array an diesem Eingang die Mindestgröße unterschreitet, wird das Array entsprechend vergrößert. Überschreitet ein Array die Mindestgröße, behält es seine Größe bei.
      • String - Legt fest, dass der DatentypString verwendet werden soll.
        • Zeichenfolgenformat - Gibtdas zu verwendende Zeichenfolgenformat an.
        • Mindestgröße-

          Gibt die Mindestgröße eines 1D-Arrays an und reserviert den dafür benötigten Speicherplatz. Sie können entweder selbst einen Zahlenwert angeben oder nach dem Festlegen eines Integer-Parameters aus der Liste Parameter einen Wert auswählen. Die Standardeinstellung lautet "kein". Diese Option ist nur für Array-Zeiger verfügbar.

      • Wellenform - Legt fest, dassder Datentyp Wellenform verwendet werden soll. Der genaue numerische Datentyp muss im Pulldown-Menü Datentyp ausgewählt werden.
        • Datentyp

          Gibt den genauen Typ der im Typ-Element markierten Daten an.

        • Abmessungen -

          Gibt die Dimensionen des Parameters an.

          Wenn es sich bei dem Parameter um eine einzelne Wellenform handelt, geben Sie für Abmessungen den Wert 0 an. Ist der Parameter ein Array aus Signalverläufen, geben Sie für Dimensionen den Wert 1 an. Arrays aus Signalverläufen mit zwei oder mehr Dimensionen sind nicht möglich.
      • Digitale Wellenform: Legt fest, dass der Datentyp Digitale Wellenform verwendet wird.
        • Abmessungen -

          Gibt die Dimensionen des Parameters an.

          Geben Sie für Abmessungen den Wert 0 an, wenn der Parameter eine einzelne digitale Wellenform ist. Wenn der Parameter ein Array aus digitalen Signalverläufen ist, stellen Sie Dimensionen auf 1 ein. Arrays aus digitalen Signalverläufen mit zwei oder mehr Dimensionen sind nicht möglich.
      • Digitale Daten - Legt fest, dass der Datentyp Digitale Daten verwendet wird.
        • Abmessungen -

          Gibt die Dimensionen des Parameters an.

          Geben Sie für Abmessungen den Wert 1 an, wenn es sich bei dem Parameter um eine Reihe von digitalen Daten handelt. Geben Sie sonst für Dimensionen den Wert 0 an. Arrays aus digitalen Daten mit zwei oder mehr Dimensionen sind nicht möglich.
      • ActiveX - Gibt an, dassder ActiveX-Datentypverwendet werden soll.
        • Datentyp

          Gibt den genauen Typ der im Typ-Element markierten Daten an.

      • An Typ anpassen - Legt fest, dassder DatentypAn Typ anpassenverwendet werden soll.
        • Datenformat - Gibtdas Format der im Steuerelement Typ ausgewählten Daten an.
          • Größenänderung zulassen-

            Gibt an, ob die Bibliothek die Größe des Parameters ändern darf. Wenn Sie die Anpassung untersagen, werden in manchen Fällen überflüssige Kopien vermieden.

            LabVIEW deaktiviert diese Option, wenn das Kontrollkästchen Konstante ein Häkchen enthält, da die Größe eines konstanten Parameters nicht geändert werden kann.
            Hinweis Diese Option ist nur verfügbar, wenn Sie aus dem Pulldown-Menü Datenformat die Option Schnittstelle nach Daten auswählen.
      • Instanzdatenzeiger - Gibt an, dassder Datentyp Instanzdatenzeiger verwendet werden soll. Der Datenzeiger verweist auf einen reservierten Speicherbereich in der Größe des Zeigers, den Sie beliebig verwenden können. Diese Speicherzuweisung wird auch an alle Callback-Funktionen auf der Registerkarte Callbacks weitergegeben.
    • Konstante -

      Gibt an, ob es sich bei dem Parameter um eine Konstante handelt.

  • Funktion Prototyp-

    Zeigt den C-Prototyp der Funktion an. (Nur-Lese-Modus).

Callbacks

Auf der Registerkarte Callbacks werden Funktionen angegeben, die zu bestimmten Zeitpunkten aufgerufen werden sollen. Mit diesen Funktionen können Sie Daten für die DLL für jedes Exemplar des Knotens zum Aufruf externer Bibliotheken einzeln initialisieren, aktualisieren und/oder nicht benötigte Daten löschen. Bei jedem Aufruf wird ein Datenzeiger für die Funktion des Knotens zum Aufruf externer Bibliotheken übergeben, für die der Knoten konfiguriert ist.

Hinweis Auf der Registerkarte Callback können keine Callback-Funktionen als Parameter an Bibliotheksfunktionen übergeben werden. Der Knoten zum Aufruf externer Bibliotheken kann Bibliotheksfunktionen, die Callbacks erfordern, nicht direkt als Parameter aufrufen. Sie können allerdings für solche Aufrufe eine Wrapper-Bibliothek erzeugen.

Die Registerkarte enthält folgende Komponenten:

  • Reserve-

    Gibt die Funktion an, die bei Reservierung jedes Exemplars des Knotens oder Datenraums eines ablaufinvarianten VIs aufgerufen werden soll.

  • Nicht reserviert -

    Gibt die Funktion an, die bei der Freigabe jedes Exemplars des Knotens oder Datenraums eines ablaufinvarianten VIs aufgerufen werden soll. Mit "Reservierung aufheben" können Informationen gespeichert oder analysiert werden und Bereinigungen durchgeführt werden.

  • Abbruch-

    Gibt die Funktion an, die beim Abbrechen eines VIs während eines laufenden DLL-Aufrufs gestartet werden soll. Wenn der Knoten zum Aufruf externer Bibliotheken so eingestellt ist, dass er im UI-Thread (dem Thread der Benutzeroberfläche) läuft, dann wird der Prozess "Abbrechen" nicht aufgerufen. Mit "Abbrechen" können Informationen gespeichert oder analysiert werden und Bereinigungen durchgeführt werden.

  • Prototyp für diese Verfahren-

    Zeigt den C-Prototyp für die benutzerdefinierten Prozeduraufrufe an. Jede Funktion übergibt einen Parameter vom Typ "InstanceDataPtr". Mit diesem Parameter können Sie alle Daten für das betreffende Exemplar des Knotens, die an einen nachfolgenden Knoten weitergegeben werden können, initialisieren und auf die Daten zugreifen. Der Prototyp kann in jeden Typen umgewandelt werden, der in einem Zeiger-Datentypen enthalten sein kann, also eine Zahl oder ein tatsächlicher Zeiger auf eine Struktur, die von der DLL reserviert wurde. Nur-Lese-Modus.

  • Funktion Prototyp-

    Zeigt den C-Prototyp der Funktion an. (Nur-Lese-Modus).

Fehlerprüfung

Auf der Registerkarte Fehlerprüfung wird eingestellt, wie intensiv der Knoten zum Aufruf externer Bibliotheken auf Fehler untersucht werden soll.

Die Registerkarte enthält folgende Komponenten:

  • Fehlerüberprüfung Level-

    Enthält die folgenden Optionen:

    • Maximal-

      Aktiviert die intensivste Fehlerprüfung für den Knoten zum Aufruf externer Bibliotheken. Die Einstellung Maximal unterscheidet sich insofern von der Standard-Ebene, dass zusätzlich ein Fehler ausgegeben wird, wenn die in der DLL aufgerufene Funktion beim Schreiben den für den angegebenen String- oder Array-Parameter zulässigen Platz überschreitet (was normalerweise zu einer Warnung führt). Hinweis Bei Auswahl des Bedienelements Maximum auf der Registerkarte Fehlerprüfung verringert sich die Ausführungsgeschwindigkeit des VIs und der Knoten zum Aufruf externer Bibliotheken verbraucht mehr Speicherplatz. Daher sollten Sie die Option Maximum nur auswählen, wenn Sie die Konfiguration des Knotens auf Fehler untersuchen möchten.

    • Standard-

      Aktiviert die Standardfehlerprüfung für den Knoten zum Aufruf externer Bibliotheken. Bei der Standardfehlerprüfung kann LabVIEW nach einer unbehandelten Ausnahme während der Ausführung der DLL wiederhergestellt werden. Bei dieser Art der Fehlerprüfung gibt der Knoten zum Aufruf externer Bibliotheken einen Fehler aus, wenn die auf der Registerkarte Funktion ausgewählte Aufrufkonvention nicht mit der Aufrufkonvention der aufzurufenden DLL-Funktion übereinstimmt.

    • Behinderte -

      Deaktiviert die Fehlerprüfung für den Knoten zum Aufruf externer Bibliotheken. Bei Deaktivieren der Fehlerprüfung für den Knoten zum Aufruf externer Bibliotheken erhöht sich die Ausführungsgeschwindigkeit des Knotens. Bei bestimmten Fehlern kann LabVIEW jedoch auch abstürzen. Vergewissern Sie sich vor dem Deaktivieren der Fehlerprüfung, dass der Knoten zum Aufruf externer Bibliotheken keine unbehandelten Ausnahmen verursacht.

  • Funktion Prototyp-

    Zeigt den C-Prototyp der Funktion an. (Nur-Lese-Modus).

Weitere Informationen

Aufrufen von DLLs in LabVIEW

Konfigurieren des Knotens "Aufruf externer Bibliotheken"

Fehlersuche in DLLs und Aufrufen von DLLs

Knoten zum Aufruf externer Bibliotheken

LabVIEW-Managerfunktionen