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. Für eine DLL mit ActiveX-Objekten verwenden Sie die Funktion Automation öffnen mit dem Eigenschaftsknoten und dem Methodenknoten.

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 Blockdiagramm 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.

  • Thread

    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.

    • In UI-Thread ausführen

      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.

    • In beliebigem Thread ausführen

      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.

  • Aufrufkonvention

    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.

  • Funktionsprototyp

    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.

    • Parameter hinzufügen

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

    • Ausgewählten Parameter löschen

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

    • Ausgewählten Parameter nach oben verschieben

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

    • Ausgewählten Parameter nach unten verschieben

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

  • Aktueller Parameter

    Enthält Einstellungen zum ausgewählten Parameter.

    • Name

      Gibt den Parameternamen an.

    • Typ—

      Gibt den Datentyp des Parameters an.

      • Numerisch—Gibt an, dass der Datentyp "Numerisch" lauten soll.
        • 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.
        • Bestehen

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

      • Array—Gibt an, dass der Datentyp "Array" lauten soll.
        • 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 der String an diesem Eingang die Mindestgröße unterschreitet, wird er entsprechend vergrößert. Ü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—Gibt an, dass der Datentyp String lauten soll.
        • String-Format—Gibt das zu verwendende String-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.

      • Signalverlauf—Gibt an, dass der Datentyp "Signalverlauf" lauten 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 der Parameter ein einzelner Signalverlauf ist, geben Sie für Dimensionen 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.
      • Digitaler Signalverlauf—Gibt an, dass der Datentyp "Digitaler Signalverlauf" lauten soll.
        • Abmessungen

          Gibt die Dimensionen des Parameters an.

          Wenn der Parameter ein einzelner digitaler Signalverlauf ist, stellen Sie Dimensionen auf 0 ein. 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.
      • Digitaldaten—Gibt an, dass der Datentyp "Digitale Daten" lauten soll.
        • Abmessungen

          Gibt die Dimensionen des Parameters an.

          Wenn der Parameter ein Array aus digitalen Daten ist, stellen Sie Dimensionen auf 1 ein. 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, dass der Datentyp ActiveX lauten soll.
        • Datentyp

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

      • An Typ anpassen—Gibt an, dass der Datentyp An Typ anpassen lauten soll.
        • Datenformat—Gibt das Format der unter Typ ausgewählten Daten an.
          • Größenänderung möglich

            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.

            Bei Auswahl von Konstant wird diese Option deaktiviert, da die Größe von konstanten Parametern 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, dass der Datentyp "Instanzdatenzeiger" lauten 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.

  • Funktionsprototyp

    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:

  • Reservieren

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

  • Reservierung aufheben

    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.

  • Abbrechen

    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 Vorgänge

    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.

  • Funktionsprototyp

    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:

  • Fehlerprüfungsstufe

    Enthält die folgenden Optionen:

    • Maximum

      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.

    • Deaktiviert

      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.

  • Funktionsprototyp

    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