当前课程知识点:PLC应用技术 > 项目四:机电一体化设备的PLC控制系统设计、安装与调试 > 工作任务1:机械手的PLC控制 > 4-3 子程序调用和子程序定义指令
大家好
今天我们一起来学习
PLC编程指令中常用的
子程序调用和子程序定义指令
首先来看一下指令的格式和功能
子程序调用指令的助记符为 SBS
操作数N表示自称的编号
一般由三位数组成
如SBS 000
表示编号为000的子程序
该指令的功能为
当执行条件为ON时
调用编号为000的子程序
SBN和RET 是子程序定义指令
SBN定义子程序的开始
RET定义子程序的结束
请同学们注意
子程序的调用需要执行条件
子程序定义开始
和结束指令不需要执行条件
并且子程序结束指令没有操作数
即不需要写子程序编号
子程序在执行过程中
是如何被调用的呢
让我们一起来看一下
子程序调用的过程
如图所示
在主程序段1后设置了一条
调用000号子程序指令
当调用条件满足时
中断执行主程序
转去执行以SBN000为开始
以RET为结束的000号子程序
当子程序执行完毕
返回主程序
继续执行主程序段2
调用001号子程序
子程序执行完毕
返回主程序
继续执行主程序段3.
有几个问题需引起同学们的注意
(1)指令SBS必须满足执行条件时
才能调用子程序
(2)子程序段必须用
指令SBN/RET来定义
(3)子程序必须放在主程序之后
指令END之前
(4)子程序不能自调用
(5)子程序嵌套不能超过16级
下面我们通过两个具体的例子
给大家详细介绍一下
子程序调用的过程
例一 如图所示
主程序被子程序调用指令分成了两段
当0.00为OFF时
执行主程序
执行指令MOV向通道220
传送数据0001
使220.00位置ON
执行指令KEEP
由101.00输出秒脉冲
大家可复习一下KEEP指令的功能
当0.00为ON时
执行主程序中的指令SBS
中断执行主程序
转去执行子程序 005
只要0.00一直ON
每个扫描周期
都执行移位寄存器指令SFT
使220.00的ON状态
每秒向高位移一位
移位时间
取决于0.00置ON的时间
执行指令MOV
将通道220的内容
传送到通道100
返回主程序
继续执行
主程序中的指令KEEP
只要0.00ON
上述过程将持续进行
注意几个问题:
①程序中若将SBS改成@SBS
会产生什么现象
② 当220.07为ON时
通道220的内容
将如何变化
此后220的内容如何变化
请同学们认真思考
我们再来看第二个
子程序调用的例子
主程序如左图所示
内置一个子程序 编号002
子程序的内容如右图所示
以SBN 002定义开始
以RET定义结束
先分析主程序
PLC上电
即将4传送到通道200
复位CNT000
若0.00 ON
CNT000开始计数(或定时)
计数器设定值为通道200的内容
计数器能自复位
若CNT000 ON
置 ON一个扫描周期
停止执行主程序
转去执行子程序002
子程序执行完毕
返回执行主程序
将100.00置为ON
并使TIM001开始定时
定时时间为两秒
再分析子程序
执行指令ADD
将通道200加上2
计数器的设定值变成6
若200的内容等于10
则将4传送到通道200
执行指令CMP
计数器的设定值恢复成4
子程序执行完毕
返回执行主程序
同学们
你们能根据子程序调用的过程
分析程序执行的实际效果吗
好了 现在对本节课做一个简单总结
1 子程序必须用指令
SBN/RET来定义
子程序必须放在主程序之后
指令END之前
2 注意宏指令的应用场合
其操作数与子程序中输入
输出数据的对应关系
3 注意执行指令
对相关标志位的影响
好了 同学们
这次课程就上到这里
我们下次再见
-课程概述
-工作任务1:PLC的产生、发展与特点
-项目一:工作任务1:PLC的产生、发展与特点
-工作任务2:PLC的组成与工作原理
-项目一:工作任务2:PLC的组成与工作原理
-工作任务3:欧姆龙CPE1型PLC的规格
-项目一:工作任务3:欧姆龙CPE1型PLC的规格
-工作任务4:PLC的编程软件使用
-项目一:工作任务4:PLC的编程软件使用
-工作任务5:PLC控制系统的设计
-项目一:工作任务5:PLC控制系统的设计
-工作任务1:电动机单向启动、停止的PLC控制
-项目二:工作任务1:电动机单向启动、停止的PLC控制
-工作任务2:电动机正反转的PLC控制
-项目二:工作任务2:电动机正反转的PLC控制
-工作任务3:电动机Y∕△降压起动的PLC控制
-项目二:工作任务3:电动机Y∕△降压起动的PLC控制
-工作任务4:电动机带动传送带的PLC控制
-项目二:工作任务4:电动机带动传送带的PLC控制
-工作任务5:运料小车的PLC控制
-项目二:工作任务5:运料小车的PLC控制
-工作任务1:彩灯的PLC控制
-项目三:工作任务1:彩灯的PLC控制
-工作任务2:交通灯的PLC控制
-项目三:工作任务2:交通灯的PLC控制
-工作任务3:抢答器的PLC控制
-项目三:工作任务3:抢答器的PLC控制
-工作任务1:机械手的PLC控制
-项目四:工作任务1:机械手的PLC控制
-工作任务2:自动售货机的PLC控制
-项目四:工作任务2:自动售货机的PLC控制
-工作任务1:PLC的数值运算
-项目五:工作任务1:PLC的数值运算
-工作任务2:基于PLC的恒压供水系统
--5-9 标度指令
-项目五:工作任务2:基于PLC的恒压供水系统
-工作任务1:两串行PLC链接通信
-项目六:工作任务1:两串行PLC链接通信
-工作任务2:基于端子控制的PLC和变频器的应用
-项目六:工作任务2:基于端子控制的PLC和变频器的应用
-工作任务3: PLC与变频器的通信
-项目六:工作任务3: PLC与变频器的通信
-工作任务4:基于PLC、触摸屏、变频器综合应用
-项目六:工作任务4:基于PLC、触摸屏、变频器综合应用
-工作任务1:分拣控制系统设计
-工作任务2:视觉传感系统
-工作任务3:机器人系统设计
-工作任务4:分拣控制系统装调
-期末考试--期末考试
-1 电子教材
--1-3 项目1 工作任务3 欧姆龙CPE1型PLC的规格
--1-6 项目2 工作任务1 电动机单向启动、停止的PLC控制
--1-8 项目2 工作任务3 电动机Y∕△降压起动的PLC控制
--1-9 项目2 工作任务4 电动机带动传送带的 PLC 控制
--1-19 项目6 工作任务2:基于端子控制的PLC和变频器的应用
--1-21 项目6 工作任务4 基于PLC、触摸屏、变频器的综合应用
-2 学习手册
-3 应用视频
--3-2 安全产品
--3-3 客户服务
--3-12 视觉
-4 样例程序