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

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

3天内不再提示

优先级错误组织块OB85介绍

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-02-12 10:39 次阅读

优先级错误组织块(OB85)

--程序顺序错误(OB85)

在下列情况下,CPU操作系统调用 OB85:

• 存在中断 OB的启动事件,但由于还没有将该 OB下载到 CPU而不能执行该OB。

• 访问系统功能块的实例数据块时发生错误。

• 更新过程映像表时发生错误(模块不存在或处于故障状态)。

如果OB85尚未编程,则当检测到这些事件其中之一时,CPU会转为STOP模式。

可以使用SFC 39至42禁用或延迟,并重新启用优先级错误OB。

优先级错误OB的本地数据

下表说明了优先级错误OB的临时(TEMP)变量。变量名为OB85的默认名称。

OB85_EV_CLASS BYTE 事件等级和标识符:B#16#35B#16#38 (仅限于错误代码B#16#B3和B#16#B4)B#16#39 (仅限于错误代码B#16#B1、B#16#B2、B#16#B3和B#16#B4)

OB85_FLT_ID BYTE 错误代码(可能值:B#16#A1、B#16#A2、B#16#A3、B#16#A4、B#16#B1、B#16#B2、B#16#B3、B#16#B4)

OB85_PRIORITY BYTE ?优先级,可通过STEP 7分配(硬件配置)

OB85_OB_NUMBR BYTE OB编号(85)

OB85_RESERVED_1 BYTE 保留

OB85_RESERVED_2 BYTE 保留

OB85_RESERVED_3 INT 保留

OB85_ERR_EV_CLASS BYTE 引起错误的事件的等级

OB85_ERR_EV_NUM BYTE 引起错误的事件的编号

OB85_OB_PRIOR BYTE 在出错时处于活动状态的OB的优先级

OB85_OB_NUM BYTE 在出错时处于活动状态的OB的编号

OB85_DATE_TIME DATE_AND_TIME 调用OB时的DATE_AND_TIME

必须使用 STEP 7在S7程序中将 OB85创建为对象。在所生成的块中编写将要在OB85中执行的程序,然后将其作为用户程序的一部分下载到 CPU中。

例如,可以将 OB85用于下列目的:

• 评估OB85的启动信息,并确定哪个模块处于故障状态或没有插入(指定模块启动地址)。

• 通过SFC49 LGCGADR,查找所涉及的模块的插槽。

如果没有编程 OB85,那么当检测到优先级错误时,CPU变成停止模式。

在相应的关于块的帮助中,可以获取 OB、SFB 和SFC 的详细资料

编程实例:

L B#16#A1

B#16#A1 由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件

L #OB85_FLT_ID

==I

SPB K_OB

L B#16#A2

由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件

==I

SPB K_OB

L B#16#A3 操作系统访问模块时出错 ,访问未加载的块时出错

L #OB85_FLT_ID

==I

SPB K_B

SPA F_PA

K_OB: SPA STOP

SPA ENDE

K_B: SPA STOP

SPA ENDE

F_PA: NOP 0

SPA ENDE

STOP: CALL "STP" SFC 46 ---PLC停机使用SFC 46 "STP"使CPU进入停机状态

ENDE: NOP 0

为什么要在OB85里编辑停机功能呢?

原因:

1. OB85的故障代码:B#16#A1 产生的原因是由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件.

OB85的内部变量出错.

2. 由于使用STEP 7创建了组态,您的程序或操作系统将为未装载到CPU上的OB创建一个启动事件。尚未加载的OB发生错误事件.






审核编辑:刘清

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

    关注

    68

    文章

    10863

    浏览量

    211731
  • SFC
    SFC
    +关注

    关注

    0

    文章

    44

    浏览量

    11293
  • CSFB
    +关注

    关注

    0

    文章

    9

    浏览量

    14852

原文标题:优先级错误组织块(OB85)

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

收藏 人收藏

    评论

    相关推荐

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

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

    DSP中断如何设置优先级

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

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

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

    Step7 OB组织介绍和使用技巧

    在CPU属性中,可以设置日期中断组织OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每
    发表于 03-16 15:20 1.1w次阅读

    如何编程使用OB组织

    如何编程使用OB组织.
    发表于 04-25 10:20 9次下载

    解析一个由OB85编程引起CPU停机

    今天出现一个PLC停机: 由 OB85 引起的停机. OB85里的程序编辑: L     B#16#A1                     //尚未加载的OB发生错误事件 L
    的头像 发表于 05-12 13:47 2955次阅读
    解析一个由<b class='flag-5'>OB85</b>编程引起CPU停机

    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.7w次阅读
    中断<b class='flag-5'>优先级</b>处理的原则及配置 抢占<b class='flag-5'>优先级</b>和响应<b class='flag-5'>优先级</b>的区别

    FreeRTOS任务的优先级示例

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

    OB优先级和运行时特性

    S7-1200-CPU 支持优先级 1(最低)到 27(最高)。为 OB 分配其启动事件的优先级。中断 OB 只能由时间错误中断进行中断。
    的头像 发表于 01-07 11:41 2048次阅读

    Free RTOS的优先级翻转

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

    什么是优先级反转

    假设现在有三个任务TaskA(优先级高)、TaskB(优先级中)、TaskC(优先级低),一个信号量(Semaphore),此信号量用于任务之间争夺某个资源。在某一时刻,高优先级的Ta
    的头像 发表于 04-24 13:01 2278次阅读
    什么是<b class='flag-5'>优先级</b>反转