6 - Introduction to Programming
64
Types of SCPI Commands
SCPI has two types of commands, common and subsystem.
Common commands generally are not related to specific operation but to controlling overall dc
source functions, such as reset, status, and synchronization. All common commands consist of a
three-letter mnemonic preceded by an asterisk: *RST *IDN? *SRE 8
Subsystem commands perform specific dc source functions. They are organized into an inverted tree
structure with the "root" at the top. The following figure shows a portion of a subsystem command
tree, from which you access the commands located along the various paths. You can see the complete
tree in Table 8-1.
:OUTPut
[
:STATe
]
:DFI
:PROTection
ROOT
:CLEar
:DELa
y
:STATus
:CONDition?
:OPERation
[
:EVEN
]
?
[
:STATe
]
:SOURce
:PON :STATe
Figure 6-1. Partial Command Tree

Multiple Commands in a Message

Multiple SCPI commands can be combined and sent as a single message with one message terminator.
There are two important considerations when sending several commands within a single message:
Use a semicolon to separate commands within a message.
There is an implied header path that affects how commands are interpreted by the dc source.
The header path can be thought of as a string that gets inserted before each command within a message.
For the first command in a message, the header path is a null string. For each subsequent command the
header path is defined as the characters that make up the headers of the previous command in the
message up to and including the last colon separator. An example of a message with two commands is:
OUTP:STAT ON;PROT:DEL 2
which shows the use of the semicolon separating the two commands, and also illustrates the header path
concept. Note that with the second command, the leading header "OUTP" was omitted because after the
"OUTP:STAT ON" command, the header path was became defined as "OUTP" and thus the instrument
interpreted the second command as:
OUTP:PROT:DEL 2
In fact, it would have been syntactically incorrect to include the "OUTP" explicitly in the second
command, since the result after combining it with the header path would be:
OUTP:OUTP:PROT:DEL 2
which is incorrect.