What is Modbus?
Technical background
Message Frames
emModbus supports all three Modbus standard protocols covered by the official Modbus documentation:
| Protocol | Description |
|---|---|
| RTU | Original Modbus standard. Binary data is sent via serial connections such as RS-232 or similar. |
| ASCII | Similar to RTU. Instead of raw binary, data is encoded in ASCII. |
| Modbus/TCP | Binary data is encapsulated in a TCP frame and sent via network connections such as Ethernet. This variant can also be used with UDP instead of TCP and is then called Modbus/UDP. |
The three Modbus message frames
Instruction Set
emModbus currently supports the following instructions:
| Function code | Description |
|---|---|
| 1 | Read Coil. |
| 2 | Read Discrete Input. |
| 3 | Read Holding Register. |
| 4 | Read Input Register. |
| 5 | Write Coil. |
| 6 | Write Register. |
| 15 | Write Coils. |
| 16 | Write Registers. |
Data Types
Modbus uses four primary data types:
| Data type | Description |
|---|---|
| Coil | Single bit, alterable by an application program, read-write. |
| Discrete Input | Single bit, provided by an I/O system, read-only. |
| Holding Register | 16-bit, alterable by an application program, read-write. |
| Input Register | 16-bit, provided by an I/O system, read-only. |