『7x24小时有问必答』
求分享
求收藏
求点击
求在看

关于公众号

         壹轴自动化专注于电气自动化(西门子全系列、Codesys平台)、机械设计(基础知识及精密传动机械)、工业机器人开发(ROS2、Moveit2、ROS-Industrial)这三大方向进行高端工业自动化教育培训与全栈式技术分享,教学内容全网唯一,同时博主是一名资深的全栈开发工程师,博主简介可点击链接:关于一名自动化领域博主的简介查看。

  
  
  
  
wode

wode
引言
●循环中断 OB30
循环中断OB30
1
循环中断 OB 的功能
循环中断 OB 在经过一段固定的时间间隔后执行相应的中断 OB 中的程序。
S7-1200 最多支持 4 个循环中断 OB ,在创建循环中断 OB 时设定固定的间隔扫描时间。在 CPU 运行期间,可以使用“SET_CINT”指令重新设置循环中断的间隔扫描时间、相移时间;同时还可以使用“QRY_CINT”指令查询循环中断的状态。循环中断 OB 的编号必须为30~38,或大于、等于123。
2
与循环中断 OB 相关的指令功能
以上指令的相关详细信息,请查看 S7-1200 系统手册,第 9.5.2 章:循环中断。
3
循环中断执行过程
如图 1 所示:
1、PLC 启动后开始计时;
2、当到达固定的时间间隔后,操作系统将启动相应的循环中断 OB;
3、图例中,到达固定的时间间隔后,循环中断 OB30 中断程序循环 OB1 优先执行。
循环中断的执行过程请参考下图:
图 1. 循环中断 OB 执行图例
4
循环中断 OB 的使用示例
例如:运用循环中断,使 Q0.0 500ms 输出为 1,500ms 输出为 0,即实现周期为 1s 的方波输出。具体实现过程如下:
1、按如下步骤创建循环中断 OB30。如图 2 所示。
图 2. 创建循环中断 OB30
2、OB30 中编程,当循环中断执行时,Q0.0 以方波形式输出。如图 3 所示。
图 3. OB30 中编程
3、在 OB1 中编程调用“SET_CINT”指令,可以重新设置循环中断时间,例如:CYCLE=1s(即周期为2s);调用“QRY_CINT”指令可以查询中断状态。在“指令->扩展指令->中断->循环中断”中可以找相关指令。如图 4 所示。
图 4. 调用循环中断指令
OB1 中的编程如图 5 所示:
图 5. OB1 中的编程
“SET_CINT”指令参数说明:
“QRY_CINT”指令参数说明:
4、测试结果:程序下载后,可看到 CPU 的输出 Q0.0 指示灯 0.5s 亮,0.5s 灭交替切换;当 M100.0 由 0 变 1 时,通过“SET_CINT”将循环间隔时间设置为 1s,这时,可看到 CPU 的输出 Q0.0 指示灯 1s 亮,1s 灭交替切换。
5
相移时间(Phase shift)功能
当使用多个时间间隔相同的循环中断事件时,设置相移时间可使时间间隔相同的循环中断事彼此错开一定的相移时间执行。请通过如下两幅图例理解相移时间的概念。
如图 6 所示,没有设置相移时间,以相同的时间间隔调用两个 OB ,则低优先级的 OB 块将不能以固定间隔时间 t 执行;何时执行受高优先级的 OB 执行时间影响。
图 6. 没有相移的循环 OB 调用
如图 7 所示,低优先级的 OB 块可以以固定间隔时间 t 执行;相移时间应大于较高优先级 OB 块的执行时间。
图 7. 有相移的循环 OB 调用
小结:如果以相同的时间间隔调用优先级较高和优先级较低的循环中断 OB ,则只有在优先级较高的 OB 完成处理后才会执行优先级较低的 OB。低优先级 OB 的执行起始时间会根据优先级较高的 OB 的处理时间而延迟,如果希望以固定的时间间隔来执行优先级较低的 OB ,则优先级较低的 OB 需要设置相移时间,且相移时间应大于优先级较高的 OB 的执行时间。
如何设置相移时间?
如图 8 所示。(请注意,如果程序中调用“SET_CINT”指令设置相移时间,则以程序中设定的时间为准)
图 8. 相移的设置步骤
6
常见问题
使用循环中断需要注意什么?
循环中断数量 <= 4;循环间隔时间 1~60000ms,通过指令“SET_CINT”设置错误的时间将报错 168091;CPU 运行期间,可通过“SET_CINT”指令设置循环中断间隔时间、 相移时间;如果“SET_CINT”指令的使能端 EN 为脉冲信号触发;则 CPU 的操作模式从 STOP 切换到 RUN 时执行一次,包括启动模式处于 RUN 模式时上电和执行 STOP 到 RUN 命令切换,循环中断间隔时间将复位为 OB 块属性中设置的数值;如果循环中断执行时间大于间隔时间,将会导致时间错误。

ABOUT壹周的技术栈
     
公众号更新内容(自动化:西门子全系列,Codesys平台或其他Codesys相关厂商的产品,内容包括(PLC,变频器,伺服驱动器,总线协议,传感器,以及各类电气产品)。机械设计(传动机构及精密运动机械)、上位机软件开发(Qt)、机器人:ROS2(通信框架)、ROS-Control(控制框架)、Moveit2(运动规划框架)、ROS-Industrial(工业版,适配机器人应用)机器人全栈开发相关技术))

关注我们
            我们主要围绕电气自动化(Codesys平台,西门子全系列)、上位机软件开发Qt、机械设计(基础知识及精密机械)、工业机器人开发(ROS2、ROS-Control、Moveit2、ROS-Industrial)这四大方向进行工业自动化全栈式技术分享。        
完

点分享
点收藏
点点赞
点在看

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码