5. Gerätetreiber im Vergleich zu direkten SCPI-Befehlen

CH5_InstrumentDriversLayer_16x9.png

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.

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 Python-Benutzer

Rohde & Schwarz stellt derzeit im Pypi-Repository SCPI-basierte Python 3.6+ Gerätetreiber für die folgenden Geräte bereit: CMW,SMx, CMA, CMX/CMP, OSP.
Für Geräte, die keine Python-Gerätetreiber bereitstellen, empfehlen wir die Verwendung direkter SCPI-Befehle.

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.

Request information

Do you have questions or need additional information? Simply fill out this form and we will get right back to you.

Marketing-Einverständniserklärung

Ihre Anfrage wurde erfolgreich versendet. Wir nehmen in Kürze Kontakt mit Ihnen auf.
An error is occurred, please try it again later.