S7-200可用的modbus RTU完成位轮询

网上的信息比较散,官方说明也不充分,尤其是涉及主站按需写入的部分没有见到现成案例。

以下记录完成位轮询读取,同时按需写入的程序。


初始化主站,初始化块的完成位M9.3通过上升沿触发一个M9.4,用于后面启动轮询。


第一个轮询,第一次启动由M9.4触发,后面都变为由M9.5触发。完成位是M2.1,要用M2.1来复位M9.4和M9.5


第二个轮询,用上一轮询的完成位M2.1触发,本轮完成位是M2.2。随后用M2.2复位M2.1。


后面两轮读取以此类推。现在所有读取已完成(共读取4个寄存器)。


读取完成后要判断是否需要写入。判断的标准是从站的设定值与主站的设定值是否一致,如果不一致,则通过触发M2.5来进入写入。如果一致,则触发M9.5返回第一个读取。


第一个写入,用M2.5触发。和读取一样,用完成位M2.6复位M2.5。


第二、三个写入,同上。第三个(也是最后一个)写入用M9.5作为完成位,因此它将触发第一个读取。同时用M9.5复位M2.7。

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值