通讯错误组织块 (OB 87)

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

通讯错误组织块 (OB 87)

说明

当发生由通信错误触发的事件时,CPU 操作系统会调用 OB 87。

如果未对 OB 87 编程并且发生 OB 87 的启动事件,则 CPU 将作出如下反应:

S7-300 CPU 切换到 STOP 模式。

S7-400 CPU 切换到 STOP 模式。

可以使用指令“DIS_IRT”禁用通信错误 OB,使用指令“EN_IRT”再重新启用,使用指令“DIS_AIRT”和“EN_AIRT”对其进行延时。

通信错误 OB 的本地数据

下表列出了通信错误 OB 的临时 (TEMP) 变量。已选择 OB 87 的默认名称作为变量名称。

变量

数据类型

说明

OB87_EV_CLASS

BYTE

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

OB87_FLT_ID

BYTE

错误代码

(可能值: B#16#D2、B#16#D3、B#16#D4、B#16#D5、B#16#E1、B#16#E2、B#16#E3、B#16#E4、B#16#E5、B#16#E6)

OB87_PRIORITY

BYTE

**等级;可通过组态设定

OB87_OB_NUMBR

BYTE

OB 编号 (87)

OB87_RESERVED_1

BYTE

预留

OB87_RESERVED_2

BYTE

预留

OB87_RESERVED_3

WORD

取决于错误代码

OB87_RESERVED_4

DWORD

取决于错误代码

OB87_DATE_TIME

DATE_AND_TIME

调用 OB 时的日期和时间


与错误代码相关的变量具有以下含义:

错误代码

变量

含义

B#16#D2

 

目前无法发送诊断项目。

B#16#D3

 

无法发送同步消息帧(主站)。

B#16#D4

 

通过时间同步进行的时间跳变非法

B#16#D5

 

采用同步时间时出错(从站)

 

OB87_RESERVED_3

未包含更多的信息

 

OB87_RESERVED_4

未包含更多的信息

B#16#E1

 

全局数据通信中的消息帧标识符错误

B#16#E2

 

不能在数据块中输入 GD 包状态

 

OB87_RESERVED_3

DB 编号

 

OB87_RESERVED_4

高位字: 未包含更多的信息

 

 

低位字: 全局数据环号(高位字节),全局数据包号(低位字节)

B#16#E3

 

全局数据通信中的消息帧长度错误

B#16#E4

 

接收到的全局数据包号非法

 

OB87_RESERVED_3

接口标识符(0: K 总线,1: MPI)

 

OB87_RESERVED_4

高位字节: 全局数据环编号

低位字节: 未包含更多的信息

B#16#E5

 

通过通信功能块交换数据时访问数据块出错

 

OB87_RESERVED_1

块类型: B#16#88: OB,B#16#8A: DB,B#16#8C: FC,B#16#8E: FB

 

OB87_RESERVED_3

留供 CPU 内部使用

 

OB87_RESERVED_4

高位字: 包含导致错误的 MC7 指令的块的编号

低位字: 导致错误的 MC7 指令的相对地址

B#16#E6

 

不能在数据块中输入 GD 包状态

 

OB87_RESERVED_3

DB 编号

 

OB87_RESERVED_4

未包含更多的信息


OB 87 编程

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

例如,可如下使用 OB 87:

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

若共享数据通信的状态信息数据块丢失,则可以创建一个数据块。


http://shtxjd.cn.b2b168.com

产品推荐