industrial//fieldbus//Modbus
One of the oldest and simplest industrial protocols, born in the late 1970s, and immortal because it is simple. One device asks and another answers: traditionally master and slave, today client and server.
One of the oldest and simplest industrial protocols, born in the late 1970s, and immortal because it is simple. One device asks and another answers: traditionally master and slave, today client and server.
Who: the address of the device being asked.
What operation: the function code (read holding registers, write coil, and so on).
What data: the starting register and how many.
Everything the protocol knows is areas of memory: coils, discrete inputs, input registers, holding registers. It carries numbers and almost no semantics; the meaning of register 40015 is in the vendor's register map, which is why the manual is not optional.
Two transports, one vocabulary: Modbus RTU over a serial RS-485 bus with device addresses, and Modbus TCP over TCP/IP with IP addresses and Ethernet switches. Changing the transport does not change what the registers mean (protocol stack).
Its simplicity is also its ceiling: no data model, no units, no quality, no timestamps, no events. Reading a device is what it does; distributing data between systems is what MQTT does, and describing data is what OPC UA does (MQTT, OPC UA).