Communication processor and Modbus TCP
13.5 Modbus communication
S7-1200 Programmable controller
System Manual, V4.2, 09/2016, A5E02486680-AK
1199
Table 13- 75 Data types for the parameters
REQ IN Bool 0=No request
1= Request to transmit data to Modbus slave
MB_ADDR IN V1.0: USInt
V2.0: UInt
Modbus RTU station address:
Standard addressing range (1 to 247)
Extended addressing range (1 to 65535)
The value of 0 is reserved for broadcasting a message to all Modbus
slaves. Modbus function codes 05, 06, 15 and 16 are the only function
codes supported for broadcast.
MODE IN USInt Mode Selection: Specifies the type of request (read, write, or diagnostic).
See the Modbus functions table below for details.
DATA_ADDR IN UDInt
Starting Address in the slave: Specifies the starting address of the data to
be accessed in the Modbus slave. See the Modbus functions table below
DATA_LEN IN UInt Data Length: Specifies the number of bits or words to be accessed in this
request. See the Modbus functions table below for valid lengths.
DATA_PTR IN Variant Data Pointer: Points to the M or DB address (non-optimized DB type) for
the data being written or read.
DONE OUT Bool
The DONE bit is TRUE for one scan, after the last request was completed
with no error.
BUSY OUT Bool
• 0 – No Modbus_Master operation in progress
• 1 – Modbus_Master operation in progress
ERROR OUT Bool The ERROR bit is TRUE for one scan, after the last request was termi-
nated with an error. The error code value at the STATUS parameter is
valid only during the single scan where ERROR = TRUE.
Modbus_Master communication rules
● MB_COMM_LOAD must be executed to configure a port before a Modbus_Master
instruction can communicate with that port.
● If a port is to be used to initiate Modbus master requests, that port should not be used by
MB_SLAVE. One or more instances of Modbus_Master execution can be used with that
port, but all Modbus_Master execution must use the same Modbus_Master instance DB
for that port.
● The Modbus instructions do not use communication interrupt events to control the
communication process. Your program must poll the Modbus_Master instruction for
transmit and receive complete conditions.