S7-200 Modbus 不能轮询只能采集一次

第一次用PLC,请多指教。按照范例,
用S7-200 Port1 做了一个轮询采集2个模块程序,
用上一MSG的Done触发下一次的MSG。
用PORT0连接电脑下载好程序后,从STOP模式切换到RUN,
在Port1口上用串口助手监控PLC和模块通信,2个模块都有问有答,
但是只有一次,不能自动开始第二次轮询。

问题补充:
根据范例程序写的程序如下,只能执行一次。麻烦看看哪里有问题 ?

图片说明:

S7-200 Modbus 不能轮询只能采集一次    S7-200 Modbus 不能轮询只能采集一次    S7-200 Modbus 不能轮询只能采集一次    S7-200 Modbus 不能轮询只能采集一次    S7-200 Modbus 不能轮询只能采集一次    S7-200 Modbus 不能轮询只能采集一次   

最佳答案

程序轮循的机制与《S7-200 Modbus RTU 主站例程》中间的示例是否一样;研究示例看看它的完整轮循机制,再看看你的为什么没有形成轮循。
打开链接就可以看到示例的链接如图
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/s7-200/communication/modbus/modbus%20master/Modbus%20master.htm
补充:
网络 3,指令的 ERROR 用的 MB1,与其它网络中用到的位 M1.1、M1.0 重叠。调整一下

图片说明:

S7-200 Modbus 不能轮询只能采集一次  

提问者对于答案的评价:
的确是Error位与Done位重叠了,改过来就可以轮询了。
再请教个问题,为什么启动的触发位(网络2)要在Modbus初始化之前(网络3),之前看有人回答这个问题但没有理解。

最佳答案作者回复:
在第N个扫描周期网络3初始化完成,本扫描周期不执行读写指令。
等到N+1一个扫描周期,执行第一个读写指令。
主要是在实际应用中发现这样写轮循流畅。我想是与初始化完成后,通讯线路上有足够的空闲时间使其恢复平静。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc371169.html

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:48
下一篇 2021年7月5日 下午4:48

相关推荐

发表回复

登录后才能评论