全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 工业控制 >

硬件中断OB的功能

时间:2023-02-12 11:44

人气:

作者:admin

标签: HSC  计数器  硬件中断  CPU 

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

硬件中断 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 | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信