Dieses Dokument bietet einen Überblick über NI-VISA, die NI-Implementierung der VISA-API (Virtual Instrument Software Architecture).
NI-VISA ist eine API, die eine Programmierschnittstelle zur Steuerung von Ethernet/LXI-, GPIB-, seriellen, USB-, PXI- und VXI-Geräten in Anwendungsentwicklungsumgebungen von NI wie LabVIEW, LabWindows/CVI und Measurement Studio bietet. Die Installation der API erfolgt über den NI-VISA-Treiber.
Die Verwendung von NI-VISA wird aufgrund der folgenden drei Vorteile empfohlen:
1. Schnittstellen-Unabhängigkeit
NI-VISA verwendet unabhängig vom jeweiligen Schnittstellentyp viele identische Operationen zur Kommunikation mit Messgeräten. Dies erleichtert den Wechsel der Benutzeroberfläche und stellt für mehrere verschiedene Messgeräte eine zentrale zu erlernende Sprache bereit. So ist beispielsweise der VISA-Befehl zum Schreiben eines ASCII-Strings in einem nachrichtenbasierten Messgerät für alle Messgeräte derselbe, ganz gleich, ob dieses über eine GPIB-, USB- oder serielle Schnittstelle verfügt.
2. Plattform-Portabilität
NI-VISA ist so konzipiert, dass mit VISA-Funktionsaufrufen verfasste Programme zwischen verschiedenen Plattformen verschoben werden können. VISA ermöglicht dies durch die Definition eigener Datentypen. Auf diese Weise wird eine einheitliche Funktionsweise Ihrer Anwendung auf verschiedenen Plattformen gewährleistet. Daher kann eine in LabVIEW verfasste VISA-Anwendung problemlos auf jede beliebige Plattform portiert werden, die LabVIEW unterstützt. NI-VISA unterstützt verschiedene Betriebssysteme, darunter verschiedene Versionen von Windows und MacOS sowie Linux-Distributionen.
3. Benutzerfreundlichkeit
NI-VISA ist eine überaus einfach zu erlernende Schnittstelle. Die Lösung bietet eine API mit busunabhängigen Funktionen für den Großteil des I/O-Funktionsumfangs. Die am häufigsten verwendete Funktion für die Messgerätesteuerung wird über einen kompakten Befehlssatz ausgeführt, sodass keine Low-Level-Kommunikationsprotokolle für mehrere Schnittstellentypen erlernt werden müssen.
Bevor Sie NI-VISA aktiv einsetzen, ist es hilfreich, sich mit einigen der im Rahmen des Entwicklungsprozesses gängigen Begriffe vertraut zu machen.
VISA-Ressource
Jedes Messgerät innerhalb Ihres Systems wird als VISA-Ressource bezeichnet. Wenn Sie über mehrere mit einem einzigen Host verbundene Messgeräte verfügen, wird jedes Messgerät als VISA-Ressource betrachtet. Die Ressource ist eine vollständige Beschreibung des Funktionssatzes für das Messgerät.
Die VISA-Ressourcenart hängt vom jeweiligen Messgerät ab. Dabei werden folgende Arten unterschieden: INSTR, SOCKET, RAW usw.
VISA-Ressourcenname (Deskriptor des Messgeräts)
Als VISA-Ressourcenname wird der genaue Name der VISA-Ressource bezeichnet. Er gibt Auskunft über den Schnittstellentyp des Messgeräts, die Adresse des Messgeräts und den VISA-Sessiontyp. Das Element „VISA-Ressourcenname“ wird zur Kommunikation mit dem Messgerät im Rahmen Ihrer Entwicklungsumgebung verwendet. Anhand dieser Informationen können Sie sich vergewissern, dass Ihr Messgerät in Ihrem Programm richtig erkannt und adressiert wird.
VISA-Session
Eine Visa-Session ist ein Kommunikationspfad zu einer VISA-Ressource. Eine Session wird mithilfe der Operation „viOpen()“ geöffnet. Sie müssen jedes Mal eine VISA-Session öffnen, wenn Sie einen VISA-Kommunikationsvorgang mit einem Messgerät durchführen möchten.
VISA-Alias
Ein VISA-Alias ist der Spitzname einer VISA-Ressource. Der Alias ist ein benutzerfreundlicher Name, der eine leichte Identifizierung eines Messgeräts ermöglicht.
Eine typische VISA-Anwendung durchläuft die folgenden Schritte:
Derselbe Vorgang gilt dabei unabhängig davon, ob das Messgerät einen USB-, Ethernet-, seriellen oder sonstigen von VISA unterstützten Schnittstellentyp aufweist. Sie müssen lediglich den VISA-Ressourcennamen anpassen, der mit dem Eingang der Funktion „VISA: Öffnen“ verbunden ist.
LabVIEW-Beispiel
Diese LabVIEW-Anwendung öffnet eine Session für ein GPIB-Messgerät, führt die Schreiboperation *IDN?\n durch und liest die über das Gerät angegebene Anzahl von Bytes aus. Beschreibungen der einzelnen VISA-Funktionen finden Sie unter VISA-VIs und -Funktionen.
Beispiel für Visual C++
Beispiel für Visual Basic
Benutzer von Windows- und Mac-Betriebssystemen müssen NI-VISA über einen eigenen separaten Download herunterladen. Benutzer von Linux-Betriebssystemen können NI-VISA gemeinsam mit anderen NI-Gerätetreibern über einen einzigen Download namens „NI-Gerätetreiber für Linux“ herunterladen.
Weitere Informationen zur Betriebssystemkompatibilität finden Sie unter folgenden Ressourcen:
Lesen Sie die folgenden nach Schnittstellentyp unterteilten Anleitungen zur Messgerätesteuerung, und erfahren Sie Schritt für Schritt, wie die Kommunikation mit Ihrem Messgerät funktioniert.
NI bietet zusätzliche Unterstützung durch das Forum zur Messgerätesteuerung. Hier können Sie Fragen veröffentlichen und Informationen mit anderen teilen, um so mit einer breiteren Community in Kontakt zu treten.