子程序控制指令

上传人:子 文档编号:56877751 上传时间:2018-10-16 格式:PPT 页数:18 大小:371.50KB
返回 下载 相关 举报
子程序控制指令_第1页
第1页 / 共18页
子程序控制指令_第2页
第2页 / 共18页
子程序控制指令_第3页
第3页 / 共18页
子程序控制指令_第4页
第4页 / 共18页
子程序控制指令_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《子程序控制指令》由会员分享,可在线阅读,更多相关《子程序控制指令(18页珍藏版)》请在金锄头文库上搜索。

1、子程序控制指令,子程序控制指令,子程序调用指令,子程序定义指令,宏 指 令,功能:当执行条件ON时,调用编号为N的子程序。,一、子程序调用和子程序定义指令,功能:用SBN定义子程序N开始,用RET定义子程序结束。,1. 指令格式和功能,2. 执行子程序调用指令的过程,注意的问题:,(1) 指令SBS必须满足执行条件时,才能调用子程序。,(2) 子程序段必须用指令SBN/RET来定义。,(3) 子程序必须放在主程序之后、指令END之前。,(4) 子程序不能自调用。,(5) 子程序嵌套不能超过16级。,执行指令MOV向通道220传送数据0001(使22000ON)。,3. 子程序调用举例( 1 )

2、,主程序,子程序,25502,分析程序功能,(1) 当00100为OFF时,执行主程序。, 执行指令KEEP,由01100输出秒脉冲(注意25502的作用)。, 只要00100一直ON,每个扫描周期都执行移位寄存器指令SFT,使22000的ON状态每秒向高位移一位。,移位时间取决于00100 ON的时间。,(2) 当00100为ON时,执行主程序中的指令SBS,中断执行主程序,转去执行子程序 005:,25502, 执行指令MOV,将通道220的内容传送到通道010。,注意几个问题:,主程序中若将SBS改成SBS,会产生什么现象?, 当22007为ON时,通道220的内容将如何变化?此后220

3、的内容如何变化?, 返回主程序,继续执行主程序中的指令KEEP。,只要00100ON,上述过程将持续进行。,子程序调用指令举例(2),先分析主程序,PLC上电,即将#0004传送到通道200,复位CNT000。,(1)若00000ON ,CNT000开始计数(或定时)。计数器设定值为通道200的内容,计数器能自复位。,(2) 若CNT000 ON ( ON一个扫描周期 ):, 停止执行主程序,转去执行子程序002。,子程序执行完毕,返回执行主程序:将01000置为ON、并使TIM001开始定时(2s)。,再分析子程序,(1)执行指令ADD ,将通道200加上#0002;,计数器的设定值变成00

4、06,(2)执行指令CMP ,将通道200的内容与#0010比较;,(3)若200的内容= #0010,则将#0004传送到通道200中。,计数器的设定值恢复0004,(4)子程序执行完毕,返回执行主程序。,子程序调用举例( 3 ),子程序嵌套,程序分析,主程序,子程序,CMP(20)DM0000# 0000,25506,21000,21000,SBS(91) 011,RET(93),SBN(92) 011,21001,25313,RET(93),25313,END(01),执行子程序010时若25506 ON,则使21000ON。,则再调用子程序011,使21001ON,子程序011执行完毕

5、,返回010。,从子程序010返回继续执行主程序,BCD减1,比较,(续),执行子程序010时,若25506 OFF则返回主程序。,由于CNT000为自复位,所以它只ON一个扫描周期,如果执行子程序,两个子程序也只在该扫描周期中执行一次。, 当执行条件ON时,停止执行主程序,将输入数据I1 I1+3的内容复制到SR232SR235中,将输出数据O1 O1+3的内容复制到SR236SR239中,然后调用子程序N;,二、宏指令及其功能,执行宏指令的过程,子程序N执行完毕,再将SR236SR239的内容传送到O1 O1+3中,并返回到MCRO的下一条语句,继续执行主程序。,注意:子程序N必须用指令S

6、BN/RET来定义,必须放在主程序之后、END之前。子程序嵌套不能超过16次。,关于宏指令的操作数,执行一次左面的程序与执行下图程序的结果相同。,第一个输入字,子程序040,第一个输出字,程序中,一般安排多次调用宏指令。,使用宏指令举例(1),执行左面的程序与执行下图的结果相同。,本程序中安排2次调用宏指令。,(X+10),结果存入DM0000,Y=(X+10)/X, 结果Y存入 DM0010,Y与#0006比较,使用宏指令举例(2),执行上面的程序与执行左图的结果相同。,使用宏指令举例(3),子程序控制指令小结,1. 子程序必须用指令SBN/RET来定义。子程序必须放在主程序之后、指令END之前。,2. 子程序执行完毕,要返回到调用它的指令SBS的下一条指令处,继续执行主程序。,3. 注意宏指令的应用场合,其操作数与子程序中输入/输出数据的对应关系。,4. 注意执行指令对相关标志位的影响。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号