




已阅读5页,还剩120页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第3章可编程序控制器的基本指令及程序设计,一、基本指令二、程序控制指令三、PLC编程规则四、典型环节程序示例五、PLC程序的简单设计法,.,2,逻辑取及线圈驱动指令触点串联指令触点并联指令串联电路块的并联连接指令并联电路块的串联连接指令置位复位指令RS触发器指令立即指令边沿脉冲指令逻辑堆栈操作指令定时器计数器比较指令NOT及NOP指令,一、PLC的基本逻辑指令及举例,.,3,一、PLC基本逻辑指令及举例,S7200系列PLC逻辑指令共有106条,厂家提供了梯形图(LAD)、语句表(STL)、功能块图(FBD)和顺序流程图几种编程语言,其中LAD和STL是最基本的也是最常用的编程语言。本章以这两种语言为例介绍其应用。1.装入触点指令及驱动指令LD(LOAD):装入触点指令。用于网络块逻辑运算开始的常开触点与母线的连接。LDN(LOADNOT):取反指令。用于网络块逻辑运算开始的常闭触点与母线的连接。(OUT):线圈的驱动指令图31为上面三条指令的用法注意事项:,3,LD、LDN指令不只是用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也使用LD、LDN指令,与后面要讲的LD、OLD指令配合完成块电路的编程。指令不能用于输入继电器。指令可连续使用任意次。在同一线圈中不要使用双线圈输出。LD、LDN操作数为I、Q、M、SM、T、C、V、S的操作数为Q、M、S、V,.,4,2.触点串联指令,A(And):与指令。用于单个常开触点的串联连接。AN(AndNot):与反指令。用于单个常闭触点的串联连接。,注意事项:A、AN是单个触点串联连接指令,可连续使用,编程时只受到打印宽度和屏幕显示的限制。例中可以反复使用=指令,但次序必须正确。A、AN指令的操作数为:I、Q、M、SM、T、C、V、S和L。,LDM0.0LPSAM0.1=Q0.0LPP=Q0.1,.,5,网络1,I0.0,M0.1,网络2连续输出,I0.2,Q0.0,M0.3,T5,Q0.3,M0.4,Q0.1,LDI0.0AM0.0=Q0.0LDM0.1ANI0.2=M0.3AT5=Q0.3ANM0.4=Q0.1,(a)梯形图,(b)语句表,M0.0,.,6,3.触点并联指令,O(or),或指令。用于单个常开触点的并联连接,ON(ornot),或反指令。用于单个常闭触点的并联连接,单个触点的O、ON指令可连续使用O、ON指令的操作数为:I、Q、M、SM、T、C、V、S、和L,注意事项:,.,7,M0.0,M0.1,M0.2,I0.1,I0.0,Q0.0,LDM0.0OM0.1ONM0.2AI0.0OI0.1=Q0.0,(a)梯形图,(b)语句表,网络1触点的并联电路举例,.,8,.,9,4串联电路块的并联连接指令,OLD(orload),或块指令:用于串联电路块的并联连接两个以上触点串联形成的支路叫串联电路块,在电路块的开始也要使用LD、LDN指令每完成一次块电路的并联时要写上OLD指令OLD指令无操作数,注意事项,.,10,I0.0,I0.1,I0.2,M0.0,M0.1,M0.2,M0.3,Q0.0,LDI0.0AM0.0LDI0.1ANM0.1OLDLDNI0.2AM0.2OLDAM0.3=Q0.0,(a)梯形图,(b)语句表,网络1OLD指令使用举例,.,11,5并联电路块的串联连接指令,ALD(AndLoad),与块指令。用于并联电路块的串联连接两条以上支路并联形成的电路叫并联电路块,注意事项,在块电路开始时要使用LD和LDN指令在每完成一次块电路的串联连接后要写上ALD指令ALD指令无操作数,.,12,网络1ALD指令使用举例,I0.0,I0.1,M0.0,M0.2,M0.1,M0.3,Q0.0,LDI0.0OI0.1LDM0.0AM0.1LDM0.2ANM0.3OLDALD=Q0.0,(a)梯形图,(b)语句表,.,13,.,14,6.置位、复位指令,表1置位复位指令的功能表,.,15,网络1置位,网络2复位,I0.0,Q0.0,LDI0.0SQ0.0,2LDI0.1RQ0.1,2,I0.0,I0.1,(a)梯形图,(b)语句表,(c)时序图,Q0.0,Q0.1,.,16,对元件来说一旦被置位,就保持在通电状态,除非在对它复位;而一旦被复位,就保持在断电状态,除非在对它置位S/R指令可以互换次序使用,但由于PLC采用扫描工作方式,所以写在后面的指令具有优先权如果对记数器和定时器复位,则记数器和定时器的当前值被清零N的常数范围为1-255,N也可为:VB、IB、QB、MB、SMB、SB、LB、AC、常数、*VD、*AC、*LD。一般情况下使用常数S/R指令的操作数为:I、Q、M、SM、T、C、V、S、和L,注意事项:,.,17,7.RS触发指令,SR(setdominantbistable),置位优先触发指令。当置位信号和复位信号都为真时,输出为真,RS(resetdominantbistable),复位优先触发指令。当置位信号和复位信号都为真时,输出为假,R,S1,SR,OUT,bit,R1,S,RS,OUT,bit,.,18,RS触发器指令的真值表,.,19,网络1,网络2,I0.0,I0.1,I0.0,I0.1,Q0.0,Q0.1,(a)梯形图,(b)时序图,.,20,8.立即指令(Immediately),立即指令是为了提高PLC对输入输出的响应速度而设置,不受PLC循环工作方式的影响,允许对输入和输出点进行快速直接存取。对I操作,相应的输入映像寄存器的值并未更新;当用立即指令访问输出点时,对Q操作,新值同时写到PLC的物理输出点和相应的输出映像寄存器。,.,21,网络1立即指令举例,LDI0.0=Q0.0=IQ0.1SIQ0.2,1LDII0.0=Q0.3,(a)梯形图,(b)语句表,扫描周期n,n+1,n+2,n+3,Q0.0映像寄存器,Q0.1映像寄存器,Q0.2映像寄存器,Q0.3映像寄存器,Q0.0物理触点,Q0.1物理触点,Q0.2物理触点,Q0.3物理触点,(c)时序图,输入采样,输出刷新,I0.0,注意:用立即输出指令访问输出点时,在输入采样时刻,对Q进行操作,新值既写物理输出点,也写输出映像寄存器,t,t,.,22,9.边沿脉冲指令,.,23,P,N,网络1边沿脉冲指令举例,网络2,网络3,网络4,I0.0,M0.0,I0.1,M0.1,M0.1,M0.0,LDI0.0EU=M0.0LDM0.0SQ0.0,1LDI0.1ED=M0.1LDM0.1RQ0.0,1,I0.0,(a)梯形图,(b)语句表,(c)时序图,.,24,10.逻辑堆栈操作指令,LPS(logicpush)逻辑入栈指令,LRD(logicread)逻辑读栈指令,LPP(logicpop)逻辑出栈指令,LDS(loadstack)装入堆栈指令,使用举例1,使用举例2,使用举例3,s7-PLC使用9层堆栈来处理所有的逻辑操作,逻辑堆栈指令主要完成对触点进行的复杂连接。,注意事项,分支电路开始指令。其作用是把栈顶值复制后压入堆栈,开始第二个以后的从逻辑块的编程,其作用是读取最近LPS压入堆栈的内容,而本身不进行PUSH和POP工作,分支电路结束指令。其作用把堆栈弹出一级,堆栈内容依次上移,复制堆栈中的n个值到栈顶,而栈底丢失。,STL:LDSn(n为08的整数),.,25,.,26,网络1LPS、LRD、LPP指令使用举例1,M1.2,Q0.3,M1.1,Q0.2,M1.0,M0.5,M0.4,Q0.1,M0.3,M0.2,M0.1,Q0.0,M0.0,I0.0,LDI0.0LPSLDM0.0OM0.1ALD=Q0.0LRDLDM0.2AM0.3LDNM0.4,AM0.5OLDALD=Q0.1LPPAM1.0=Q0.2LDM1.1ONM1.2ALD=Q0.3,(a)梯形图,(b)语句表,BACK,.,27,网络1LPS、LRD、LPP指令使用举例2,Q0.0,Q0.1,Q0.2,Q0.3,M0.3,M0.6,M0.5,M0.4,M0.2,M0.1,M0.0,LDM0.0LPSAM0.1LPSANM0.2=Q0.0LPPAM0.3=Q0.1,(a)梯形图,(b)语句表,LPPAM0.4LPSAM0.5=Q0.2LPPANM0.6=Q0.3,.,28,网络1LPS、LRD、LPP指令使用举例3,LDM0.0LPSAM0.1LPSAM0.2LPSAM0.3=Q0.0,LPP=Q0.1LPP=Q0.2LPP=Q0.3,(a)梯形图,(b)语句表,.,29,注意事项,受堆栈空间的限制(9层堆栈),LPS、LPP指令连续使用时应少于9次。LPS和LPP指令必须成对使用,它们之间可以使用LRD指令。LPS、LRD、LPP指令无操作数。,LDS指令使用举例,例:LDS3,.,30,11.定时器,1)种类定时器可分为2)分辨率与定时时间的计算单位时间的时间增量称为定时器的分辨率。定时器定时时间T的计算:T=PTST:实际定时时间PT:定时时间S:分辨率PT数据类型为INT型,操作数可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、VD、AC、LD和常数3)定时器的编号定时器的编号用定时器的名称和它的常数编号(最大为255)。即TXXX,如T40定时器的编号包含两方面的信息:定时器位和定时器当前值。定时器位:当定时器的当前值达到设定值PT时,定时器的触点动作。定时器当前值:存储定时器当前所累计的时间,它用16位符号的整数来表示,最大计数值为32767使能输入:BOOL型,可以是I、Q、M、SM、T、C、V、S、L,.,31,定时器的分辨率与编号,.,32,4).定时器指令使用说明(1)接通延时定时器TON(On-DelayTimer)接通延时定时器用于单一时间间隔的定时。其LAD符号:STL格式:TONTXXX,PT;如:TONT120,8;(8100ms),IN,TXXX位,T,.,33,(2)记忆接通延时定时器TONR(RetentiveOn-DelayTimer)记忆接通延时定时器具有记忆功能,它用于对许多间隔的累计定时。上电周期或者首次扫描时,定时器位为OFF,当前值保持在掉电前的值。当输入接通时,当前值从上次所保持值继续计时,当累计当前值达到设定值时,定时器为ON,当前值可继续计数到32767。需注意TONR定时器只能用复位指令R对其进行复位操作。,LAD:,STL:TONRTXXX,PT如TONRT20,63,IN,TXXX位,T,.,34,(3)断开延时定时器TOF(Off-DelayTimer)断开延时定时器用于断电后的单一间隔时间计时。上电周期或首次扫描,定时器位为OFF,当前值为0。输入接通时,定时器位为ON,当前值为0,当输入端由接通到断开时,定时器开始计时,当达到设定值时,定时器位为OFF,当前值等于设定值,停止计时。输入端再次由OFFON时,TOF复位,如果,输入端再从ONOFF,则TOF可实现再次启动。,LAD:,STL:TOFTXXX,PT如TOFT35,6,IN,TXXX位,T,.,35,LDI0.0TONT35,+4/接通延时定时器TONRT2,+10/有记忆接通延时定时器TOFT36,+3/断电延时定时器,应用举例,.,36,.,37,5).定时器的刷新方式和正确使用(1)定时器的刷新方式1ms定时器:1ms定时器由系统每隔1ms刷新一次,与扫描周期及程序处理无关。它采用的是中断方式。10ms定时器:10ms定时器由系统在每个扫描周期开始时自动刷新,由于每个扫描周期只刷新一次,故在一个扫描周期内定时器位和定时器的当前值保持不变。100ms定时器:100ms定时器在定时器指令执行时被刷新,它仅用在定时器指令在每个扫描周期执行一次的程序中。,.,38,(2)定时器的正确使用,1ms定时器的使用,.,39,10ms定时器的使用,.,40,100ms定时器的使用,.,41,12计数器,1.几种基本概念(1)种类S7200系列PLC的计数器有3种:增计数器CTU,增减计数器CTUD,减计数器CTD。(2)编号计数器的编号用计数器名称和数字组成,如C6。计数器的编号包含两方面的信息:计数器的位和计数器当前值。计数器位:表示计数器是否发生动作的状态。计数器当前值:用来存储计数器当前所累计的脉冲数,用16位符号整数表示,最大值为32767。,.,42,2.计数器指令使用说明(1)增计数器CTU(CountUp),CU:脉冲输入端,R:复位信号端,PV:预设定端,首次扫描,计数器位为OFF,当前值为0。在计数脉冲输入端CU的每个上升沿,计数器计数一次,当前值增加一个单位。当前值达到设定值时,计数器位ON,当前值可继续计数到32767后停止计数。复位输入端有效,计数器自动复位,计数器位为OFF,当前值为0。,STL指令格式:CTUCXXX,PV例CTUC20,3,.,43,I0.0,I0.1,C20,Q0.0,C20,CU,CTU,+3,R,PV,(a)梯形图,(b)语句表,LDI0.0/计数脉冲信号输入LDI0.1/复位脉冲信号输入CTUC20,+3/增计数,设定计数值LDC20/计数值为3时输出Q0.0,(c)时序图,举例,.,44,(2)增减计数器CTUD(CountUp/Down),CU:脉冲递增计数输入端,CD:脉冲递减计数输入端,R:复位信号端,PV:预设定端,首次扫描时,计数器位为OFF,当前值为0。CU输入的每个上升沿计数器当前值增加一个单位,CD输入的每个上升沿,计数器当前值减少一个单位,当前值达到设定值时,计数器位置位为ON。,32768,32767,0,CU,CD,STL指令格式:CTUDCXXX,PV例CTUDC30,5,.,45,.,46,(3)减计数器CTD(CountDown),CD:脉冲递减输入端,LD:复位输入端,PV:预设定端,首次扫描,计数器位为OFF,当前值等于预设值PV。计数器检测到CD输入端的上升沿时,计数器当前值减少一个单位,当前值减为0时,计数器位为ON。复位输入端有效时,计数器位为OFF,当前值为PV。,STL指令格式:CTDCXXX,PV例CTDC40,4,.,47,(a)梯形图,(b)语句表,LDI0.0/减计数脉冲信号输入LDI0.1/复位脉冲信号输入CTDC40,+4/减计数,设定计数值LDC40/计数值为0时输出Q0.0,注意:以上三种计数器如果将计数器位作为复位输入信号,则可实现循环计数。,.,48,13比较指令,比较指令类型:字节比较,整数比较,双字节比较,实数比较和字符串比较。数值比较指令的运算符:,和等6种,而字符串比较指令只有和两种。对比较指令可进行LD,A和O编程。,LAD:,XX:比较关系符(,=,=,;,注意:对于LAD的=,在STL为=;对于LAD的整数比较,数据类型为I,而STL为W;,.,50,BACK,梯形图,语句表,LDW=C30,+30=Q0.0LDI0.0ARVB1,VB2=Q0.2,.,51,14NOT及NOP指令,1).取反指令NOT将复杂逻辑结果取反,为用户使用反逻辑提供方便。该指令无操作数,其LAD和STL形式如下。STL形式:NOTLAD形式:|NOT|2).空操作指令NOP(NoOperation)该指令用在跳转指令结束处,或在调试程序中使用。其对用户程序的执行无影响,其LAD和STL形式如下。STL形式:NOPNN的范围:0255LAD形式:,.,52,使用说明:,(1)结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。,(2)在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。,(3)可以利用程序执行的结果状态、系统状态和外部设置切换条件来调用有条件结束指令,使程序结束。,(4)使用Micro/Win32编程时,编程人员不需手工输入无条件结束指令,该软件会自动在内部加上一条无条件结束指令到主程序的结尾。,STOP指令有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令可以用在主程序、子程序和中断程序中。LAD:(STOP);STL:STOP,结束指令和停止指令的用法如下图所示:,1).结束指令END(有条件结束指令)和MEND(无条件结束指令)LAD:(END)或(MEND);STL:END或MEND,二、程序控制指令,1结束及暂停指令,2).停止指令STOP,.,53,STOP和END指令通常在程序中用来对突发紧急事件进行处理。,网络1STOP、END、WDR使用举例,SM5.0,(STOP),I0.3,网络2,I0.5,(END),网络3,M0.4,(WDR),LDSM5.0/检查I/O错误OSM4.3/运行时检查编程OI0.3/外部切换开关STOP/条件满足,由RUN切换到/STOP方式LDI0.5/外部停止控制ENDLDM0.4/用触点重新触发WDR/看门狗定时器,图结束、停止及看门狗指令举例,SM4.3,.,54,2看门狗指令,WRD(WatchdogReset)称为看门狗复位指令,也称为警戒时钟刷新指令。它可以把警戒时钟刷新,即延长扫描周期,从而有效地避免看门狗超时错误。,使用WDR指令时要特别小心,如果因为使用WDR指令而使扫描时间拖的过长(如在循环结构中使用WDR),那么在中止本次扫描前,下列过程将被禁止:,(1)通信(自由口I/O除外);(2)I/O刷新(直接I/O除外);(3)强制刷新;(4)SM位刷新(SM0、SM5-SM29的位不能被刷新);(5)运行时间诊断;(6)扫描时间超过25s时,使10ms和100ms定时器不能正常计时;(7)中断程序中的STOP指令。,返回,.,55,3跳转及标号指令,跳转指令可以使PLC编程的灵活性大大提高,使主机可根据对不同条件的判断,选择不同的程序段执行程序。,跳转指令JMP(JumptoLabel):当输入端有效时,使程序跳转到标号处执行。标号指令LBL(Label):指令跳转的目标标号。操作数N为0-255。,(1)跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中,如主程序、同一个子程序或同一个中断程序。(2)执行跳转后,被跳过程序段中的各元件状态为:,Q、M、S、C等元件的位保持跳转前的状态;计数器C停止计数,当前值存储器保持跳转前的计数值;对定时器来说,因刷新方式不同而工作状态不同。,跳转指令的使用方法如下图所示。,使用说明,LAD:,STL:,JMPN,LBL,N,LAD:,STL:,LBLN,.,56,I0.0,3(JMP),3,LBL,LDI0.0JMP3.LBL3,图跳转指令使用举例,.,57,4循环指令,1.)循环指令,循环开始指令FOR:用来标记循环体的开始。循环结束指令NEXT:用来标记循环体的结束。无操作数。FOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值作比较,如果大于终值,则终止循环。,循环指令的引入为解决重复执行相同功能的程序段提供了极大的方便,并且优化了程序结构。特别是在进行大量相同功能的计算和逻辑处理时,循环指令非常有用。,循环指令的LAD和STL形式如图,.,58,FOR,EN,ENO,INDX,INIT,FINAL,(NEXT),FORINDX,INIT,FINAL.NEXT,图循环指令的LAD和STL形式,.,59,2.)参数说明,从图中可以看出,循环指令盒中有三个数据输入端:当前循环计数INDX(indexvalueorcurrentloopcount)、循环初值INIT(startingvalue)和循环终值FINAL(endingvalue)。在使用时必须给FOR指令指定当前循环计数(INDX)、初值(INIT)和终值(FINAL)。,INDX操作数:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*AC、和*CD。这些操作数属INT型。,INIT和FINAL操作数:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、常数、*VD、*AC、*CD。这些操作数属INT型。,使用说明:,(1)FOR、NEXT指令必须成对使用。(2)FOR和NEXT可以循环嵌套,最多8层,各嵌套不可有交叉现象。(3)每次使能输入(EN)重新有效时,指令将自动复位各参数。(4)初值大于终值时,循环体不被执行。(5)注意在循环体中对INDX的控制。,循环指令使用举例如下图所示。,.,60,网络5,I1.0,FOR,EN,ENO,INDX,INIT,FINAL,VW100,1,100,A,B,FOR,EN,ENO,INDX,INIT,FINAL,VW225,1,2,网络10,I1.1,网络15,网络20,(NEXT),(NEXT),(a)梯形图,LDI.0FORVW100,1,100.LDI1.1FORVW225,1,2.NEXT.NEXT,(b)语句表,图循环指令使用举例,返回,.,61,5子程序,子程序在结构化程序设计中是一种方便有效的工具。S7-200PLC的指令系统具有简单、方便、灵活的子程序调用功能。与子程序有关的操作有:建立子程序、子程序的调用和返回。,建立子程序是通过编程软件来完成的。对于CPU226XM,最多可以有128个子程序,对其余的CPU,最多有64个子程序。,(1)子程序调用指令(CALL),在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,也可以不带参数。它在梯形图中以指令盒的形式编程。指令格式如表下表所列。,在使能输入有效时,结束子程序的执行,返回主程序中(返回到调用此子程序的下一条指令)。梯形图中以线圈的形式编程,指令不带操作数。指令格式如表下表所列。,(3)应用举例。如后图所示。,使用说明:,2).子程序的调用,1)建立子程序,(2)子程序返回指令,无条件返回(RET):用于子程序结束。条件返回(CRET):只能用于子程序内部。,.,62,表子程序调用指令格式,指令,子程序调用指令,子程序返回指令,LAD,SBR-0,EN,(RET)或,STL,CALLSBR_0,RET或CRET,网络1,I0.0,网络2,I0.1,WYH,EN,EN,SBR_0,(a)梯形图,LDI0.0/使能输入CALLWYH/调用子程序WYHLDI0.1/使能输入CALLSBR_0/调用子程序WYH,(b)语句表,返回,图5-25所示的程序实现用外部控制条件分别调用两个子程序。,(CRET),.,63,使用说明:,CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。如果在子程序的内部又对另一子程序执行调用指令,则这种调用称为子程序的嵌套。子程序的嵌套深度最多为8级。当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置1,堆栈中的其他值为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。累加器可在调用程序和被调用程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。,返回,.,64,3).带参数的子程序调用,子程序最多可以传递16个参数。参数在子程序的局部变量表加以定义。参数包含下列信息:变量名、变量类型和数据类型。,变量名变量名最多用8个字符表示,第一个字符不能是数字。变量类型变量类型是按变量对应数据的传递方向来划分的,可以是传入子程序(IN)、传入和传出子程序(IN/OUT)、传出子程序(OUT)和暂时变量(TEMP)等4种类型。4种变量类型的参数在变量表中的位置必须按照一定的先后顺序。数据类型局部变量表中还要对数据类型进行声明。数据类型可以是:能流、布尔型、字节型、字型、双字型、整数型、双整数型和实型。,常数参数必须声明数据类型。输入或输出参数没有自动数据类型转换功能。参数在调用时必须按一定的顺序排列。,(1)子程序参数,(2)参数子程序调用的规则,.,65,(3)变量表的使用,按照子程序指令的调用顺序,参数值分配给局部变量存储器,起始地址是L0.0。使用编程软件时,地址分配是自动的。参数子程序调用指令格式:CALL子程序名,参数1,参数2,参数n。,(4)程序实例,下图为一个带参数调用的子程序实例,其局部变量分配如表下表所列。,说明:下图中的STL程序并不是从下图中的LAD转换过来的,而是单独编写的。同样从图STL也转换不成图中的LAD。,.,66,LDI0.0CALLSBR_1,I0.1,VB10,I1.0,&VB100,*AC1,VD200,L地址,参数名,参数类型,数据类型,说明,无,L0.0,LB1,LW7,LD3,LB2.0,EN,IN1,IN2,IN3,IN4,IN/OUT1,IN,IN,IN,IN,IN,IN/OUT,BOLL,BOLL,BOLL,BYTE,DWORD,WORD,指令使能输入参数,第1个输入参数,布尔型,第3个输入参数,布尔型,第2个输入参数,字节型,第4个输入参数,双字型,第1个输入/输出参数,字型,表局部变量表,返回,&VB100,LD9,OUT,DWORD,第1个输出参数,双字型,OUT1,.,67,6与ENO指令,ENO是LAD中指令盒的布尔能流输出端。如果指令盒的能流端有效,则执行没有错误,ENO就置位,并将能流向下传递。ENO可以作为允许位表示指令成功执行。STL指令没有EN输入,但对要执行的指令,其栈顶值必须为1。可用“与”ENO(AENO)指令来产生和指令盒中的ENO位相同的功能。指令格式:AENOAENO指令无操作数,且只在STL中使用,它将栈顶值和ENO位的逻辑进行与运算,运算结果保存到栈顶。AENO指令使用较少。AENO指令的用法如图3-27所示。,.,68,图3-27AENO指令用法举例,网络1与ENO使用举例,I0.0,ADD_I,EN,EN,ATCH,ENO,ENO,IN1,IN2,INT,EVNT,INT_0,10,VW204,VW200,VW204,LDI0.0/使能输入+IVW200,VW204/整数加法,VW200+VW204=VW204AENO/与ENO指令ATCHINT_0,10/如果+I指令执行正确,则调用中断程序INT_0,中断事件号为10,.,69,三、PLC初步编程指导,1.梯形图编程的基本规则,梯形图编程的基本规则如下:(1)PLC内部元器件触点的使用次数是无限制的。(2)梯形图的每一行都是从左边母线开始,然后是各种触点的逻辑连接,最后以线圈或指令盒结束。触点不能放在线圈的右边。线圈连接时必须用并联,不能出现串联形式。如图所示。但如果是以有能量传递的指令盒结束的指令,可以使用AENO指令在其后面连接指令盒(较少使用),如图所示。,3-27,3-28,.,70,(3)线圈和指令盒一般不能连接在左边的母线上。如需要的话可通过特殊的中间继电器SM0.0(常ON特殊中间继电器)完成,如图所示。(4)在同一程序中,同一编号的线圈使用两次及两次以上称为双线圈输出。双线圈输出非常容易引起误动作,所以应避免使用。S7-200PLC中不允许双线圈输出。如图所示。(5)内外触点的配合。在LAD中应正确选择设备所连的输入继电器的触点类型,使用常开触点还是常闭触点与外部触点有关。如图所示(6)在手工编写梯形图程序时,触点应画在水平线上,从习惯和美观的角度来讲,不要画在垂直线上,如图。使用编程软件则不可能把触点画在垂直线上。,3-29A,3-30,3-29B,3-35,.,71,(7)不包括触点的分支线条应放在垂直方向,不要放在水平方向,以便于读图和图形的美观,如图所示。使用编程软件则不可能出现这种情况。(8)应把串联多的电路块尽量放在最上边,把并联多的电路块尽量放在最左边,这样一是节省指令,二是美观,如图所示。(9)图所示为梯形图的推荐画法。,3-31,3-32,3-33,.,72,2.LAD和STL编程形式的区别利用PLC指令对梯形图编程时,可以把整个梯形图程序看成由很多网络块组成,每个网络块均起始于母线。所有的网络块组合在一起就是梯形图程序,这是S7-200PLC的特点。LAD程序可以通过编程软件直接转换为STL形式。S7-200PLC用STL编程时,如果也以每个独立的网络块为单位,则STL程序和LAD程序基本上是一一对应的,而且两者可以通过编程软件相互转换;如果不以每个独立的网络块为单位编程,而是连续编写,则STL程序和LAD程序不能通过编程软件相互转换。大家在使用时要注意。LAD是使用最多的编程语言,它非常直观易懂,对每个人都适用;特别老练的人在某些情况下会直接使用STL形式编程,用STL形式编写的程序简短,但不直观。,.,73,但不管怎么说,大家对这两种形式的程序都应该熟悉。特别是会用手工把一个LAD程序转换为STL程序,这对进一步理解PLC程序执行的原理有很大的帮助。下面的一个典型例子说明了从LAD到STL的转换步骤。对每一个独立的LAD网络块中的程序,可分成若干小块,对每个小块按照从左到右,从上到下的原则进行编程。然后将程序块连接起来,就完成了该网络块的STL编程。图详细介绍了语句表编程的步骤。,3-34,.,74,(a)错误,(b)错误,1,2,4,3,1,2,2,3,4,4,图3-28梯形图画法示例1,返回,4,5,(c)正确,1,2,3,4,4,4,5,.,75,(a)错误,(b)正确,Q0.0,SM0.0,Q0.0,返回,图3-29A梯形图画法示例,.,76,I0.0,I0.1,Q0.0,PLC,+24V,(),I0.0,I0.1,Q0.0,Q0.0,L,L,N,启动,停止,I0.0,I0.1,Q0.0,PLC,+24V,(),I0.0,I0.1,Q0.0,Q0.0,L,L,N,启动,停止,图335,返回,.,77,(),(),M0.0,M0.0,I0.0,I0.1,返回,图3-29B梯形图画法示例,.,78,(a)错误,(b)正确,图3-30梯形图画法示例3,返回,.,79,(a)不好,(b)正确,图3-31梯形图画法示例4,返回,.,80,(a)把串联多的电路块放在最上边,(b)把并联多的电路块放在最左边,图3-32梯形图画法示例5,返回,.,81,图3-33梯形图的推荐画法,返回,.,82,1,2,3,4,5,6,7,8,9,10,11,12,13,(1),(2),(3),(4),(8),(5),(6),(7),(9),(10),(11),(12),(1)LD1AN2(2)LD3A4(3)OLD(4)O5(5)LD6A7,(6)LD8AN9(7)OLD(8)ALD(9)A10(10)=12(11)A11(12)=13,(a)梯形图,(b)语句表编写顺序示范,图3-34语句表编写举例,.,83,四、典型的简单电路编程,1延时脉冲产生电路2瞬时接通/延时断开电路3延时接通/延时断开电路4脉冲宽度可控制电路5计数器的扩展6长定时电路7闪烁电路8报警电路9抢答器电路10多个传送带控制示例,.,84,1.延时脉冲产生电路在有输入信号后,停一段时间产生一个脉冲。主要用于获取启动或关断信号。,电路的程序及时序,.,85,2瞬时接通/延时断开电路,在输入信号有效时,马上有输出,而输入信号OFF后,输出信号延时后才OFF.,电路的程序及时序,.,86,3.延时接通/延时断开电路,该电路要求有信号输入后,停一段时间输出信号才为ON,而输入信号OFF后,输出信号延时一段时间才OFF.,电路的程序及时序,.,87,4.脉冲宽度可控制电路,在输入信号宽度不规范的情况下,要求每一个输入信号的上升沿产生一个宽度固定的脉冲,该脉冲的宽度可以调节。注意:如果输入信号的两个上升沿之间的距离小于脉冲的宽度,则忽略输入信号的第二个上升沿,,电路的程序及时序,.,88,5.计数器的扩展一个计数器最大计数值为32767。实际应用中,如果计数范围超过该值,就需要对计数器进行扩展。,计数器扩展电路的程序,.,89,6长定时电路S7-200PLC中的定时器最长定时时间不到1h,但在一些实际应用中,往往需要几小时甚至几天或更长时间的定时控制,这样仅用一个定时器就不能完成该任务。在输入信号I0.0有效后,经过10h30min后将输出Q0.0置位。,定时电路的梯形图程序,.,90,7.闪烁电路也称为振荡电路,用在报警、娱乐等场合。闪烁电路实际上就是一个时钟电路。它可以是等间隔的通断,也可以是不等间的通断。,闪烁电路的程序及时序图,.,91,8.报警电路报警是电气自动控制中不可缺少的重要环节,标准的报警功能应该是声光报警。当故障发生时,报警指示灯闪烁,报警电铃或蜂鸣器鸣响。操作人员知道故障发生后,按消铃按钮,报电铃关掉,报警指示灯从闪烁变为长亮。故障消失后,报警灯熄灭。另外设置试灯、试铃按钮,用于平时检测报警指示灯和电铃的好坏。,标准报警电路,.,92,9试设计一个抢答器电路程序,出题人提出问题,3个答题人按动按纽,仅仅是最早按的人面前的信号灯亮。然后出题人按动复位按纽后(带自锁的按键),引出下一个问题。,梯形图,.,93,10多个传送带启动和停止示意如图下所示。初始状态为各个电机都处于停止状态。按下启动按纽后,电动机M1通电运行,行程开关SQ1有效后,电动机M2通电运行,行程开关SQ2有效后,M1断电停止。其它传动带动作类推。整个系统循环工作。按停止按纽后,系统把目前的工作进行完成后停止在初始状态。试设计出LAD。,货车,货车,SQ1,SQ2,SQ3,SQ4,SQ6,M1,M2,M2,LAD,.,94,网络1延时脉冲产生电路,I0.0,P,(),M0.0,网络2,(),M0.1,M0.0,/,Q0.0,M0.1,网络3,T37,(),Q0.0,INTONPT,+20,LDI0.0EU=M0.0LDM0.00M0.1ANQ0.0=M0.1TONT37,+20LDT37=Q0.0,梯形图,语句表,注释,时序图,T37,2s,I0.0,M0.0,T37,Q0.0,.,95,注释:时序图中利用脉冲指令在I0.0的上升沿产生一个计时启动脉冲接下来就是一个非常典型的环节。因为定时器没有瞬动触点,不可能用自身的触点组成自锁回路,所以必须用一个中间继电器M0.1组成延时逻辑。T37定时到时,产生一个宽度为一个扫描周期的脉冲Q0.0,然后Q0.0使T37复位。,.,96,网络1瞬时接通/延时断开电路,/,I0.0,Q0.0,INTONPT,+30,网络2,(),Q0.0,I0.0,/,T37,Q0.0,梯形图,LDNI0.0AQ0.0TONT37,+30LDI0.0OQ0.0ANT37=Q0.0,语句表,时序图,I0.0,Q0.0,注释,T37,3S,.,97,注释:,在时序图中,关键的问题是找出定时器T37的计时条件。在本例中T37的计时条件是I0.0为OFF且为ON。因为I0.0变为OFF后,Q0.0仍要保持通电状态3s,所以Q0.0的自锁触点是必须的。,.,98,网络1延时接通/延时断开电路,+30,I0.0,网络2,/,I0.0,Q0.0,(),Q0.0,网络3,T37,/,T38,Q0.0,梯形图,LDI0.0TONT37,+30LDNI0.0AQ0.0TONT38,+50LDT37OQ0.0ANT38=Q0.0,语句表,I0.0,Q0.0,注释,时序图,T37,3S,5S,TON,IN,PT,TON,IN,PT,T38,50,.,99,注释:,和瞬时接通/延时断开电路相比,该电路多加了一个输入延时。T37延时3s作为Q0.0的启动条件,T38延时5s作为Q0.0的关断条件。两个定时器配合使用实现该电路的功能。,.,100,网络1脉冲宽度可控制电路,(),(),(),+20,(),INTONPT,I0.0,P,S,M0.0,Q0.0,M0.1,1,/,T37,网络2,M0.0,M0.1,网络3,T37,R,Q0.0,1,LDI0.0EUSQ0.0,1=M0.0LDM0.0OM0.1ANT37=M0.1TONT37,+20LDT37RQ0.0,1,梯形图,语句表,I0.0,Q0.0,时序图,注释,T37,.,101,注释:,此例中,我们使用了上升沿脉冲指令和S/R指令。关键是找出Q0.0的开启和关断条件,使其不论在I0.0的宽度大于或小于2S时,都可使Q0.0的宽度为2s。定时器T37的计时输入逻辑在上升沿之间的距离小于该脉冲的宽度时,对后产生的上升沿脉冲无效。T37在计时到后产生一个信号复位Q0.0,然后自己复位。此例中,通过调节T37设定值PT的大小,就可控制Q0.0的宽度。该宽度不受I0.0接通时间长短的影响。,.,102,计数器扩展电路,网络1,I0.0,I0.1,C20,C20,I0.1,C21,C21,I0.1,C22,Q0.0,网络2,网络3,网络4,C20,C21,C22,CU,R,CTU,PV,+1000,CU,CTU,R,PV,+100,CU,CTU,R,PV,+2,梯形图,LDI0.0/计数脉冲输入LDI0.1/公共复位信号OC20/自复位逻辑CTUC20,+1000/增计数器,设定值1000LDC20/C21计数脉冲输入LDI0.1/公共复位信号OC21/自复位逻辑CTUC21,+100/增计数器,设定值100LDC21/C22计数脉冲输入LDI0.1/公共复位信号CTUC22,+2/增计数器,设定值2LDC22/总计数为200000时/C22位置为ON=Q0.0/输出,语句表,注释,.,103,在电路中,计数信号为I0.0,它作为C20的计数端输入信号,每一个上升沿使C20计数1次;C20的常开触点作为计数器C21的计数输入信号,C20计数到1000时,使计数器C21计数1次;C21的常开触点作为计数器C22的计数输入信号,C21每计数到100时,计数1次。这样当C总1000*100*2=200,000时,即当I0.0的上升沿脉冲数到200000时,Q0.0才被置位。注意:计数器复位输入端逻辑的设计,要保证能准确及时复位。,.,104,长延时电路,网络11min定时器T37,网络21h定时器C21,网络3C22定时时间10h,网络4在10h到时,C23再计时30min,网络510h30min到时,Q0.0输出,IN,T37,PT,C21,C22,C23,TON,+600,+60,+10,+30,CU,R,PV,CTU,CU,R,PV,CTU,CU,R,PV,CTU,I0.0,T37,/,T37,SM0.1,I0.1,C21,SM0.1,I0.1,C21,C22,SM0.1,I0.1,T37,C23,Q0.0,LDI0.0ANT37TONT37,+600LDT37LDSM0.1OI0.1OC21CTUC21,+60LDC21LDSM0.1OI0.1CTUC22,+10LDC22AT37LDSM0.1CTUC23,+30LDC23=Q0.0,梯形图,语句表,注释,.,105,在电路中,T37每一分钟产生一个脉冲,所以是分钟计时器。C21每小时产生一个脉冲,故C21为小时计时器。当10h计时到时,C22为ON,这时C23再计时30min,则总的定时时间为10h30min,Q0.0置位成ON。,.,106,/,网络1,网络2,网络3,I0.0,T38,T37,T37,Q0.0,T37,T38,IN,TON,PT,IN,TON,PT,+20,+10,LDI0.0ANT38TONT37,20LDT37TONT38,10LDT37=Q0.0,梯形图,语句表,注
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双方抚养费支付与监督服务合同
- 购销合同范本简单模板
- 洁净室装修与气流组织优化及维护服务合同
- 工业机器人生产线租赁与智能制造系统升级合同
- 安全培训机构安全讲师聘用合同及安全培训质量保证
- 生物制药产业股权投资合作合同
- 海外度假村设施维护与运营管理服务合同
- 电动汽车电驱动系统研发与市场推广策略合作合同
- 合同协议书正面背面
- 合伙用电合同协议书
- DZT 0448-2023 滑坡崩塌泥石流灾害精细调查规范
- 2025年日历台历中文版纵向排版带节假日调休周日开始
- 2023-2024学年广东省深圳市南山区监测六年级下学期小升初真题数学试卷含解析
- DZ∕T 0054-2014 定向钻探技术规程(正式版)
- 教育质量评价模型与算法研究
- 广东省深圳市南山区2024年八年级下学期语文期末语文试卷附答案
- 辽宁省沈阳市第一二六中学2023-2024学年七年级下学期期中数学试题
- 国家开放大学-法学专业-2023年秋季《法律文化》形成性考核作业答案
- VR全景图片拍摄与漫游 习题及答案 尹敬齐
- 《纺织材料生产》课件-项目6:纺丝工段
- TB 10012-2019 铁路工程地质勘察规范
评论
0/150
提交评论