打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
详解 | 西门子1200延时中断功能OB块的使用
1. 延时中断OB块的功能
简单来说延时中断OB块就是,延时中断 OB块 在经过一段指定的时间延时后,才执行相应的 OB 块中的程序。
S7-1200 最多支持 4 个延时中断 OB块 ,通过调用“SRT_DINT”指令启动延时中断 OB块 。在使用“SRT_DINT”指令编程时,需要提供 OB 号、延时时间,当到达设定的延时时间,操作系统将启动相应的延时中断 OB块 ;尚未启动的延时中断 OB块 也可以通过“CAN_DINT”指令取消执行,同时还可以使用“QRY_DINT”指令查询延时中断的状态。延时中断 OB 的编号必须为20~23,或大于、等于123,比如OB20。
2.调用延时中断OB块的指令
指令名称
功能说明
SRT_DINT
当指令的使能输入 EN 上生成下降沿时,开始延时时间,超出参数 DTIME 中指定的延时时间之后,执行相应的延时OB 。
CAN_DINT
使用该指令取消已启动的延时中断(由 OB_NR 参数指定
OB 编号)。
QRY_DINT
使用该指令查询延时中断的状态。
3.延时中断 OB 块的执行过程
(1)调用“SRT_DINT”指令启动延时中断;
(2)当到达设定的延时时间,操作系统将启动相应的延时中断 OB块;
(3)图例中,延时中断 OB20 中断程序循环 OB1 优先执行;
(4)当启动延时中断后,在延时时间到达之前,调用“CAN_DINT”指令可取消已启动的延时中断。
4. 延时中断OB块使用示例
例如:当I0.1由1变成0,延时6秒后启动延时中断OB20,并输出Q0.0置位。
(1)按如下步骤创建延时中断 OB20 。如图1
图1
(2)打开 OB20 ,在 OB20 中编程,当延时中断执行时,置位 Q0.0。如图2
图2
(3)在 OB1 中编程调用“SRT_DINT”指令启动延时中断;调用“CAN_DINT”指令取消延时中断;调用“QRY_DINT”指令查询中断状态。在“指令->扩展指令->中断->延时中断”中可以找相关指令,如图3
图3
(4)调用延时中断指令。如图4
“SRT_DINT”指令参数说明:
EN
:=%I0.0
//当 EN 端出现下降沿时,延时计时开始
OB_NR
:=20
//延时时间后要执行的 OB 的编号
DTIME
:=T#5S
//延时时间(1 至 60000 ms)
SIGN
:=W#16#0001
//注:调用时必须为此参数赋值。但是,该值没有任何意义
RET_VAL
:=%MW0
//状态返回值(详细信息请查看在线帮助)
“CAN_DINT”指令参数说明:
EN
:=%I0.1
//当 EN 端出现上升沿时,取消延时中断
OB_NR
:=20
//需要取消的 OB 的编号
RET_VAL
:=%MW2
//状态返回值(详细信息请查看在线帮助)
“QRY_DINT”指令参数说明:
OB_NR
:=20
//需要查询状态的 OB 编号
RET_VAL
:=%MW4
//状态返回值(详细信息请查看S7-1200系统手册的指令参数帮助)
STATUS
:=%MW6
//延时中断的状态(详细信息请查看在线帮助)
图4
(5) 测试结果:
当 I0.1由1变0时,延时6s后延时中断执行,可看到 CPU 的输出 Q0.0 指示灯亮;
当 I0.1由1变0时,在延时的6s到达之前,如果 I0.2由0变1则取消延时中断,OB20 将不会执行。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
S7-1200 1500 指令说明示例QRY_TINT: 查询时间中断的状态
一张表总览西门子PLC硬件数据类型
S7-300全教程内容
西门子S7
【智】S7-200SMART运动控制指令详解 带你启程!
S7-1200与S7-300 CPU 集成 PN 口的ISO on TCP通信
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服