Modicon, now part of Schneider, introduced Modbus in 1979. The protocol gives clients a way to access a device's numbered registers and coils. A request identifies the operation and address, and the server returns a response. To use a particular device, you still need its register map and the meaning of each value.
The M580 on the left is the master; a flow meter on the right is the slave with the register values shown in its table. Choose Read (FC03) to copy the selected holding-register values into the master, or Write (FC06) to send the setpoint. Follow the request and response in the animation, then compare the source and destination values in the tables.
| %MW100 β 400101 | Not read |
| %MW101 β 400102 | Not read |
| %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. Track 02 also shows how that same word is Modbus register 400101 for a client reading the M580's configured register map. The example connects the request made to the flow meter with the word stored in the controller.
π Coils (0xxxx) & discrete inputs (1xxxx) represent individual bit values. Coils support reading and writing; discrete inputs are read-only through the protocol. The device map defines whether those bits represent commands, statuses or physical signals.
π Holding (4xxxx) & input (3xxxx) registers are 16-bit words. Holding registers support read/write operations, while input registers are read-only. Check the device map for each value's encoding, meaning and permitted operations.
π Serial RTU carries Modbus serial messages, commonly over RS-485. A master addresses devices and requests data from them in turn; the serial settings and device addresses must match the installed network.
π Modbus TCP uses the same Modbus data model over TCP/IP. A client connects to a server and sends requests for its data. The actual connection limits, response time and accessible values depend on the devices and network configuration.
You must push a new temperature setpoint (one 16-bit value) down to a controller. Which Modbus function?