优先级错误组织块OB85介绍

描述

优先级错误组织块(OB85)

--程序顺序错误(OB85)

在下列情况下,CPU操作系统调用 OB85:

•  存在中断 OB的启动事件,但由于还没有将该 OB下载到 CPU而不能执行该OB。

•  访问系统功能块的实例数据块时发生错误。

•  更新过程映像表时发生错误(模块不存在或处于故障状态)。

如果OB85尚未编程,则当检测到这些事件其中之一时,CPU会转为STOP模式。

可以使用SFC 39至42禁用或延迟,并重新启用优先级错误OB。

优先级错误OB的本地数据

下表说明了优先级错误OB的临时(TEMP)变量。变量名为OB85的默认名称。

OB85_EV_CLASS       BYTE       事件等级和标识符:B#16#35B#16#38 (仅限于错误代码B#16#B3和B#16#B4)B#16#39 (仅限于错误代码B#16#B1、B#16#B2、B#16#B3和B#16#B4)

OB85_FLT_ID       BYTE       错误代码(可能值:B#16#A1、B#16#A2、B#16#A3、B#16#A4、B#16#B1、B#16#B2、B#16#B3、B#16#B4)

OB85_PRIORITY       BYTE       ?优先级,可通过STEP 7分配(硬件配置)

OB85_OB_NUMBR       BYTE       OB编号(85)

OB85_RESERVED_1       BYTE       保留

OB85_RESERVED_2       BYTE       保留

OB85_RESERVED_3       INT       保留

OB85_ERR_EV_CLASS       BYTE       引起错误的事件的等级

OB85_ERR_EV_NUM       BYTE       引起错误的事件的编号

OB85_OB_PRIOR       BYTE       在出错时处于活动状态的OB的优先级

OB85_OB_NUM       BYTE       在出错时处于活动状态的OB的编号

OB85_DATE_TIME       DATE_AND_TIME       调用OB时的DATE_AND_TIME

必须使用 STEP 7在S7程序中将 OB85创建为对象。在所生成的块中编写将要在OB85中执行的程序,然后将其作为用户程序的一部分下载到 CPU中。

例如,可以将 OB85用于下列目的:

•  评估OB85的启动信息,并确定哪个模块处于故障状态或没有插入(指定模块启动地址)。

•  通过SFC49 LGCGADR,查找所涉及的模块的插槽。

如果没有编程 OB85,那么当检测到优先级错误时,CPU变成停止模式。

在相应的关于块的帮助中,可以获取 OB、SFB 和SFC 的详细资料。

编程实例:

      L     B#16#A1   

B#16#A1       由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件                

      L     #OB85_FLT_ID

      ==I    

      SPB   K_OB

      L     B#16#A2   

由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件                 

      ==I  

      SPB   K_OB

      L     B#16#A3   操作系统访问模块时出错  ,访问未加载的块时出错               

      L     #OB85_FLT_ID

      ==I  

      SPB   K_B

      SPA   F_PA

K_OB: SPA   STOP

      SPA   ENDE

K_B:  SPA   STOP

      SPA   ENDE

F_PA: NOP   0

      SPA   ENDE

STOP: CALL  "STP"  SFC 46 ---PLC停机使用SFC 46 "STP"使CPU进入停机状态

ENDE: NOP   0

为什么要在OB85里编辑停机功能呢?

原因:

1. OB85的故障代码:B#16#A1       产生的原因是由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件.

OB85的内部变量出错.

2. 由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件.






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分