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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:未知 作者:沈丹 2020-10-14 16:18 次阅读

优先级错误组织块(OB85)

只要发生下列事件之一,CPU操作系统即调用OB85:

1.尚未装载的OB (OB8、 OB81、OB82、OB83和OB86除外)的启动事件。

2.操作系统访问模块时出错。

3.在系统更新过程映像期间出现I/O访问错误(如果由于组态原因,未禁止OB85的调用)。

如果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

通过激活报告系统错误后的OB85,生成程序:

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停机

ENDE: NOP 0结束清0

责任编辑:xj

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

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

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

    关注

    68

    文章

    10456

    浏览量

    206650
  • 编程
    +关注

    关注

    88

    文章

    3441

    浏览量

    92449
  • 优先级
    +关注

    关注

    0

    文章

    21

    浏览量

    8696

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

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

收藏 人收藏

    评论

    相关推荐

    求助,关于stm32F4中断优先级0无法抢占的问题求解

    使用F407遇到一个抢占优先级的问题: 现设置优先级分组 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);也就是15个优先级分组。按照手册说明0
    发表于 04-23 07:26

    ARM7使用IAR或者KEIL,设置中断优先级后,默认就是中断嵌套吗还是需要专门处理

    使用IAR或者KEIL,设置中断优先级后,默认就是中断嵌套吗,还是需要专门处理
    发表于 04-19 08:09

    STM32F103的寄存器NVIC_IPRx抢占优先级和子优先级是怎么设置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,抢占优先级和子优先级是怎么设置的? 如果,中断分组2,抢占优先级3,子优先级3 那下面这样写对吗? SCB->AIR
    发表于 03-27 07:48

    Hightec对芯片中断优先级分配时,中断号越高中断优先级越高吗?

    请问大佬,Hightec对芯片中断优先级分配时,中断号越高中断优先级越高吗?看网上的帖子说中断号越低优先级越高。
    发表于 02-27 06:13

    C语言中的错误处理机制解析

    C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。
    的头像 发表于 02-26 11:19 230次阅读

    RTTnano的用户main函数中的优先级是多少?

    RTTnano 的用户main函数中的优先级是多少?为什么会出现创建新的task之后,main函数会抢占掉低优先级的task,例如RT_THREAD_PRIORITY_MAX设置为8 ,低于3
    发表于 02-26 08:01

    西门子博途中CPU对错误的反应

    如果CPU的操作系统检测到错误,它会以OB调用的形式搜索适当的错误处理。如果找到了相应的OB,则执行该OB并完成CPU的
    的头像 发表于 12-11 17:12 352次阅读
    西门子博途中CPU对<b class='flag-5'>错误</b>的反应

    西门子博图:错误处理机制概览

    可通过以下几种不同的错误处理机制进行参数跟踪或编程或访问错误
    的头像 发表于 11-25 11:35 1038次阅读
    西门子博图:<b class='flag-5'>错误处理</b>机制概览

    单片机的中断优先级是怎么确定的?

    单片机的中断优先级是怎么确定的,如果设定优先级后怎么确定设定的对不对?
    发表于 11-03 06:32

    freertos中的任务优先级通过什么函数设置?

    任务优先级怎么设置成最高
    发表于 11-02 07:40

    ucos怎么设置任务的优先级

    这个优先级怎么设置的
    发表于 10-30 06:18

    freertos怎么在任务中修改任务的优先级

    freertos怎么在任务中修改任务的优先级
    发表于 10-11 07:56

    Rust语言中错误处理的机制

    在Rust语言中,错误处理是一项非常重要的任务。由于Rust语言采用静态类型检查,在编译时就能发现很多潜在的错误,这使得程序员能够更加自信和高效地开发程序。然而,即使我们在编译时尽可能地考虑了所有
    的头像 发表于 09-19 14:54 789次阅读

    嵌入式系统C语言编程中主要的错误处理方式

    本文主要总结嵌入式系统C语言编程中,主要的错误处理方式。
    发表于 07-24 16:40 554次阅读
    嵌入式系统C语言编程中主要的<b class='flag-5'>错误处理</b>方式

    PLIC管理的中断的优先级和RISC-V本身的机器定时器以及软中断的中断优先级问题

    请问PLIC管理的外设中断的优先级和RISC-V本身的机器定时器以及软中断谁的优先级会更高? 机器定时器中断和软中断不归PLIC管(PLIC管理其他外设的中断优先级),那么机器定时器中断和软中断可以嵌套其他PLIC管理的外设中断
    发表于 06-25 19:05