Modbus is a serial communications protocol originally published by Modicon The main reasons for the use of Modbus in the industrial environment are:
- developed with industrial applications in mind
- openly published and royalty-free
- easy to deploy and maintain
- moves raw bits or words without placing many restrictions on vendors
Modbus enables communication between many (approximately 240) devices connected to the same network, for example a system that measures temperature and humidity and communicates the results to a computer. Modbus is often used to connect a supervisory computer with a remote terminal unit (RTU) in supervisory control and data acquisition (SCADA) systems. Many of the data types are named from its use in driving relays: a single-bit physical output is called a coil, and a single-bit physical input is called a discrete inputor a contact. The development and update of Modbus protocols has been managed by the Modbus Organization The Modbus Organization is an association formed of independent users and suppliers of Modbus compliant devices that seeks to drive the adoption of the Modbus communication protocol suite, and its evolution to address architectures for distributed automation systems across multiple market segments.
The Modbus protocol was originally developed by Modicon for the data transfer with their controllers. Data transfer was organized in terms of 16-Bit registers (integer format) or as status information in terms of data bytes. Over the years the protocol was extended and has been adopted by other manufacturers as well. New data types were added, especially to achieve a higher resolution for values to transmit. The protocol was adopted for new transfer media,dialects like Modbus Plus or Modbus/TCP arised. But for compatibility reasons the basic structure of the data area or the addressing mechanism of the protocol retained. The Modbus protocol is in fact a single master protocol. The master controls the complete transmission and monitors if possible timeouts (no answer from the addressed device) occur. The connected devices are slaves and are allowed to send telegrams only on master request. The following basics are limited to the protocols Modbus/RTU and Modbus/TCP. Also only functions supported by Modbus
The Modbus communication requires to establish a TCP connection between a client (e.g. PC) and a server (device). Normally TCP-Port 502 is used, which is reserved for Modbus communication. However, the user is free to set another port number. Aserver normally accepts an additional connection via port 502, besides the configured port. If a firewall is arranged between server and client you have to ensure that the configured TCP port is released. It is also possible to use a Modbus RTU/TCP gateway as server to which up to 32 devices can be serially connected. This allows to connect Modbus/RTU devices directly to the Ethernet without the need to modify the firmware. However, this costeffective solution reduces the transmission speed to the baudrate of the serial bus.