以下将通过硬件中断触发模块举例说明 S7-1200 CPU 中事件触发的程序执行原理。
过程事件由 I/O(例如通过数字量输入)触发并在 S7-1200 CPU 中启动对已分配 OB 的调用。 分配给过程事件的 OB 称为硬件中断 OB。
过程事件及其**级的示例:
中断触发模块中的过程事件“上升沿”或“下降沿”: 由此事件启动的硬件中断 OB 总是分配为**级 5。
来自高速计数器的过程事件
- 计数值对应于参考值
- 更改计数方向
- 高速计数器的外部复位
由此事件启动的硬件中断 OB 总是分配为**级 6。
下图显示了硬件中断执行的时间顺序: 在两个硬件中断事件连续发生时,*二个硬件中断触发事件保留在队列中,直到处理了**个 OBx。 下一个硬件中断触发事件只能在 OBx 被处理后,启动相关的 OBx。 其它硬件中断触发事件按照此原则在队列中排队。
① | 硬件中断触发事件(如输入端的上升沿)调用它所属的 OB。 |
② | 如果执行 OB 时发生触发硬件中断的新事件,则将该事件输入到队列中。 |
③ | 触发硬件中断的新事件会启动分配给此事件的硬件中断 OB。 |
在设备视图的输入属性中,将中断触发事件分配给 OB。
只能将中断触发事件分配给单个 OB。
但是,可将 OB 分配给多个中断触发事件。
即,可为同一个中断 OB 同时分配上升沿和下降沿,以便在输入信号发生任何变化时触发相同的响应。
每条指令中,已启动的 OB 都可以中断循环 OB。 一致的数据访问由较多双字大小来保证。
可参数化模块特定的中断触发事件,如输入端的上升沿和下降沿。
在中断触发模块的组态中分配中断触发事件和要启动的 OB。 但是,在已启动的硬件中断 OB 中,可通过 DETACH 指令覆盖此分配,或者通过 ATTACH 指令将相同的事件分配给不同的 OB。 使用该功能可对外部过程信号进行灵活的响应。
产品推荐
友情链接