Payload Structure
Data Types
| Code | Data Type | Description |
|---|---|---|
| 00 | INT16 | 16-bit signed integer |
| 01 | UINT16 | 16-bit unsigned integer |
| 02 | INT32 [MSB] | Most significant 32-bit signed integer |
| 03 | INT32 [LSB] | Least significant 32-bit signed integer |
| 04 | FLOAT32 [MSB] | Most significant 32-bit floating-point number |
| 05 | FLOAT32 [LSB] | Least significant 32-bit floating-point number |
Payload Structure
| Parameter | Type | Description | Default | Valid Range |
|---|---|---|---|---|
| Field | Integer | Data field identifier | 1 | 1–255 |
| slaveld | Integer | ID of the slave device | 1 | 1–247 |
| functionCode | Integer | Function code for the operation (e.g., read, write) | 3 | 1–6, 15, 16 |
| Enable | Integer | Enable flag (1 for enabled, 0 for disabled) | 1 | 0 or 1 |
| datatype | Integer | Specifies the data type of the value to read | 01 | 00–05 |
| groupParaNo | Integer | Number of registers in a single group | 1 | 1–125 |
| Registeraddress | Integer | Address of the registers | 0 | 0–65535 |
One-Time Modbus Register Read
Example payload (JSON):
{
"slaveId": 1,
"functionCode": 3,
"dataType": 1,
"numberOfParameters": 1,
"Registeraddress": 257
}
note
Use FPort = 13
One-Time Modbus Register Write
| Parameter | Type | Description |
|---|---|---|
| slaveId | Integer | ID of the slave device |
| numberOfRegisters | Integer | Number of registers to write (e.g., 1 for INT16) |
| address | Integer | Address of the register to write |
| value | Integer | Value to write into the register |
How to write registers from server ?
- Example
{
"slaveId": 1,
"numberofreg": 1,
"address": 0,
"value": 223
}
How to write coils from server ?
- Example
{
"slaveId": 10,
"numberofreg": 1,
"address": 0,
"value": 65280
}