硬件中断组织块(OB 40 至 OB 47)
说明
S7 提供了多达八个独立的硬件中断,每一中断都具有自己的 OB。
根据组态*哪些通道将触发硬件中断,
在每个信号模块的哪个补充条件下。
将哪个硬件中断 OB 分配给各个通道组(默认情况下,将由 OB 40 处理所有硬件中断)。
对于 CP 和 FM,必须为此使用模块的相应软件。
可根据组态为各个硬件中断 OB 选择**等级。
硬件中断 OB 的功能
当模块触发硬件中断后,操作系统将标识插槽并确定相关硬件中断 OB。如果该 OB 的**级**当前**级,则启动该 OB。当执行完此硬件中断 OB 后,将发送通道特定的确认。
如果在对硬件中断进行标识和确认的这段时间内,在同一模块中发生了触发硬件中断的另一事件,则应用以下规则:
如果该事件发生在先前触发硬件中断的通道中,则将丢失相关中断。下图基于数字输入模块的通道示例,说明了过程信号与相关硬件中断 OB 的执行之间的连接。触发事件是上升沿。相关硬件中断 OB 为 OB 40。
如果事件发生在相同模块的另一通道中,则在该时刻不会触发硬件中断。但是,此中断不会丢失,在确认当前激活的硬件中断之后会触发此中断。
如果触发硬件中断,其 OB 当前由于另一个模块的硬件中断而处于激活状态,则会登记新的请求并会在*的时间处理该 OB。
可使用 "DIS_IRT" 指令禁止调用硬件中断 OB,使用 "EN_IRT" 指令重新调用,并使用 "DIS_AIRT" 和 "EN_AIRT" 指令对其进行延时。
可使用 "WR_PARM"、" WR_DPARM" 及 "PARM_MOD" 指令来*模块的硬件中断参数。
硬件中断 OB 的本地数据
下表列出了硬件中断 OB 的临时 (TEMP) 变量。其中,系统将 OB 40 的默认名称选择作为变量名称。
变量 | 数据类型 | 说明 |
---|---|---|
OB40_EV_CLASS | BYTE | 事件类别和标识符: B#16#11:中断当前激活 |
OB40_STRT_INF | BYTE | B#16#41:通过中断线路 1 进行中断 B#16#42:通过中断线路 2 进行中断(仅 S7-400) B#16#43:通过中断线路 3 进行中断(仅 S7-400) B#16#44:通过中断线路 4 进行中断(仅 S7-400) B#16#45:WinAC:通过 PC 触发中断 注:在 CPU 1、... 4 的多值计算模式下分配中断线路 1、... 4。 |
OB40_PRIORITY | BYTE | *的**等级:默认值: 16 (OB 40) 到 23 (OB 47) S7-1500 CPU 的默认值:16 |
OB40_OB_NUMBR | BYTE | OB 编号(40 至 47) |
OB40_RESERVED_1 | BYTE | 预留 |
OB40_IO_FLAG | BYTE | B#16#54: 输入模块 B#16#55:输出模块 B#16#00:不适用 |
OB40_MDL_ADDR | WORD | 触发了中断的模块的逻辑起始地址 |
OB40_POINT_ADDR | DWORD | 对于数字模块: 对于模拟模块:位域及哪个通道**出哪个阈值的信息(请参考模块说明以了解精确结构)。 对于 CP 或 IM: |
OB40_DATE_TIME | DATE_AND_TIME | 调用 OB 时的日期和时间 |
提示 如果正在使用具有 DPV1 功能的 CPU,则通过指令“RALRM”可获取除启动信息之外该 OB 有关中断的更改信息。在 S7 兼容模式下操作 DP 主站时,该指令同样适用。 |
shtxjd.cn.b2b168.com/m/