第5章S7-200系列PLC的基本指令及程序设计-1_第1页
第5章S7-200系列PLC的基本指令及程序设计-1_第2页
第5章S7-200系列PLC的基本指令及程序设计-1_第3页
第5章S7-200系列PLC的基本指令及程序设计-1_第4页
第5章S7-200系列PLC的基本指令及程序设计-1_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12本章内容S7-200PLCS7-200PLC的基本逻辑指令的基本逻辑指令用基本逻辑指令编写控制程序用基本逻辑指令编写控制程序梯形图编程的原则梯形图编程的原则典型简单程序设计典型简单程序设计程序控制指令程序控制指令3 S7-200PLCS7-200PLC的编程语言的编程语言 梯形图梯形图 LAD (Ladder) LAD (Ladder) 语句表语句表 STL (Statement list) STL (Statement list) 功能块图功能块图 FBD ( FBD (Function Block DiagramsFunction Block Diagrams) )5-1 5-1 S7

2、-200PLCS7-200PLC的基本逻辑指令的基本逻辑指令常用的是常用的是: :梯形图梯形图 LAD LAD 和语句表和语句表STLSTL语言语言4 S7-200S7-200系列系列PLCPLC用用梯形图梯形图(LADLAD)编程时,以)编程时,以网网络块(络块(NetworkNetwork)为单位编程)为单位编程。所有网络块组合起。所有网络块组合起来就成为梯形图程序。来就成为梯形图程序。 注意注意5 指令表(指令表(STLSTL)编程时,可以划分网络块,也可)编程时,可以划分网络块,也可 以连续编程。以连续编程。 如果指令表(如果指令表(STLSTL)程序按与)程序按与LADLAD对应用网

3、络块编对应用网络块编 程程, ,可在可在STLSTL程序和程序和LADLAD程序间转换。程序间转换。 63.功能块功能块1、触点、触点2、线圈、线圈( )使能条件使能条件 EnableEnable输入输入参数参数IN1IN2NOUT功能功能数据类型数据类型地址地址长度长度EN输出参数输出参数使能输出使能输出ENO71. 1. 81. 1. 逻辑取及线圈驱动指令逻辑取及线圈驱动指令:指令指令: :用于与母线相连的常开(闭)触点或用于与母线相连的常开(闭)触点或分支逻辑块的开始分支逻辑块的开始, ,表示逻辑运算的开始。表示逻辑运算的开始。9指令指令: :作为逻辑运算输出结果。作为逻辑运算输出结果。

4、2 210 指令使用说明指令使用说明 :112. 2. 与与单个触点的串联、并联指令单个触点的串联、并联指令: / / 指令:指令: 与与单个常开单个常开/ /常闭触点常闭触点的的串联串联联接。联接。 / / 指令指令: 与与单个常开单个常开/ /常闭触点常闭触点的的并联并联联接。联接。1213 单个触点的串联指令原则上可以连续使用单个触点的串联指令原则上可以连续使用, ,但限于打印和屏幕宽度但限于打印和屏幕宽度, , 串联触点的数量最串联触点的数量最好小于好小于1111个个。 单个触点的单个触点的并联指令可以连续使用并联指令可以连续使用。 连续输出电路中连续输出电路中可以反复使用可以反复使用

5、= =指令指令,但次,但次序必须正确。序必须正确。 指令使用说明指令使用说明 :143. 3. 串联电路块的并联连接串联电路块的并联连接:两个以上触点串联形成的支路。两个以上触点串联形成的支路。OLDOLD:用于串联电路块的并联连接。用于串联电路块的并联连接。15每个每个串联电路块的开始串联电路块的开始都要用都要用LDLD或或LDNLDN指令。指令。每完成一次每完成一次串联电路块并联串联电路块并联时都要用时都要用OLDOLD指令。指令。OLDOLD指令指令没有操作数没有操作数。 指令使用说明指令使用说明 :164. 4. 并联电路块的串联连接并联电路块的串联连接:两个以上触点(或支路)并联两个

