Modbus is an application layer network protocol widely used in industrial production to exchange data between devices (Machine-to-Machine, M2M).
Since its development in 1979, it has not lost its popularity. According to statistics from HMS Industrial Networks, in 2021, Modbus occupies 10% of the global industrial networks market (5% each belongs to Modbus RTU and Modbus TCP). In this article, we will talk about the main features of the Modbus protocol, its advantages, and disadvantages, as well as the most common use cases.
Modbus uses the Master-Slave architecture, which was recently renamed Client-Server by the developer. According to this approach, a client (master) device is allocated in the network, periodically sending requests to server (slave) devices to read or write their parameters.
All requests can be initiated only by the client device: transmission of messages from server devices without preliminary polling from the client-side is not provided in the protocol.
The Modbus data packet includes a permanent part of the PDU (Protocol Data Unit), common to all protocol implementations, consisting of function code and data. In addition, several specific fields are possible, which will differ depending on the network’s physical layer. Most often, these are the address of the server device and a checksum for detecting errors.
Additional field staking into account, the complete Modbus package is called ADU (Application Data Unit). Let’s take a closer look at each area of the ADU packet in a generalized way. I will describe the features inherent in the various protocol options in the next section.
Let’s consider the transfer of packets to Modbus. The protocol provides client-server interaction in the Request / Response mode. The client initiates a request to the server device, bypassing the function code and data to the PDU. Depending on the physical layer of the network, the packet may contain additional fields discussed above.
If the request is processed without errors, the server returns a packet containing the function’s source code and the requested data.
When an error occurs, the server device returns the exception code as data, and instead of the original function code, its value increases by 128 (0x80 in hexadecimal).Timeouts are also provided on the client-side to avoid long waiting times for a response from failed devices.
The existence of several accounts in miscellaneous social networks allowed me to understand that one…
Introduction Access to new technologies and artificial intelligence has become vital in today's digital era.…
Google Chrome is the most used browser today due to its speed, reliability, and versatility…
Staying relevant in the dynamic digital environment is impossible. Besides influencers, small business owners, and…
A college education is now of great significance, and technology is the key factor in…
How2Invest is a tool that can give you inside information and professional money advice. Like…