2. Einführung in SCPI-Befehle
1975 standardisierte das IEEE einen von Hewlett-Packard entwickelten Bus, der ursprünglich HPIB (Hewlett-Packard Interface Bus) hieß und später in GPIB (General Purpose Interface Bus) umbenannt wurde. Dieser Standard wurde als IEEE 488 (IEEE 488.1) geführt und definierte die mechanischen Aspekte des Busses. Der spätere Standard IEEE 488.2 legte die entsprechenden Protokolleigenschaften fest. Was damals noch fehlte, waren herstellerübergreifende Regeln zur Übermittelung von Befehlen an die fernzusteuernden Geräte. Manchmal waren nicht einmal die verschiedenen Modelle ein und desselben Herstellers miteinander kompatibel.
Im Jahr 1990 veröffentlichte das SCPI-Konsortium den ersten SCPI-Standard (Standard Commands for Programmable Instruments – Standardbefehle für programmierbare Geräte) als zusätzliche Schicht des IEEE-488.2-Standards.
SCPI-Befehle sind ASCII-Zeichenfolgen, die über die Bitübertragungsschicht an das Gerät gesendet werden. Mögliche Operationen:
- Set-Operationen, zum Beispiel Befehl *RST (Zurücksetzen des Geräts).
- Query-Operationen, zum Beispiel *IDN? Query (Abfrage der Geräteidentifikation).
Einige SCPI-Befehle können sowohl Set-Befehl als auch Query-Befehl sein. Ein Beispiel hierfür ist der Erfassungszeitbefehl für Oszilloskope: „TIMebase:ACQTime“. Sie können mit dem SCPI-Befehl „TIM:ACQT 10ms“ die Einstellung vornehmen (Set) und mit „TIM:ACQT?“ auch den aktuellen Wert abfragen (Query).
Das in den Rohde & Schwarz Benutzerhandbüchern beschriebene Format, z. B.: „TRIGger<m>:LEVel<n>[:VALue] <Level>“, wird als kanonische Form bezeichnet. Hier sind die wichtigsten Regeln, die Sie beachten sollten:
- Die Befehlskomponenten in eckigen Klammern sind optional und können auch weggelassen werden.
- Der Teil eines Befehls, der in Großbuchstaben steht, ist obligatorisch, während Kleinbuchstaben entfallen können. Dies ist die sogenannte Kurzform. Ein Beispiel des oben erwähnten Befehls in der Kurzform wäre „TRIG1:LEV2 3.5“. Sie können entweder die Kurzform oder die Langform „TRIGGER1:LEVEL2 3.5“ verwenden, aber keine Mischung aus beiden wie etwa „TRIGGE1:LEVE2 3.5“.
- Bei SCPI-Befehlen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können also auch die Kurzform „trig1:level2 3.5“ oder die Langform „trigger1:level2 3.5“ verwenden.
- Kombinieren Sie mehrere Befehle mit Semikolons „;“ zu einer einzigen Zeichenfolge. Beispielsweise können „TRIG1:SOUR CH1“ und „TRIG1:LEV2 3.5“ zu „TRIG1:SOUR CH1;LEV 2“ kombiniert werden. Beachten Sie, dass der zweite Befehl den Teil „TRIG1:“ nicht mehr enthält. Der Befehlsbaumpfad ändert sich innerhalb einer Zeichenfolge nämlich nicht. Wenn Sie den Befehlsbaumpfad auf Root zurücksetzen möchten, verwenden Sie am Anfang des zweiten Befehls einen Doppelpunkt: „TRIG1:SOUR CH1;:CHAN2:STATe ON“.
- Zum Erstellen einer Query fügen Sie ein Fragezeichen hinzu, meist am Ende: „TRIG1:LEV2?“ Manchmal folgt nach dem Fragezeichen ein zusätzlicher Parameter. Zwischen dem Fragezeichen und dem Zusatzparameter muss in diesem Fall ein Leerzeichen stehen. Beispiel: „TRACE:DATA? ALL“
- Numerische Parameter ohne Angabe der Einheiten werden als Basiseinheiten behandelt. Der numerische Parameter 3.5 im Beispiel oben bedeutet dementsprechend 3,5 Volt.
Den vollständigen SCPI-Standard finden Sie hier: SCPI-99
Werfen Sie auch einen Blick in unsere ausführlichere SCPI-Einführung: Fernsteuerung über SCPI