德明4G路由器R40如何读取设备映射寄存器
1.读取设备映射寄存器
平台通过Modbus协议访问R40设备的映射地址来访问从机设备,映射地址和从机设备地址的对应关系需要通过配置页面进行配置。
1.1 映射寄存器地址
1)布尔类型从机映射寄存器地址:保持线圈型,支持功能码01/05/15指令。
映射寄存器地址 |
数据名称 |
数据类型 |
说明 |
|
16进制 |
10进制 |
|||
40 |
64 |
布尔64 |
Bool |
布尔位类型,从机映射地址,可以映射从机输入线圈和保持线圈状态。共计64个地址 |
41 |
65 |
布尔65 |
Bool |
|
42 |
66 |
布尔66 |
Bool |
|
... |
... |
... |
Bool |
|
... |
... |
... |
Bool |
|
7F |
127 |
布尔127 |
Bool |
2)16位数据类型从机映射寄存器地址:保持寄存器型,可读可写,支持03/06/16指令。
映射寄存器地址 |
数据名称 |
数据类型 |
说明 |
|
16进制 |
10进制 |
|||
4E 20 |
20000 |
16位数据20000 |
排序AB,具体数据类型取决于从机映射的数据类型 |
根据配置的映射规则,该地址数据会把从机映射数据统一排序成AB,存放在该地址,方便云端统一读写。可以映射从机输入寄存器和保持寄存器。共计128个地址。 |
4E 21 |
20001 |
16位数据20001 |
||
4E 22 |
20002 |
16位数据20002 |
||
... |
... |
... |
||
... |
... |
... |
||
4E 9F |
20127 |
16位数据20127 |
3)32位数据类型从机映射寄存器地址:保持寄存器型,可读可写,支持03/06/16指令。
映射寄存器地址 |
数据名称 |
数据类型 |
说明 |
|
16进制 |
10进制 |
|||
4E A0 |
20128 |
32位数据20128 |
排序ABCD,具体数据类型取决于从机映射的数据类型 |
根据配置的映射规则,该地址数据会把从机映射数据统一排序成ABCD,存放在该地址,方便云端统一读写。可以映射从机输入寄存器和保持寄存器。共计64个地址。 |
4E A2 |
20130 |
32位数据20130 |
||
4E A4 |
20132 |
32位数据20132 |
||
... |
... |
... |
||
... |
... |
... |
||
4F 1E |
20254 |
32位数据20254 |
4)64位数据类型从机映射寄存器地址:保持寄存器型,可读可写,支持03/06/16指令。
映射寄存器地址 |
数据名称 |
数据类型 |
说明 |
|
16进制 |
10进制 |
|||
4F 20 |
20256 |
64位数据20256 |
排序ABCDEFGH,具体数据类型取决于从机映射的数据类型 |
根据配置的映射规则,该地址数据会把从机映射数据统一排序成ABCDEFGH,存放在该地址,方便云端统一读写。可以映射从机输入寄存器和保持寄存器。共计64个地址。 |
4F 24 |
20260 |
64位数据20260 |
||
4F 28 |
20264 |
64位数据20264 |
||
... |
... |
... |
||
... |
... |
... |
||
50 1C |
20508 |
64位数据20508 |
1.2 读取布尔型映射地址数据
服务器主站发送报文格式:
发送内容 |
字节数 |
数据样例 |
说明 |
设备地址 |
1 |
01H |
01H 号设备,范围:1-247,以设置的地址为准 |
功能码 |
1 |
01H |
读保持线圈,用功能码01 |
布尔型寄存器起始地址 |
2 |
00 40H |
范围:0040H-007FH,地址对应详见映射寄存器地址 |
读取寄存器数量 |
2 |
00 0AH |
范围:0001H-0040H,布尔映射地址一共有64地址。 |
16 CRC 校验 |
2 |
BD D9H |
CRC0 CRC1 低字节在前,高字节在后 |
接收设备返回报文格式:
发送内容 |
字节数 |
数据样例 |
说明 |
设备地址 |
1 |
01H |
01H 号设备,与下发数据一致 |
功能码 |
1 |
01H |
读保持线圈 |
返回字节长度 |
1 |
02H |
返回数据长度 |
返回数据 |
2 |
73 01H |
|
16 CRC 校验 |
2 |
5D 0CH |
CRC0 CRC1 低字节在前,高字节在后 |
示例:从地址64开始,读取10个映射布尔数据的值,则:
服务器发送:01 01 00 40 00 0A BD D9
其中:
01 :设备地址
01 :读取保持线圈
00 40 :读取从地址64的开始布尔数据
00 0A :连续读取10 个布尔状态
BD D9 : CRC 校验
设备返回:01 01 02 73 01 5D 0C
其中:
01 : 设备地址
01 : 读取保持线圈
02 : 返回数据字节数
73 01 : 返回的10个布尔状态。高字节表示低地址数据,低字节表示高地址数据,根据Modbus协议规定73 01H 实际值为01 73H 转成二进制如下
- 上一篇:PT100温度变送器如何接线呢? 2022/2/16
- 下一篇:公司新推出PT100热电阻温度信号变送器,PT100转4-2 2016/4/27