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

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

3天内不再提示

硬件中断OB的功能

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

硬件中断 OB

● 硬件中断 OB 的功能

硬件中断 OB 在发生相关硬件事件时执行,可以快速的响应并执行硬件中断 OB 中的程序(例如立即停止某些关键设备)。

硬件中断事件包括内置数字输入端的上升沿和下降沿事件以及 HSC(高速计数器)事件。

当发生硬件中断事件,硬件中断 OB 将中断正常的循环程序而优先执行。

S7-1200可以在硬件配置的属性中预先定义硬件中断事件,一个硬件中断事件只允许对应一个硬件中断 OB ,而一个硬件中断 OB 可以分配给多个硬件中断事件。

CPU 运行期间,可使用“ATTACH”附加指令和“DETACH”分离指令对中断事件重新分配。

硬件中断 OB 的编号必须为40~47,或大于、等于123。

● 与硬件中断 OB 相关的指令功能

指令名称 功能说明
ATTACH 将硬件中断事件和硬件中断 OB 进行关联。
DETACH 将硬件中断事件和硬件中断 OB 进行分离。

● 硬件中断 OB 的使用示例:

例如:当硬件输入 I0.0 上升沿时,触发硬件中断 OB40(执行累加程序),当硬件输入 I0.1 上升沿时,触发硬件中断 OB41(执行递减程序),硬件中断事件和硬件中断 OB 关系如图1。

8a4fa3b8-aa7b-11ed-bfe3-dac502259ad0.jpg

图1. 硬件中断关系

1、按如下步骤创建硬件中断 OB40 ,同样的方法创建 OB41 。如图2。

8a789c3c-aa7b-11ed-bfe3-dac502259ad0.jpg

图2. 创建硬件中断 OB40

2、OB40 中编程如下图,当硬件输入 I0.0 上升沿时,触发硬件中断执行 MW200 加1。如图3。

8ad5c498-aa7b-11ed-bfe3-dac502259ad0.jpg

图3. OB 40 中编程

3、OB41 中编程如下图,当硬件输入 I0.1 上升沿时,触发硬件中断执行 MW200 减1。如图4。

8ae547d8-aa7b-11ed-bfe3-dac502259ad0.jpg

图4. OB41 中编程

4、在 CPU 属性窗口中关联硬件中断事件,如下图所示,分别将 I0.0 和 OB40 关联,I0.1 和 OB41 关联。如图5、6。

8af632dc-aa7b-11ed-bfe3-dac502259ad0.jpg

图5. I0.0 和 OB40 关联

8b11469e-aa7b-11ed-bfe3-dac502259ad0.jpg

图6. I0.1 和 OB41 关联

5、测试结果:程序下载后,在监控表中查看 MW200 的数据。

① 当 I0.0 接通,触发中断 OB40 ,MW200 的数值累加1。结果如图7。

8b22b1c2-aa7b-11ed-bfe3-dac502259ad0.jpg

图7. I0.0 硬件中断结果

② 当 I0.1 接通,触发中断 OB41 ,MW200 的数值递减1。结果如图8。

8b2feab8-aa7b-11ed-bfe3-dac502259ad0.jpg

图8. I0.1 硬件中断结果

6、如果需要在 CPU 运行期间对中断事件重新分配,可通过“ATTACH”附加指令实现,OB1 中编程步骤如下图。如图9。

8b61c7ea-aa7b-11ed-bfe3-dac502259ad0.jpg

图9. “ATTACH”指令

① 如果“ATTACH”附加指令的引脚“ADD”为 FALSE,EVENT 中的事件将替换 OB40 中的原有事件。

即硬件中断事件 I0.1“上升沿1”事件将替换原来 OB40 中关联的 I0.0“上升沿0”事件,见下图10:

8b914da8-aa7b-11ed-bfe3-dac502259ad0.jpg

图10. 硬件中断关系

② 如果“ATTACH”附加指令的引脚“ADD”为 TRUE,EVENT 中的事件将添加至 OB40 ,OB40 在 I0.0“上升沿0”和 I0.1“上升沿1”事件触发时均会执行,见下图11:

8bb7417a-aa7b-11ed-bfe3-dac502259ad0.jpg

图11. 硬件中断关系

“ATTACH”指令参数说明:

EN :=%M100.0 //当 EN 端出现上升沿时,使能该指令
OB_NR :=40 //需要关联的 OB 的编号
EVENT :=“上升沿1” //需要关联的硬件中断事件名称
ADD :=FALSE //ADD=FALSE(默认值):该事件将取代先前为此 OB 分配的所有事件。ADD=TRUE:该事件将添加到此 OB 中。
RET_VAL :=%MW0 //状态返回值(详细信息请查看在线帮助)

7、如果需要在 CPU 运行期间对中断事件进行分离,可通过“DETACH”指令实现,OB 1 中编程如图12。

8bd81daa-aa7b-11ed-bfe3-dac502259ad0.jpg

图12. “DETACH”指令

当 M100.2 置1使能指令 DETACH 后,硬件中断事件和硬件中断 OB 关系如下图。如图13。

8bf2f224-aa7b-11ed-bfe3-dac502259ad0.jpg

图13. 硬件中断关系

“DETACH”指令参数说明:

EN :=%M100.2 //当 EN 端出现上升沿时,使能该指令
OB_NR :=40 //需要分离的 OB 的编号
EVENT :=“上升沿0” //需要分离的硬件中断事件名称
RET_VAL :=%MW2 //状态返回值(详细信息请查看在线帮助)

常见问题:

使用硬件中断需要注意什么?

