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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PCL自动化应用 作者:机器人及PCL自动化 2021-05-12 13:47 次阅读

99156d6e-b05a-11eb-bf61-12bb97331649.jpg

9924b9d6-b05a-11eb-bf61-12bb97331649.jpg

今天出现一个PLC停机:由OB85 引起的停机.

OB85里的程序编辑:

L B#16#A1 //尚未加载的OB发生错误事件

L #OB85_FLT_ID

==I

SPB K_OB

L B#16#A2 // 尚未加载的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

STOP: CALL "STP" 调用FC46

OB85 :

B#16#A1

程序或操作系统(基于组态)为未装载到 CPU 上的 OB 创建一个启动事件。

● OB85_Z1:请求的 OB 的相应临时变量。这由 OB85_Z23 确定。

● OB85_Z23:

– 高位字:导致 OB 调用的事件的类别和编号

– 低位字,高位字节:在出错时处于激活状态的程序级别

B#16#A2

程序或操作系统(基于组态)为未装载到 CPU 上的 OB 创建一个启动事件。

OB85_Z1 和 OB85_Z23(对于 OB85_FLT_ID=B#16#A1)

B#16#A3

操作系统访问块时出错

● OB85_Z1:操作系统的错误 ID

– 高位字节:1=集成的功能,2=IEC 定时器

– 低位字节:0=无错误分辨率,1=未装载块,2=区域长度错误,3=写保护错误

● OB85_Z23:

– 高位字:块编号

– 低位字:导致错误的 MC7 命令的相对地址。块类型必须取自 OB 85_DKZ23(B#16#88:OB,B#16#8C:FC,B#16#8E:FB,B#16#8A:DB)。

-------OB40-->

硬件中断组织块(OB40至OB47)

S7提供了多达八个的独立硬件中断,每一中断都具有自己的OB。

通过STEP 7分配参数,可以为将要触发硬件中断的每个信号模块指定以下内容:

在何种条件下触发硬件中断的通道。

?要分配给个别通道组的硬件中断OB(默认情况下,将由OB40来处理所有的硬件中断)。

借助于CP和FM,可使用其各带软件来分配这些参数。

可使用STEP 7选择各个硬件中断OB的优先级。

了解硬件中断OB的操作

在模块触发硬件中断后,操作系统将标识插槽以及相应的硬件中断OB。如果此OB的优先级高于当前激活的优先级,则将启动该OB。当执行完此硬件中断OB后,将发送通道指定的确认。

如果在对硬件中断进行标识和确认的这段时间内,在同一模块中发生了触发硬件中断的另一事件,则应用以下规则:

如果该事件发生在先前触发硬件中断的通道中,则新中断丢失。在下图中,将根据数字输入模块的通道实例对此进行说明。触发事件是上升沿。硬件中断OB是OB40。

编辑:jq

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

    关注

    4974

    文章

    12250

    浏览量

    454853
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10437

    浏览量

    206527
  • CP
    CP
    +关注

    关注

    3

    文章

    34

    浏览量

    25528

原文标题:OB85编程引起CPU停机

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

收藏 人收藏

    评论

    相关推荐

    STM8S活跃停机模式使用红外中断唤醒无法正确识别中断的原因?

    之间的时间计数,正常的话前导码13.5ms,逻辑1 2.25ms,逻辑0 1.12ms 问题描述: 未进入活跃停机之前,红外中断触发正常,如图接收32bit红外码(忽略第一个数据),码值
    发表于 04-15 07:46

    J-Link OB-nRF5340-NordicSemi

    J-Link OB-nRF5340支持3SWD和2虚拟串口。 固件来自jlinkv794。由于Firmwares文件夹下的固件加密,我不得不逆向jlink,现在我可以做到解密所有固件。 成品演示: 奇怪的是刷入后自带SN。
    发表于 03-18 19:14

    优雅停机是什么?SpringBoot+Nacos+k8s实现优雅停机

    优雅停机是什么?网上说的优雅下线、无损下线,都是一个意思。
    的头像 发表于 02-20 10:00 498次阅读
    优雅<b class='flag-5'>停机</b>是什么?SpringBoot+Nacos+k8s实现优雅<b class='flag-5'>停机</b>

    OB2283MP电流模式PWM控制器-ob2283芯片中文资料

    供应OB2283MP电流模式PWM控制器,提供ob2283芯片中文资料规格参数等,更多产品手册、应用料资请向骊微电子申请。>>
    发表于 12-25 16:52 4次下载

    使用OB2736V+OB2613NPD20V2.25A OB2736VIEP+OB2613 N的45W USB PD模块

    电子发烧友网站提供《使用OB2736V+OB2613NPD20V2.25A OB2736VIEP+OB2613 N的45W USB PD模块.pdf》资料免费下载
    发表于 12-22 10:00 2次下载

    西门子博途:如何创建新OB

    大多数OB类型都可以创建多个OB(数量取决于CPU)。在这样做的过程中,123的数字
    发表于 12-12 11:20 277次阅读
    西门子博途:如何创建新<b class='flag-5'>OB</b>

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

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

    Tokio 模块的优雅停机机制

    在进行高并发、网络编程时,优雅停机是一个非常重要的问题。在 Rust 语言中,Tokio 是一个非常流行的异步编程框架,它提供了一些优雅停机的机制,本文将围绕 Tokio 模块的优雅
    的头像 发表于 09-19 15:26 298次阅读

    UCID在芯片是用户通过编程或下载的吗?

    可以UCID(惟的公司ID)在芯片是用户通过编程或下载吗?
    发表于 08-28 06:20

    基于S7-300和S7-1200 CPU的Profinet通信

    CPU 315-2 PN/DP 作为控制器,需要调用 OB83 和 OB86(防止控制器无法正常连接作为 IO 设备的 S7-1200 时,出现的停机现象),如图 15 所示。
    发表于 07-18 12:28 1020次阅读
    基于S7-300和S7-1200 <b class='flag-5'>CPU</b>的Profinet通信

    浅谈西门子暖启动、热启动、冷启动

    类似的中断组织块还有OB80;处理时间故障 OB82;诊断中断OB83 、OB84 、OB85OB
    发表于 07-10 10:15 513次阅读

    OB1203 数据表

    OB1203 数据表
    发表于 06-30 19:54 0次下载
    <b class='flag-5'>OB</b>1203 数据表

    多台ATtiny85/13A编程器开源分享

    电子发烧友网站提供《多台ATtiny85/13A编程器开源分享.zip》资料免费下载
    发表于 06-29 10:26 0次下载
    多台ATtiny<b class='flag-5'>85</b>/13A<b class='flag-5'>编程</b>器开源分享

    PLC编程OB块、FC块、FB块、DB块的使用原则

    西门子新加块中包含组织块(OB)、函数块(FB)、函数(FC)、数据块(DB)
    发表于 05-24 15:01 9853次阅读
    PLC<b class='flag-5'>编程</b>中<b class='flag-5'>OB</b>块、FC块、FB块、DB块的使用原则

    S7-300 PLC:I/O 访问故障组织块

    OB122 程序在出现 I/O 访问错误时被调用,例如当 CPU 程序访问一未定义的I/O 地址,CPU 会出现 I/O 访问错误,CPU 会调用
    发表于 05-05 06:55 2498次阅读
    S7-300 PLC:I/O 访问故障组织块