Modbus [/ˈmodbus/] n - Modbus is a serial protocol devised in 1979 for programmable logic controllers. It is old, slow, and narrow, yet it is everywhere: chillers, UPS units, meters, and many building-management systems speak it. When a reading must be coaxed from an industrial device, Modbus is oft the path of least resistance.
Of Its Workings
- Master-slave. [/ˈmæstɛrslævɛ/] n One master asks; one or more slaves answer. The slaves never open their mouths unbidden.
- Registers. [/ˈrɛgɪstɛrs/] n Data is ordered into holding registers, input registers, coils, and discrete inputs. Each is a 16-bit chunk with a numeric address.
- RTU vs. ASCII vs. TCP. [/ˈrtʌ ˈvs ˈæskɪɪ ˈvs ˈtkp/] n RTU is the compact binary form over RS-485. ASCII is the human-readable form. Modbus TCP wraps the same register model in an Ethernet packet.
Why It Endures
- Simplicity. [/ˈsɪmplɪkɪti/] n The protocol is small enough to be implemented on a microcontroller.
- Ubiquity. [/ˈʌbɪqʌɪti/] n Decades of industrial equipment speak it, so it stands as the default integration language for many devices.
- Isolation from the network. [/ˈɪsɒlætɪɒn ˈfrɒm ˈthɛ ˈnɛtwɒrk/] n A Modbus RTU bus over RS-485 is electrically warded from Ethernet, a virtue in noisy industrial environments.
Of Its Limits
- No security. [/ˈnɒ ˈsɛkʌrɪti/] n Modbus knows neither authentication nor encryption. Bridging it to a modern IP network demands careful segmentation.
- Addressing is manual. [/ˈæddrɛssɪng ˈɪs ˈmænʌæl/] n Each device wants a unique slave address and a register map from the vendor. The quality of the documentation varies.
- Polling overhead. [/ˈpɒllɪng ˈɒvɛrhɪːd/] n With many devices on one bus, the round-robin polling grows slow.
In These Pages
Modbus appears in On the Making of Bespoke Devices as a way to speak with old equipment, and in Raspberry Pi in the datacenter as a protocol a Pi can bridge. For wireless alternatives, see LoRaWAN.