2020/1/19第四章S7-200的指令系统2020/1/19学习目标:●掌握触点线圈指令、置位复位指令、正负跃变指令的格式及应用;●掌握定时器、计数器指令的格式及应用;●掌握位移位寄存器指令的格式及应用;●掌握跳转指令、子程序指令、顺序控制继电器指令的格式及应用。●掌握程序调试的步骤及方法。2020/1/19PLC基本编程规则1、外部输入,输出继电器,内部继电器,定时器和计数器等器件的接点课多次重复使用。2、梯形图每一行都是从左母线开始,线圈接在最右边,接点不能放在线圈的右边。3、线圈不能直接与左母线相连。4、同一编号的线圈在一个程序中只能出现一次。5、梯形图程序必须符合顺序执行的原则,即从左往右,从上到下执行。不符合顺序的不能直接编程。6、在梯形图中串联接点,并联接点的使用次数没有限制,可无限次使用。7、两个线圈不能串联使用,但是可以并联使用8、接点应画在水平线上,不应画在垂直线上2020/1/194.1位操作类指令1.逻辑取(装载)指令LD/LDN2.触点串联指令A/AN3.触点并联指令O/ON4.电路块的串联指令ALD5.电路块的并联指令OLD6.置位/复位指令S/R7.边沿触发指令EU/ED2020/1/19表4-1触点指令的格式及功能梯形图LAD语句表STL功能操作码操作数梯形图含义语句表含义LDbit将一常开触点bit与母线相连接将bit装入栈顶LDNbit将一常闭触点bit与母线相连接将bit取反后装入栈顶Abit将一常开触点bit与上一触点串联,可连续使用将bit与栈顶相与后存入栈顶ANbit将一常闭触点bit与上一触点串联,可连续使用将bit取反与栈顶相与后存入栈顶Obit将一常开触点bit与上一触点并联,可连续使用将bit与栈顶相或后存入栈顶ONbit将一常闭触点bit与上一触点并联,可连续使用将bit取反与栈顶相或后存入栈顶bitbitbitbitbitbit2020/1/19触点指令的格式和功能说明:●梯形图程序的触点指令有常开和常闭触点两类,类似于继电-接触器控制系统的电器接点,可自由的串并联。●语句表程序的触点指令由操作码和操作数组成。在语句表程序中,控制逻辑的执行通过CPU中的一个逻辑堆栈来实现,这个堆栈有九层深度,每层只有一位宽度。语句表程序的触点指令运算全部都在栈顶进行。●表中操作数bit寻址寄存器I、Q、M、SM、T、C、V、S、L的位值。2020/1/19输出线圈指令表4-2输出线圈指令的格式及功能梯形图LAD语句表STL功能操作码操作数梯形图含义语句表含义=bit当能流流进线圈时,线圈所对应的操作数bit置“1”复制栈顶的值到bitBit()说明:●输出线圈指令的操作数bit寻址寄存器I、Q、M、SM、T、C、V、S、L的位值。●输出线圈指令对同一元件(操作数)一般只能使用一次。2020/1/19例1触点串联指令编程图4-1逻辑与操作编程举例a)梯形图b)语句表2020/1/19例2触点并联指令编程图4-2逻辑或操作编程举例a)梯形图b)语句表2020/1/19逻辑取反指令的格式和功能说明:该指令在梯形图中编程时串联在需要取反的逻辑运算结果之后。NOT表4-3逻辑取反指令的格式及功能梯形图LAD语句表STL功能操作码操作数NOT无对该指令前面的逻辑运算结果取反2020/1/19例3取反指令编程图4-3逻辑取反指令操作编程举例LDI0.0NOT=Q0.02020/1/19置位复位指令1.置位复位指令表4-5置位复位指令的格式及功能梯形图LAD语句表STL功能操作码操作数Rbit,N条件满足时,从bit开始的N个位被置“1”Sbit,N条件满足时,从bit开始的N个位被清“0”bitSNbitRN2020/1/19说明:●Bit指定操作的起始位地址,寻址寄存器I、Q、M、S、SM、V、T、C、L的位值;●N指定操作的位数,其范围是0~255,可立即数寻址,也可寄存器寻址(IB,QB,MB,SMB,SB,LB,VB,AC,*AC,*VD)●当对同一位地址进行操作的复位、置位指令同时满足执行条件时,写在后面的指令被有效执行。1.置位复位指令2020/1/192.触发器指令说明:bit指定被操作的寄存器位,其寻址的寄存器是I,Q,M,V,S的位值。表4-6触发器指令的格式及功能梯形图LAD功能复位优先(RS)触发器的置位信号S和复位信号R1同时为1时,使bit位置0置位优先(SR)触发器的置位信号S1和复位信号R同时为1时,使bit位置1S1OUTSRRbitSOUTRSR1bit2020/1/193.指令编程举例(1)置位复位指令编程图3-6中的起保停程序可由置位复位指令编写,其对应的梯形图及语句表程序如图3-10所示。图4-7置位复位指令实现的起保停程序起动保持停止a)梯形图b)语句表图3-6起保停程序2020/1/19(2)触发器指令编程图4-8RS触发器指令操作编程举例a)梯形图b)语句表3.指令编程举例2020/1/19正负跃变指令1.正负跳变指令当信号从0变1时,将产生一个上升沿(或正跳沿),而从1变0时,则产生一个下降沿(或负跳沿),如图所示。时间信号01上升沿下降沿2020/1/19正负跃变指令格式和功能该指令在程序中检测其前方逻辑运算状态的改变,将一个长信号变为短信号。表4-7正负跃变指令的格式及功能梯形图LAD语句表STL功能操作码操作数EU无正跃变指令检测到每一次输入的上升沿出现时,都将使得电路接通一个扫描周期ED无负跃变指令检测到每一次输入的下降沿出现时,都将使得电路接通一个扫描周期PN2020/1/192.正负跃变指令编程举例图4-9一个按钮控制两台电动机依次启动的程序a)梯形图b)语句表2020/1/19例题赏析1、设计一个三相异步电动机的自锁控制电路,给出两种以上的设计方案2、设计一个三相异步电动机的可逆控制电路,给出两种以上的设计方案3、采用一个按钮控制两台电动机的依次启动,控制要求如下:按下按钮第一台电动机启动,松开按钮,第二台电动机启动。2020/1/19堆栈操作指令采用梯形图程序指令编写程序时,程序由一系列图形组合而成,用户可以方便的根据需要进行编程(绘图)。但在使用语句表程序指令编程时,如遇复杂电路则将不能直接使用触点“与”或触点“或”指令进行描述,为此各种类型的PLC均有专门用于描述复杂电路的语句表指令,他们称为堆栈操作指令。S7-200有一个九层堆栈区。2020/1/19表4-4堆栈操作指令的格式及功能指令名称语句表STL功能操作码操作数栈装载与指令(电路块串联指令)ALD无将堆栈中第一层和第二层的值进行逻辑与操作,结果存入栈顶,堆栈深度减1栈装载或指令(电路块并联指令)ORD无将堆栈中第一层和第二层的值进行逻辑或操作,结果存入栈顶,堆栈深度减1逻辑推入栈指令LPS无复制栈顶的值并将其推入栈,栈底的值被推出并丢失逻辑读栈指令LRD无复制堆栈中的第二个值到栈顶,堆栈没有推入栈或弹出栈操作,但旧的栈顶值被新的复制值取代逻辑弹出栈指令LPP无弹出栈顶的值,堆栈的第二个值成为栈顶的值2020/1/19例4电路块并联指令编程图4-4逻辑块“或”操作编程举例LDI0.0AI0.2LDI0.1AI0.3OLD=Q0.02020/1/19例5电路块串联指令编程图4-5逻辑块“与”操作编程举例LDI0.0ONI0.1LDI0.2OI0.3ALD=Q0.0a)梯形图b)语句表2020/1/19例6堆栈操作指令编程图4-6逻辑堆栈操作指令编程举例a)梯形图b)语句表2020/1/194.2定时器/计数器指令及应用定时器和计数器指令在控制系统中主要用来实现定时操作及计数操作。可用于需要按时间原则控制的场合及根据对某事件计数要求控制的场合。2020/1/194.2.1定时器指令S7-200系列PLC的软定时器有三种类型,他们分别是接通延时定时器TON、断开延时定时器TOF和保持型接通延时定时器TONR,其定时时间等于分辨率与设定值的乘积。定时器的分辨率有lms、l0ms和l00ms三种,取决于定时器号码。定时器的设定值和当前值均为16位的有符号整数(INT),允许的最大值为32767。定时器的预设值PT可寻址寄存器VW、IW、QW、MW、SMW、SW、LW、AC、AIW、T、C、*VD、*AC及常数。2020/1/194.2.1定时器指令表3-9定时器的类型工作方式时基(ms)最大定时范围(s)定时器号TONR132.767T0,T6410327.67T1-T4,T65-T681003276.7T5-T31,T69-T95TON/TOF132.767T32,T9610327.67T33-T36,T97-T1001003276.7T37-T63,T101-T2552020/1/191.接通延时定时器(TON)说明:接通延时定时器TON用于单一间隔的定时。表3-10接通延时定时器指令的格式及功能梯形图LAD语句表STL功能操作码操作数TONTxxx,PTTON定时器的使能输入端IN为“1”时,定时器开始定时;当定时器的当前值大于预定值PT时,定时器位变为ON(该位为“1”);当TON定时器的使能输入端IN由“1”变“0”时,定时器复位指令格式及功能INTONPTTXXX2020/1/192.接通延时定时器(TON)2)指令编程举例图4-10TON定时器指令编程举例I0.0T37当前值Q0.010S预设值I0.1a)梯形图程序b)语句表程序c)时序图2020/1/192.断开延时定时器(TOF)1)指令格式及功能表3-11断开延时定时器指令格式及功能梯形图LAD语句表STL功能操作码操作数TOFTxxx,PTTOF定时器的使能输入端IN为“1”时,定时器位变ON,当前值被清零;当定时器的使能输入端IN为“0”时,定时器开始计时;当当前值达到预定值PT时,定时器位变为OFF(该位为“0”)说明:利用断开延时定时器TOF的工作特点,可实现某一事件(故障)发生后的时间延时。INTOFPTTXXX2020/1/192.断开延时定时器(TOF)2)指令编程举例图4-11TOF定时器指令编程举例I0.1T37当前值Q0.15S预设值a)梯形图程序b)语句表程序c)时序图2020/1/19表4-9保持型接通延时定时器指令格式及功能梯形图LAD语句表STL功能操作码操作数TONRTxxx,PTTONR定时器的使能输入端IN为“1”时,定时器开始延时;为“0”时,定时器停止计时,并保持当前值不变;当定时器当前值达到预定值PT时,定时器位变为ON(该位为“1”)3.保持型接通延时定时器(TONR)1)指令格式及功能INTONRPTTXXX说明:(1)TONR定时器的复位只能用复位指令来实现。(2)利用TONR定时器指令的时间记忆功能,可实现对多次输入接通时间的累加。2020/1/193.保持型接通延时定时器(TONR)2)指令编程举例图4-12TONR定时器指令编程举例I0.1T31当前值Q0.1T31预设值I0.2a)梯形图程序b)语句表程序c)时序图2020/1/194.2.2计数器指令计数器利用输入脉冲上升沿累计脉冲个数。S7-200系列PLC有3类计数器:加计数器CTU、减计数器CTD和加减计数器CTUD。2020/1/19表3-13加计数器指令的格式及功能梯形图LAD语句表STL功能操作码操作数CTUCxxx,PV加计数器对CU的上升沿进行加计数;当计数器的当前值大于等于设定值PV时,计数器位被置1;当计数器的复位输入R为ON时,计数器被复位,计数器当前值被清零,位值变为OFF1.加计数器CTU1)指令格式及功能CUCTURPVCXXX说明:(1)CU为计数器的计数脉冲;R为计数器的复位;PV为计数器的预设值,取值范围在1-32767之间。(2)计数器的号码CXXX在0-255范围内任选。(3)计数器也可通过复位指令为其复位。2020/1/192)指令编程举例(1)药片自动数粒装瓶控制2020/1/192)指令编程举例(2)计数器扩展程序