0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OB优先级和运行时特性

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-01-07 11:41 次阅读

OB 优先级和运行时特性

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

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

CPU 上的程序执行:

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

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

下图显示了基本顺序:

d63b7a9e-8e1b-11ed-bfe3-dac502259ad0.png

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

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

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

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

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

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

⑤ 循环 OB 相继进行处理。

过程事件及其优先级

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

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

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

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

– 计数值对应于参考值

– 更改计数方向

– 高速计数器的外部复位

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

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

d64517de-8e1b-11ed-bfe3-dac502259ad0.png

硬件中断执行

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

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

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

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

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

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

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

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

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

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

审核编辑:汤梓红

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

    关注

    68

    文章

    10794

    浏览量

    210659
  • 计数器
    +关注

    关注

    32

    文章

    2249

    浏览量

    94228
  • S7-1200
    +关注

    关注

    11

    文章

    331

    浏览量

    17850

原文标题:OB 优先级和运行时特性

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RTOS应用中的优先级反转问题

    在嵌入式系统中,如果使用基于优先级调度算法的RTOS,系统中可能发生优先级反转现象。优先级反转用来描述系统中高优先级任务由于等待低优先级任务
    发表于 12-14 11:00 1132次阅读

    如何理解任务优先级反转?

    嵌入式实时操作系统USCOSii中第四章 的 图4-15中有描述 关于任务优先级反转示意图:有疑问就是为什么 在C运行时候 A B都在等待,却B获得CPU的运行权限?
    发表于 11-04 03:57

    移植ucos低优先级的任务一直在运行优先级的任务没有运行是为什么?

    移植ucos,低优先级的任务一直在运行,高优先级的任务没有运行
    发表于 06-02 12:12

    freertos的任务运行时间怎么设置

    对于相同优先级的任务采用时间片轮询的方式运行,那比如说有两个优先级都为5的任务,那这两个任务的运行时间如何设置呢?在rt-thread中创建任务时就可以设置任务的
    发表于 07-19 08:03

    STM32F10X的中断优先级

    STM32(Cortex-M3)中有两个优先级的概念抢占式优先级和响应优先级,有人把响应优先级称作亚优先级或副
    发表于 11-04 15:02 41次下载

    DSP中断如何设置优先级

    原以为2812中断不能设置优先级。实际上硬件上优先级是做好的。但软件上有办法来设置优先级
    发表于 04-08 17:20 20次下载

    如何应用优先级错误处理组织块(OB85)

    优先级错误组织块(OB85) 只要发生下列事件之一,CPU的操作系统即调用OB85: 1.尚未装载的OB (OB8、
    的头像 发表于 10-14 16:18 3933次阅读

    cortex M内核优先级设置

    Cortex M内核中每个中断都有一个8位的优先级设置寄存器这个8位的寄存器可以分为抢占优先级和子优先级两个部分(通过设置优先级组设置)抢占优先级
    发表于 12-01 11:51 4次下载
    cortex M内核<b class='flag-5'>优先级</b>设置

    2.FreeRTOS中断优先级和任务优先级

    FreeRTOS中断优先级和任务优先级架构:Cortex-M3版本:FreeRTOS V9.0.0前言:最开始,我并没有搞清楚什么是中断优先级和任务优先级,但看了部分资料后发现这两个并
    发表于 12-04 20:21 9次下载
    2.FreeRTOS中断<b class='flag-5'>优先级</b>和任务<b class='flag-5'>优先级</b>

    STM32F103芯片中断优先级以及FreeRTOS优先级设置

    STM32F103只用了4个位来表达优先级,因此最多支持16的可编程优先级(0~15),15为最低优先级
    发表于 01-25 18:59 1次下载
    STM32F103芯片中断<b class='flag-5'>优先级</b>以及FreeRTOS<b class='flag-5'>优先级</b>设置

    uC/OS-II学习笔记——优先级反转与优先级继承机制

    优先级反转,是指某同步资源被较低优先级的进程/线程所拥有,较高优先级的进程/线程竞争该同步资源未获得该资源,而使得较高优先级进程/线程反而推迟被调度执行的现象。
    发表于 02-09 10:33 2次下载
    uC/OS-II学习笔记——<b class='flag-5'>优先级</b>反转与<b class='flag-5'>优先级</b>继承机制

    中断优先级处理的原则及配置 抢占优先级和响应优先级的区别

    首先我们需要知道什么是中断优先级:中断优先级是CPU响应中断的先后顺序
    的头像 发表于 05-18 15:10 2.6w次阅读
    中断<b class='flag-5'>优先级</b>处理的原则及配置 抢占<b class='flag-5'>优先级</b>和响应<b class='flag-5'>优先级</b>的区别

    FreeRTOS任务的优先级示例

    任务的优先级:0~24之间。数字越大,任务优先等级越高。高优先级的任务优先执行。
    的头像 发表于 09-15 11:13 2697次阅读

    Free RTOS的优先级翻转

    优先级翻转简介:就是高优先级的任务运行起来的效果好像成了低优先级,而低优先级比高优先级
    的头像 发表于 02-10 15:31 1204次阅读
    Free RTOS的<b class='flag-5'>优先级</b>翻转

    什么是优先级反转

    优先级的TaskB由于其它原因挂起了,低优先级的TaskC获得信号量,正在独享这个资源,这时候高优先级TaskA就绪了,抢占了TaskC,高优先级的TaskA
    的头像 发表于 04-24 13:01 2179次阅读
    什么是<b class='flag-5'>优先级</b>反转