|
Also ein Buschkänguru ist es nicht !
SCPI ist die Abkürzung für (Standard Commands for Programmable Instruments language), und wird in neueren Messgeräten benutzt.
Viele Messgeräte unterstützten auch den Analyzer-Mode oder CIIL-Mode und müssen dann manuell auf
SCPI-Mode umgeschaltet werden.
SCPI-Befehle:
SCPI-Befehle können in der Short-Form ( "FREQ:CW?" ) oder Long-Form ( "FREQuency:CW?" ) eingegeben werden.
Eine Kombination aus beiden Formen wird in der Regel nicht akzeptiert, dabei ist die Groß-Kleinschreibung egal.
Nach einer gesendeten Nachricht muss ein "new line", "EOL" oder beides vom Controller folgen, damit wird die Nachricht terminiert (abgeschossen).
In VEE ist deshalb die Einstellung Direct I/O >> WRITE TEXT a EOL (VEE default Einstellung), die richtige Wahl.
Die Befehle müssen in ( "" Anführungszeichen) stehen.
z.B.: Direct I/O >> WRITE TEXT "FREQuency:CW?" EOL .
Common Commands:
In SCPI gibt es einige Common Commands ( Grundkommandos ), sie beginnen mit einem * und sind nicht für Messzwecke gedacht, sondern sie dienen als
Systemkommandos der IEEE 488.2 Schnittstelle.
Der Befehl z.B.: Direct I/O >> WRITE TEXT "*RST" EOL
setzt das Messgerät zurück (Reset).
Subsystem Commands:
Für die Messgerätefunktionen gibt es die ( Subsystem Commands ), sie haben eine Verzeichnisstruktur wie das Dateisystem von Windows.
Die Hauptebene (Root) ist vergleichbar mit dem c: Verzeichnis des Computers,
danach folgen die Unterordner.
Durch einen ( : Doppelpunkt) werden die einzelnen Ebenen gekennzeichnet.
Mit einem ( ; Semikolon) kann man mehrere Befehle in ein Sendekommando einbinden z.B.:
Direct I/O >> WRITE TEXT "FREQuency:MODE SWEep;STARt 4 GHZ;STOP 10 GHZ;:POWer:LEVel 2 DBM"
Hier ist FREQuency die Root und MODE, STARt, STOP + jeweiligen Parameter, sind die untere Ebene von FREQuency, während POWer danach wieder die Root ist
und LEVel + Parameter die untere Ebene von POWer.
Nach jedem terminierten Befehl (EOL) befindet man sich wieder in der Root-Ebene.
Query Commands:
Möchte man Parameter aus dem Messgerät auslesen, so benutzt man Abfragebefehle (Query Commannds), sie enden immer
mit einem ( ? Fragezeichen)
z.B.: Direct I/O >> WRITE TEXT "FREQuency:CW?" EOL
( !!! Achtung keine Leerzeichen vorm ? ).
Unmittelbar danach muss man durch z.B.: DirectI/O >> READ TEXT x REAL den abgefragten WERT auslesen, dabei
muss auf den ausgebenen Datentyp geachtet werden,
( String oder Real) sonst gibt es Fehlermeldungen.
Parameter Commands:
Sollen Parameter zum Messgerät übertragen werden, muss ( ein Leerzeichen)
zwischen dem Befehl und Parameterwert stehen, danach folgt evt. ein Präfix ( z.B. DBM ) zur
Wertbestimmung z.B.: Direct I/O >> WRITE TEXT "POWer:LEVel -10DBM" EOL .
Werden Variablen ( hier F ) als Parameter verwendet oder werden mehrere Parameter übergeben, müssen ( , Kommas)
als Trennung eingesetzt werden.
z.B.: Direct I/O >> WRITE TEXT "FREQ:CW ", F, "MHZ"
( !!! Achtung Leerzeichen nach CW beachten !!!)
Parameter und Datentypen:
Folgende Datentypen werden unterstützt,
Parameter Typen:
|
entsprechende Daten Typen:
|
Numeric
|
Real, Integer (z.B. -1.4567, 23)
|
Extended Numeric
|
Integer (z.B. 5, 255, MIN, MAX)
|
Discrete
|
Discrete (z.B. EXT, NONE )
|
Boolean
|
Numeric Boolean (z.B. 0, 1, ON, OFF)
|
String
|
String ( z.B."test")
|
Block
|
Definite Lenght Block
Indefinite Lenght Block
|
Non-decimal Numeric
|
Hexadecimal
Octal
Binary
|
|