Folgen Sie diesen Anweisungen, nachdem Sie mit Hilfe des Assistenten für Gerätetreiberprojekte einen Gerätetreiber erstellt haben. Weitere Informationen zum Entwickeln von Plug-and-Play-Gerätetreibern finden Sie auf der Website von National Instruments.

Änderungsanweisungen

  1. Entfernen Sie nicht unterstützte VIs
  2. Bearbeiten Sie allgemeine Treiber-VIs
  3. Bearbeiten Sie gerätespezifische VIs
  4. Erstellen Sie neue gerätespezifische VIs
  5. Erstellen Sie Beispiel-VIs
  6. Aktualisieren Sie die VIs der Baumstruktur
  7. Aktualisieren Sie die Palettendateien
  8. Übertragen Sie den fertigen Treiber ggf. an das Netzwerk für Gerätetreiber auf ni.com/idnet.

Entfernen von nicht unterstützten VIs

  1. Entfernen Sie alle Gerätetreiber-VIs im Projekt, die nicht vom Gerät unterstützt werden, einschließlich aller üblichen VIs, wie zum Beispiel "Self-Test" oder "Reset". Ermitteln Sie die Eigenschaften Ihres Messgeräts, um zu bestimmen, welche VIs unterstützt werden. Die Vorlage "Digitalmultimeter" enthält zum Beispiel VIs für Mehrpunktmessungen. Wenn Sie einen Treiber für ein Digitalmultimeter schreiben, das keine Mehrpunktmessungen unterstützt, löschen Sie diese VIs aus dem Treiberprojekt und aus dem Treiberverzeichnis.
  2. Entfernen Sie für jedes entfernte VI die SubVI-Aufrufe zu diesem VI von anderen Gerätetreiber-VIs im Projekt.
  3. Speichern Sie nach dem Entfernen der Dateien das Projekt (*.lvproj) und die Projektbibliothek (*.lvlib).

Bearbeiten von allgemeinen Treiber-VIs

  1. Wenn Sie den Treiber von einer Vorlage erstellt haben, sind in jedem allgemeinen Treiber-VI Bearbeitungsanweisungen in einem gelben Textfeld auf dem Frontpanel und/oder im Blockdiagramm enthalten. Zu den allgemeinen Treiber-VIs gehören: "Initialize", "Close", "Self-Test", "Reset", "Error Query", "Revision Query"und "Default Instrument Setup". Lesen Sie die VI-Dokumentation, befolgen Sie die Änderungsanweisungen in jedem VI und löschen Sie dann die Anweisungen.
  2. Führen Sie folgende zusätzliche Anweisungen aus:
    • VI "Initialize"—Geben Sie auf dem Frontpanel die Standardadressen-Information im Element VISA-Ressourcenname ein. Informationen über die Syntax für das Gerät finden Sie in der Kontexthilfe für das Element VISA-Ressourcenname. Klicken Sie mit der rechten Maustaste auf das Bedienelement und wählen Sie im Kontextmenü die Option Datenoperationen»Aktuellen Wert als Standard aus. Aktualisieren Sie die Kontexthilfe zu diesem Bedienelement, damit nur Informationen über unterstützte Busse für das Gerät angezeigt werden. Bearbeiten oder entfernen Sie serielle Bedienelemente aus dem Cluster Konfiguration serieller Schnittstellen, um eine Übereinstimmung mit den Fähigkeiten des Geräts zu erreichen. Wenn ein Gerät zum Beispiel nur 7 Datenbits und 1 Stoppbit haben kann, entfernen Sie die Bedienelemente Datenbit und Stoppbit und legen Sie diese Parameter als Konstanten im Blockdiagramm fest. Wenn ein Gerät nur 2 Baudraten unterstützt, entfernen Sie nicht unterstützte Raten aus dem Bedienelement Baud-Rate. Setzen Sie die Bedienelemente im Cluster Konfiguration serieller Schnittstellen auf die Standardwerte des Instruments, klicken Sie die Bedienelemente mit der rechten Maustaste an und wählen Sie Ausführen»Aktuelle Werte als Standard aus dem Kontextmenü. Sie können den Cluster Konfiguration serieller Schnittstellen auch für andere Konfigurationseinstellungen, wie zum Beispiel nicht serielle Busse wie TCP/IP verwenden. Aktualisieren Sie - sofern notwendig - den Namen des Clusters und die Kontexthilfe, so dass die Bedienelemente innerhalb des Clusters angezeigt werden.
    • VI "Close"—Wenn das Gerät einen bestimmten Zustand vor dem Schließen annehmen soll, fügen Sie den notwendigen Blockdiagrammcode vor der Funktion VISA: Schließen ein.
    • VI "Self-Test"—Legen Sie die Timeout-Konstante im Blockdiagramm auf einen Wert fest, der groß genug ist, so dass das Gerät den Selbsttest beenden kann. Die Voreinstellung lautet 20.000, also 20 Sekunden.
    • VI "Error Query"—Entwickelt, um mehrere SCPI-Fehler zu analysieren. Wenn das Gerät die Fehlerabfrage anders umsetzt, finden Sie bei anderen Gerätetreibern, wie zum Beispiel dem Fluke 45 Multimeter, Alternativen, um diese Funktion umzusetzen. Das VI "Error Query" ist in allen Treiber-VIs, mit Ausnahme der Low-Level-API-VIs als SubVI enthalten. Verwenden Sie bei SCPI-konformen Geräten :SYST:ERR? als Befehl für die Fehlerabfrage. Analysieren Sie bei nicht-SCPI-konformen Geräten die Antwort der Fehlerabfrage, um zu sehen, ob ein Fehler aufgetreten ist. Setzen Sie - basierend auf der Antwort - das boolesche Statuselement des Fehler-Clusters auf den entsprechenden Zustand. Das boolesche Element sollte FALSE sein, wenn es keinen Fehler am Gerät gibt, andernfalls TRUE.
    • VI "Revision Query"—Bearbeiten Sie die Funktion In String suchen, um die Firmware-Abfrage für das Gerät zu analysieren.
  3. Speichern Sie nach dem Bearbeiten der Dateien das Projekt (*.lvproj) und die Projektbibliothek (*.lvlib).

