FC2 中触点M1.0=1 调用FC5延时程序块. --> FC5里有常开形参#zz 闭合输出使timer T1 定时S5T#30s. 第一次调用没有任何问题 但是当FC2 中M1.0 断开又重新调用FC5时, T1定时器直接输出 没有延时 我试了好多方法都不行(包括T1设置为形参都不可以) 请教高手指点 以及时间定时器在调用的时候需要注意什么原则 非常感谢
最佳答案
西门子PLC程序采用的是编译执行的方式,即一边扫描指令一边更新变量区。对定时器来说,其使能条件必须是不停扫描的。如:
A M0.0
JCN SS
A M 0.1
L S5T#10S
SP T 1
SS:NOP 0
其中,A M0,1指令必须被不断扫描,使 T1的任务继续,如M0.0为假,程序跳转,M0.1没有扫描刷新,则M0.1信号保持,T1执行一次,不在继续。
楼主FC2中触点M1.0用于调用FC5,效果与我上面程序跳转类似。第一次执行后,在进入执行时,由于形参#zz 没有检测到跃变,即上升沿或下降沿,则T1不会激活。要是T1动作很简单,是FC5常执行,即使形参#zz一直得到扫描,就能正常使用了。
提问者对于答案的评价:
谢谢各位大侠的指点 小弟已经通过你们的方法解决了 万分感谢 在测试中发现即使使用局部变量之后将实参复位或直接将M1.0放在定时器的前面都会出现这样的问题,具体只有在仿真才能看的最清楚。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc238525.html