6、以上触点(或支路)并联 形成的回路形成的回路 ALDALD:用于并联电路块的串联连接。用于并联电路块的串联连接。17每个每个并联电路块的开始并联电路块的开始都要用都要用LDLD或或LDNLDN指令。指令。每完成一次每完成一次并联电路块串联时并联电路块串联时都要用都要用ALDALD指令。指令。ALDALD指令指令没有操作数。没有操作数。 指令使用说明指令使用说明 :185. 5. 置位、复位指令置位、复位指令:19置位指令与输出线圈指令比较 I0.0Q0.1S1不保持不保持保持保持20置置/ /复位指令复位指令具有记忆功能具有记忆功能。某元件一旦置。某元件一旦置位就保持为位就保持为1 1,一旦复

7、位就保持为,一旦复位就保持为 0 0。 同一个程序中,可以同一个程序中,可以对同一个元件多次使对同一个元件多次使用置用置/ /复位指令复位指令,由于,由于PLCPLC采用循环扫描方式采用循环扫描方式工作,故写在后面的指令具有优先权。工作,故写在后面的指令具有优先权。 指令使用说明指令使用说明 :216. 6. 边沿脉冲指令边沿脉冲指令: 上升沿指令上升沿指令: :对之前的逻辑运算结果的上升沿对之前的逻辑运算结果的上升沿, ,产产生一个宽度为一个扫描周期的脉冲。生一个宽度为一个扫描周期的脉冲。 下降沿指令下降沿指令: :对逻辑运算结果的下降沿对逻辑运算结果的下降沿, ,产生一个产生一个宽度为一个

8、扫描周期的脉冲。宽度为一个扫描周期的脉冲。 :2223 指令使用说明指令使用说明 : 边沿脉冲指令没有操作数。边沿脉冲指令没有操作数。 上升上升/ /下降沿指令的用途:用来将一个下降沿指令的用途:用来将一个长长信号变成信号变成一个一个只接通一个扫描周期的短信号只接通一个扫描周期的短信号。它可以作为设备的它可以作为设备的启动、停止条件启动、停止条件;还能作为;还能作为某些功能指令的某些功能指令的触发信号触发信号。247. 7. 逻辑堆栈指令逻辑堆栈指令 S7-200S7-200系列系列PLCPLC中有中有9 9层层逻辑堆栈逻辑堆栈, ,用来处理用来处理所有的逻辑操作。所有的逻辑操作。 堆栈操作的

9、特点是:堆栈操作的特点是:“先进后出先进后出”。每一次。每一次入栈、出栈操作的过程入栈、出栈操作的过程见图见图25 复杂梯形图中,除了左母线外,还有一些分复杂梯形图中,除了左母线外,还有一些分母线,分母线右边常常联有许多从逻辑块,母线,分母线右边常常联有许多从逻辑块,这时必须用逻辑堆栈指令才能完成转化。这时必须用逻辑堆栈指令才能完成转化。 26 逻辑入栈指令逻辑入栈指令 LPSLPS 用于生成一条新的母线,用于生成一条新的母线,左侧为原来的主逻辑块,左侧为原来的主逻辑块,从右侧第一个从逻辑块从右侧第一个从逻辑块的开始编程的开始编程。功能:将栈顶值复制后压功能:将栈顶值复制后压入堆栈的下一层。入

10、堆栈的下一层。 逻辑读栈指令逻辑读栈指令 LRDLRD 用于从第二个从逻辑块开始编程用于从第二个从逻辑块开始编程, 功能是将第功能是将第2 2层的数据复制到栈顶。层的数据复制到栈顶。27 逻辑出栈指令逻辑出栈指令 LPPLPP(Logic PopLogic Pop) 用于从最后一个从逻辑用于从最后一个从逻辑块开始编程,块开始编程,功能是功能是将原将原栈顶数据弹出,结束分母栈顶数据弹出,结束分母线线. .282930指令使用说明 由于受堆栈空间的限制(由于受堆栈空间的限制(9 9层堆栈),层堆栈),LPSLPS、LPPLPP指令连续使用时应少于指令连续使用时应少于9 9次。次。 LPSLPS和和

