Modbus
Modicon (now Schneider Electric)-originated industrial protocol
Modbus is a serial communication protocol that lets programmable logic controllers, sensors, and other industrial devices exchange data using a simple request-response message structure over RS-232, RS-485, or, in its later variant, TCP/IP…
Definition
Modbus is a serial communication protocol that lets programmable logic controllers, sensors, and other industrial devices exchange data using a simple request-response message structure over RS-232, RS-485, or, in its later variant, TCP/IP networks. A master device polls one or more slave devices by function code and register address, and each slave responds with the requested data or an acknowledgment, making Modbus one of the oldest and most widely implemented protocols in industrial automation.
Overview
Modbus was developed for early programmable logic controllers at a time when industrial devices from different manufacturers had no common way to talk to one another. Its designers prioritized simplicity over sophistication: a message is just a device address, a function code describing the requested operation, a data payload, and a checksum, which made it cheap to implement on the limited microcontrollers available at the time and easy for competing vendors to adopt without licensing friction. Mechanically, classic Modbus operates as a master-slave protocol over a serial line. The master—typically a PLC or SCADA system—sends a request naming a slave's address and a function code such as "read holding registers" or "write single coil," and only the addressed slave replies; other devices on the same line stay silent, which keeps the bus contention-free without needing the kind of arbitration scheme CAN bus relies on. Modbus TCP later wrapped the same message format inside standard TCP/IP packets, letting devices communicate over Ethernet networks while keeping the original register-based data model intact, so software written against serial Modbus could migrate to networked deployments with minimal changes. Within industrial networking, Modbus sits at a lower level of sophistication than protocols like OPC UA, which add data typing, security, and semantic modeling on top of raw register access. Where CAN bus is optimized for real-time broadcast messaging among many peer nodes, Modbus assumes a single master polling passive slaves, which suits simpler point-to-point or star topologies more than distributed peer networks, and it has no concept of message priority the way CAN's arbitration scheme does. In practice, Modbus remains common in building automation, water treatment plants, solar inverters, and legacy factory equipment because so many existing devices already speak it and implementing a Modbus interface requires minimal code, often just a few kilobytes of firmware on an embedded controller. Its age is also its limitation: the protocol has no built-in authentication or encryption, so Modbus TCP deployments on shared networks typically need to be isolated behind firewalls or paired with a security gateway rather than exposed directly. Modbus's simplicity also caps what it can express: because registers are untyped 16-bit values with no built-in metadata, integrating a new Modbus device usually requires consulting vendor-specific documentation to learn what each register means, unlike self-describing protocols such as OPC UA. Engineers choose Modbus when a project needs broad compatibility and low implementation cost, and reach for a richer protocol when semantic interoperability or built-in security is a requirement.
Specification
- Simple master-slave request-response message structure
- Works over serial RS-232/RS-485 links and over TCP/IP as Modbus TCP
- Function codes address specific operations like reading or writing registers
- Minimal processing overhead suits low-power industrial controllers
- Open, publicly documented specification free of licensing fees
- Broad multi-vendor support across decades of industrial equipment
- No native authentication or encryption in the base protocol
- Register-based data model of coils, discrete inputs, and holding registers