如果状态中断由 DPV1 从站或 IO 设备的插槽触发,则 CPU 操作系统将调用 OB 55。如果 DPV1 从站或 IO 设备中的组件(模块或机架)更改了操作模式(如,由 RUN 变更为 STOP),则可能执行以上操作。有关触发状态中断的事件的确切信息,请参见 DPV1 从站或 IO 设备制造商提供的文档。
提示 如果将 S7-400 CPU 或 S7-400 PROFIBUS CP 设置为“S7 兼容”DP 模式,则无法使用任何状态中断 OB (OB 55)。 |
下表列出了状态中断 OB 的临时 (TEMP) 变量。变量名为 OB 55 的默认名称。
变量 | 数据类型 | 说明 |
---|---|---|
OB55_EV_CLASS | BYTE | 事件类别和标识符: B#16#11(到达事件) |
OB55_STRT_INF | BYTE | B#16#55:DP 的状态中断 B#16#58:PROFINET IO 的状态中断 |
OB55_PRIORITY | BYTE | *的**等级,默认值:2 或 4(对于 S7-1500 CPU) |
OB55_OB_NUMBR | BYTE | OB 编号 (55) |
OB55_RESERVED_1 | BYTE | 预留 |
OB55_IO_FLAG | BYTE | 输入模块:B#16#54 输出模块:B#16#55 |
OB55_MDL_ADDR | WORD | 中断触发组件(模块)的逻辑起始地址 |
OB55_LEN | BYTE | 中断所提供的数据块长度 |
OB55_TYPE | BYTE | 中断类型“状态中断”的 ID |
OB55_SLOT | BYTE | 触发中断组件(模块)的插槽号 |
OB55_SPEC | BYTE | 指示符: 位 0 到 1:中断指示符 位 2:Add_Ack 位 3 到 7:顺序号 |
OB55_DATE_TIME | DATE_AND_TIME | 调用 OB 时的日期和时间 |
提示 上表描述的 OB55_LEN、OB55_TYPE、OB55_SLOT、OB55_SPEC 的含义仅适用于 DP 状态中断。若是 PROFINET IO 的状态中断,则必须按下述表格组织局部变量。 |
提示 通过在 OB 55 中调用指令“RALRM”,可从报文中读取有关中断的完整补充信息。 |
如果要根据启动事件编程 OB55,建议您按如下方式组织局部变量:
变量 | 数据类型 |
---|---|
OB55_EV_CLASS | BYTE |
OB55_STRT_INF | BYTE |
OB55_PRIORITY | BYTE |
OB55_OB_NUMBR | BYTE |
OB55_RESERVED_1 | BYTE |
OB55_IO_FLAG | BYTE |
OB55_MDL_ADR | WORD |
OB55_Z2 | WORD |
OB55_Z3 | WORD |
OB55_DATE_TIME | DATE_AND_TIME |
根据启动事件的不同,变量 OB55_Z2 和 OB55_Z3 会包含不同的信息。下面对此进行了更加详细的解释。
OB55_STRT_INF | OB55_Z2 的含义 |
---|---|
B#16#55 | 低位字节:中断类型“状态中断”的 ID 高位字节:中断所提供的数据块长度 |
B#16#58 | 中断类型的 ID: W#16#0005:状态中断 |
OB55_STRT_INF | OB55_Z3 的含义 |
---|---|
B#16#55 | 低位字节:指示符 - 位 0 到 1:中断指示符 - 位 2:Add_Ack - 位 3 到 7:序号 高位字节:触发中断组件(模块)的插槽 |
B#16#58 | 中断指示符 位 0 到 10:序号(取值范围 0 至 2047) 位 11 到 15:0 |
产品推荐