11、LPPLPP指令必须成对使用指令必须成对使用,它们之间,它们之间可以使用可以使用LRDLRD指令。指令。 LPS LPS、LRDLRD、LPPLPP指令无操作数。指令无操作数。318. 8. 定时器定时器 1 1) 定时器的几个概念定时器的几个概念 定时器的种类:定时器的种类: 接通延时型定时器(接通延时型定时器(TONTON) 带记忆接通延时型定时器(带记忆接通延时型定时器(TONRTONR) 断开延时型定时器(断开延时型定时器(TOFTOF) 定时器的分辨率定时器的分辨率: 单位时间的时间增量称为单位时间的时间增量称为定时器的分定时器的分辨率辨率,又称为,又称为计时精度计时精度。使能端使能

12、端INPTT37TON32 S7-200S7-200系列系列PLCPLC定时器的分辨率有三种:定时器的分辨率有三种: 1ms 10ms 100ms1ms 10ms 100ms 定时器计时时间的计算定时器计时时间的计算: T = PT T = PT S S 即:实际计时时间实际计时时间 = = 设定值设定值 分辨率分辨率 例:已知定时器例:已知定时器T97T97的分辨率的分辨率10ms,10ms,设定值设定值PTPT为为100100,则实际计时时间:则实际计时时间: T=100 T=10010=1000 ms10=1000 ms。 例:已知定时器例:已知定时器T37T37的分辨率的分辨率100m

13、s, 100ms, 实际计时时实际计时时 间为间为20 s20 s,求设定值,求设定值PTPT: PT=T/S=20000ms/100ms=200 PT=T/S=20000ms/100ms=200。使能端使能端INPTT37TON20020033 定时器的编号定时器的编号 定时器的编号定时器的编号 = = 定时器名称定时器名称 T T + + 数字编号数字编号 T xT x ( x x 的范围为:的范围为:0 0255255) 定时器的两个参数:定时器的两个参数: 当前值:当前值:每个定时器都有一个每个定时器都有一个1616位的当前值位的当前值寄存器,用来存放定时器当前累计的时间值。寄存器,用

14、来存放定时器当前累计的时间值。当前值是当前值是 状态位:状态位:有一个状态位寄存器,存放状态值,有一个状态位寄存器,存放状态值,。当前值达到设定值时,当前值达到设定值时,定时器状态位变化,并使触点动作。定时器状态位变化,并使触点动作。INPTT37TON34定时器分辨率和编号 35INPTTxTON2 2)定时器指令)定时器指令使能端使能端设定值设定值: :1时器编号定时器编号(0 0255255) TON TxTON Tx,PTPTSTLSTLLADLAD36 当前值设定值当前值设定值 PTPT时,状态位时,状态位=0=0; 当前值当前值PTPT时,时,状态位状态位

15、=1=1,触点动作。触点动作。 若使能输入端若使能输入端 IN IN 仍为仍为1 1,继续计时,一直计,继续计时,一直计到最大值到最大值3276732767,停止计时。,停止计时。 使能输入端使能输入端 IN=0IN=0 时,时,停止停止计时,并使计时,并使当前值当前值 =0=0,状态位,状态位=0=0 。TON TON 指令的执行过程:指令的执行过程: 使能输入端使能输入端 IN=1IN=1 时,时,定时器定时器开始计时开始计时;T38TONPTINI0.1120( )T38Q0.137定时器定时器 TON TON 指令工作时序图指令工作时序图T35的分辨率是的分辨率是10ms 计时值计时值

16、T= 410=40ms38INPTTxTONR设定值设定值: :1时器编号定时器编号(0 0255255)TONR TxTONR Tx,PTPTSTLSTLLADLAD 39 ININ又又为为1 1时,时,TONRTONR从当前值开始往上累计从当前值开始往上累计,直到最大值直到最大值 3276732767,停止计时。,停止计时。TONR TONR 指令的执行过程:指令的执行过程: 使能输入端使能输入端 IN=1IN=1 时,时,定时器开始计时;定时器开始计时;T4TONRPTINI0.1120( )T4Q0.1( )T4 R1M0.1 当前值当前值 PTPT时,状态位

17、时,状态位=0=0; 当前值当前值PTPT时,时,状态位状态位=1=1。 IN=0IN=0 时,停止计时时,停止计时, ,当前当前值、状态位保持不变;值、状态位保持不变;403276732767定时器定时器 TONR TONR 指令工作时序图指令工作时序图 定时器定时器TONRTONR只能用只能用复位指令复位指令(R R)来清除它的当)来清除它的当 前值和状态位。前值和状态位。T2的分辨率是的分辨率是10ms 计时值计时值T= 1010= 100ms41INPTTxTOF设定值设定值: :1OF TxTOF Tx,PTPTSTLSTLLADLAD TOF TOF 指令

18、的执行过程:指令的执行过程: 断开延时型定时器是断开延时型定时器是。42 当前值设定值当前值设定值PTPT时,时,状态位保持为状态位保持为1 1; 当前值当前值= =设定值设定值 时,时,停止计时停止计时,状态位状态位 为为 0 0,当前值保持(设定值)不变。,当前值保持(设定值)不变。T38TOFPTINI0.1120( )T38Q0.1 使能输入使能输入 IN IN 有下降沿有下降沿时,时,TOF TOF 开始计时开始计时。 使能输入上升沿使能输入上升沿 IN=1IN=1时时, 定时器定时器不计时不计时,TOFTOF复位,复位,当当 前值清前值清0 0,状态位置状态位置 1 1;43 使能

19、输入端使能输入端 IN IN又变为又变为1 1时,停止计时,时,停止计时,TOFTOF的的当前值清当前值清0 0,状态位置,状态位置 1 1。定时器定时器 TOF TOF 指令工作时序图指令工作时序图T36的分辨率是的分辨率是10ms 计时值计时值T= 310= 30ms44定时器的刷新方式和正确使用 S7-200S7-200系列系列PLCPLC中,中,1ms 1ms ,10ms , 10ms , 100ms100ms定时器的刷新方式不同。定时器的刷新方式不同。 下图所示为正确使用定时器的一个下图所示为正确使用定时器的一个例子。它用来在定时器计时时间到时例子。它用来在定时器计时时间到时。45对

20、对1ms1ms定时器定时器T32T32,在使用错误方法时,只有当定时器的,在使用错误方法时,只有当定时器的刷新发生在刷新发生在T32T32的常闭触点执行以后到的常闭触点执行以后到T32T32的常开触点执行的常开触点执行以前的区间时,以前的区间时,Q0.0Q0.0才能产生一个宽度为一个扫描周期的才能产生一个宽度为一个扫描周期的脉冲,而这种可能性是极小的。在其它情况下不会产生这脉冲,而这种可能性是极小的。在其它情况下不会产生这个脉冲。个脉冲。46 对对10 ms10 ms定时器定时器T33T33,使用错误方法时,使用错误方法时,Q0.0Q0.0永永远产生不了这个脉冲。因为当定时器计时到时,定远产生

21、不了这个脉冲。因为当定时器计时到时,定时器在每次扫描开始时刷新。该例中时器在每次扫描开始时刷新。该例中T33T33被置位,但被置位,但执行到定时器指令时,定时器将被复位执行到定时器指令时,定时器将被复位( (当前值和位当前值和位都被置都被置0)0)。当常开触点。当常开触点T33T33被执行时,被执行时,T33T33永远为永远为OFFOFF,Q0.0Q0.0也将为也将为OFFOFF,即永远不会被置位,即永远不会被置位ONON。 47100 ms100 ms的定时器在执行指令时刷新,所以当定时器的定时器在执行指令时刷新,所以当定时器T37T37到达设定值时,到达设定值时,Q0.0Q0.0肯定会产生

22、这个脉冲。改用正确使用方法后,把定时器到达设定值肯定会产生这个脉冲。改用正确使用方法后,把定时器到达设定值产生结果的元器件的常闭触点用做定时器本身的输入,则不论哪种定时产生结果的元器件的常闭触点用做定时器本身的输入,则不论哪种定时器,都能保证定时器达到设定值时,器,都能保证定时器达到设定值时,Q0.0Q0.0产生一个宽度为一个扫描周期产生一个宽度为一个扫描周期的脉冲。所以,在使用定时器时,要弄清楚定时器的分辨率,否则,一的脉冲。所以,在使用定时器时,要弄清楚定时器的分辨率,否则,一般情况下不要把定时器本身的常闭触点作为自身的复位条件。在实际使般情况下不要把定时器本身的常闭触点作为自身的复位条件

23、。在实际使用时,为了简单,用时,为了简单,100 ms100 ms的定时器常采用自复位逻辑,而且的定时器常采用自复位逻辑,而且100 ms100 ms定时定时器也是使用最多的定时器。器也是使用最多的定时器。 48better正 确 使 用 S=1 msS=10msS=100ms49结结 论论: 实现定时器实现定时器周期性计时周期性计时,并且,并且每个计时周每个计时周期到期到都产生输出信号都产生输出信号 1ms1ms、10ms10ms定时器:定时器:不能采用自复位,必不能采用自复位,必须用输出元件的常闭触点切断定时器须用输出元件的常闭触点切断定时器ININ端。端。 100ms100ms定时器:定

24、时器:能采用自复位。能采用自复位。509. 9. 计数器指令计数器指令 计数器指令的种类计数器指令的种类 增计数器(增计数器(CTUCTU) 增减计数器(增减计数器(CTUDCTUD) 减计数器(减计数器(CTDCTD) 计数器用来对计数器用来对外部输入的低频脉冲信号外部输入的低频脉冲信号进进行计数。行计数。 51 计数器的编号计数器的编号 计数器的编号计数器的编号 CxCx, x x 范围范围:0:0255255。 S7-200PLC S7-200PLC 中共有中共有256256个计数器个计数器 一个程序中,同一计数器编号不要重复使一个程序中,同一计数器编号不要重复使用,更不可分配给几个不同

25、类型的计数器用,更不可分配给几个不同类型的计数器 每个计数器中包含两个参数:每个计数器中包含两个参数: 当前值:当前值:每个计数器中有一个每个计数器中有一个1616位当前值位当前值寄存器,用来存放计数器当前累计的脉冲数,寄存器,用来存放计数器当前累计的脉冲数,52状态位:状态位:计数器中还有一个计数器中还有一个1 1位状态位寄存位状态位寄存器,器, 当当前值当当前值设定值时,设定值时,置置 1 1,它它 计数器的设定值计数器的设定值 计数器的设定值是计数器的设定值是 PVPV为为 INTINT型(型()数据,操作数为字。)数据,操作数为字。53计数器指令执行过程计数器指令执行过程 1) 1)

26、增计数器增计数器-CTU-CTU增计数端增计数端复位端复位端设定值设定值 CTU Cx, PVCTU Cx, PVSTLSTLLADLAD计数器编号计数器编号54 CTU指令执行过程 复位端复位端 R=0R=0时时可以计数可以计数,CUCU端每有一个端每有一个 脉冲上升沿到来,当前值加脉冲上升沿到来,当前值加 1 1。 当前值设定值当前值设定值 PV PV 时,状态位时,状态位=0=0; 当前值当前值PVPV时,状态位置时,状态位置1 1。 如果当前值如果当前值= =设定值后设定值后 R R 仍为仍为0 0,可,可 以继续计数,一直以继续计数,一直计数到最大值计数到最大值 32767 3276

27、7,停止计数停止计数。55 增计数器指令工作时序图增计数器指令工作时序图 56x : 0255CU CTUDCxCxCDRPV2) 2) 增增/ /减计数器减计数器 CTUDCTUD增计数端增计数端 减计数端减计数端 复位端复位端 设定值设定值 CTUD Cx, PVCTUD Cx, PVSTL STL LAD LAD I1.0I1.0I1.1I1.14 4I1.2I1.2CU CTUDCU CTUDC30C30CDCDR RPVPVLD I1.0LD I1.1LD I1.2CTUD C30,457 指令执行过程指令执行过程: : 复位端复位端 R R 为为0 0 时可以计数;时可以计数; C

28、UCU端端每有一个脉冲每有一个脉冲上升沿上升沿输入,计数器输入,计数器的当前值的当前值 ; CDCD端端每有一个脉冲每有一个脉冲上升沿上升沿输入,计数器输入,计数器当前值当前值 。 当前值设定值当前值设定值PVPV时,状态位时,状态位=0=0; 当前值当前值PVPV时,状态位置时,状态位置1 1。I1.0I1.0I1.1I1.14 4I1.2I1.2CU CTUDCU CTUDC30C30CDCDR RPVPV58 R=0R=0时,时, 增增/ /减计数器不会停止计数,减计数器不会停止计数, 当前值计到最大值当前值计到最大值3276732767时,如增脉冲端有时,如增脉冲端有输入输入, ,计数

29、器当前值计数器当前值变为最小值变为最小值-32768-32768; 当前值计到当前值计到最小值最小值-32768-32768 ,如减脉冲端有,如减脉冲端有输入输入, ,计数器的当前值计数器的当前值变为最大值变为最大值32767.32767. 当复位端当复位端 R R为为 1 1时计数器复位:时计数器复位:当前值清当前值清零,状态位清零零,状态位清零。且且 R=1 R=1期间停止计数。期间停止计数。59 增/减计数器指令工作时序图603) 3) 减计数器减计数器CTDCTD设定值设定值 装载端装载端 减计数脉冲减计数脉冲 STL STL LAD LAD CTD Cx, PVCTD Cx, PV6

30、1当装载端当装载端 LD=0LD=0 时可以计数,当减计数输入时可以计数,当减计数输入端端 CDCD有上升沿有上升沿到来时,减计数器到来时,减计数器从设定值开从设定值开始减计数。始减计数。计数器的计数器的当前值当前值00时,其时,其状态位为状态位为0 0;而它;而它的的当前值当前值=0=0时,时,状态位置状态位置 1 1,且停止计数。,且停止计数。当装载输入端当装载输入端 LD=1 LD=1时,停止计数,减计数时,停止计数,减计数器复位:器复位:当前值当前值= =设定值设定值,状态位状态位=0=0。 减计数器指令执行过程减计数器指令执行过程: :I1.3I1.43CD CTDLDPVC4062

31、 减计数器CTD指令工作时序图63 10 . 比较指令 比较指令比较指令: :带有带有参数参数和和运算符运算符的的触点类触点类指令,是把两指令,是把两个操作数按照指定的条件进行比较,当个操作数按照指定的条件进行比较,当满足比较式的满足比较式的条件时,触点闭合条件时,触点闭合; ;否则,触点断开。否则,触点断开。 数据类型数据类型 T T 比较指令的数据类型有五种比较指令的数据类型有五种: : 比较指令的格式比较指令的格式: :64 比较式比较式 比较指令的比较指令的比较式比较式有有六六种种65比较指令使用举例比较指令使用举例66SRSR(Set Dominant BistableSet Dom

32、inant Bistable):):置位优先触发器指令置位优先触发器指令。当。当置位信号(置位信号(S1S1)和复位信号()和复位信号(R R)都为真时,输出为真。)都为真时,输出为真。RSRS(Reset Dominant BistableReset Dominant Bistable):):复位优先触发器指令复位优先触发器指令。当置位信号(当置位信号(S S)和复位信号()和复位信号(R1R1)都为真时,输出为假。)都为真时,输出为假。没有没有STLSTL形式形式P148P148举例举例11. RS触发器指令67u 当读取输入点的状态时,当读取输入点的状态时,对对I I进行操作,相应输入进

33、行操作,相应输入映像寄存器中的值并未映像寄存器中的值并未更新。更新。u 当访问输出点的状态时,当访问输出点的状态时,对对Q Q进行操作,新值同时进行操作,新值同时写入写入PLCPLC的物理触点和相的物理触点和相应的输出映像寄存器。应的输出映像寄存器。12.立即指令 立即指令立即指令,允许允许进行进行。68立即指令举例立即指令举例6913. 取反指令NOT 功能:取反指令的功能是改变能流的状态,对前功能:取反指令的功能是改变能流的状态,对前面的能流取反。面的能流取反。 如:如:相当于相当于705-2 5-2 程序控制指令程序控制指令 为了优化程序结构,增强程序功能,需改变为了优化程序结构,增强程

34、序功能,需改变程序方向。改变程序走向的指令程序方向。改变程序走向的指令-程序控制指令。程序控制指令。结束指令结束指令ENDEND停止指令停止指令STOP STOP 看门狗指令看门狗指令 跳转及标号指令跳转及标号指令 循环指令循环指令子程序调用指令子程序调用指令 711. 1. 结束指令结束指令 END END S7-200PLCS7-200PLC中有两条结束指令中有两条结束指令指令功能:指令功能:当执行结束指令后,系统结束当执行结束指令后,系统结束主程序,返回主程序的起点。主程序,返回主程序的起点。72 可以利用有条可以利用有条件结束指令来件结束指令来提前结束主程提前结束主程序,改变序,改变主

