当前课程知识点:电气控制技术与PLC > 第6章 功能指令的应用 > 6.7 程序控制指令:跳转指令、循环指令 > 程序控制指令:跳转指令、循环指令
大家好
之前课程我们学习了
功能指令中的数据处理指令
和数学运算指令
后面将会一起学习程序控制指令
今天我们先来看看
程序控制指令中的跳转指令和循环指令
我们会分别学习
跳转与标号指令
及其应用
和循环指令及其应用
首先我们来看看跳转与标号指令
大家知道
很多控制过程在执行时
并不一定是完全线性的
可能中间会存在很多分支过程
需要去执行
但是又不想打乱
之前完整的控制流程
这如何实现呢
这就需要加入跳转指令
跳转指令使PLC的程序
灵活性和智能性大大提高
可以使主机根据不同条件的判断
选择不同的程序段执行
表格为跳转指令的指令格式与功能说明
跳转指令的实现
是由跳转指令和标号指令
配合实现的
操作数n的范围为0-255
从右图我们可以看到
如果跳转条件I0.0为高电平
则执行跳转指令JMP1
程序直接跳转到标号指示的位置LBL1
JMP1和LBL1中间的程序不执行
跳转指令的梯形图和语句表如图所示
功能为
对程序中的标号n
执行分支操作
当输入端逻辑为1时
程序跳转到同一程序中的标号n处执行
标号指令的梯形图和语句表如图所示
用于标记跳转目的地n的具体位置
JMP线圈通电时
跳转条件满足
跳转指令使程序流程跳转到对应的标号处
JMP与LBL
指令的操作数n为常数0~255
只能在同一个程序块中跳转
大家看看右图所示程序
当I0.3的常开触点断开时
跳转条件不满足
所以会顺序执行下面的指令
当I0.3的常开触点接通时
执行跳转指令
跳转到标号LBL 2处
不执行第二个程序段
使用跳转指令
大家要注意
1 跳转指令与标号指令必须成对出现
且允许多条跳转指令使用同一标号
但不允许一个跳转指令对应两个标号
即在同一程序中
不允许存在两个相同的标号
2 跳转指令只能在同一程序块中使用
如果主程序
同一子程序或同一中断程序
不能在不同的程序块中相互跳转
3 在SCR指令中
JMP和LBL只能在同一个SCR段中使用
4 一般将LBL放在JMP后面
减少程序的执行时间
跳转指令的执行会对一些元器件产生影响
当程序在各定时器正在定时时跳转
100ms定时器停止定时
当前值保持不变
10ms和1ms定时器继续定时
定时时间到时
跳转区外的触点也会动作
停止跳转时100ms定时器继续定时
右图程序中
如果发生跳转
则Q M S C等元件器的位
保持跳转发生前的状态
计数器C停止计数
当前值存储器保持跳转前的计数值
右图程序中第 6段
如果未跳转
没有执行跳转指令时
INC_W指令使VW2每扫描周期加1
当跳转指令执行时
INC_W指令被跳过
VW2中的值保持不变
我们再来看看跳转与标号指令的应用
首先我们来看设计任务一
根据数值判断跳转方式
要求用增减计数器进行计数
如果当前值小于500
则程序按原顺序执行
若当前值超过500
则跳转到从标号10开始的程序执行
我们可以设计程序如右图所示
I0.0 和I0.1输入秒脉冲
当I0.0有秒脉冲时
增减计数器C30
当前值加1
当I0.1有秒脉冲时
增减计数器C30
当前值减1
当C30的当前值大于等于500时
则执行跳转指令
并跳转到标号10开始的程序执行
如果C30当前值小于500
则程序按原顺序执行
我们来看看设计任务二
电动机手动
自动选择控制程序设计
控制要求为
某台设备具有手动
和自动两种操作方式
SA是操作方式选择开关
当SA处于断开状态时
选择手动操作方式
当SA处于接通方式时
选择自动操作方式
不同操作方式进程如下
手动操作方式
按启动按钮SB2
电动机运转
按停止按钮SB1
电动机停止
自动操作方式
按启动按钮SB2
电动机连续运转1min后
自动停机
按停止按钮SB1
电动机立即停机
我们可以确定输入输出
并分配I/O地址
如右图所示
四个输入
地址分别为I0.2 I0.1 I0.3 I0.0
一个输出
地址为Q0.0
根据控制要求
当操作方式选择开关闭合时
I0.3的常开触点闭合
跳过手动程序段不执行
I0.3常闭触点断开
选择自动方式的程序段执行
而操作方式选择开关断开时的情况与此相反
跳过自动方式程序段不执行
选择手动方式的程序段执行
程序设计如右图所示
I0.3的常开触点闭合
执行JMP 1指令
程序跳到程序段4执行自动程序
I0.3的常开触点断开
不执行JMP 1指令
而执行手动程序
I0.3的常闭触点闭合
执行JMP 2指令
跳到程段序段6结束
在控制系统中
经常遇到需要重复执行若干次相同任务的情况
这时可以使用循环指令
下面我们来学习
程序控制指令中的循环指令
循环指令的梯形图
与语句表格式如图所示
均包含两部分
FOR 标记循环体的开始
共有4个输入为
EN INDX INIT FINAL
输出为ENO
NEXT 标记循环体的结束
无操作数
两者成对出现
包括中间的程序
表示一个循环
循环指令有单重循环和多重循环
对于单重循环
驱动FOR指令的逻辑条件满足时
反复执行FOR与NEXT之间的指令
执行到NEXT指令时
INDX的值加1
如果INDX的值
小于等于结束值FINAL
返回去执行FOR与NEXT之间的指令
如果INDX的值大于结束值
循环终止
对于多重循环
最多可以嵌套8层
右图所示程序中
在I0.6的上升沿
执行10次外层循环
如果I0.7为ON
每执行一次外层循环
将执行8次内层循环
执行完后
VW10的值增加80
最后
我们来看看循环指令的应用
控制任务为
用PLC实现闪光频率的控制
要求根据选择的按钮
闪光灯以相应频率闪烁
若按下慢闪按钮
闪光灯以4s周期闪烁
若按下中闪按钮
闪光灯以2s周期闪烁
若按下快闪按钮
闪光灯以1s周期闪烁
无论何时按下停止按钮
闪光灯熄灭
我们为系统分配地址为
慢闪按钮SB1
对应I0.0
中闪按钮SB2
对应I0.1
快闪按钮SB3
对应I0.2
停止按钮SB4
对应I0.4
闪光灯HL
对应Q0.0
根据地址分配
我们可以绘制
闪光频率控制硬件原理图如右图所示
打开SMART PLC编程软件
我们可以创建工程项目
并编辑符号表
如图所示
根据控制要求
我们可以编写
控制程序的主程序如图所示
包括设置慢闪标志位
中闪标志位
快闪标志位
系统复位
以及慢闪控制和中闪控制的循环主体
慢闪循环定时
可以编写在子程序0 中
中闪循环定时可以编写在子程序1中
最后进行程序调试即可
今天主要学习了
程序控制指令中的跳转指令和循环指令
大家课后可以进行编程巩固
本讲到此结束
谢谢大家
期待下次课程再见
-1.1 低压电器简介
--低压电器简介
-1.2 低压开关电器
--低压开关电器
-1.3 主令电器
--主令电器
-1.4 接触器
--接触器
-1.5 熔断器
--熔断器
-1.6 继电器(一)热继电器和速度继电器
-1.7 继电器(二)时间继电器
-小测验
-2.1 三相异步电动机的直接起动控制
-2.2 三相异步电动机点动控制和长动控制
-2.3 三相异步电动机降压起动控制(一)
-2.4 三相异步电动机降压起动控制(二 )
-2.5 三相异步电动机的多点控制和顺序控制
-2.6 三相异步电动机的调速控制
-2.7 三相异步电动机的制动控制(一)
-2.8 三相异步电动机的制动控制(二)
-2.9 三相异步电动机正反转控制(一)
-2.10 三相异步电动机正反转控制(二)
-2.11 电气控制线路的设计方法
-小测验
-3.1 电气控制电路图的绘制(一)
-3.2 电气控制电路图的绘制(二)
-3.3 电气控制电路图的绘制(三)
-3.4 电气控制电路的设计方法 (一)
-3.5 电气控制电路的设计方法 (二)
-小测验
-4.1 认识PLC
--认识PLC
-4.2 PLC组成及工作原理
-4.3 S7-200 SMART PLC硬件介绍(上)
-4.4 S7-200 SMART PLC硬件介绍(下)
-4.5 STEP 7-Micro/WIN SMART编程软件(上)
--STEP 7-MicroWIN SMART编程软件(上)
-4.6 STEP 7-Micro/WIN SMART编程软件(下)
--STEP 7-MicroWIN SMART编程软件(下)
-小测验
-5.1 PLC编程语言与程序结构
-5.2 指令基础
--指令基础
-5.3 位逻辑指令
--位逻辑指令
-5.4 PLC编程规则与技巧
-5.5 定时器指令的工作原理
-5.6 定时器指令应用举例
-5.7 计数器指令的工作原理
-5.8 计数器指令的应用
--计数器指令应用
-小测验
-6.1 功能指令概述
--功能指令概述
-6.2 数据处理指令(一):比较指令与数据传送指令
-6.3 数据处理指令(二):数据转换指令
--数据转换指令
-6.4 数据处理指令(三):表格指令和时钟指令
-6.5 算术运算指令及其应用
-6.6 逻辑运算指令及其应用
-6.7 程序控制指令:跳转指令、循环指令
-6.8 子程序的编写与调用
-6.9 中断程序与中断指令
-6.10 高速计数器指令与高速脉冲输出指令(一)
-6.11 高速计数器指令与高速脉冲输出指令(二)
-小测验(一)
-小测验(二)
-小测验(三)
-7.1 梯形图的经验设计法
-7.2 顺序控制设计法与顺序功能图概述
-7.3 顺序功能图的基本结构和绘制方法
-7.4 使用SCR指令的顺序控制梯形图设计方法
-7.5 使用起保停电路的顺序控制梯形图设计方法
-7.6 使用置位复位指令的顺序控制梯形图设计法
-小测验
-8.1模拟量控制概述
--模拟量控制概述
-8.2模拟量输入输出配置及数值的规范化
-8.3PID控制指令
--PID控制指令
-8.4水箱水位PID控制程序举例
-小测验