GE Multilin
745 Transformer Management Relay
7-5
7 COMMUNICATIONS
7.3 MODBUS FUNCTIONS
7
7.3MODBUS FUNCTIONS
7.3.1 SUPPORTED MODBUS FUNCTIONS
a) DESCRIPTION
The second byte of every message is the function code. Modbus defines function codes of 01h to 7Fh. The GE Multilin SR
Series Modbus protocol supports some of these functions, as summarized below.
Since some programmable logic controllers only support function codes 03h (or 04h) and 10h, most of the above
Modbus commands can be performed by reading from or writing to special addresses in the 745 memory map
using these function codes. See Section 7.3.6: Function Code Substitutions on page 7–11 for details.
b) FUNCTION CODE 03/04H: READ ACTUAL VALUES OR SETPOINTS
Modbus implementation:
Read Holding Registers
GE Multilin implementation:
Read Actual Values or Setpoints
Since some PLC implementations of Modbus only support one of function codes 03h and 04h, the 745 interpretation allows
either function code to be used for reading one or more consecutive setpoints or actual values. The data starting address
will determine the type of data being read. Function codes 03h and 04h are therefore identical.
The GE Multilin implementation of Modbus views “holding registers” as any setpoint or actual value register in the 745
memory map. Registers are 16 bit (two byte) values transmitted high order byte first. Thus all GE Multilin setpoints and
actual values in the memory map are sent as two byte registers. This function code allows the master to read one or more
consecutive setpoints or actual values from the addressed slave device.
The maximum number of values that can be read in a single message is 120.
MESSAGE FORMAT AND EXAMPLE:
Request to read 3 register values starting from address 0200 from slave device 11.
Table 7–1: GE MULTILIN MODBUS FUNCTION CODES
FUNCTION CODE
DEFINITION
DESCRIPTION
SUBSTITUTE
HEX
DEC
03
3
READ ACTUAL VALUES
OR SETPOINTS
Read actual value or setpoint registers
from one or more consecutive memory
map register addresses.
04H
04
4
03H
05
5
EXECUTE OPERATION
Perform 745 specific operations.
10H
06
6
STORE SINGLE
SETPOINT
Write a specific value into a single
setpoint register.
10H
10
16
STORE MULTIPLE
SETPOINTS
Write specific values into one or more
consecutive setpoint registers.
---
MASTER QUERY MESSAGE:
EXAMPLE (HEX):
SLAVE ADDRESS
11
query message for slave 11
FUNCTION CODE
03
read register values
DATA STARTING ADDRESS: high order byte, low order byte
02 00
data starting at address 0200
NUMBER OF REGISTERS: high order byte, low order byte
00 03
3 register values = 6 bytes total
CRC: low order byte, high order byte
06 E3
computed cyclic redundancy check
SLAVE RESPONSE:
EXAMPLE (HEX):
SLAVE ADDRESS
11
response message from slave 11
FUNCTION CODE
03
read register values
BYTE COUNT
06
3 register values = 6 bytes total
DATA #1: high order byte, low order byte
02 2B
register value in address 0200 = 022B
DATA #2: high order byte, low order byte
00 00
register value in address 0201 = 0000
DATA #3: high order byte, low order byte
00 64
register value in address 0202 = 0064
CRC: low order byte, high order byte
C8 BA
computed cyclic redundancy check code
NOTE