Modbus Functions489
Communications Guide
http://www.GEindustrial.com/multilin
4GE Multilin
Function Codes 03/04:
Read Setpoints / Actual
Value s
Modbus implementation: Read Input and Holding Registers
489 Implementation: Read Setpoints and Actual Values
For the 489 Modbus implementation, these commands are used to read any setpoint
(‘holding registers’) or actual value (‘input registers’). Holding and input registers
are 16-bit (two byte) values transmitted high order byte first. Thus all 489 setpoints
and actual values are sent as two bytes. The maximum of 125 registers can be read
in one transmission. Function codes 03 and 04 are configured to read setpoints or
actual values interchangeably since some PLCs do not support both function codes.
The slave response to these function codes is the slave address, function code, a
count of the number of data bytes to follow, the data itself and the CRC. Each data
item is sent as a two byte number with the high order byte sent first. The CRC is
sent as a two byte number with the low order byte sent first.
Message Format and Example:
Request slave 11 to respond with 2 registers starting at address 0235. For this
example, the register data in these addresses is:
Address Data
0235 0064
0236 000A
Master Transmission Bytes Example Description
Slave Address 1 0B message for slave 11
Function Code 1 03 read register values
Data Starting Address 2 02 32 data starting at 0235h
Number of Setpoints 2 00 02 2 registers = 4 bytes total
CRC (low, high) 2 D5 17 computed CRC error code
Slave Response Bytes Example Description
Slave Address 1 0B message from slave 11
Function Code 1 03 read register values
Byte Count 1 04 2 registers = 4 bytes total
Data #1 (high, low) 2 00 64 value in address 0235h
Data #2 (high, low) 2 00 0A value in address 0236h
CRC (low, high) 2 EB 91 computed CRC error code