一直以来,我对OB85和OB122的作用都感到迷惑,看到过很多在OB82、83、86中编程处理故障的例子,我也是这样做的。报告系统错误功能也只是在OB82和86中自动生成调用报告系统错误的FB49的指令。
除了因为防止CPU进入STOP,生成空的OB85和OB122之外,没有看到它们还有其他的作用。每个扫描周期调用一次OB85和OB122,还会占用CPU和中断缓冲区的资源。
最近在博途中好像得到答案。S7-1200有OB82、83、86,没有OB85和OB122。S7-1500虽然有OB122,但是没有它CPU出现I/O访问错误时也不会STOP,换句话说,它是可有可无的。这似乎验证了我的猜想,OB85和OB122就是两根盲肠。