处理中断 OB (OB 88)

时间:2021-07-26点击次数:496

处理中断 OB (OB 88)

说明

程序块执行被中止后,CPU 操作系统将调用 OB 88。 中止的可能原因:

同步嵌套深度太深

块调用嵌套深度太深(U 机架)

分配本地数据时出错

如果未对 OB 88 编程,且处理中断,则 CPU 切换为 STOP 模式(事件 W#16#4570)。

如果在**等级为 28 时中止了程序块执行,则 CPU 进入 STOP 模式。

可以使用指令“DIS_IRT”禁用处理中断 OB,使用指令“EN_IRT”再重新启用,使用指令“DIS_AIRT”和“EN_AIRT”对其进行延时。

处理中断 OB 的本地数据

下表列出了处理中断 OB 的临时 (TEMP) 变量。已选择 OB 88 的默认名称作为变量名称。

变量

数据类型

说明

OB88_EV_CLASS

BYTE

事件类别和标识符: B#16#35

OB88_SW_FLT

BYTE

错误代码
可能值:

B#16#71:嵌套深度太深

B#16#72:主站控制继电器嵌套深度太深

B#16#73:同步嵌套深度太深

B#16#74块调用嵌套深度太深(U 机架)

B#16#75:块调用嵌套深度太深(B 机架)

B#16#76:分配本地数据时出错

B#16#78:未知指令

B#16#7A:跳转指令的目的地**出块范围

请参考 CPU 的操作列表,以确定哪些错误代码适用于您的 CPU。

OB88_PRIORITY

BYTE

**等级: 28

OB88_OB_NUMBR

BYTE

OB 编号 (88)

OB88_BLK_TYPE

BYTE

出错块的类型:

B#16#88: OB

B#16#8C: FC

B#16#8E: FB

B#16##00:无法确定中断源

OB88_RESERVED_1

BYTE

预留

OB88_FLT_PRIORITY

BYTE

导致错误的 OB 的**等级

OB88_FLT_OB_NUMBR

BYTE

导致错误的 OB 的编号

OB88_BLK_NUM

WORD

包含导致错误的 MC7 指令的块的编号

OB88_PRG_ADDR

WORD

导致错误的 MC7 指令的相对地址

OB88_DATE_TIME

DATE_AND_TIME

调用 OB 时的日期和时间

OB 88 编程

必须在 CPU 的块中添加 OB 88。 将要在 OB 88 中执行的程序写入到生成的块中,并作为用户程序的一部分,将该块加载到 CPU。

例如,可如下使用 OB 88:

对 OB 88 中的开始信息进行评估。

在报警数据块中输入错误原因。


http://shtxjd.cn.b2b168.com

产品推荐