Was ist scpi?

SCPI (Standard Commands for Programmable Instruments)

SCPI, kurz für Standard Commands for Programmable Instruments, ist ein standardisiertes ASCII-basiertes Steuerprotokoll, das für die Kommunikation mit programmierbaren Messgeräten verwendet wird. Es ermöglicht die Steuerung von Geräten unterschiedlicher Hersteller auf eine einheitliche und herstellerunabhängige Weise.

Kernkonzepte:

  • ASCII-basiert: SCPI-Befehle sind lesbare ASCII-Zeichenketten, was das Debuggen und die Entwicklung vereinfacht.

  • Hierarchische Struktur: SCPI-Befehle sind in einer baumartigen Hierarchie organisiert. Dies erleichtert die Navigation und das Auffinden der benötigten Befehle. Ein Beispiel für einen hierarchischen Befehl wäre VOLTage:DC:LEVEl 5, wobei VOLTage die Hauptebene, DC die zweite Ebene und LEVEl die dritte Ebene ist.

  • Standardisierung: SCPI definiert eine Reihe von Standardbefehlen, die von allen SCPI-konformen Geräten unterstützt werden müssen. Dies ermöglicht die Interoperabilität verschiedener Messgeräte. Weitere Informationen zur Standardisierung finden Sie hier: Standardisierung von SCPI.

  • Remote-Steuerung: SCPI ermöglicht die Fernsteuerung von Messgeräten über Schnittstellen wie GPIB, Ethernet (LAN), USB oder serielle Schnittstellen (RS-232). Die Wahl der Schnittstelle hängt von den Anforderungen der Anwendung ab. Erfahren Sie mehr über SCPI und Remote-Steuerung.

Befehlsstruktur:

SCPI-Befehle bestehen in der Regel aus einem oder mehreren Schlüsselwörtern, die durch Doppelpunkte (:) getrennt sind. Die Befehle können entweder in der langen oder kurzen Form angegeben werden.

  • Lange Form: Die vollständigen Schlüsselwörter werden verwendet (z.B. VOLTAGE:DC:LEVEL).
  • Kurze Form: Eine abgekürzte Form der Schlüsselwörter wird verwendet (z.B. VOLT:DC:LEV). Die kurze Form muss eindeutig sein.

Beispiele:

  • *IDN? (Abfrage der Geräte-Identifikation)
  • VOLTAGE:DC:LEVEL 5 (Setzen der DC-Spannung auf 5 Volt)
  • MEASURE:VOLTAGE:DC? (Messen der DC-Spannung)

Vorteile von SCPI:

  • Herstellerunabhängigkeit: Ermöglicht die Verwendung von Geräten verschiedener Hersteller mit einem einheitlichen Protokoll.
  • Einfache Integration: Die ASCII-basierte Struktur erleichtert die Integration in verschiedene Programmierumgebungen (z.B. LabVIEW, Python, C++).
  • Verbesserte Automatisierung: Vereinfacht die Automatisierung von Messabläufen und Tests.

Weiterführende Themen: