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

    文章

    10863

    浏览量

    211732
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93721
  • 优先级
    +关注

    关注

    0

    文章

    21

    浏览量

    8763

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

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

收藏 人收藏

    评论

    相关推荐

    socket编程中的错误处理技巧

    Socket编程是网络编程的基础,它允许程序之间通过TCP/IP协议进行通信。然而,网络通信是不稳定的,可能会遇到各种问题,如网络延迟、连接中断、数据丢失等。 错误处理的重要性 提高程序的健壮性
    的头像 发表于 11-01 17:47 859次阅读

    freertos中断优先级在哪设置

    FreeRTOS是一个流行的实时操作系统,它广泛应用于嵌入式系统开发。在FreeRTOS中,中断优先级是一个重要的概念,因为它决定了中断处理的顺序和响应时间。 1. 理解中断优先级 在讨论如何设置
    的头像 发表于 09-02 14:17 684次阅读

    APS智能优化排产软件的优先级应用

    资源、订单需求和约束条件,自动计算出最优的生产计划。在这个过程中,订单排产的优先规则起着至关重要的作用。1.交期优先级交期优先级是订单排产中最基本的优先规则。根据
    的头像 发表于 06-26 17:43 396次阅读
    APS智能优化排产软件的<b class='flag-5'>优先级</b>应用

    请问有什么方法降低WIFI中断的优先级

    因为项目对时序输出要求比较严格,WIFI中断优先级比硬件定时器中断优先级要高,在定时器中断里面对GPIO管脚控制被延长执行,请问有什么方法降低WIFI中断的优先级
    发表于 06-19 07:37

    西门子PLC中OB的功能详解

    )是不可或缺的重要组成部分,它承担着PLC与外部设备通信、内部程序执行以及错误处理等多重任务。本文将对西门子PLC中OB的功能进行详细的阐述,以期为读者提供全面而深入的了解。
    的头像 发表于 06-15 11:27 4695次阅读

    为什么不能在不同的优先级中安装相同的处理程序?

    在不同的优先级中安装相同的处理程序? 我需要一个解决方案,在不同的优先级中安装相同的处理程序(ISR),以便在我的项目中处理 CAT2 中断
    发表于 05-31 08:16

    如何在不同优先级安装相同的处理程序?

    在不同的优先级中安装相同的处理程序? 我需要一个解决方案,在不同的优先级中安装相同的处理程序(ISR),以便在我的项目中处理 CAT2 中断
    发表于 05-28 08:13

    systick的中断优先级是否应该设置为最高优先级的嵌套中断?

    最近在学习ucosii有这样一个疑问,关于stm32的systick作为ucosii的基准时钟,systick的中断优先级是否应该设置为最高优先级的嵌套中断。理由是什么?各位大侠求指教!!!
    发表于 05-16 06:44

    创建了两个task如果一个优先级高 一个优先级低,高优先级的那个一直在做,什么时候会调度到低优先级的呢?

    创建了两个task如果一个优先级高一个优先级低, 我看到任务的函数都是用死循环做的,那个高优先级的那个一直在做,什么时候会调度到低优先级的呢?
    发表于 05-13 07:13

    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 513次阅读

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

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

    华为和思科默认路由优先级

    优先级值不同,则优先级值最小的为最优路由(无论开销值是否相同,另一种理解就是对不同路由来源或路由协议之间的比较)。
    的头像 发表于 01-11 10:47 1218次阅读

    GD32如何配置中断优先级分组以及中断优先级

    使用GD32 MCU的过程中,大家可能会有以下疑问:中断优先级如何配置和使用?
    的头像 发表于 01-10 10:30 3092次阅读
    GD32如何配置中断<b class='flag-5'>优先级</b>分组以及中断<b class='flag-5'>优先级</b>