当前位置:文档之家› 第九章程序控制类指令及应用

第九章程序控制类指令及应用

➢跳转指令可以使PLC编程的灵活性大大提高,使主机可根据不同条 件的判断,选择不同的程序段执行程序。 ➢JMP,跳转指令。使能输入有效时,使程序跳转到标号(n)处执行。 ➢LBL,标号指令。标记指令跳转的目的地的位置(n)。操作数n为 0~255。
跳转指令的使用说明:
①跳转指令和标号指令必须配合使用,而且只能使用 在同一程序块中。不能在不同的程序块间互相跳转;
第九章 程序控制类指令及应用
学习目标: 了解循环指令及其功能。 掌握顺序控制继电器指令及状态法编程。 了解子程序指令分类,执行过程及子程序的嵌
套。 掌握中断与中断源,中断优先级及中断队列,
中断指令及中断程序,中断程序的执行及程序 数据共享,中断指令应用举例。
第一节 跳转指令
一、 跳转与标号指令
2. 使用顺序继电器指令的限制
只能使用顺序控制继电器位作为段标志位。一 个顺序控制继电器位Sx.y在程序中只能使用一
次。
在一个SCR段中不能出现跳入、跳出或段内跳 转等程序结构。即在段中不能使用JMP和LBL 指令。同样,在一个SCR段中不允许出现循环 程序结构和条件结束,即禁止使用FOR、 NEXT和END指令。
1. 顺序继电器指令 (1)段开始指令:LSCR 定义一个顺序控制继电器段的开始。操作数
为顺序控制继电器位Sx.y,Sx.y作为本段的段 标志位。当Sx.y位为1时,允许该SCR段工作。 (2)段结束指令:SCRE 一个SCR段必须用该指令来结束。 (3)段转移指令:SCRT 该指令用来实现本段与另一段之间的切换。 操作数为顺序控制继电器位Sx.y,Sx.y是下一 个SCR段的标志位。当使能输入有效时,一方 面对Sx.y置位,以便让下一个SCR段开始工作, 另一方面同时对本SCR段的标志位复位,以便 本段停止工作。
说明:每一个SCR程序段中均包含三个要素:
1)输出对象:在这一步序中应完成的动作;
2)转移条件:满足转移条件后,实现SCR段 的转移;
3)转移目标:转移到下一个步序。
LD I0.1
AN Q0.0
AN Q0.1 AN Q0.2 //在初始状态下起动,置 S S0.1,1 //S0.1=1 LSCR S0.1 //S0.1=1,激活第一SCR程序段 ,

//进入第二步序
LD SM0.0 S Q1.1 //绿灯亮,并保持 TON T38,+30 //启动3s定时器
第四节 子程序调用与返回指令 与子程序有关的操作有:建立子程序、子程序的调
用和返回。
(1)建立子程序
➢建立子程序是通过编程软件来完成的。可用编程软件“编辑”菜单 中的“插入”选项,选择“子程序”,以建立或插入一个新的子程 序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序 名是SBR_N,编号N从0开始按递增顺序生成,也可以在图标上直接更 改子程序的程序名,把它变为更能描述该子程序功能的名字。在指 令树窗口双击子程序的图标就可以进入子程序,并对它进行编辑。
➢在使用时必须给FOR指令指定当前循环计数 (INDX)、初值(INIT)和终值(FINAL)。 指令格式:FOR INDX, INIT, FINAL
… NEXT
循环指令使用说明:
➢①FOR、NEXT指令必须成对使用; ➢②FOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可 有交叉现象; ➢③每次使能输入(EN)重新有效时,指令将自动复位各参数; ➢④初值大于终值时,循环体不被执行。
三节 顺控继电器指令
S7-200 CPU含有256个顺序控制继电器 (SCR)用于顺序控制。S7-200包含顺 序控制指令,可以模仿控制进程的步骤, 对程序逻辑分段;可以将程序分成单个 流程的顺序步骤,也可同时激活多个流 程;可以使单个流程有条件地分成多支 单个流程,也可以使多个流程有条件地 重新汇集成单个流程。从而对一个复杂 的工程可以十分方便地编制控制程序。
指令格式: LSCR bit (段开始指令)
SCRT bit (段转移指令)
SCRE
(段结束指令)
3. 顺序结构
一个SCR段必须用该指令来结束。
4. 程序实例
根据舞台灯光效果的要求,控制红、绿、黄三 色灯。要求:红灯先亮,2s后绿灯亮,再过3s 后黄灯亮。待红、绿、黄灯全亮3min后,全部 熄灭。程序如图5-29所示。
②执行跳转后,被跳过程序段中的各元器件的状态各 有不同:Q、M、S、C等元器件的位保持跳转前的状 态;计数器C停止计数,当前值存储器保持跳转前的 计数值;对定时器来说,因刷新方式不同而工作状态 不同。在跳转期间,分辩率为1ms和10ms的定时器会 一直保持跳转前的工作状态,原来工作的继续工作, 到设定值后其位的状态也会改变,输出触点动作,其 当前值存储器一直累计到最大值32767才停止。对分辨 率为100ms的定时器来说,跳转期间停止工作,但不 会复位,存储器里的值为跳转时的值,跳转结束后, 若输入条件允许,可继续计时,但已失去了准确计时 的意义。所以在跳转段里的定时器要慎用。
//进入第一步序
LD SM0.0 S Q0.0,1 //红灯亮,并保持 TON T37,+20 //启动2s定时器
LD T37
//2s后程序转移到第二SCR段,
SCRT S0.2 //(S0.2=1,S0.1=0)
SCRE
// 第一SCR段结束
LSCR S0.2 //S0.2=1,激活第二SCR程序段
(2)子程序调用
➢CALL,子程序调用指令。在使能输入有效 时,主程序把程序控制权交给子程序。子 程序的调用可以带参数,也可以不带参数。 它在梯形图中以指令盒的形式编程。 指令格式:CALL SBR_0
第二节 循环指令
循环指令的引入为解决重复执行相同功能的程 序段提供了极大方便,并且优化了程序结构。 循环指令有两条:FOR和NEXT。
FOR,循环开始指令。用来标记循环体的开始。 NEXT,循环结束指令。用来标记循环体的结
束。无操作数。 FOR和NEXT之间的程序段称为循环体,每执
行一次循环体,当前计数值增1,并且将其结 果同终值进行比较,如果大于终值,则终止循 环。
相关主题