## About Message Formats

### Program Messages

Program messages can be divided into command messages and query messages.

#### Command Message

A command for controlling the unit such as an instruction to configure a setting or reset the settings of the device.

#### Query Message

A command for finding out the results of operations, results of measurements, or the current configuration state of the device.

### Response Message

A response message is created after the syntax of a received query message has been checked.

The "HEADer" command can be used to select whether there is a header.

Header ON :LEVEL:VOLTAGE 1000

Header OFF 1000

(The current applied voltage is 1000 V.)

- The header is set to OFF when the power is turned on.
- If some sort of error was generated when a query message was received, a response message is not created for the query message.

### Command Syntax

Command names are selected for functions to be executed in a language that is as easy as possible to understand, and command names can also be shortened.

The unshortened form of a command name is known as the "long form" and the shortened form of a command name is know as the "short form."

In this manual, uppercase characters are used for the short form part and lowercase characters are used for the remaining part. However, either uppercase or lowercase characters are acceptable.

VOLTAGE | OK (long form)
VOLT | OK (short form)
VOLTa | Error
VOL | Error

For response messages returned from the unit, uppercase characters and the long form are used.

### Header

The header indicates what is to be controlled. Program messages must have a header.

#### Command Program Headers

There are three types of headers: simple command, compound command, and common command.

- Simple Command Header
- Simple command headers contain a single word beginning with an alphabetic character.
- :HEADer
- Compound Command Header
- Compound command headers contain multiple simple command headers separated by colons ":".
- :BEEPer:KEY
- Common Command Header
- Common command headers begin with an asterisk "*" to indicate the commands are common commands.
- (As specified in IEEE488.2)
- *RST

#### Query Program Header

This is used for finding out the results of operations performed in response to device commands, the results of measurements, or the current configuration state of the device.

A program header is identified as a query if a question mark "?" is added at the end as shown in the example below.

:LEVel:VOLTage?

### Message Terminator

A message terminator indicates the end of a command.

The unit accepts the following as message terminators.

The Model ST4030 series unit analyzes a message after it has confirmed the message terminator or the message unit separator.

Depending on the interface setting, the following can be selected as terminators of response messages.

### Separator

#### Message Unit Separator (Semicolon)

Semicolons are used as separators when executing compound messages.

Linking multiple messages by semicolons ";" enables a single line to be used to describe a compound command.

If a command error occurs when messages are described in succession, the messages from the error to the terminator are not executed.

(Example) If :RAN:AUTO ON;:BEEPer:KEY ON;*IDN?is executed and :RAN:AUTOis a command error, :BEEPer:KEY ON;*IDN?following the error will also not be executed

#### Message Unit Separator (Space)

A space is used as a separator to differentiate the header and data section. Add a space ( ) between the header and data section.

#### Message Unit Separator (Comma)

In a message containing multiple data items, commas are required to separate the data items from one another.

### Data Section

A data section indicates the content of a command.

In the unit, character data and decimal numeric data are used for data sections, and use differs depending on the command.

#### Character Data

Character data begins with an alphanumeric character and consists of alphabetic characters and numbers. Both uppercase and lowercase characters are acceptable, but uppercase characters are always used for response messages from the unit.

:MODE SETTing

#### Decimal Numeric Data

There are three numeric data formats: NR1, NR2, and NR3.

Both signed numeric and unsigned numeric values are acceptable for each of these formats.

Unsigned numeric values are treated as positive numeric values.

Furthermore, if the accuracy of numeric values exceeds that capable of being handled by the unit, the numeric values are rounded off.

NR1 | Integer data (Example: +12, -23, 34)
NR2 | Fixed-point data (Example:+1.23, -23.45, 3.456)
NR3 | Floating-point representation exponent data (Example:+1.0E-2, -2.3E+4)

The format that includes all three of the above types is referred to as the NRf format.

The NRf format is accepted by the unit.

For response data, the format is specified separately for each command and the data is sent in that format.

:LEVel:VOLTage 1000

:AREA:LIMit 1.0

For commands with data, make every effort to enter the data in the specified format.

### Omitting Compound Command Headers

When compound commands contain common initial parts (example: :BEEPer:KEY, , :BEEPer:JUDGment), the common initial part (example: :BEEPer:) can be omitted just for subsequent commands.

The common initial part is known as the "current path," and until cleared, the current paths of subsequent commands are determined to have been omitted when analysis is performed.

The following shows an example of the procedure for using current paths.

The current path is cleared when the power is turned on, the interface type is changed, the device is cleared (only for GP-IB), or upon detection of a colon ":" at the beginning of a command or a message terminator.

Common command messages can be executed regardless of the current path. Furthermore, the current path is not affected.

A colon does not need to be added to the beginning of simple and compound command headers. However, Hioki recommends adding a colon to the beginning of these headers to prevent them from being mixed up with headers that have omissions and to prevent an incorrect operation from being performed.