一、时间错误中断组织块OB80:
如果发生以下事件,系统将调用时间错误中断组织块:
1、实际的扫描循环时间超过设置的最大循环时间;
2、请求执行循环中断或时间延时中断,但是被请求的OB已经在执行;
3、中断事件出现的速度比处理它们的速度还要快,对应的中断队列已满,导致中断队列溢出;
4、因为中断负荷过高而丢失中断。
解释:循环时间是CPU的操作系统在RUN模式执行一次循环任务所需的时间,循环时间的最小值为1ms,最大值为6000ms,默认值为150ms,循环时间的值是可以进行组态的!请看附件或图1。
可以在优先级为1的程序循环OB和它调用的块中,用指令RE_TRIGR来重新启动监控定时器;检测到时间错误时,CPU将调用OB80。如果循环时间超过最大循环时间,并且下载了OB80,CPU将调用OB80。如果没有下载OB80,将忽略第一次超过循环时间的事件。如果循环时间超过最大循环时间的2倍,并且没有执行RE_TRIGR指令,则不管是否有OB80,CPU将立即进入STOP模式。在STOP模式下,用户程序停止执行而PLC系统通讯和系统诊断仍继续执行。
二、诊断错误中断组织块OB82
S7-1200的某些模块有检测和报告诊断的功能。如果激活了模块的诊断功能,在检测到诊断错误事件时,CPU将调用OB82,只有OB82支持诊断错误事件。
下列情况将调用OB82:
1、有诊断功能的模块没有用户电源;
2、输入信号超出模拟量模块的测量范围(上溢出或下溢出);
3、AO模块输出电路断线或短路故障。
点击此处查看附件
有不足和疏漏之处还请大家多多指教!希望能和大家共同学习、共同探讨、共同进步!