8 implementation basics, 9 modbus rtu message format – GE Industrial Solutions EntelliPro ES User Manual

Page 144

Advertising
background image

EP OS MOTOR MANAGEMENT SY STEM – INSTRUCTION MANUAL

4.7

CHAPTER 4: COMMUNICATION

 

 

 

 

4.1.8 Implementation basics

 

The EntelliPro ES implements a subset of the Modicon Modbus RTU protocol standard. Modbus is a master-slave protocol,
which means that a single host/master device initiates and controls all communication with the other devices on the
network.

 

The hardware interface is implemented as two-wire RS-485. In a two-wire link, data are transmitted and received over the
same lines. In such a half-duplex link, data are transmitted and received in separate time slices. Also, per the EIA-485
standard, the number of devices that can be connected on a single communication channel is limited to 32 (including the
master).

 

 

4.1.9 Modbus RTU message format

The Modbus RTU protocol is strictly based upon a transaction scheme in which a master device generates a query and a
slave device replies with a response. Each query and response message transaction consists of the following parts:

Device address

1 byte

Function code

1 byte

Data N

bytes

CRC 2

bytes

Dead time

3.5 bytes transmission time

 

These parts are as follows:

 

Device address – This is the first byte of each Modbus RTU transmission. The device address is a number limited to the

range of 0–247 and is associated with a single device configured with a matching address. This

device receives and processes the transmission from the master. Only the addressed slave device

responds to a transmission beginning with this address. A device address of 0 indicates a broadcast

command.

 

Function code – This is the second byte of each transmission and represents the commanded action to the slave

device (for queries from the master) or the action that was taken by the slave device (for responses

from the slave). Codes between 1 and 127 are defined as Modbus RTU functions. If a slave device

responds with a function code with the most significant bit (MSB) equal to 1 (or equivalently a

function code greater than 127), then the slave device did not perform the commanded action and

is signaling an error response.

 

Data – This field contains a variable number of bytes, depending on the function performed. Data may

contain addresses, actual values, or setpoints.

 

CRC – This is a two-byte error-checking code, known as a Cyclic Redundancy Check. The Modbus RTU

standard requires each message to have a two-byte CRC (commonly known as CRC-16 for 16 bits

of error checking) to be appended to every transmission.

 

If the EntelliPro ES detects a CRC error in a received Modbus message, the EntelliPro ES does not respond to the message.
An error in the CRC calculation indicates that one or more bytes of the transmission were received incorrectly, so the
entire transmission is ignored, preventing an unintended operation.

 

The CRC-16 calculation is an industry standard method used for error detection. An algorithm is included here to assist
programmers in situations where no standard CRC-16 calculation routines are available.

Advertising