Acronym · Test & DFT
SCPI (Standard Commands for Programmable Instruments)
Standard Commands for Programmable Instruments (SCPI): a common text command set for controlling test and measurement instruments such as power supplies, oscilloscopes and analysers from a computer.
It lets bench and characterisation scripts work across instruments from different makers.
- Also known as
- Standard Commands for Programmable Instruments
- Type
- Acronym
- Domain
- Test & DFT, ATE and test hardware
Overview
SCPI (Standard Commands for Programmable Instruments, also written Instrumentation) is a standard text command language for controlling test and measurement instruments, such as power supplies, oscilloscopes, signal generators and analysers, from a computer. Built on the IEEE 488.2 codes and common commands, it gives instruments from different makers a consistent command structure, so automation scripts are easier to write, read and move between instruments. It is now maintained by the IVI Foundation.
How it works
SCPI commands are plain ASCII strings, so they can be sent from any programming language, such as Python, C or C#, or from test environments such as LabVIEW or MATLAB. They are also independent of the physical interface: the same strings travel over GPIB, RS-232, VXIbus or a LAN connection, and the IVI Foundation's HiSLIP protocol carries them efficiently over networks.
Commands are organised as a tree of mnemonics separated by colons, moving from a subsystem down to a specific setting, for example a source, sense or measure subsystem and then a parameter within it. Mnemonics follow fixed rules for long and short forms, a trailing question mark turns a command into a query that returns a value, and numeric suffixes select one of several identical channels or ports. Every SCPI instrument must also implement the mandatory IEEE 488.2 common commands, which start with an asterisk, such as *IDN? to identify the instrument, *RST to reset it and *OPC? to wait until an operation has completed, plus a standard status reporting model.
The current base specification, SCPI-99, was published by the SCPI Consortium in 1999; the consortium merged into the IVI Foundation in late 2003. Standard syntax does not make instruments fully interchangeable, since makers add their own commands for features the standard does not cover, which is one reason the IVI Foundation also defines instrument driver standards.
Examples
- A Python script that sends *IDN? to each instrument on a bench, then sets supply voltages and reads measurements by SCPI over LAN.
- A characterisation sweep that steps a power supply through voltage corners and queries an oscilloscope for timing at each step.
- A phase noise analyser whose built-in SCPI recorder turns manual front-panel steps into an automation script.
- Replacing a signal generator from one maker with another and adjusting only the few vendor-specific commands in the test script.
Why it matters
Related terms
Part of the Test & DFT glossary, with every term in the topic and the lifecycles, tools and standards that use them.
Where it appears on the Hub
Used on 4 pages of the Hub. In each group, the pages that mention it most come first.
Suggest an improvement
Suggest an improvement to this entry
A clearer definition, an example, a correction or a source an editor can check. Editors review every suggestion before the entry changes.
Last reviewed . Written by The Semiconductor Hub editorial team. The full glossary