Modbus通信协议

从机无法主动给主机发送数据,必须是主机先主动给从机发送数据

系统设备上电时,所有设备都应该处于接收状态

主机轮询,从机应答

通讯时主机切换成发送模式然后切换成接收模式来接受从机数据

帧结构 = 地址 + 功能码+ 数据 + 校验

  • 地址: 占用一个字节,范围0-255,其中有效范围是1-247,其他有特殊用途,比如255是广播地址(广播地址就是应答所有地址,正常的需要两个设备的地址一样才能进行查询和回复)。
  • 功能码:占用一个字节,功能码的意义就是,知道这个指令是干啥的,比如你可以查询从机的数据,也可以修改数据,所以不同功能码对应不同功能。
  • 数据:根据功能码不同,有不同结构,在下面的实例中有说明。
  • 校验:为了保证数据不错误,增加这个,然后再把前面的数据进行计算看数据是否一致,如果一致,就说明这帧数据是正确的,我再回复;如果不一样,说明你这个数据在传输的时候出了问题,数据不对的,所以就抛弃了。

断帧时间:3.5个字符   一个字节10bit(起始位+停止位)     波特率9600    3.5*10/9600=3.6ms

一般使用10ms来作为断帧时间,把不同数据包给分开。

一、查询命令

1.主机发送查询命令

 2.从机发出应答

二、写命令

 1.主机发送写命令

 2.从机发出应答

写命令,从机发出的应答和主机发送的命令相同

写多个寄存器:

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值