User manual
123 of 148
Appendix E Modbus Map
The GSC400 follows the Modbus standard. Modbus is a master-slave
communication protocol in which only the master can initiate a communication
request. A slave device never initiates communications. Please refer to the
standard for more details.
E.1 Communication Details
The GSC400 communicates on Modbus only as a slave device. The GSC400
supports only the modbus RTU (Remote Terminal Unit) mode.
Query and response messages share the same message structure. Each
message is comprised of four message fields: the Device Address, the Function
Code, the Data Block, and the CRC field.
If a query requests actions that are unable to be performed by the slave, the
slave response message will contain an Exception Response Code defining the
error detected.
The modbus packet structure is as follows:
Slave Address
1 Byte
Function Code
1 Byte (0x03,
0x06 only)
Data
1 to 20 bytes
CRC
2 Bytes
CRC Low CRC High
Slave Address
This is the slave (GSC400) address.
Function Code
The GSC400 supports two Modbus commands "0x03 Read Holding Register
(4x)" and "0x06 Write Single Register"
Data
0x03 – Read Holding Register
The GSC400 deviates from the modbus spec in that it only allows a
master to read 20 bytes at a time. Reading more than 20 registers at a
time will give an illegal address error. Also be careful to not read invalid
registers as the GSC400 register map is not continuous.
The Data field contains 4 bytes:
1. The first two bytes specifies the starting register to read (value =
modbus register # – 40000). For example use “0x00, 0x02” for