OB优先级和运行时特性

描述

OB 优先级和运行时特性

S7-1200-CPU 支持优先级 1(最低)到 27(最高)。为 OB 分配其启动事件的优先级。中断 OB 只能由时间错误中断进行中断。 此规则也适用于优先级高于当前激活 OB 的事件。即,除时间错误中断 OB 外,只能激活一个中断 OB。

正在执行中断 OB 时,生成的任何其它事件都会按照其优先级添加到队列中。稍后按照其发生的时间顺序来处理队列中的启动事件。

CPU 上的程序执行:

循环 OB 由中断 OB 进行中断。

中断 OB 只能由时间错误中断 OB 进行中断。

下图显示了基本顺序:

计数器

① and ②某个事件(如硬件中断)调用其相关联的 OB。 

不中断地执行已调用的 OB 及其所有嵌套块。如果队列不包含任何可触发 OB启动的事件,则在完成中断处理时会继续执行循环 OB。

③ 中断 OB 只能由时间错误中断 OB (OB 80) 进行中断。

④ 中断处理期间会发生新的报警触发事件。这个新事件会添加到队列中。排队的事件只能在完成执行当前中断 OB 后按照以下规则连续调用其相应的 OB: 

● 事件按照其优先级顺序进行处理(从最高优先级开始)

● 优先级相同的事件按照时间顺序进行处理

⑤ 循环 OB 相继进行处理。 

过程事件及其优先级

过程事件由 I/O(例如通过数字量输入)触发并在 S7-1200 CPU 中启动对已分配 OB 的调用。 分配给硬件中断事件的 OB 就是所谓的硬件中断 OB。 

过程事件及其优先级的示例:

● 中断触发模块中的过程事件“上升沿”或“下降沿”:由此事件启动的硬件中断 OB 总是分配为优先级 5。

● 来自高速计数器的过程事件

– 计数值对应于参考值

– 更改计数方向

– 高速计数器的外部复位

由此事件启动的硬件中断 OB 总是分配为优先级 6。 

下图显示了硬件中断执行的顺序。

计数器

硬件中断执行

① 硬件中断触发事件(如输入端的上升沿)调用它所属的 OB。

② 如果执行 OB 时发生触发硬件中断的新事件,则将该事件输入到队列中。 

③ 触发硬件中断的新事件会启动分配给此事件的硬件中断 OB。 

分配中断触发事件在设备视图的输入属性中,将中断触发事件分配给 OB。

● 只能将中断触发事件分配给单个 OB。

● 但是,可将 OB 分配给多个中断触发事件。 

即,可将上升沿事件和下降沿事件分配给同一个中断 OB,以便对任何输入信号的切换触发相同的响应。

● 每条指令中,已启动的 OB 都可以中断循环 OB。一致的数据访问由最多双字大小来保证。

● 可参数化模块特定的中断触发事件,如输入端的上升沿和下降沿。

● 在中断触发模块的组态中分配中断触发事件和要启动的 OB。但是,在已启动的硬件中断 OB 中,可通过 DETACH 指令覆盖此分配,或者通过 ATTACH 指令将相同的事件分配给不同的 OB。使用该功能可对外部过程信号进行灵活的响应。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分