quote:以下是引用Automann在2014-02-21 22:50:14的发言:S7-1200时间错误的诊断
下图是是OB1中用来演示CPU对时间错误的反应的程序。
CPU运行时接通I1.0外接的小开关后马上断开它,脉冲定时器TP输出一个宽度为200ms的脉冲,M20.0的常开触点闭合。在此期间,反复执行JMP指令,跳转到标签M1234处。扫描循环时间大于定时器的设定值200ms,超过了CPU默认的循环时间设定值150ms,出现时间错误事件。CPU的红色ERROR LED闪动6次后熄灭,仍然处于RUN模式。
可以在时间错误中断组织块OB80中将某个输出点置位,或用某个M区的字来累计CPU调用OB80的次数。

将定时器的时间预置值PT修改为400ms。CPU运行时接通I1.0外接的小开关后马上断开它,出现时间错误事件,ERROR LED闪动6次后熄灭。因为循环时间超过设置的最大值150ms的两倍,CPU切换到STOP模式。
切换到在线模式后,双击项目树中的“在线和诊断”,在工作区打开在线与诊断视图(见下图)。选中某个事件,事件列表下面给出了该事件的详细信息。

这个示例很好。
相比于S7-300/400,引起S7-1200进入 “STOP” 模式的原因很少。
TIA Portal的一致性检查使得S7-1200的停机潜在原因在大多数情况下得到了避免。在编译时程序块的一致性就已经被检查过了,所以S7-1200控制器的容错性也大大地提高了。
对于S7-1200来说,只有循环监控时间超过两次会引起它的停机,所以要编程对故障进行相应的管理更加清楚和容易。