在中断程序中,用一个定时器(t37)导通一个线圈,为什么不行。而同样的程序,在主程序中就行。例如:
Network 1 // 网络标题
// 网络注释
LD SM0.0
R M0.0, 1
S Q0.5, 1
Network 2
LD SM0.0
TON T37, 20
Network 3
LD T37
R Q0.5, 1
最佳答案
不会行的。
在中断程序被执行,可以触发定时器,但退出中断后,该定时器不会被扫描。
你在中断程序中用了TON T37, 20,即延迟00ms*20=2000ms,即2S。系统不可能在这2S中来等待,会有级别高的中断来中断这个中断。
不提倡中断程序过长或占用系统时间过长。
为什么中断程序不宜过长 ?
PLC的CPU的运行机制是周期扫描的,例如100ms为一扫描周期。发生中断后,则中断当前的扫描,去执行中断程序。如中断程序过长,那么就会影响周期扫描的执行,即影响系统对I/O信号的读入及其他控制程序运行等。总之,对中断程序过长,对控制系统的实时性及可靠性均有影响。
提问者对于答案的评价:
听君一席言,胜读一年书。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346993.html