显示实例
Modbus 寄存器的显示实例
下表显示出如何在寄存器 A 和 IA(在 32028 中进行编码)中读取相位 32029 (FLOAT32) 上的 RMS 电流。
-
寄存器 32028 的地址等于32028 - 1 = 32027 = 0x7D1B。
-
Modbus 从站的 Modbus 地址为 255 = 0xFF。
主站发出的请求 |
从站发出的请求 |
||
---|---|---|---|
字段名称 |
实例 |
字段名称 |
实例 |
Modbus 从站地址 |
0xFF |
Modbus 从站地址 |
0xFF |
功能代码 |
0x03 |
功能代码 |
0x03 |
要读取的第一个寄存器的地址(最高有效位) |
0x7D |
数据长度(字节) |
0x04 |
要读取的第一个寄存器的地址(最低有效位) |
0x1B |
在地址 0x7D1B(寄存器 32028)处读取的值(最高有效位) |
0x44 |
寄存器数量(最高有效位) |
0x00 |
在地址 0x7D1B(寄存器 32028)处读取的值(最低有效位) |
0x0A |
寄存器数量(最低有效位) |
0x02 |
在地址 0x7D1C(寄存器 32029)处读取的值(最高有效位) |
0xC0 |
CRC(最高有效位) |
0xXX |
在地址 0x7D1C(寄存器 32029)处读取的值(最低有效位) |
0x00 |
CRC(最低有效位) |
0xXX |
CRC(最高有效位) |
0xXX |
- |
- |
CRC(最低有效位) |
0xXX |
FLOAT32 寄存器 32028 和 32029 的转换值为 555。
因此,相 A (IA) 的 RMS 电流为 555 A。
标准数据集公用寄存器表的显示实例
因为标准数据集中有超过 125 个寄存器,所以要读取整个表需要至少 3 个 Modbus 读取请求。
请求读取寄存器 32000 至 32123:
-
寄存器 32000 的地址是 0x7CFF。
-
长度为 124 寄存器 = 0x7C。
-
字节数为 124 x 2 = 248 字节 = 0xF8。
-
从站的 Modbus 地址为 255 = 0xFF。
请求读取寄存器 32124 至 32241:
-
寄存器 32124 的地址是 0x7D7B。
-
长度为 118 寄存器 = 0x76。
-
字节数为 118 x 2 = 236 字节 = 0xEC。
-
从站的 Modbus 地址为 255 = 0xFF。
请求读取寄存器 32340 至 32435:
-
寄存器 32340 的地址是 0x7E53。
-
长度为 96 寄存器 = 0x60。
-
字节数为 96 x 2 = 192 字节 = 0xC0。
-
从站的 Modbus 地址为 255 = 0xFF。
主站发出的请求 |
从站发出的请求 |
||
---|---|---|---|
字段名称 |
实例 |
字段名称 |
实例 |
Modbus 从站地址 |
0xFF |
Modbus 从站地址 |
0xFF |
功能代码 |
0x03 |
功能代码 |
0x03 |
要读取的第一个寄存器的地址(最高有效位) |
0x7C |
数据长度(字节) |
0x8F |
要读取的第一个寄存器的地址(最低有效位) |
0xFF |
寄存器 32000 数值(最高有效位) |
0xXX |
寄存器数量(最高有效位) |
0x00 |
寄存器 32000 数值(最低有效位) |
0xXX |
寄存器数量(最低有效位) |
0x7C |
寄存器 32001 数值(最高有效位) |
0xXX |
CRC(最高有效位) |
0xXX |
寄存器 32001 数值(最低有效位) |
0xXX |
CRC(最低有效位) |
0xXX |
– |
0xXX |
– |
– |
– |
0xXX |
– |
– |
寄存器 32123 数值(最高有效位) |
0xXX |
– |
– |
寄存器 32123 数值(最低有效位) |
0xXX |
– |
– |
CRC(最高有效位) |
0xXX |
– |
– |
CRC(最低有效位) |
0xXX |