Modbus
Modbus
Modbus
Modbus is a serial communications protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers (PLCs). Simple and robust, it has since become a de facto standard communication protocol, and it is now a commonly available means of connecting industrial electronic devices. 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 input or a contact. The development and update of Modbus protocols has been managed by the Modbus Organization since April 2004, when Schneider Electric transferred rights to that organization, signaling a clear commitment to openness. 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.
Frame format
All Modbus variants choose different frame formats.
Modbus
Transaction Identifier 2 Protocol Identifier Length Field Unit Identifier Function code Data bytes 2 2 1 1 n
Unit identifier is used with Modbus/TCP devices that are composites of several Modbus devices, e.g. on Modbus/TCP to Modbus RTU gateways. In such case, the unit identifier tells the Slave Address of the device behind the gateway. Natively Modbus/TCP-capable devices usually ignore the Unit Identifier. The byte order is Big-Endian (first byte contains MSB).
Modbus
Internal Registers or Physical Output Registers Read Holding Registers Write Single Register Write Multiple Registers Read/Write Multiple Registers Mask Write Register Read FIFO Queue File Record Access Read File Record Write File Record Diagnostics Read Exception Status Diagnostic Get Com Event Counter Get Com Event Log Report Slave ID Read Device Identification Other
Implementations
Almost all implementations have variations from the official standard. Different varieties might not communicate correctly between equipment of different suppliers. Some of the most common variations are: Data types Floating point IEEE 32-bit integer 8-bit data Mixed data types Bit fields in integers Multipliers to change data to/from integer. 10, 100, 1000, 256 ... Protocol extensions 16-bit slave addresses 32-bit data size (1 address = 32 bits of data returned.)
Limitations
Since Modbus was designed in the late 1970s to communicate to programmable logic controllers, the number of data types is limited to those understood by PLCs at the time. Large binary objects are not supported. No standard way exists for a node to find the description of a data object, for example, to determine if a register value represents a temperature between 30 and 175 degrees. Since Modbus is a master/slave protocol, there is no way for a field device to "report by exception" (except over Ethernet TCP/IP, called open-mbus)- the master node must routinely poll each field device, and look for changes in the data. This consumes bandwidth and network time in applications where bandwidth may be expensive, such as over a low-bit-rate radio link. Modbus is restricted to addressing 247 devices on one data link, which limits the number of field devices that may be connected to a master station (once again Ethernet TCP/IP proving the exception). Modbus transmissions must be contiguous which limits the types of remote communications devices to those that can buffer data to avoid gaps in the transmission. Modbus protocol itself provides no security against unauthorized commands or interception of data.
Trade group
Modbus Organization, Inc. is a trade association for the promotion and development of Modbus protocol.
License
Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/