《S系列PLC的基本指令及程序设计资料.pptx》由会员分享,可在线阅读,更多相关《S系列PLC的基本指令及程序设计资料.pptx(92页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1本章内容本章内容S7-200PLCS7-200PLC的基本逻辑指令的基本逻辑指令用基本逻辑指令编写控制程序用基本逻辑指令编写控制程序梯形图编程的原则梯形图编程的原则典型简单程序设计典型简单程序设计程序控制指令程序控制指令第1页/共92页2 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
2、00PLCS7-200PLC的基本逻辑指令的基本逻辑指令常用的是常用的是:梯形图梯形图 LAD LAD 和语句表和语句表STLSTL语言语言第2页/共92页3 S7-200S7-200系列系列PLCPLC用用梯形图梯形图(LADLAD)编程时,以)编程时,以网络网络块(块(NetworkNetwork)为单位编程)为单位编程。所有网络块组合起来。所有网络块组合起来就成为梯形图程序。就成为梯形图程序。注意注意第3页/共92页4 指令表(指令表(STLSTL)编程时,可以划分网络块,也可)编程时,可以划分网络块,也可 以连续编程。以连续编程。如果指令表(如果指令表(STLSTL)程序按与)程序按与
3、LADLAD对应用网络块编对应用网络块编 程程,可在可在STLSTL程序和程序和LADLAD程序间转换。程序间转换。第4页/共92页5 指令分类指令分类按形式分按形式分3.功能块功能块1、触点、触点2、线圈、线圈()使能条件使能条件 EnableEnable输入输入参数参数IN1IN2NOUT功能功能数据类型数据类型地址地址长度长度EN输出参数输出参数使能输出使能输出ENO第5页/共92页6 指令分类指令分类按功能分按功能分1.1.位操作功能位操作功能2.2.定时器定时器/计数器计数器3.3.算术运算功能算术运算功能4.4.逻辑、函数运算功能逻辑、函数运算功能5.5.数据传送功能数据传送功能6
4、.6.转换功能转换功能7.7.复杂功能复杂功能第6页/共92页71.1.逻辑取及线圈驱动指令逻辑取及线圈驱动指令 指令格式指令格式:取(反)取(反)取(反)取(反)指令指令:用于与母线相连的常开(闭)触点或用于与母线相连的常开(闭)触点或分支逻辑块的开始分支逻辑块的开始,表示逻辑运算的开始。表示逻辑运算的开始。第7页/共92页8【例例5-15-1】线圈驱动线圈驱动指令指令:作为逻辑运算输出结果。作为逻辑运算输出结果。2 2第8页/共92页9 LDLDLDLD、LDNLDNLDNLDN可用于与母线相连的常开和常闭触点,可用于与母线相连的常开和常闭触点,可用于与母线相连的常开和常闭触点,可用于与母
5、线相连的常开和常闭触点,也可用在分支电路块的开始。也可用在分支电路块的开始。也可用在分支电路块的开始。也可用在分支电路块的开始。并联的线圈驱动指令并联的线圈驱动指令并联的线圈驱动指令并联的线圈驱动指令=可以连续使用任意次。可以连续使用任意次。可以连续使用任意次。可以连续使用任意次。同一元器件在同一程序中只是用一次驱动指令同一元器件在同一程序中只是用一次驱动指令同一元器件在同一程序中只是用一次驱动指令同一元器件在同一程序中只是用一次驱动指令=。线圈驱动指令不能用于输入继电器线圈驱动指令不能用于输入继电器线圈驱动指令不能用于输入继电器线圈驱动指令不能用于输入继电器I I I I。T T T T和和
6、和和C C C C在在在在S7-200S7-200S7-200S7-200作为输出线圈时不使用作为输出线圈时不使用作为输出线圈时不使用作为输出线圈时不使用=指令。指令。指令。指令。指令使用说明指令使用说明:第9页/共92页102.2.与与单个触点的串联、并联指令单个触点的串联、并联指令指令格式指令格式:与与 /与反与反指令:指令:与与单个常开单个常开/常闭触点常闭触点的的串联串联联接。联接。或或 /或反或反指令指令:与与单个常开单个常开/常闭触点常闭触点的的并联并联联接。联接。第10页/共92页11【例例5-25-2】第11页/共92页12 单个触点的串联指令原则上可以连续使用单个触点的串联指
7、令原则上可以连续使用,但限于打印和屏幕宽度但限于打印和屏幕宽度,串联触点的数串联触点的数量最好小于量最好小于1111个个。单个触点的单个触点的并联指令可以连续使用并联指令可以连续使用。连续输出电路中连续输出电路中可以反复使用可以反复使用=指令指令,但次序必须正确。,但次序必须正确。指令使用说明指令使用说明:第12页/共92页133.3.串联电路块的并联连接串联电路块的并联连接串联电路块串联电路块:两个以上触点串联形成的支路。两个以上触点串联形成的支路。OLDOLD:用于串联电路块的并联连接。用于串联电路块的并联连接。第13页/共92页14每个每个串联电路块的开始串联电路块的开始都要用都要用LD
8、LD或或LDNLDN指令。指令。每完成一次每完成一次串联电路块并联串联电路块并联时都要用时都要用OLDOLD指令。指令。OLDOLD指令指令没有操作数没有操作数。指令使用说明指令使用说明:第14页/共92页154.4.并联电路块的串联连接并联电路块的串联连接并联电路块并联电路块:两个以上触点(或支路)并联两个以上触点(或支路)并联 形成的回路形成的回路 ALDALD:用于并联电路块的串联连接。用于并联电路块的串联连接。第15页/共92页16每个每个并联电路块的开始并联电路块的开始都要用都要用LDLD或或LDNLDN指令。指令。每完成一次每完成一次并联电路块串联时并联电路块串联时都要用都要用AL
9、DALD指令。指令。ALDALD指令指令没有操作数。没有操作数。指令使用说明指令使用说明:第16页/共92页175.5.置位、复位指令置位、复位指令 指令格式指令格式:第17页/共92页18置位指令与输出线圈指令比较置位指令与输出线圈指令比较 I0.0Q0.1S1不保持不保持保持保持第18页/共92页19置置/复位指令复位指令具有记忆功能具有记忆功能。某元件一旦置位就保持为。某元件一旦置位就保持为1 1,一旦复位就保持为,一旦复位就保持为 0 0。同一个程序中,可以同一个程序中,可以对同一个元件多次使用置对同一个元件多次使用置/复位指令复位指令,由于,由于PLCPLC采用循环扫描采用循环扫描方
10、式工作,故写在后面的指令具有优先权。方式工作,故写在后面的指令具有优先权。指令使用说明指令使用说明:第19页/共92页206.6.边沿脉冲指令边沿脉冲指令 指令格式指令格式:上升沿指令上升沿指令:对之前的逻辑运算结果的上升沿对之前的逻辑运算结果的上升沿,产生产生一个宽度为一个扫描周期的脉冲。一个宽度为一个扫描周期的脉冲。下降沿指令下降沿指令:对逻辑运算结果的下降沿对逻辑运算结果的下降沿,产生一个宽产生一个宽度为一个扫描周期的脉冲。度为一个扫描周期的脉冲。指令功能指令功能:第20页/共92页21【例例5-45-4】第21页/共92页22 指令使用说明指令使用说明 :边沿脉冲指令没有操作数。边沿脉
11、冲指令没有操作数。上升上升/下降沿指令的用途:用来将一个下降沿指令的用途:用来将一个长长信号变成信号变成一个一个只接通一个扫描周期的短信号只接通一个扫描周期的短信号。它可以作为设备的它可以作为设备的启动、停止条件启动、停止条件;还能作为;还能作为某些功能指令的某些功能指令的触发信号触发信号。第22页/共92页237.7.逻辑堆栈指令逻辑堆栈指令 S7-200S7-200系列系列PLCPLC中有中有9 9层层逻辑堆栈逻辑堆栈,用来处理所用来处理所有的逻辑操作。有的逻辑操作。堆栈操作的特点是:堆栈操作的特点是:“先进后出先进后出”。每一次。每一次入栈、出栈操作的过程入栈、出栈操作的过程见图见图第2
12、3页/共92页24 复杂梯形图中,除了左母线外,还有一些分母线,分母线右边常常联有许多从逻复杂梯形图中,除了左母线外,还有一些分母线,分母线右边常常联有许多从逻辑块,这时必须用逻辑堆栈指令才能完成转化。辑块,这时必须用逻辑堆栈指令才能完成转化。第24页/共92页25 逻辑入栈指令逻辑入栈指令 LPSLPS (Logic PushLogic PushLogic PushLogic Push)用于生成一条新的母用于生成一条新的母线,左侧为原来的主逻线,左侧为原来的主逻辑块,从右侧第一个从辑块,从右侧第一个从逻辑块的开始编程逻辑块的开始编程。功能:将栈顶值复制后功能:将栈顶值复制后压入堆栈的下一层。
13、压入堆栈的下一层。逻辑读栈指令逻辑读栈指令 LRDLRD (Logic ReadLogic ReadLogic ReadLogic Read)用于从第二个从逻辑块开始编程用于从第二个从逻辑块开始编程,功能是将第功能是将第2 2层的数据复制到栈顶。层的数据复制到栈顶。第25页/共92页26 逻辑出栈指令逻辑出栈指令 LPPLPP(Logic PopLogic Pop)用于从最后一个从逻辑块开始编程,用于从最后一个从逻辑块开始编程,功能是功能是将原将原栈顶数据弹出,结束分母线栈顶数据弹出,结束分母线.第26页/共92页27【例例5-55-5】第27页/共92页28【例例5-65-6】第28页/共9
14、2页29指令使用说明指令使用说明 由于受堆栈空间的限制(由于受堆栈空间的限制(9 9层堆栈),层堆栈),LPSLPS、LPPLPP指令连续使用时应少于指令连续使用时应少于9 9次。次。LPSLPS和和LPPLPP指令必须成对使用指令必须成对使用,它们之间可以使用,它们之间可以使用LRDLRD指令。指令。LPSLPS、LRDLRD、LPPLPP指令无操作数。指令无操作数。第29页/共92页308.8.定时器定时器 1 1)定时器的几个概念定时器的几个概念 定时器的种类:定时器的种类:接通延时型定时器(接通延时型定时器(TONTON)带记忆接通延时型定时器(带记忆接通延时型定时器(TONRTONR
15、)断开延时型定时器(断开延时型定时器(TOFTOF)定时器的分辨率定时器的分辨率:单位时间的时间增量称为单位时间的时间增量称为定时器的分辨率定时器的分辨率,又称为,又称为计时精度计时精度。使能端使能端INPTT37TON第30页/共92页31 S7-200S7-200系列系列PLCPLC定时器的分辨率有三种:定时器的分辨率有三种:1ms 10ms 100ms1ms 10ms 100ms 定时器计时时间的计算定时器计时时间的计算:T=PT ST=PT S 即:实际计时时间实际计时时间 =设定值设定值 分辨率分辨率 例:已知定时器例:已知定时器T97T97的分辨率的分辨率10ms,10ms,设定值
16、设定值PTPT为为100100,则实际计时时间:,则实际计时时间:T=10010=1000 msT=10010=1000 ms。例:已知定时器例:已知定时器T37T37的分辨率的分辨率100ms,100ms,实际计时实际计时时时 间为间为20 s20 s,求设定值,求设定值PTPT:PT=T/S=20000ms/100ms=200PT=T/S=20000ms/100ms=200。使能端使能端INPTT37TON200200第31页/共92页32 定时器的编号定时器的编号 定时器的编号定时器的编号 =定时器名称定时器名称 T T+数字编号数字编号 T xT x (x x 的范围为:的范围为:0
17、0255255)定时器的两个参数:定时器的两个参数:当前值:当前值:每个定时器都有一个每个定时器都有一个1616位的当前值寄存器,用来存放定时器当前位的当前值寄存器,用来存放定时器当前累计的时间值。当前值是累计的时间值。当前值是16161616位有符号整数位有符号整数位有符号整数位有符号整数,最大值是最大值是最大值是最大值是32767327673276732767。状态位:状态位:有一个状态位寄存器,存放状态值,有一个状态位寄存器,存放状态值,状态位是布尔型数据状态位是布尔型数据状态位是布尔型数据状态位是布尔型数据。当前当前值达到设定值时,定时器状态位变化,并使触点动作。值达到设定值时,定时器
18、状态位变化,并使触点动作。INPTT37TON第32页/共92页33定时器分辨率和编号定时器分辨率和编号 定时器类型定时器类型 分辨率分辨率 最大当前值最大当前值 定时器编号定时器编号 TONR TONR 1ms 1ms 32.767s 32.767s T0T0,T64 T64 10ms 10ms 327.67s 327.67s T1T1T4T4,T65T65T68 T68 100ms 100ms 3276.7s 3276.7s T5T5T31T31,T69T69T95 T95 TON,TOF TON,TOF 1ms 1ms 32.767s 32.767s T32T32,T96 T96 10m
19、s 10ms 327.67s 327.67s T33T33T36T36,T97T97T100 T100 100ms 100ms 3276.7s 3276.7s T37T37T63T63,T101T101T255 T255 第33页/共92页34INPTTxTON2 2)定时器指令)定时器指令使能端使能端设定值设定值:1 13276732767定时器编号定时器编号(0 0255255)TON-TON-接通延时型定时器接通延时型定时器TON TxTON Tx,PTPTSTLSTLLADLAD(On-Delay TimerOn-Delay Timer)第34页/共92页35延时接通定时器延时接通定时
20、器 TON 当前值设定值当前值设定值 PTPT时,状态位时,状态位=0=0;当前值当前值PTPT时,时,状态位状态位=1=1,触点动作。触点动作。若使能输入端若使能输入端 IN IN 仍为仍为1 1,继续计时,一直计,继续计时,一直计到最大值到最大值3276732767,停止计时。,停止计时。使能输入端使能输入端 IN=0IN=0 时,时,停止停止计时,并使计时,并使当前值当前值 =0=0,状态位,状态位=0=0 。TON TON 指令的执行过程:指令的执行过程:使能输入端使能输入端 IN=1IN=1 时,时,定时器定时器开始计时开始计时;T38TONPTINI0.1120()T38Q0.1第
21、35页/共92页36定时器定时器 TON TON 指令工作时序图指令工作时序图T35的分辨率是10ms 计时值T=410=40ms第36页/共92页37INPTTxTONR设定值设定值:1 13276732767定时器编号定时器编号(0 0255255)TONR TxTONR Tx,PTPTSTLSTLLADLADTONR-TONR-带记忆接通延时型定时器带记忆接通延时型定时器(Retentive On-Delay TimerRetentive On-Delay Timer)第37页/共92页38TONR-TONR-带记忆接通延时型定时器带记忆接通延时型定时器 ININ又又为为1 1时,时,T
22、ONRTONR从当前值开始往上累计从当前值开始往上累计,直,直到最大值到最大值 3276732767,停止计时。,停止计时。TONR TONR 指令的执行过程:指令的执行过程:使能输入端使能输入端 IN=1IN=1 时,定时,定时器开始计时;时器开始计时;T4TONRPTINI0.1120()T4Q0.1()T4 R1M0.1 当前值当前值 PTPT时,状态位时,状态位=0=0;当前值当前值PTPT时,时,状态位状态位=1=1。IN=0IN=0 时,停止计时时,停止计时,当前当前值、状态位保持不变;值、状态位保持不变;第38页/共92页393276732767定时器定时器 TONR TONR
23、指令工作时序图指令工作时序图 定时器定时器TONRTONR只能用只能用复位指令复位指令(R R)来清除它的当)来清除它的当 前值和状态位。前值和状态位。T2的分辨率是10ms 计时值T=1010=100ms第39页/共92页40INPTTxTOF设定值设定值:1 13276732767TOF TxTOF Tx,PTPTSTLSTLLADLADTOF-TOF-断开延时型定时器断开延时型定时器 TOF TOF 指令的执行过程:指令的执行过程:断开延时型定时器是断开延时型定时器是在下降沿到来时开始计时在下降沿到来时开始计时在下降沿到来时开始计时在下降沿到来时开始计时。(Off-Delay Timer
24、Off-Delay Timer)第40页/共92页41TOF-TOF-断开延时型定时器断开延时型定时器 当前值设定值当前值设定值PTPT时,时,状态位保持为状态位保持为1 1;当前值当前值=设定值设定值 时,时,停止计时停止计时,状态位状态位 为为 0 0,当前值保持(设定值)不变。,当前值保持(设定值)不变。T38TOFPTINI0.1120()T38Q0.1 使能输入使能输入 IN IN 有下降沿有下降沿时,时,TOF TOF 开始计时开始计时。使能输入上升沿使能输入上升沿 IN=1IN=1时时,定时器定时器不计时不计时,TOFTOF复位,复位,当当 前值清前值清0 0,状态位置状态位置
25、1 1;第41页/共92页42 使能输入端使能输入端 ININ又变为又变为1 1时,停止计时,时,停止计时,TOFTOF的当前值清的当前值清0 0,状态位置,状态位置 1 1。定时器定时器 TOF TOF 指令工作时序图指令工作时序图T36的分辨率是10ms 计时值T=310=30ms第42页/共92页43定时器的刷新方式和正确使定时器的刷新方式和正确使用用 S7-200S7-200系列系列PLCPLC中,中,1ms 1ms,10ms,100ms10ms,100ms定时器的刷新方式不同。定时器的刷新方式不同。下图所示为正确使用定时器的一个下图所示为正确使用定时器的一个例子。它用来在定时器计时时
26、间到时例子。它用来在定时器计时时间到时产生产生一个宽度为一个扫描周期的脉冲一个宽度为一个扫描周期的脉冲。第43页/共92页44对对1ms1ms定时器定时器T32T32,在使用错误方法时,只有当定时器的,在使用错误方法时,只有当定时器的刷新发生在刷新发生在T32T32的常闭触点执行以后到的常闭触点执行以后到T32T32的常开触点执行的常开触点执行以前的区间时,以前的区间时,Q0.0Q0.0才能产生一个宽度为一个扫描周期的才能产生一个宽度为一个扫描周期的脉冲,而这种可能性是极小的。在其它情况下不会产生这脉冲,而这种可能性是极小的。在其它情况下不会产生这个脉冲。个脉冲。第44页/共92页45 对对1
27、0 ms10 ms定时器定时器T33T33,使用错误方法时,使用错误方法时,Q0.0Q0.0永远产生不了这个脉冲。因为当定时器计时到时,永远产生不了这个脉冲。因为当定时器计时到时,定时器在每次扫描开始时刷新。该例中定时器在每次扫描开始时刷新。该例中T33T33被置被置位,但执行到定时器指令时,定时器将被复位位,但执行到定时器指令时,定时器将被复位(当前值和位都被置当前值和位都被置0)0)。当常开触点。当常开触点T33T33被执行时,被执行时,T33T33永远为永远为OFFOFF,Q0.0Q0.0也将为也将为OFFOFF,即永远不会被,即永远不会被置位置位ONON。第45页/共92页46100
28、ms100 ms的定时器在执行指令时刷新,所以当定时器的定时器在执行指令时刷新,所以当定时器T37T37到达设定值时,到达设定值时,Q0.0Q0.0肯定会产生这个脉冲。改用正确使用方法后,把定时器到达设肯定会产生这个脉冲。改用正确使用方法后,把定时器到达设定值产生结果的元器件的常闭触点用做定时器本身的输入,则不论定值产生结果的元器件的常闭触点用做定时器本身的输入,则不论哪种定时器,都能保证定时器达到设定值时,哪种定时器,都能保证定时器达到设定值时,Q0.0Q0.0产生一个宽度为产生一个宽度为一个扫描周期的脉冲。所以,在使用定时器时,要弄清楚定时器的一个扫描周期的脉冲。所以,在使用定时器时,要弄
29、清楚定时器的分辨率,否则,一般情况下不要把定时器本身的常闭触点作为自身分辨率,否则,一般情况下不要把定时器本身的常闭触点作为自身的复位条件。在实际使用时,为了简单,的复位条件。在实际使用时,为了简单,100 ms100 ms的定时器常采用自的定时器常采用自复位逻辑,而且复位逻辑,而且100 ms100 ms定时器也是使用最多的定时器。定时器也是使用最多的定时器。第46页/共92页47better正 确 使 用 S=1 msS=10msS=100ms第47页/共92页48结结 论论:实现定时器实现定时器周期性计时周期性计时,并且,并且每个计时周每个计时周期到期到都产生输出信号都产生输出信号 1m
30、s1ms、10ms10ms定时器:定时器:不能采用自复位,必不能采用自复位,必须用输出元件的常闭触点切断定时器须用输出元件的常闭触点切断定时器ININ端。端。100ms100ms定时器:定时器:能采用自复位。能采用自复位。第48页/共92页499.9.计数器指令计数器指令 计数器指令的种类计数器指令的种类 增计数器(增计数器(CTUCTU)增减计数器(增减计数器(CTUDCTUD)减计数器(减计数器(CTDCTD)计数器用来对计数器用来对外部输入的低频脉冲信号外部输入的低频脉冲信号进进行计数。行计数。第49页/共92页50 计数器的编号计数器的编号 计数器的编号计数器的编号 CxCx,x x
31、范围范围:0:0255255。S7-200PLC S7-200PLC 中共有中共有256256个计数器个计数器 一个程序中,同一计数器编号不要重复使用,更不可分配给几个不同类型的计数器一个程序中,同一计数器编号不要重复使用,更不可分配给几个不同类型的计数器 每个计数器中包含两个参数:每个计数器中包含两个参数:当前值:当前值:每个计数器中有一个每个计数器中有一个1616位当前值寄位当前值寄存器,用来存放计数器当前累计的脉冲数,存器,用来存放计数器当前累计的脉冲数,是是1616位有符号整数,最大值是位有符号整数,最大值是3276732767 。第50页/共92页51状态位:状态位:计数器中还有一个
32、计数器中还有一个1 1位状态位寄存器,位状态位寄存器,当当前值当当前值设定值时,设定值时,状态位状态位状态位状态位置置 1 1,它,它是是是是布尔型布尔型布尔型布尔型操作数操作数操作数操作数。计数器的设定值计数器的设定值 计数器的设定值是计数器的设定值是 PVPV为为 INTINT型(型(1616位有位有符号整数符号整数)数据,操作数为字。)数据,操作数为字。第51页/共92页52计数器指令执行过程计数器指令执行过程 1)1)增计数器增计数器-CTU-CTU增计数端增计数端复位端复位端设定值设定值 CTU Cx,PVCTU Cx,PVSTLSTLLADLAD(Count Up Count Up
33、)计数器编号计数器编号第52页/共92页53 CTU CTU指令执行过程指令执行过程 复位端复位端 R=0R=0时时可以计数可以计数,CUCU端每有一个端每有一个 脉冲上升沿到来,当前值加脉冲上升沿到来,当前值加 1 1。当前值设定值当前值设定值 PV PV 时,状态位时,状态位=0=0;当前值当前值PVPV时,状态位置时,状态位置1 1。如果当前值如果当前值=设定值后设定值后 R R 仍为仍为0 0,可,可 以继续计数,一直以继续计数,一直计数到最大值计数到最大值 3276732767,停止计数停止计数。第53页/共92页54 增计数器指令工作时序图增计数器指令工作时序图 当复位端当复位端
34、R=1R=1时时计数器复位:计数器复位:当前值清零,当前值清零,状态位清零状态位清零。且且 R=1R=1期间停止计数。期间停止计数。第54页/共92页55x: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,4(Count Up/DownCount Up/Down)第55页/共
35、92页56 指令执行过程指令执行过程:复位端复位端 R R 为为0 0 时可以计数;时可以计数;CUCU端端每有一个脉冲每有一个脉冲上升沿上升沿输入,计数器的当前值输入,计数器的当前值 +1+1+1+1;CDCD端端每有一个脉冲每有一个脉冲上升沿上升沿输入,计数器当前值输入,计数器当前值 -1-1-1-1。当前值设定值当前值设定值PVPV时,状态位时,状态位=0=0;当前值当前值PVPV时,状态位置时,状态位置1 1。I1.0I1.0I1.1I1.14 4I1.2I1.2CU CTUDCU CTUDC30C30CDCDR RPVPV第56页/共92页57 R=0R=0时,时,增增/减计数器不会
36、停止计数,减计数器不会停止计数,当前值计到最大值当前值计到最大值3276732767时,如增脉冲端有输入时,如增脉冲端有输入,计数器当前值计数器当前值变为最小值变为最小值-3276832768;当前值计到当前值计到最小值最小值-32768-32768 ,如减脉冲端有输入,如减脉冲端有输入,计数器的当前值计数器的当前值变为最大值变为最大值32767.32767.当复位端当复位端 R R为为 1 1时计数器复位:时计数器复位:当前值清零,状态位清零当前值清零,状态位清零。且且 R=1R=1期间停止计期间停止计数。数。第57页/共92页58 增增/减计数器指令工作时序图减计数器指令工作时序图第58页
37、/共92页593)3)减计数器减计数器CTDCTD设定值设定值 装载端装载端 减计数脉冲减计数脉冲 STL STL LAD LAD CTD Cx,PVCTD Cx,PV(Count Down Count Down)第59页/共92页60当装载端当装载端 LD=0LD=0 时可以计数,当减计数输入端时可以计数,当减计数输入端 CDCD有上升沿有上升沿到来时,减计数器到来时,减计数器从设从设定值开始减计数。定值开始减计数。计数器的计数器的当前值当前值0 0时,其时,其状态位为状态位为0 0;而它的;而它的当前值当前值=0=0时,时,状态位置状态位置 1 1,且停止计,且停止计数。数。当装载输入端当
38、装载输入端 LD=1LD=1时,停止计数,减计数器复位:时,停止计数,减计数器复位:当前值当前值=设定值设定值,状态位状态位=0=0。减计数器指令执行过程减计数器指令执行过程:I1.3I1.43CD CTDLDPVC40第60页/共92页61 减计数器减计数器CTDCTD指令工作时序图指令工作时序图第61页/共92页62 10.10.比较指令比较指令 比较指令比较指令:带有带有参数参数和和运算符运算符的的触点类触点类指令,是把指令,是把两个操作数按照指定的条件进行比较,当两个操作数按照指定的条件进行比较,当满足比较满足比较式的条件时,触点闭合式的条件时,触点闭合;否则,触点断开。否则,触点断开
39、。数据类型数据类型 T T 比较指令的数据类型有五种比较指令的数据类型有五种:比较指令的格式比较指令的格式:第62页/共92页63 比较式比较式 比较指令的比较指令的比较式比较式有有六六种种第63页/共92页64比较指令使用举例第64页/共92页65SRSR(Set Dominant BistableSet Dominant Bistable):):置位优先触发器指令置位优先触发器指令。当置位信号(当置位信号(S1S1)和复位信号()和复位信号(R R)都为真时,输出为真。)都为真时,输出为真。RSRS(Reset Dominant BistableReset Dominant Bistabl
40、e):):复位优先触发器指复位优先触发器指令令。当置位信号(。当置位信号(S S)和复位信号()和复位信号(R1R1)都为真时,输出)都为真时,输出为假。为假。没有没有STLSTL形式形式P148P148举例举例11.RS触发器指令第65页/共92页66u当读取输入点的状态时,当读取输入点的状态时,对对I I进行操作,相应输进行操作,相应输入映像寄存器中的值并入映像寄存器中的值并未更新。未更新。u当访问输出点的状态时,当访问输出点的状态时,对对Q Q进行操作,新值同进行操作,新值同时写入时写入PLCPLC的物理触点的物理触点和相应的输出映像寄存和相应的输出映像寄存器。器。12.立即指令 立即指
41、令立即指令不受不受不受不受PLCPLCPLCPLC循环扫描工作方式的影响循环扫描工作方式的影响循环扫描工作方式的影响循环扫描工作方式的影响,允,允许许对输入和输出点对输入和输出点对输入和输出点对输入和输出点进行进行快速直接存取快速直接存取快速直接存取快速直接存取。第66页/共92页67立即指令举例立即指令举例第67页/共92页6813.取反指令NOT 功能:取反指令的功能是改变能流的状态,对前功能:取反指令的功能是改变能流的状态,对前面的能流取反。面的能流取反。如:如:相当于相当于第68页/共92页695-2 5-2 程序控制指令程序控制指令 为了优化程序结构,增强程序功能,需改变为了优化程序
42、结构,增强程序功能,需改变程序方向。改变程序走向的指令程序方向。改变程序走向的指令-程序控制指令。程序控制指令。结束指令结束指令ENDEND停止指令停止指令STOP STOP 看门狗指令看门狗指令 跳转及标号指令跳转及标号指令 循环指令循环指令子程序调用指令子程序调用指令 第69页/共92页701.1.结束指令结束指令 ENDEND S7-200PLCS7-200PLC中有两条结束指令中有两条结束指令指令功能:指令功能:当执行结束指令后,系统结束当执行结束指令后,系统结束主程序,返回主程序的起点。主程序,返回主程序的起点。第70页/共92页71可以利用有条件结束指令来可以利用有条件结束指令来提
43、前结束主程序,改变提前结束主程序,改变主程主程序循环点序循环点.结束指令的应用结束指令的应用第71页/共92页72在调试控制程序时,可以在调试控制程序时,可以插入有插入有插入有插入有条件结束指令来实现主程序的分条件结束指令来实现主程序的分条件结束指令来实现主程序的分条件结束指令来实现主程序的分段调试段调试段调试段调试,如如:结束指令的应用结束指令的应用第72页/共92页73 结束指令说明:结束指令说明:A.A.结束指令结束指令只能用在只能用在主程序主程序中中,不能用在,不能用在子程序和中断服务程序中。子程序和中断服务程序中。B.B.有条件结束指令可以根据外部逻辑条件有条件结束指令可以根据外部逻
44、辑条件来结束主程序的执行。来结束主程序的执行。C.C.无条件结束指令用户不能使用,无条件结束指令用户不能使用,系统在系统在编译编译用户程序时,用户程序时,会在每一个主程序结尾自动会在每一个主程序结尾自动加上无条件结束指令,加上无条件结束指令,使得主程序能周而复始使得主程序能周而复始地执行。地执行。第73页/共92页742.2.停止指令停止指令 STOPSTOP 指令形式指令形式功能:功能:停止指令使可编程控制器从运行模式停止指令使可编程控制器从运行模式进入停止模式,立即终止程序的执行。进入停止模式,立即终止程序的执行。第74页/共92页75 STOP STOP指令可以用在指令可以用在主程序、子
45、程序主程序、子程序和和中断程序中。中断程序中。如果在中断程序中执行了如果在中断程序中执行了STOPSTOP指令,中断程序立即终止,并忽略全部等待执指令,中断程序立即终止,并忽略全部等待执行的中断,继续执行主程序的剩余部分,并在主程序的结束处,完成从运行方式行的中断,继续执行主程序的剩余部分,并在主程序的结束处,完成从运行方式至停止方式的转换。至停止方式的转换。第75页/共92页76STOPSTOP指令应用指令应用第76页/共92页773.3.跳转与标号指令跳转与标号指令 跳转与标号指令的形式跳转与标号指令的形式 功能:功能:跳转指令:跳转指令:把程序流转到把程序流转到同一程序同一程序的指定标的
46、指定标号处号处,根据不同条件执行不同程序段。根据不同条件执行不同程序段。第77页/共92页78 跳转跳转/标号指令必须标号指令必须成对使用成对使用,且,且只能用在同一只能用在同一程序块中程序块中。如同在主程序、同一子程序、同一中。如同在主程序、同一子程序、同一中断服务程序中。断服务程序中。跳转跳转/标号指令中的操作数标号指令中的操作数 n n 的范围:的范围:0 0255255。执行跳转指令后,执行跳转指令后,跳过程序段中各个元件跳过程序段中各个元件(除(除定时器外)定时器外)的状态不变的状态不变,保持跳转前的状态。,保持跳转前的状态。标号指令标号指令:指定程序流跳转到的指定程序流跳转到的目标
47、位置目标位置。JMP/LBL JMP/LBL 指令使用说明:指令使用说明:第78页/共92页79 跳过程序段中若有定时器,因它们的刷新方式不同,其状态变化也不同。跳过程序段中若有定时器,因它们的刷新方式不同,其状态变化也不同。a.a.对于对于1ms1ms、10ms10ms的定时器,由于系统会对它们周期刷新,故会继续计时。的定时器,由于系统会对它们周期刷新,故会继续计时。b.b.对于对于100ms100ms的定时器,由于只有执行指令时其当前值和状态位才会被刷新,因此的定时器,由于只有执行指令时其当前值和状态位才会被刷新,因此跳过程序段中的定时器指令因不执行而停止刷新,会使定时器计时失准。跳过程序
48、段中的定时器指令因不执行而停止刷新,会使定时器计时失准。第79页/共92页80跳转、标号指令应用跳转、标号指令应用【例例例例5-3-55-3-55-3-55-3-5】有一个机械手,有一个机械手,用工作方式开关用工作方式开关选择手动、单步、选择手动、单步、自动工作方式,自动工作方式,主程序如下:主程序如下:第80页/共92页81循环开始指令循环开始指令FORFOR:用来标记循环体的:用来标记循环体的开始开始。循环结束指令循环结束指令NEXTNEXT:用来标记循环体的:用来标记循环体的结束结束。无操作数。无操作数。FORFOR和和NEXTNEXT之间的程序段称为循环体之间的程序段称为循环体,每执行
49、一,每执行一次循环体,当前计数值增次循环体,当前计数值增1 1,并且将其结果同终,并且将其结果同终值作比较,如果大于终值,则终止循环。值作比较,如果大于终值,则终止循环。4.循环指令第81页/共92页82l参数使用说明参数使用说明循环指令盒中有循环指令盒中有三个数据输入端三个数据输入端:当前循环计数当前循环计数INDXINDX、循环初值循环初值INITINIT和和循循环终值环终值FINALFINAL。在使用时必须给。在使用时必须给FORFOR指令指定当前循环计数(指令指定当前循环计数(INDXINDX)、初值)、初值(INITINIT)和终值()和终值(FINALFINAL)。)。第82页/共
50、92页83l指令使用说明指令使用说明FORFOR、NEXTNEXT指令必须指令必须成对使用成对使用。FORFOR和和NEXTNEXT可以循环嵌套可以循环嵌套,嵌套,嵌套最多为最多为8 8层层,但各个嵌套之间不可有交叉现,但各个嵌套之间不可有交叉现象。象。每次使能输入(每次使能输入(ENEN)重新有效时,指令将自动复位各参数。)重新有效时,指令将自动复位各参数。初值大于终值时,循环体不被执行。初值大于终值时,循环体不被执行。在使用循环指令时,要注意在循环体中对在使用循环指令时,要注意在循环体中对INDXINDX的控制,这一点非常重要。的控制,这一点非常重要。第83页/共92页84循环指令使用举循