The Modbus protocol exchanges information using a request-reply mechanism between a master (client) and a slave (server). The master-slave principle is a model for a communication protocol in which one device (the master) controls one or more other devices (the slaves). In a standard Modbus network, there is 1 master and up to 31 slaves.
A detailed description of the Modbus protocol is available at www.modbus.org.
Characteristics of the Master-Slave Principle
The master-slave principle is characterized as follows:
oOnly 1 master is connected to the network at a time.
oOnly the master can initiate communication and send requests to the slaves.
oThe master can address each slave individually using its specific address or all slaves simultaneously using address 0.
oThe slaves can only send replies to the master.
oThe slaves cannot initiate communication, either to the master or to other slaves.
Master-Slave Communication Modes
The Modbus protocol can exchange information using 2 communication modes:
ounicast mode
obroadcast mode
In unicast mode, the master addresses a slave using the specific address of the slave. The slave processes the request then replies to the master.
1 Request
2 Process
3 Reply
The master can also address all slaves using address 0. This type of exchange is called broadcasting. The slaves do not reply to broadcasting messages.
The response time Tr is the time needed by a slave to respond to a request sent by the master:
Values with the Modbus protocol:
oTypical value < 10 ms for 90% of the exchanges
oMaximum value is around 700 ms, so it is recommended to implement a 1 second time out after sending a Modbus request.
The Modbus protocol uses 2 types of data:
oSingle bit
oRegister (16 bits)
MasterPact MTZ, MasterPact NT/NW, ComPact NS, and ComPact NSX circuit breakers support registers only.
Each register has a register number. Each type of data (bit or register) has a 16-bit address.
The messages exchanged with the Modbus protocol contain the address of the data to be processed.
The address of register number n is n-1. The tables detailed in the following parts of this document provide both register numbers (in decimal format) and corresponding addresses (in hexadecimal format). For example, the address of register number 12000 is 0x2EDF (11999).
All the frames exchanged with the Modbus protocol have a maximum size of 256 bytes and are composed of 4 fields:
Field |
Definition |
Size |
Description |
---|---|---|---|
1 |
Slave number |
1 byte |
Destination of the request o0: broadcasting (all slaves concerned) o1–247: unique destination |
2 |
Function codes |
1 byte or 2 bytes |
|
3 |
Data |
n registers |
Request or reply data NOTE: Number of registers n is limited to 52 with MasterPact MicroLogic E trip unit. |
4 |
Check |
2 bytes |
CRC16 (to check transmission errors) |