Bearbeiten von gerätespezifischen VIs

Führen Sie folgende Schritte für jedes verbleibende VI im Treiber aus:

  1. Öffnen Sie das VI und bearbeiten Sie das Frontpanel, indem Sie Bedien- und Anzeigeelemente hinzufügen, bearbeiten oder auch entfernen, je nach den Anforderungen, um die vom VI definierte Operation auszuführen.
  2. Aktualisieren Sie die Standardwerte der Bedienelemente, so dass diese mit den Standardwerten des Messinstruments übereinstimmen. Stellen Sie den Wert an jedem Bedienelement ein, klicken Sie dann mit der rechten Maustaste auf das Element und wählen Sie Datenoperationen»Aktuellen Wert als Standard aus dem Kontextmenü aus.
  3. Aktualisieren Sie die Beschriftungen und die Beschreibungen der Bedien- und Anzeigeelemente entsprechend den Änderungen.
  4. Bearbeiten Sie gegebenenfalls das VI-Symbol.
  5. Wenn Sie Anzeige- oder Bedienelemente entfernt oder hinzugefügt haben, muss das Anschlussfeld entsprechend geändert werden.
  6. Bearbeiten Sie das Blockdiagramm, indem Sie die Befehls-Strings und die geparsten Antworten entsprechend der Funktionen des Instruments aktualisieren.
  7. Bearbeiten Sie gegebenenfalls die VI-Dokumentation. Sie könnten als Dokumentation für das VI "Initialize" beispielsweise eingeben: Dieser Gerätetreiber unterstützt die serielle Kommunikation. Wenn bei der seriellen Kommunikation Probleme auftreten, versuchen Sie es mit Baudraten von weniger als 19.200 und Hardware-Handshaking.
  8. Wenn Sie den Treiber von einer Vorlage erstellt haben, sind in jedem VI Bearbeitungsanweisungen in einem gelben Textfeld auf dem Frontpanel und/oder im Blockdiagramm enthalten. Lesen Sie die VI-Dokumentation, befolgen Sie die Änderungsanweisungen im VI und löschen Sie dann die Anweisungen.
  9. Speichern Sie das VI und testen Sie es.
  10. Speichern Sie nach dem Bearbeiten der Dateien das Projekt (*.lvproj) und die Projektbibliothek (*.lvlib).

Erstellen von neuen gerätespezifischen VIs

  1. Erstellen Sie mit Hilfe des Assistenten für Gerätetreiber-VIs zusätzliche VIs, die vom Gerät unterstützt werden. Wenn Sie einen Treiber von einer Klassenvorlage erstellt haben, wie zum Beispiel von der Vorlage "Digital-Multimeter", dann unterstützt das Messgerät wahrscheinlich zusätzliche Funktionen, die nicht in der Klassenvorlage einbegriffen sind. Sie sollten für jede unterstützte Eigenschaft ein zusätzliches VI erstellen. Verwenden Sie dazu die vorhandenen VIs und Strukturen als Richtlinie. Zum Beispiel verfügen Oszilloskope oft über mehrere Trigger-Typen. Die Vorlage "Oszilloskop" unterstützt jedoch nur die Flanken-Triggerung. Unterstützt das Gerät zusätzliche Trigger-Typen, fügen Sie diese Funktionen über zusätzliche Gerätetreiber-VIs hinzu.
  2. Ordnen Sie ähnliche Gerätetreiber-VIs mit Hilfe von polymorphen-VIs in Gruppen. So können zum Beispiel Konfigurations-VIs mit mehreren Triggern durch ein polymorphes VI dargestellt werden.
  3. Speichern Sie nach dem Bearbeiten der Dateien das Projekt (*.lvproj) und die Projektbibliothek (*.lvlib).