35、程主程序循环点序循环点.结束指令的应用73 在调试控制程序在调试控制程序时,可以时,可以,如如:结束指令的应用结束指令的应用74 结束指令说明:结束指令说明: A. A. 结束指令结束指令只能用在只能用在主程序主程序中中,不能用在子,不能用在子程序和中断服务程序中。程序和中断服务程序中。 B. B. 有条件结束指令可以根据外部逻辑条件来有条件结束指令可以根据外部逻辑条件来结束主程序的执行。结束主程序的执行。 C. C. 无条件结束指令用户不能使用,无条件结束指令用户不能使用,系统在编系统在编译译用户程序时,用户程序时,会在每一个主程序结尾自动加会在每一个主程序结尾自动加上无条件结束指令,上无条

36、件结束指令,使得主程序能周而复始地使得主程序能周而复始地执行。执行。752. 2. 停止指令停止指令 STOP STOP 指令形式指令形式功能:功能:停止指令使可编程控制器从运行模式停止指令使可编程控制器从运行模式进入停止模式,立即终止程序的执行。进入停止模式,立即终止程序的执行。76 STOP STOP指令可以用在指令可以用在主程序、子程序主程序、子程序和和中中断程序中。断程序中。 如果在中断程序中执行了如果在中断程序中执行了STOPSTOP指令,中指令,中断程序立即终止,并忽略全部等待执行的断程序立即终止,并忽略全部等待执行的中断,继续执行主程序的剩余部分,并在中断,继续执行主程序的剩余部

37、分,并在主程序的结束处,完成从运行方式至停止主程序的结束处,完成从运行方式至停止方式的转换。方式的转换。77STOPSTOP指令应用指令应用783. 3. 跳转与标号指令跳转与标号指令 跳转与标号指令的形式跳转与标号指令的形式 功能:功能: 跳转指令:跳转指令:把程序流转到把程序流转到同一程序同一程序的指定标的指定标号处号处, ,根据不同条件执行不同程序段。根据不同条件执行不同程序段。79 跳转跳转/ /标号指令必须标号指令必须成对使用成对使用,且,且只能用在同一程只能用在同一程序块中序块中。如同在主程序、同一子程序、同一中断服。如同在主程序、同一子程序、同一中断服务程序中。务程序中。 跳转跳

38、转/ /标号指令中的操作数标号指令中的操作数 n n 的范围:的范围: 0 0255255。 执行跳转指令后,执行跳转指令后,跳过程序段中各个元件跳过程序段中各个元件(除定(除定时器外)时器外)的状态不变的状态不变,保持跳转前的状态。,保持跳转前的状态。 指定程序流跳转到的指定程序流跳转到的目标位置目标位置。 JMP / LBL JMP / LBL 指令使用说明:指令使用说明:80 跳过程序段中若有定时器,因它们的刷新跳过程序段中若有定时器,因它们的刷新方式不同,其状态变化也不同。方式不同,其状态变化也不同。 a.a.对于对于1ms1ms、10ms10ms的定时器,由于系统会对的定时器,由于系

39、统会对它们周期刷新,故会继续计时。它们周期刷新,故会继续计时。 b.b. 对于对于100ms100ms的定时器,由于只有执行指令的定时器,由于只有执行指令时其当前值和状态位才会被刷新,因此跳过时其当前值和状态位才会被刷新,因此跳过程序段中的定时器指令因不执行而停止刷新,程序段中的定时器指令因不执行而停止刷新,会使定时器计时失准。会使定时器计时失准。81跳转、标号指令应用有一个机械手,有一个机械手,用工作方式开关用工作方式开关选择手动、单步选择手动、单步、自动工作方式、自动工作方式,主程序如下:,主程序如下:82循环开始指令循环开始指令FORFOR:用来标记循环体的:用来标记循环体的开始开始。循环结束指令循环结束指令NEXTNEXT:用来标记循环体的:用来标记循环体的结束结束。无无操作数。操作数。FORFOR和和NEXTNEXT之间的程序段称为循环体之间的程序段称为循环体,每执行一次,每执行一次循环体,当前计数值增循环体,当前计数值增1 1,并且将其结果同终值作,并且将其结果同终值作比较,如果大于终值,则终止循环。比较,如果大于终值,则终止循环。4.循环指令83l 参数使用说明参数使用说明 循环指令盒中有循环指令盒中有三个数据输入端三个数据输入端:当前循环计当前循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论