如果发生以下事件,系统将调用时间错误中断组织块:
1、实际的扫描循环时间超过设置的最大循环时间;
2、请求执行循环中断或时间延时中断,但是被请求的OB已经在执行;
3、中断事件出现的速度比处理它们的速度还要快,对应的中断队列已满,导致中断队列溢出;
4、因为中断负荷过高而丢失中断。
循环时间是CPU的操作系统在RUN模式执行一次循环任务所需的时间,循环时间的最小值为1ms,最大值为6000ms,默认值为150ms,循环时间的值是可以进行组态的!
可以在优先级为1的程序循环OB和它调用的块中,用指令RE_TRIGR来重新启动监控定时器;检测到时间错误时,CPU将调用OB80。如果循环时间超过最大循环时间,并且下载了OB80,CPU将调用OB80。如果没有下载OB80,将忽略第一次超过循环时间的事件。如果循环时间超过最大循环时间的2倍,并且没有执行RE_TRIGR指令,则不管是否有OB80,CPU将立即进入STOP模式。在STOP模式下,用户程序停止执行而PLC系统通讯和系统诊断仍继续执行。
如有不足之处,还请大家多多指点!谢谢!