本章介绍了循环中断OB的功能、与循环中断OB相关的指令、执行过程以及举例说明的内容。
循环中断 OB
● 循环中断 OB 的功能
循环中断 OB 在经过一段固定的时间间隔后执行相应的中断 OB 中的程序。
S7-1500 最多支持 20 个循环中断 OB ,在创建循环中断 OB 时设定固定的间隔扫描时间。在 CPU 运行期间,可以使用“SET_CINT”指令重新设置循环中断的间隔扫描时间、相移时间;同时还可以使用“QRY_CINT”指令查询循环中断的状态。循环中断 OB 的编号必须为30~38,或大于、等于123。
● 与循环中断 OB 相关的指令功能
指令名称 | 功能说明 |
SET_CINT | 设置指定的中断 OB 的间隔扫描时间、相移时间,以开始新的循环中断程序扫描过程。 |
QRY_CINT | 使用该指令查询循环中断的状态。 |
● 循环中断 OB 的执行过程,请参见下图1:
1、PLC 启动后开始计时;
2、当到达固定的时间间隔后,操作系统将启动相应的循环中断 OB ;
3、图例中,到达固定的时间间隔后,循环中断 OB30 中断程序循环 OB1 优先执行。
循环中断的执行过程请参考下图:
图1. 循环中断 OB 执行图例
● 循环中断 OB 的使用示例:
例如:运用循环中断,使 Q0.0 500ms输出为1,500ms输出为0,即实现周期为1s的方波输出。具体实现过程如下:
1、按如下步骤创建循环中断 OB30 。如图2。
图2. 创建循环中断 OB30
2、OB30 中编程如下图,当循环中断执行时,Q0.0 以方波形式输出。如图3。