1、一个硬件中断事件只能分配给一个硬件中断 OB ,而一个硬件中断 OB 可以分配给多个硬件中断事件;

2、用户程序中最多可使用50个互相独立的硬件中断 OB ;数字量输入和高速计数器均可触发硬件中断;

3、中断 OB 和中断事件在硬件组态中定义;在 CPU 运行时可通过“ATTACH”和“DETACH”指令进行中断事件重新分配;

4、如果“ATTACH”指令的使能端 EN 为脉冲信号触发,在使用“ATTACH”指令进行中断事件重新分配后;若 CPU 的操作模式从 STOP 切换到 RUN 时执行一次,包括启动模式处于 RUN 模式时上电和执行 STOP 到 RUN 命令切换,则硬件中断 OB 和硬件中断事件将恢复为在硬件组态中定义的分配关系;

5、如果一个中断事件发生,在该中断 OB 执行期间,同一个中断事件再次发生,则新发生的中断事件丢失;

6、如果一个中断事件发生,在该中断 OB 执行期间,又发生多个不同的中断事件中,则新发生的中断事件进入排队,等待第一个中断 OB 执行完毕后依次执行。






审核编辑:刘清

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

    关注

    68

    文章

    10794

    浏览量

    210659
  • 计数器
    +关注

    关注

    32

    文章

    2249

    浏览量

    94228
  • HSC
    HSC
    +关注

    关注

    0

    文章

    8

    浏览量

    8330
  • 硬件中断
    +关注

    关注

    0

    文章

    11

    浏览量

    6830
  • S7-1200
    +关注

    关注

    11

    文章

    331

    浏览量

    17850

原文标题:硬件中断 OB

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

收藏 人收藏

    评论

    相关推荐

    Windows环境下硬件中断的性能分析

    分析了32 位 Windows 系统实现硬件中断服务的内部机理和系统对中断信号的响应性能,通过比较多种测试环境下得到的中断延时,讨论了中断
    发表于 06-27 10:57 26次下载

    GD32硬件中断错误寄存器及相应位功能

    本文描述的是GD32硬件中断错误的所有寄存器以及相应的位功能
    发表于 08-28 15:32 10次下载

    Step7 OB组织块介绍和使用技巧

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

    机架或站故障OB86的功能及相关信息

    当CPU 检测到分布式机架或站出现故障或发生通信丢失时,可以编程访问机架或站故障 OB86 的启动信息判断触发中断的站并作出响应。
    的头像 发表于 03-14 17:00 4990次阅读

    插拔中断OB83的功能和相关应用

    如果移除或插入了已组态且未禁用的分布式 I/O 模块或子模块(PROFIBUS、PROFINET 和 AS-i),编程访问 OB83 的启动信息可以判断触发 OB83 的模块并作出响应。
    的头像 发表于 03-14 17:08 3139次阅读

    OB优先级和运行时特性

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

    插拔中断OB83的使用示例

    如果移除或插入了已组态且未禁用的分布式 I/O 模块或子模块(PROFIBUS、PROFINET 和 AS-i),编程访问 OB83 的启动信息可以判断触发 OB83 的模块并作出响应。
    的头像 发表于 01-29 11:35 1829次阅读

    优先级错误组织块OB85介绍

    存在中断 OB的启动事件,但由于还没有将该 OB下载到 CPU而不能执行该OB
    的头像 发表于 02-12 10:39 3361次阅读

    ATTACH:将OB附加到中断事件

    可以使用指令“ATTACH”为硬件中断事件指定一个组织块 (OB)。
    的头像 发表于 07-20 10:42 1730次阅读
    ATTACH:将<b class='flag-5'>OB</b>附加到<b class='flag-5'>中断</b>事件

    SIMATIC S7-1500 PLC硬件中断组织块及其应用介绍

    硬件中断组织块(如OB40)用于快速响应信号模块(SM)、通信处理器(CP)和功能模块(FM)的信号变化。
    发表于 08-21 09:25 2409次阅读
    SIMATIC S7-1500 PLC<b class='flag-5'>硬件</b><b class='flag-5'>中断</b>组织块及其应用介绍

    硬件中断事件的示例

    根据硬件中断模块触发的示例来说明 S7-1500 CPU 中面向事件的程序执行的功能原理。
    的头像 发表于 08-29 09:45 1023次阅读
    <b class='flag-5'>硬件</b><b class='flag-5'>中断</b>事件的示例

    时间中断函数的编程示例

    在以下示例中,将读取延时中断 OB (OB20) 的状态,设置新的延时并启动或禁用 OB20。
    的头像 发表于 09-01 09:47 1027次阅读
    时间<b class='flag-5'>中断</b>函数的编程示例

    软件中断硬件中断的区别

    的理论知识。 硬件中断硬件中断是由某些硬件设备引起的,例如启动 I/O 的请求、硬件故障或类
    的头像 发表于 11-07 16:52 978次阅读
    软件<b class='flag-5'>中断</b>与<b class='flag-5'>硬件</b><b class='flag-5'>中断</b>的区别

    西门子PLC中OB块的功能详解

    西门子PLC(Programmable Logic Controller)作为工业自动化领域的核心设备,其内部功能强大、应用广泛。在西门子PLC中,OB块(Organization Block,组织
    的头像 发表于 06-15 11:27 3618次阅读

    西门子博途中循环中断功能的编程示例

    在以下示例中,将读取循环中断 OB (OB31) 的相位和循环时间,并设置一个新的循环时间。
    的头像 发表于 10-28 10:11 200次阅读
    西门子博途中循环<b class='flag-5'>中断</b><b class='flag-5'>功能</b>的编程示例