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