489 GENERATOR MANAGEMENT RELAY – COMMUNICATIONS GUIDE 5
CG.2 Modbus Functions
CG.2.1 Supported Functions
The following functions are supported by the 489:
• Function Codes 03 and 04: Read Setpoints and Actual Values
• Function Code 05: Execute Operation
• Function Code 06: Store Single Setpoint
• Function Code 07: Read Device Status
• Function Code 08: Loopback Test
• Function Code 16: Store Multiple Setpoints
A detailed explanation of how the 489 implements these function codes is shown in the
following sections.
CG.2.2 Function Codes 03/04: Read Setpoints / Actual Values
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