6-2 MM2 Motor Manager 2
GE Power Management
6.1 MM2 MODBUS PROTOCOL 6 COMMUNICATIONS
6
6.1.4 DATA PACKET FORMAT
A complete request/response sequence consists of the following bytes (transmitted as separate data
frames):
Master Request Transmission:
SLAVE ADDRESS: 1 byte
FUNCTION CODE: 1 byte
DATA: variable number of bytes depending on FUNCTION CODE
CRC: 2 bytes
Slave Response Transmission:
SLAVE ADDRESS: 1 byte
FUNCTION CODE: 1 byte
DATA: variable number of bytes depending on FUNCTION CODE
CRC: 2 bytes
SLAVE ADDRESS: This is the first byte of every transmission. This byte represents the user-
assigned address of the slave device that is to receive the message sent by the master. Each slave
device must be assigned a unique address and only the addressed slave will respond to a transmis-
sion that starts with its address. In a master request transmission the SLAVE ADDRESS represents
the address of the slave to which the request is being sent. In a slave response transmission the
SLAVE ADDRESS represents the address of the slave that is sending the response. Note: A master
transmission with a SLAVE ADDRESS of 0 indicates a broadcast command. Broadcast commands
can be used only in certain situations; see Section 6.4: APPLICATIONS on page 6–14 for details.
FUNCTION CODE: This is the second byte of every transmission. Modbus defines function codes of
1 to 127. The MM2 implements some of these functions. See Section 6.1.8: MM2 SUPPORTED
FUNCTIONS on page 6–4 details of the supported function codes. In a master request transmission
the FUNCTION CODE tells the slave what action to perform. In a slave response transmission the
FUNCTION CODE tells the master what function was performed as requested. If the high order bit of
the FUNCTION CODE sent from the slave is a 1 (i.e. if the FUNCTION CODE is
>
127) then the
slave did not perform the function as requested and is sending an error or exception response.
DATA: This will be a variable number of bytes depending on the FUNCTION CODE. This may be
Actual Values, Setpoints, or addresses sent by the master to the slave or by the slave to the master.
See Section 6.1.8: MM2 SUPPORTED FUNCTIONS for a description of the supported functions and
the data required for each.
CRC: This is a two byte error checking code.
6.1.5 ERROR CHECKING
The RTU version of Modbus includes a two byte CRC-16 (16 bit cyclic redundancy check) with every
transmission. The CRC-16 algorithm essentially treats the entire data stream (data bits only; start,
stop and parity ignored) as one continuous binary number. This number is first shifted left 16 bits and
then divided by a characteristic polynomial (11000000000000101B). The 16 bit remainder of the divi-
sion is appended to the end of the transmission, MSByte first. The resulting message including CRC,
when divided by the same polynomial at the receiver will give a zero remainder if no transmission
errors have occurred.