S7-200modbus通讯的问题

S7-200做modbus主站与5个从站通讯,每个从站都要读数据和写数据,我的问题是:

1、5个从站如何轮询?能否将1个从站的“完成信号“作为下一个从站的”启动信号“? 就是说,把MBUS_MSG的”done" 串到下个MBUS_MSG的”Fist"前面。

2、我想把SM0.5作为MBUS_MSG的启动信号,如果0.5秒内无法完成5个从站的读写,SM0.5的下一个脉冲就到了,程序是不是就会出现问题? 
如果用1秒的脉冲呢?

先谢谢各位了。期待您的帮忙!

最佳答案

首先,第一个问题,可以将第1个从站的“完成信号“作为下一个从站的”启动信号“? 就是说,把本次MBUS_MSG的”done"与下个MBUS_MSG的”Fist"用同一个位寄存器;
其次,对于触发时间,首先你要确定你轮询5个从站需要多少时间,如果在1S以内可以选择特殊寄存器来触发第一个的轮询,如果时间大于1S,那么就只有通过用两个定时器来组成一个方波发生器。不能在一次轮询还没有结束的情况下就启动下一次轮询,这样肯定会出现数据丢失。

提问者对于答案的评价:
非常感谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