我在学西门子200PLC的modbus主站通讯编程时,发现下图中这样一个问题,如果我想用MBUS TCRL的完成位作为MBUS MSG的初始化启动,我必须要在他们中加一个先复位一下M0.0,不懂这是为什么呢?我的原来的想法是,当我PLC运行,我MBUS TCRL的完成位M0.0接通的话,我直接触发M0.1就行了嘛,但是这样做,好像运行不起来,不知道这是为什么?
图片说明:
最佳答案
因为"正向转换"和"负向转换"指令要求执行"打开至关闭"或"关闭至打开"转换,您无法在首次扫描时检测上升沿或向下沿。在首次扫描中,S7-200设置由这些指令指定的位状态。在其后的扫描中,这些指令无法检测指定位的转换。
所以在首次扫描中m0.0不能触发上升沿P,需要延后一个扫描周期!!(可以看一下沿触发指令的工作原理)
提问者对于答案的评价:
非常具体,谢谢,这才是真正的高手
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc220665.html