SCPI Tree
In accordance with IEEE 488.2, the instrument's commands are grouped into subsystems. Commands in each subsystem perform similar tasks. The command tree refers to the relationship of the commands to each other. You can view this relationship in the SCPI Remote Command Tree Viewer. The IEEE 488.2 common commands do not affect the position of the parser within the tree. A leading colon or a program message terminator (<NL> or EOI true on the last byte) places the parser at the root of the command tree. A leading colon is a colon that is the first character of a program header. Executing a subsystem command places you in that subsystem until a leading colon or a program message terminator is found.
The commands can be placed into two types: common commands and and subsystem commands. Common commands (defined by IEEE 488.2) control functions that are common to all IEEE 488.2 instruments. These commands are independent of the tree and do not affect the position of the parser within the tree. *RST (Reset) is an example of a common command. Subsystem commands are grouped together under a common node of the command tree, such as the :SYSTem Subsystem commands. Only one subsystem may be selected at a given time. When Infiniium 2026 is initially started, the command parser is set to the root of the command tree and no subsystem is selected.
Command headers are created by traversing down the command tree. A legal command header from the command tree would be :TIMebase:XRANge. It consists of the subsystem followed by a command separated by colons. The compound header contains no spaces. In the command tree, use the last mnemonic in the compound header as a reference point (for example, XRANge). Then find the last colon above that mnemonic (TIMebase:). That is the point where the parser resides. Any command below this point can be sent within the current program message without sending the mnemonics which appear above them (for example, SCALe). Use a colon to separate two commands in the same subsystem,
:TIMebase:XRANge 300E-6;POSition 10E-12
The colon between TIMebase and XRANge is necessary because :TIMebase:XRANge specifies a command in the :TIMebase subsystem. The semicolon between the XRANge command and the POSition command is required to separate the two commands. The POSition command does not need :TIMebase preceding it because the :TIMebase:XRANge command sets the parser to the :TIMebase node in the tree.