S7-1200 循环中断 OB30 的使用方法及示例程序 本文将详细介绍 S7-1200 循环中断 OB30 的使用方法和示例程序。循环中断是 S7-1200 中的一种特殊的组织块类型,它可以按设定的时间间隔循环执行一定的任务。 循环中断的类型 循环中断组织块的类型有两种:OB30-OB38 和 OB123-OB32767,这些组织块的优先级越高,执行的优先级越高。 循环中断的使用方法 循环中断的使用方法是通过在组织块的属性中设定时间间隔,然后在用户程序中编写相应的代码。在组织块的属性中,可以设定循环中断的时间间隔,例如 OB35 的默认时间间隔为 100ms。 循环中断的示例程序 在示例程序中,我们将创建一个新的项目,添加一个循环中断 OB,默认的编号为 30,默认的循环时间为 100ms。在 OB30 中,我们编写了一个自加 1 的程序,然后编写了一段程序控制指示灯的闪断。在 OB1 中,我们对 MW10 做了一个初始化的程序。 使用 SET_CINT 指令 在示例程序中,我们使用了 SET_CINT 指令来调用 OB30,其中 OB_NR 管脚为循环中断的编号,CYCLE 为循环时间,单位:us,PHASE 为避免中断之间冲突的相移时间,单位:us。 使用 QRY_CINT 指令 在示例程序中,我们使用了 QRY_CINT 指令来查询中断的执行状态,其中 OB_NR 管脚为需要查询的 OB 的编号;RET_VAL 为状态返回值;CYCLE 为查询结果的时间间隔,单位:us;PHASE 为查询结果的相移时间,单位:us;STATUS 为循环中断的状态。 监控程序的执行状态 在示例程序中,我们创建了一个监控表,来监控程序的执行状态。在监控表中,我们可以看到 MW10 的值以每隔 1S 的时间间隔自加 1。 修改循环时间 在示例程序中,我们可以通过修改 SET_CINT 指令中的 CYCLE 管脚的值来修改循环时间。例如,我们可以将 CYCLE 的值修改为 5S,然后重新编译下载到 CPU 中。 使用循环中断时要注意的问题 在使用循环中断时,要注意以下几点: * 循环中断数量 <= 4; * 循环间隔时间 1~60000ms,通过指令“SET_CINT”设置错误的时间将报错16#8091; * CPU 运行期间,可通过“SET_CINT”指令设置循环中断间隔时间、相移时间; * 如果“SET_CINT”指令的使能端 EN 为脉冲信号触发;则 CPU 的操作模式从 STOP 切换到 RUN 时执行一次,包括启动模式处于 RUN 模式时上电和执行 STOP 到 RUN 命令切换,循环中断间隔时间将复位为 OB 块属性中设置的数值; * 如果循环中断执行时间大于间隔时间,将会导致时间错误。
- 粉丝: 7181
- 资源: 3498
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 英语日常词汇分类.doc
- 英语动词单三变化规则与名词单数变复数口诀.doc
- 幼教、少儿创新教育课程《快乐记忆》系列课程市场运营方案报告.doc
- 在阳光中奔跑[800字]作文.doc
- 语文必修三理解性默写填空.doc
- 中考语文答题套路(人版).doc
- 中学课程设置方案.doc
- 家庭教育及亲子沟通公益讲座讲稿.doc
- 综合实践我国象棋教学案.doc
- 不安全化学品储罐区隐患排查表.doc
- 教师行为规范心得体会.doc
- 建设工程合同模板管理试题A卷与答案.doc
- 科教版八年级物理(上册)期末测试题及答案.doc
- 牛津高中英语模块一至模块十一短语.doc
- 鲁迅的儿童教育思想-王敏.doc
- H3C SecPath F1000F5000FW插卡vFW系列防火墙 命令参考(V7)(R8X60-R9X60-E8X60-E9X60-E1185)-6W614
- 1
- 2
前往页