Priority Control for mission critical Modbus application

Priority Control is designed for requests that are sent to Modbus RTU/ASCII slaves. On the Modbus communication, the Modbus RTU/ASCII slaves can not handle multiple requests from the Master. The request will be sent individually and wait for a response before sending the next one. In other words, first come first serve. When multiple requests are sent, they stack up. This will result in slow response time and cause a significant delay on the critical requests which require an immediate response. With the Priority Control, certain important requests, either by the urgency, TCP port, or message type, can be sent to the front of the queue for an immediate response.

Control requests vs. Monitor requests


The Modbus masters play different roles in the application. Some may control the slave devices, and some monitor the slave devices. The masters which used for monitoring purposes do not require real-time control or response from the slave devices. For example, a “control” master is the only device that actually sends commands or requests. Other “monitor” masters just monitor the data. If the “control” master fails for some reason, one of the “monitor” masters will take over the job and become the “control” master. Since there are redundant masters in the system, all the commands from the control master will require the top priority. The Modbus gateway should have the ability to filter out commands from a specific source or IP address and send the request to the front of the queue.

In the diagram below, it shows that when multiple masters are in the network, the TCP gateway is able to put the request from the “control” master to a higher priority by moving it to the front of the queue leaving other requests from “monitor” masters behind it.

Critical vs. non-critical commands

There are many different requests or commands on the Modbus communication and all of them should be handled differently by their urgency. For example, if the administrators send a special command such as “device shut down”, the TCP gateway should have the ability to filter the specific commands and send it to the front of the queue.


Prioritized by TCP Port

In some cases, there are maybe more than one “control” masters in the network; however, one has higher priority than others. Engineers can assign a dedicated TCP port for the “control” with higher priority. For example, the urgent requests will be sent via TCP port 5001, and other non-urgent requests will be sent on TCP port 502. The gateway is able to recognize the requests from different TCP port number and place the requests to the front of the queue.


When integrating Modbus serial and Ethernet networks into one system, it can not guarantee response times that are fast enough to get the immediate response from the slave devices. To improve this situation, the priority control is a useful tool to prioritize the requests and to delivery the urgent one to the front of the queue. This function helps the master to get the response with no addition delay and no trouble for the administrators.

Here are the products with the above features for Modbus applications.

Related Articles