Hier finden Sie einige spezifische Änderungen für Treiber, die nach Klassenvorlagen erstellt wurden:

  • Digitalmultimeter—Die Low-Level-VIs auf den Paletten "Konfigurieren" und "Daten" ermöglichen eine bessere Steuerung des DMM. Sie sind nicht für die gemeinsame Verwendung mit den Vorlagen-VIs "Lesen (Einzelnen Punkt)" und "Lesen (Mehrere Punkte)" gedacht, da diese VIs bereits Teile dieser Funktionen beinhalten. Ein Beispiel für die Verwendung dieser Low-Level-VIs finden Sie im VI "Read Triggered Multiple".
  • Oszilloskop—Das private VI "Default Instrument Setup" sollte das Oszilloskop in einen einfachen Erfassungsmodus setzen. Dieser Befehl ist vergleichbar mit :ACQ:STOPA SEQ;.
  • Funktionsgenerator—Unterstützt das Instrument beliebige Signalverläufe, muss ein separates VI für die Unterstützung der beliebigen Signalverläufe erstellt werden. Fügen Sie dem VI "Configure Standard Waveform" keine Unterstützung für beliebige Signalverläufe hinzu.

Wenn das Gerät automatisch einen Modus deaktiviert, wenn Sie einen anderen Modus aktivieren, können Sie den Status der Modulation implizit aktivieren und die VIs überschreiben. Entfernen Sie dazu das Bedienelement Aktivieren <x> Modus und löschen Sie den FALSE-Case aus dem Blockdiagramm.

Erstellen von Beispiel-VIs

  1. Erstellen Sie zwei oder mehr Beispiel-VIs, die die Verwendung des Gerätetreibers erläutern. In den Beispielen sollte die erforderliche Reihenfolge der Aufrufe erklärt werden, die zur Ausführung der Geräteoperationen nötig ist. Fügen Sie ein Beispiel für jeden typischen Verwendungsfall des Geräts ein, damit eine große Anzahl von Benutzern davon profitieren können.
  2. Fügen Sie die Beispiele in das Gerätetreiberprojekt, aber nicht in die Projektbibliothek ein.
  3. Wählen Sie Werkzeuge»Beispiel-VIs für die Suchmaschine für Beispiele vorbereiten, um eine Beispiel-Datendatei (.bin3) zum Verzeichnis Beispiele im Gerätetreiberprojekt hinzuzufügen.
Hinweis Die folgenden Präfixe können für die Benennung der *.bin3-Datei nicht verwendet werden, da sie von LabVIEW reserviert sind: ms, test, lv, daq, cvi, tree, fr, de, ja, vi, im, dsc, rt, _, ko, zh, it und es.

Aktualisieren von Baumstruktur-VIs

  1. Öffnen Sie das Baumstruktur-VI und aktualisieren Sie das Blockdiagramm, um die Änderungen am Gerätetreiber zu übernehmen. Das VI "Baumstruktur" ist in keiner Anwendung ein SubVI. Es soll als schneller Überblick über die Hierarchie der Treiber-VIs dienen.
  2. Entfernen Sie alle VIs, die nicht vom Gerät unterstützt werden, einschließlich aller üblichen VIs, wie zum Beispiel "Self-Test" oder "Reset".
  3. Fügen Sie alle öffentlichen VIs hinzu, die Sie dem Treiber hinzugefügt haben.
  4. Speichern und schließen Sie das VI.

Aktualisieren von Palettendateien

  1. Nachdem alle VIs vollständig sind, aktualisieren Sie die Funktionenpalettendateien (*.mnu), um die Änderungen am Gerätetreiber zu übernehmen. Sie sollten nun von der Palettendatei auf alle öffentlichen Gerätetreiber-VIs zugreifen können. Fügen Sie der Palettendatei keine Beispiel-VIs hinzu.
  2. Entfernen Sie die Verbindungen zu allen VIs, die Sie vom Treiber entfernt haben.
  3. Fügen Sie gegebenenfalls Palettendateien für Unterpaletten hinzu, um die Palette für die neuen VIs benutzerfreundlicher zu gestalten. Die Palettendatei sollte mit dem Layout des VIs "Baumstruktur" und der Hierarchie im Projektordner übereinstimmen.

Hinzufügen des Treibers zum Instrument Driver Network

Wenn Sie als Gerätehersteller Ihre Treiber einer breiten Öffentlichkeit zugänglich machen möchten oder als Privatperson die von Ihnen entwickelten Treiber anderen zur Verfügung stellen möchten, können Sie Ihren Treiber auf ni.com/idnet ins Web stellen.