如果更新中断由 DPV1 从站或 IO 设备的插槽触发,则 CPU 操作系统将调用 OB 56。如果用户更改了 DPV1 从站或 IO 设备的插槽参数(通过本地或远程访问),则可能执行以上操作。有关触发更新中断的事件的确切信息,请参见 DPV1 从站或 IO 设备制造商提供的文档。
提示 如果将 S7-400 CPU 或 S7-400 PROFIBUS CP 设置为“S7 兼容”DP 模式,则无法使用任何更新中断 OB (OB 56)。 |
下表列出了更新中断 OB 的临时 (TEMP) 变量。变量名为 OB 56 的默认名称。
变量 | 数据类型 | 说明 |
---|---|---|
OB56_EV_CLASS | BYTE | 事件类别和标识符: B#16#11(到达事件) |
OB56_STRT_INF | BYTE | B#16#56:DP 的更新中断 B#16#59:PROFINET IO 的更新中断 |
OB56_PRIORITY | BYTE | *的**等级,默认值:2 或 4(对于 S7-1500 CPU) |
OB56_OB_NUMBR | BYTE | OB 编号 (56) |
OB56_RESERVED_1 | BYTE | 预留 |
OB56_IO_FLAG | BYTE | 输入模块:B#16#54 输出模块:B#16#55 |
OB56_MDL_ADDR | WORD | 中断触发组件(模块)的逻辑起始地址 |
OB56_LEN | BYTE | 中断所提供的数据块长度 |
OB56_TYPE | BYTE | 中断类型“更新中断”的 ID |
OB56_SLOT | BYTE | 触发中断组件(模块)的插槽号 |
OB56_SPEC | BYTE | 指示符: 位 0 到 1:中断指示符 位 2:Add_Ack 位 3 到 7:顺序号 |
OB56_DATE_TIME | DATE_AND_TIME | 调用 OB 时的日期和时间 |
提示 上表描述的 OB56_LEN、OB56_TYPE、OB56_SLOT、OB56_SPEC 的含义仅适用于 DP 更新中断。若是 PROFINET IO 的更新中断,则必须按下述表格组织局部变量。 |
提示 通过在 OB 56 中调用指令“RALRM”,可从报文中读取有关中断的完整补充信息。 |
如果要根据启动事件编程 OB 56,建议您按如下方式组织局部变量:
变量 | 数据类型 |
---|---|
OB56_EV_CLASS | BYTE |
OB56_STRT_INF | BYTE |
OB56_PRIORITY | BYTE |
OB56_OB_NUMBR | BYTE |
OB56_RESERVED_1 | BYTE |
OB56_IO_FLAG | BYTE |
OB56_MDL_ADR | WORD |
OB56_Z2 | WORD |
OB56_Z3 | WORD |
OB56_DATE_TIME | DATE_AND_TIME |
根据启动事件的不同,变量 OB56_Z2 和 OB56_Z3 会包含不同的信息。下面对此进行了更加详细的解释。
OB56_STRT_INF | OB56_Z2 的含义 |
---|---|
B#16#56 | 低位字节:中断类型“更新中断”的 ID 高位字节:中断所提供的数据块长度 |
B#16#59 | 中断类型的 ID W#16#0006:更新中断 W#16#001E: Upload-and-Retrieval-Alarm 有关使用函数块 IPARSERV 将 PROFINET 设备或模块所需的附加组态数据保存到 DB 中,从而在后续维护或维修时进行恢复的应用示例,敬请访问“西门子工业在线支持”网站。为此,PROFINET 设备使用 Update-Alarm OB 将 Upload-and-Retrieval-Alarm 发送到 IO 控制器中。 |
OB56_STRT_INF | OB56_Z3 的含义 |
---|---|
B#16#56 | 低位字节:指示符 - 位 0 到 1:中断指示符 - 位 2:Add_Ack - 位 3 到 7:序号 高位字节:触发中断组件(模块)的插槽 |
B#16#59 | 中断指示符: 位 0 到 10:序号(取值范围 0 至 2047) 位 11 到 15:0 |
产品推荐
友情链接