modbus rtu功能码理解

声明:此内容转自http://www.elecfans.com/d/631762.html

 

1 功能码“02”:读1路或多路开关量状态输入

例如:主机要读取地址为01,开关量DI1—DI4的输入状态。

从机(PDM)数据寄存器的地址和数据为:

modbus rtu六种功能码详细解析

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

modbus rtu六种功能码详细解析

2 功能码“01”:读1路或多路开关量输出状态

例如:主机要读取地址为01,开关量DO1,DO2的输出状态。

从机(PDM)数据寄存器的地址和数据为:

modbus rtu六种功能码详细解析

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

modbus rtu六种功能码详细解析

3 功能码“03”:读多路寄存器输入

例如:主机要读取地址为01,起始地址为0116的3个从机寄存器数据。

从机(PDM)数据寄存器的地址和数据为:

modbus rtu六种功能码详细解析

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

modbus rtu六种功能码详细解析

4 功能码“05”:写1路开关量输出(“遥控”)

例1:开关量输出点DO1,其当前状态为“分”,主机要控制该路继电器“合”。

控制命令为:

“FF00”为控制继电器“合”;

“0000”为控制继电器“分”;

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

与主机发送的报文格式及数据内容完全相同。

例2:开关量输出点DO2,其当前状态为“合”,主机要控制该路继电器“分”。

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

与主机发送的报文格式及数据内容完全相同。

5 功能码“06”:写单路寄存器

例如:主机要把数据07D0,保存到地址为002C的从机寄存器中去(从机地址码为01)。通讯数据保存结束后,地址为002C的PDM表原存储信息为:

modbus rtu六种功能码详细解析

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

与主机发送的报文格式及数据内容完全相同。

6功能码“10”:写多路寄存器

主机利用这个功能码把多个数据保存到PDM表的数据存储器中去。Modbus通讯规约中的寄存器指的是16位(即2字节),并且高位在前。这样PDM的存储器都是二个字节。由于Modbus通讯规约允许每次最多保存60个寄存器,因此PDM一次也最多允许保存60个数据寄存器。

例如:主机要把0064,0010保存到地址为002C,002D的从机寄存器中去(从机地址码为01)。通讯数据保存结束后,地址为002C/002D的PDM表内存储信息为:

modbus rtu六种功能码详细解析

主机发送的报文格式:

modbus rtu六种功能码详细解析

从机(PDM)响应返回的报文格式:

modbus rtu六种功能码详细解析

  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值