您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400 PLC的同步错误组织块
来源:艾特贸易2017-06-05
简介同步错误是与执行用户程序有关的错误, OB121 用于对程序错误的处理, OB122 用于处理模块访问错误。 同步错误 OB 的优先级与检测到出错的块的优先级一致。 同步错误可以用 SFC 36 “
同步错误是与执行用户程序有关的错误,OB121用于对程序错误的处理,OB122用于处理模块访问错误。
同步错误OB的优先级与检测到出错的块的优先级一致。
同步错误可以用SFC 36“MASK_ FLT”来屏蔽,用错误过滤器中的一位用来表示某种同步错误是否被屏蔽。错误过滤器分为程序错误过滤器和访问错误过滤器,分别占一个双字。屏蔽后的错误过滤器可以读出。
可以用SFC 38“READ ERR”读出已经发生的被屏蔽的错误。
①编程错误组织块(OB121)。当有关程序处理的故障事件发生时,CPU操作系统调用OB121,OB121与被中断的块在同一优先级中执行,表4-59描述了编程错误OB121的临时变量。
表4-59 OB121的变量申明表
OB121程序在CPU执行错误时执行,此错误不包括用户程序的逻辑错误和功能错误等,例如当CPU调用一个未下载到CPU中的程序块,CPU会调用OB121,通过临时变量“OB121_BLK_TYPE”可以得出出现错误的程序块。使用STEP 7不能实时监控程序的运行,可以用“变量表(Variable Table)”监控实时数据的变化。
打开事先已经插入的OB121编写程序,如图4-134所示。
接着在项目“Blocks”下插入FC1,打开FC1编写程序,如图4-135所示。
图4-134 OB121中编写的程序
图4-135 FC1中编写的程序
然后打开OB1编写程序,如图4-136所示。
图4-136 OB1中编写的程序
先将硬件和OB1下载到CPU中,此时CPU能正常运行。在“Blocks”下插入“变量表(Variable Table)”,然后打开,填入MW0和M10.0,并单击“监控”按钮,程序运行正常。将M10.0置为“true”后,CPU就报错停机,查看CPU的诊断缓冲区信息,发现为编程错误,若将OB121也下载到CPU中,再将M10.0置为“true”,CPU会报错但不停机,MW0为“W#16#88”,“W#16#88”表示为OB程序错误,检查发现FC1未下载。下载FC1后,在将M10.0置为“true”,这时CPU不会再报错,程序也不会再调用OB121。
②I/O访问错误组织块(OB122)。当对于模块的数据访问出现故障时CPU的操作系统调用OB122,OB122与被中断的块在同一优先级中执行,表4-60描述了I/O访问错误OB122的临时变量。
表4-60 OB122的变量申明表
点击排行
