Accessing I/O Data Via TruePort
286 IOLAN SDS/SCS/STS/MDC User’s Guide, Version 4.0

Format of API Commands

There are two groups of commands:
zGet Commands—Retrieve values of the I/O channel registers
zSet Commands—Set values on the I/O channel registers.
Note: All commands need to be written to the COM port as a single write.
I/O Channel registers are all assigned unique addresses, which need to be referenced in all of the
commands. Please refer to the documentation specific you the applicable mode, for the list and
addresses of all the registers.
Model Go to...
A4 A4/T4 Registers on page 280
T4 A4/T4 Registers on page 280
A4D2 A4D2/A4R2 Registers on page 281
A4R2 A4D2/A4R2 Registers on page 281
D4 D4/D2R2 Registers on page 282
D2/R2 D4/D2R2 Registers on page 282

Get Commands

The following tables show the general structure to be used for Get commands.
Note: Numeric values provided in th e API documentat ion are in Hexadecimal (Hex) format.

Command Format

Byte(s) # of Bytes Value
1 1 Command Code:
z0x01 – Get “coils” (Boolean register)
z0x03 – Get “holding registers” (R/W registers)
z0x04 – Get “input registers” (R only register)
2-3 2Starting register number (see A4/T4 Registers on page 280,
A4D2/A4R2 Registers on page 281, or D4/D2R2 Registers on page 282
for this value).
4-5 2Number of registers to read. If this value is greater than 1, the response
will contain the values of multiple consecutive registers.

Response Format

Byte(s) # of Bytes Value
1 1 Command that this is a response to. If an error has been detected, the
command value will have the high bit set (OR with 0x80). For
example: The command is 0x04, so the command fi eld in the response
would be 0x84.
2 1 Length of data (in bytes) starting in next byte.
3-n nRequested register values.