Modbus is the oldest, simplest, most universal industrial protocol β and Modicon (now Schneider) created it in 1979. The whole idea: a device exposes a grid of numbered registers and coils, and a master reads or writes them by number. Master one mental model and you can talk to almost any industrial device on earth.
The M580 on the left is the master; a flow meter on the right is the slave, holding its data in registers. Pick a function and fire it: Read (FC03) pulls the slave's registers into the master, Write (FC06) pushes a setpoint down. Watch the request travel, the slave answer, and the values land.
| %MW100 β 400101 | β |
| %MW101 β 400102 | β |
| %MW102 β 400103 | 800 |
| 400101 Β· Flow (L/min) | 347 |
| 400102 Β· Total (mΒ³) | 1892 |
| 400103 Β· Setpoint | 600 |
After a Read, the slave's live flow lands in the master's %MW100 β and remember from Track 02, that same word is Modbus register 400101 to anyone reading the M580. Modbus all the way down.
π Coils (0xxxx) & discrete inputs (1xxxx) β single bits. Coils are read/write (a command), discrete inputs are read-only (a sensor).
π Holding (4xxxx) & input (3xxxx) registers β 16-bit words. Holding registers are read/write (setpoints, results); input registers are read-only measurements.
π Serial RTU β Modbus over RS-485, one master polling many slaves by address. Slow, rugged, everywhere in the field.
π Modbus TCP β the very same registers, wrapped in Ethernet. Faster, multi-master, routable. Same data model, modern transport.
You must push a new temperature setpoint (one 16-bit value) down to a controller. Which Modbus function?