In den vorherigen Kapiteln haben wir gelernt, wie man Rohde & Schwarz Geräte mit Hilfe direkter SCPI-Befehle fernsteuert. Als Alternative bietet Rohde & Schwarz kostenlose Gerätetreiber an, die eine Abstraktionsschicht zwischen Ihrer Anwendung und den SCPI-Befehlen des Geräts schaffen.
5. Gerätetreiber im Vergleich zu direkten SCPI-Befehlen
Anstatt von VISA Write/Read-Funktionen und direkten SCPI-Befehlen nutzen Sie die Funktionen und Attribute eines Gerätetreibers. Ein einfaches Beispiel für eine solche Ersetzung im LabVIEW rsscope Gerätetreiber:
Die gleiche Ersetzung in C# unter Verwendung des IVI.NET RsScope Gerätetreibers. Sie stellen die einzelnen Parameter mittels Eigenschaften ein oder mehrere auf einmal mit Hilfe einer Methode:
Zur Vereinfachung zeigen die obigen Screenshots der direkten SCPI-Befehle nicht alle Operationen, die die Gerätetreiber ausführen. Beispielsweise warten die Treiber auch auf die Rückmeldung des Geräts, dass ein Befehl ausgeführt wurde (siehe Kapitel 6 Messsynchronisation), und prüfen nach jedem Befehl, ob Fehler aufgetreten sind (siehe Kapitel 7 Gerätefehlerprüfung). Wenn Sie direkte SCPI-Befehle verwenden, ist beides Ihre eigene Verantwortung.
Zusammenfassung der Vor- und Nachteile direkter SCPI-Befehle
Vorteile:
- Schnellerer Start; im Benutzerhandbuch des Geräts sind alle SCPI-Befehle beschrieben.
- Schnellere Ausführungsgeschwindigkeit.
Nachteile:
- Sie müssen sich selbst um die Messsynchronisation und die Gerätefehlerprüfung kümmern.
- Sie müssen die Argumente für die Verwendung in SCPI-Befehlen formatieren. Dies kann besonders bei Binärdaten schwierig sein.
- Wenn Sie vom Gerät als Antwort eine Zeichenfolge erhalten, müssen Sie diese in einen geeigneten Typ konvertieren (z. B. Integer, Double oder Boolean, Array oder Binärdaten).
Zusammenfassung der Vor- und Nachteile von Gerätetreibern
Vorteile:
- Durchführung einer Fehlerprüfung nach jedem Befehl. In kritischen Abschnitten, wo maximale Geschwindigkeit erforderlich ist, kann diese Prüfung deaktiviert werden.
- Synchronisation von Befehlen, deren Ausführung länger dauert.
- Die Formatierung von Argumenten für SCPI-Befehle und das Parsen der Geräteantworten sind bereits implementiert.
- Für die Gerätetreiber sind eigene *.chm-Hilfedateien verfügbar.
- Sie haben immer auch die Möglichkeit, direkte SCPI-Befehle zu verwenden.
Nachteile:
- Längere Lernkurve, man muss sich mit der Treiberstruktur vertraut machen.
- Geringfügiger Overhead. Dieser kann aber durch eine geeignete Vorgehensweise minimiert werden; siehe Kapitel 8 Geschwindigkeitsoptimierung
- Manchmal vergeht einige Zeit, bis die neuesten Gerätefunktionen von den Gerätetreibern unterstützt werden.
Eignung von Rohde & Schwarz Gerätetreibern für verschiedene Programmiersprachen
Die folgende Tabelle zeigt, welche Gerätetreiber für welche Programmiersprachen geeignet sind. Die Besonderheiten der verschiedenen Umgebungen besprechen wir anschließend.
VXI Plug & Play-Treiber | LabWindows/CVI-Treiber | LabVIEW-Treiber | IVI.NET-Treiber | SCPI-Treiber | |
---|---|---|---|---|---|
Python | X (voluminös) | X (einige Geräte) | |||
MATLAB | X | ||||
C#, VB.NET | X (falls IVI.NET nicht verfügbar ist) | X | X (einige Geräte) | ||
LabVIEW | X | ||||
LabWindows/CVI | X |
Für MATLAB-Benutzer
Rohde & Schwarz stellt MATLAB MDD-Treiber zur Verfügung. Zur Verwendung von MDD-Treibern sind fortgeschrittene Kenntnisse der VXI Plug & Play-Treiberstruktur erforderlich. Sie müssen alle Aufzählungskonstanten manuell aus der Treiber-Header-Datei importieren. Darüber hinaus benötigen Sie eine Lizenz für die MATLAB Instrument Control Toolbox. MATLAB-Benutzern empfehlen wir die Verwendung direkter SCPI-Befehle. Diese Application Note behandelt beide Methoden:
1MA171: So verwendet man Geräte von Rohde & Schwarz in MATLAB
Für LabVIEW-Benutzer
Rohde & Schwarz stellt native LabVIEW-Treiber zur Verfügung. Erfahren Sie mehr in der Application Note:
1MA228: 10 Tipps und Tricks, wie man LabVIEW-Gerätetreiber von Rohde & Schwarz verwendet
Für C#- und VB.NET-Benutzer
Hier haben Sie zwei Möglichkeiten:
- IVI.NET-Treiber – für fast alle Geräte verfügbar. Hier können Sie auch die VXI Plug & Play-Treiber verwenden, die in den C#- und VB.NET-Wrapper-Klassen umfasst sind. Erfahren Sie mehr in der entsprechenden Application Note:
1MA268: Wie man IVI.NET-Gerätetreiber von Rohde & Schwarz verwendet
Laden Sie diese von unseren Produktwebsites herunter. - SCPI-basierte Treiber – diese Treiber werden automatisch aus dem SCPI-Baum des Geräts generiert und folgen genau der SCPI-Baum-Syntax. Verwenden Sie sie, wenn Sie mit SCPI-Befehlen vertraut sind. Diese Treiber bieten Intellisense-Hilfe und eine typsichere Schnittstelle für die SCPIs. Laden Sie sie als NuGet-Pakete von nuget.org herunter:
https://www.nuget.org/profiles/rohde-schwarz
Für Benutzer von LabWindows/CVI und anderen C/C++ Umgebungen
VXI Plug & Play-Treiber sind kompilierte CVI-Treiber für 32-bit- und 64-bit-Windows-Anwendungen. Sie können beide in C/C++ Sprachen verwenden.
Um einen CVI-Treiber zu verwenden, fügen Sie dessen gesamten Quellcode in Ihr Projekt ein.
Um einen VXI Plug & Play-Treiber zu verwenden, fügen Sie die LLB-Datei des Treibers (für statische Verknüpfung) oder seine DLLs-Datei (für dynamische Verknüpfung) in Ihr Projekt ein.