User`s manual

MGate MB3000 User’s Manual Modbus Overview
A-3
Requests Need a Time Limit
The original Modbus protocol was not designed for simultaneous requests or simultaneous masters,
so only one request on the network can be handled at a time. When a master sends a request to a
slave, no other communication may be initiated until after the slave responds. The Modbus
protocol specifies that masters use a response timeout function to identify when a slave is
nonresponsive due to device or line failure. This function allows a master to give up on a request if
no response is received within a certain amount of time. This is illustrated as follows:
Response Timeout
The master sends a request. The slave is unresponsive for the amount of time specified by the
response timeout function. The master gives up on the request and resumes operation, allowing
another request to be initiated.
To allow for a wide range of devices, baudrates, and line conditions, actual response timeout values
are left open for manufacturers to determine. This allows the Modbus protocol to accommodate a
wide range of devices and systems. However, this also makes it difficult for system integrators to
know what response timeout value to use during configuration, especially with older or proprietary
devices.
The MGate MB3000 provides a patent-pending function that tests all attached devices and
recommends a response timeout value. This function saves considerable time and effort for system
integrators, and results in more accurate timeout settings.
Modbus Ethernet vs. Modbus Serial
Although Modbus is intended as an application layer messaging protocol, the data format and
communication rules for Ethernet-based Modbus TCP are different from serial-based Modbus
ASCII and RTU.
The major difference between the Ethernet and serial Modbus protocols is the behavior of the
communication model. Modbus ASCII and RTU allow only one request on the network at a time.
Once a request is sent, no other communication on the bus is allowed until the slave sends a
response, or until the request times out. However, Modbus TCP allows simultaneous requests on the
network, from multiple masters to multiple slaves. TCP masters cannot send more than one request
at a time to a slave, but they can send requests to other slaves before a response is received. The
Modbus TCP standard recommends that slaves be able to queue up to 16 requests at a time. The
MGate MB3000 will queue up to 32 requests from each TCP master, for up to 16 TCP masters.