版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章S7-200系列PLC的基本指令
7.1逻辑指令7.2程序控制指令7.3基本指令应用举例本章重点1.掌握各类功能指令及运用功能指令编程的方法。2.要求能够针对具体的控制对象运用功能指令编程。本章难点1.移位循环类指令的应用;2.数据处理类指令的应用;3.高速处理类指令的理解及应用;4.外部设备通信处理类指令的理解。7.1逻辑指令SIMATICS7-200系列PLC共有27条逻辑指令
7.1.1逻辑取及线圈驱动指令
LD(Load):LDN(LoadNot):=(Out):取指令,由常开触点逻辑运算开始取反指令,由常闭触点逻辑运算开始。线圈驱动指令。LD、LDN应用LDNI0.1=M0.0=M0.1LDI0.0=Q0.0LD、LDN、=指令使用说明:
①LD、LDN指令用于与输入公共线(输入母线)相连的触点,在分支电路块的开始处也要使用LD、LDN指令,与后面的OLD、ALD指令配合完成块电路的编程。②=指令用于输出继电器、辅助继电器、定时器及计数器等,但不能用于输入继电器。③并联的=指令可以连续使用任意次。④在同一程序中不要使用双线圈输出,即同一个元器件在同一程序中只使用一次=指令。⑤LD、LDN的操作数:I,Q,M,SM,T、C、V和S。=指令的操作数为:Q,M,SM,V,S、T和C也作为输出线圈,但在S7-200PLC中输出时不以使用=指令形式出现(见定时器和计数器指令)操作数:Q,M,SM,T,C,V和S。7.1逻辑指令7.1.2触点串联指令A(And):AN(AndNot):与指令,用于单个常开触点串联连接。与反指令。用于单个常闭触点串联连接。
A、AN指令的使用:
LDI0.0=Q0.0LDQ0.0=M0.2AT5=Q0.1AM0.0ANI0.1①A、AN是单个触点串联连接指令,可连续使用。但在用梯形图编程时会受到打印宽度和屏幕显示的限制,S7-200PLC的编程软件中规定的串联触点使用上限为11个。②若要串联多个触点组合回路时,须采用后面说明的ALD指令。③若按正确次序编程,可以反复使用=指令。④A、AN的操作数:I,Q,M,SM,T,C,V和S。
A、AN指令使用说明:7.1.2触点串联指令7.1.3触点并联指令O(Or)ON(OrNot):或指令。用于单个常开触点并联连接。:或反指令。用于单个常闭触点并联连接。O、ON指令的使用
LDM0.0OM0.1OM0.2AI0.0OI0.1=Q0.0O、ON指令使用说明:①O、ON指令可作为一个接点的并联连接指令,紧接在LD、LDN指令之后用,即对其前面LD、LDN指令所规定的触点再并联一个触点,可以连续使用。②若要将两个以上触点的串联回路和其他回路并联时,须采用后面说明的OLD指令。③O、ON的操作数:I,Q,M,SM,T,C,V和S。
7.1.3触点并联指令7.1.4串联电路块的并联指令:用于串联电路块的并联连接。
OLD(OrLoad)OLD指令的使用LDI0.0AM0.0LDI0.1ANM0.1OLDLDNI0.2ANM0.2OLD=Q0.0OLD指令使用说明:①几个串联支路并联连接时,其支路的起点以LD、LDN开始,支路终点用OLD指令。②如需将多个支路并联,从第二条支路开始,在每一支路后面加OLD指令。用这种方法编程,对并联支路的个数没有限制。③OLD指令无操作数。7.1.4串联电路块的并联指令7.1.5并联电路块的串联指令ALD(AndLoad):用于并联电路块的串联连接ALD指令的使用LDI0.0OI0.1LDM0.0AM0.1LDNM0.2AM0.3OLDALD=Q0.0ALD指令使用说明:①分支电路(并联电路块)与前面电路串联连接时,使用ALD指令。分支的起始点用LD、LDN指令,并联电路块结束后,使用ALD指令与前面电路串联。②如果有多个并联电路块串联,顺次以ALD指令与前面支路连接,支路数量没有限制。③ALD指令无操作数。7.1.5并联电路块的串联指令7.1.6置位与复位指令STLLAD功能置位指令Sbit,NS-bit───(S)N从S-bit开始的N个元件置1并保持复位指令Rbit,NS-bit───(R)N从S-bit开始的N个元件清0并保持S/R指令使用
LDI0.0SQ0.0,1LDI0.1RQ0.0,1I0.0为1,执行下条语句I0.1为1,执行下条语句7.1.6置位与复位指令S/R指令使用说明:①对同一元件可以多次使用S/R指令(与=指令不同)。②对计数器和定时器复位,计数器和定时器的当前值将被清零。③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。7.1.6置位与复位指令立即指令:对输入/输出点进行快速直接存取。作用:
提高PLC对输入/输出过程的响应速度,不受PLC循环扫描工作方式的影响。特点:①当用立即指令读取输入点的状态时,对
I进行操作,相应的输入映像寄存器中的值并未更新。②当用立即指令访问输出点时,对Q进行操作,新值同时写到PLC的物理输出点和相应的输出映像寄存器。7.1.7立即指令指令名称STLLAD使用说明立即取LDIbitbit只能为I立即取反LDNIbit立即或OIbit立即或反ONIbit立即与AIbit立即与反ANIbit立即输出=Ibitbit只能为Q立即置位SIbit,NI
只能为QN的范围:1-128N的操作数同S/R指令立即复位RIbit,N立即指令使用说明
7.1.7立即指令立即指令使用
LDI0.0=Q0.0=IQ0.1SIQ0.2,1LDII0.1=Q0.37.1.7立即指令7.1.8边沿脉冲指令指令名称STLLAD功能操作元件上升沿脉冲EU┤P├()上升沿微分输出无下降沿脉冲ED┤N├()下降沿微分输出无LDI0.0EU=M0.0LDM0.0SQ0.0,1LDI0.1ED=M0.1LDM0.1R以下依次类推EU/ED指令的使用
7.1.8边沿脉冲指令7.1.9逻辑堆栈操作指令S7-200系列PLC中有一个9层堆栈,用于处理所有逻辑操作,称为逻辑堆栈。特点:“先进后出”。①ALD(AndLoad)指令ALD指令把逻辑堆栈第一、第二级的值作“与”操作,结果置于栈顶。ALD执行后堆栈减少一级。:与块指令。OLD指令把逻辑堆栈第一、第二级的值作“或”操作,结果置于栈顶。OLD执行后堆栈减少一级。或块指令②OLD(OrLoad)指令:在梯形图的分支结构中,LPS指令用于生成一条新的母线,其左侧为原来的主逻辑块,右侧为新的从逻辑块,可直接编程。LPS指令的作用是把栈顶值复制后压入堆栈,栈底值压出丢失。③LPS指令(LogicPush):逻辑入栈指令(分支电路开始指令)进栈数据
栈底丢失
7.1.9逻辑堆栈操作指令LRD指令的作用是把逻辑堆栈第二级的值复制到栈顶,堆栈没有压入和弹出。④LRD(LogicRead)指令:逻辑读栈指令⑤LPP(LogicPop)指令:逻辑出栈指令(分支电路结束指令)LPP指令的作用是把堆栈弹出一级,原第二级的值变为新的栈顶值。7.1.9逻辑堆栈操作指令⑥LDS(LoadStack)指令:LDS指令的作用是复制堆栈中的第n个值到栈顶,而栈底丢失。其指令格式为:LDSnn为0~8中的整数装入堆栈指令例如:LDS3
3数据丢失7.1.9逻辑堆栈操作指令使用注意事项:①由于受9层堆栈空间的限制,LPS、LPP指令连续使用时应少于9次。②LPS、LPP指令必须成对使用,它们之间可以使用LRD指令。③指令无操作数。LPS、LRD和LPP指令应用LPPAM1.0=Q0.2LDM1.1ONM1.2ALD=Q0.3LDI0.0LPSLDM0.0OM0.1ALD=Q0.0LRDLDM0.2AM0.3LDNM0.4AM0.5OLDALD=Q0.17.1.9逻辑堆栈操作指令7.1.10定时器指令S7-200系列PLC为用户提供了三种类型的定时器:①通电延时定时器TON(OnDelayTimer)②断电延时定时器TOF(OffDelayTimer)③保持型通电延时定时器TONR(RetentiveOnDelayTimer)定时器的当前值、设定值均用16位有符号整数来表示,最大计数值为32767。1.定时器编号定时器编号用定时器的名称和常数(0~255)编号2.分辨率与定时时间的计算S7-200PLC定时器有三种分辨率:定时器定时时间T的计算:T=PTS式中:T为实际定时时间,例:TON指令使用T33(10ms定时器),设定值为100,则实际定时时间为:T=10010=1000ms定时器、计数器设定值的数据类型均为整型(INT),除了常数外,还可以用VW、IW等作它们的设定值。1ms10ms100msPT为定时设定值,S为分辨率。7.1.10定时器指令3.定时器指令使用说明名称格式通电延时定时器断电延时定时器保持型通电延时定时器LADSTLTONT,PTTOFT,PTTONRT,PT7.1.10定时器指令①上电或首次扫描时,定时器位为OFF,当前值为0。②输入端(IN)接通时,定时器位为OFF,当前值从0开始计时,当前值达到PT(PresetTime,预置时间)端的设定值时,定时器位变为ON,梯形图中对应定时器的常开触点闭合,常闭触点断开,当前值仍连续计数到32767。③输入端断开,定时器自动复位,当前值被清零,定时器位为OFF。
4.通电延时定时器:通电后单一时间E间隔的定时7.1.10定时器指令5.断电延时定时器①上电或首次扫描时,定时器位为OFF,当前值为0。②输入端(IN)接通时,定时器位变为ON,当前值为0。当输入端由接通到断开时,定时器开始定时,当前值达到PT(PresetTime,预置时间)端的设定值时,定时器位变为OFF,当前值等于设定值,停止计时,直到输入电路接通。梯形图中对应定时器的常开触点闭合,常闭触点断开,当前值仍连续计数到32767。③输入端断开,定时器自动复位,当前值被清零,常开触点断开。:断电后单一时间间隔的定时7.1.10定时器指令6.保持型通电延时定时器①上电或首次扫描时,定时器位为OFF,当前值保持在掉电前的值。②输入端(IN)接通时,当前值从上次的保持值开始继续计时,当累计当前值达到设定值时,定时器位变为ON,当前值可继续计数到32767。③TONR指令只能用复位指令R对其进行复位。:多个时间间隔的累计定时7.1.10定时器指令7.定时器的刷新方法S7-200系列PLC的定时器三种定时器的刷新方式是不同的。(1)1ms定时器由系统每隔1ms刷新一次,与扫描周期及程序处理无关,即采用中断刷新方式。因而,当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。(2)10ms由系统在每个扫描周期开始时自动刷新。由于是每个扫描周期只刷新一次,故在每次程序处理期间,其当前值为常数。7.1.10定时器指令(3)100ms在该定时器指令执行时被刷新。如果该定时器线圈被激励,该定时器指令并不是每个扫描周期都执行,或在一个扫描周期中多次被执行,都会造成计时失准。100ms定时器仅用在定时器指令在每个扫描周期执行一次的程序中。7.1.10定时器指令TON、TOF和TONR指令应用举例其中T33为TON、T34为TOF、T1为TONRLDI0.0TONT33,4TOFT34,3TONRT1,107.1.10定时器指令7.1.11计数器S7-200系列PLC为用户提供了三种类型的计数器:①增计数器CTU(CountUp)②减计数器CTD(CountDown)③增/减计数器CTUD(CountUp/Down)
计数器的当前值、设定值均用16位有符号整数来表示,最大计数值为327671.计数器编号计数器编号用计数器的名称和常数(0~255)编号,即C,如:C20。2.计数器指令使用说明名称格式增计数器减计数器增/减计数器LADSTLCTUC,PVCTDC,PVCTUDC,PV7.1.11计数器(1)增计数器
增计数器指令(CTU)在每一个CU输入的上升沿(从OFF到ON),从当前计数值开始递增计数。当复位输入(R)置位或者执行复位指令时,计数器复位。计数器在达到最大计数值(32767)时,停止计数。(2)减计数器减计数器指令(CTD)输入端有上升沿时,减计数器每次从计数器的当前值减计数。当装载输入端接通时,计数器复位并把预设值装入当前值。当计数器达到0时,计数器位接通。7.1.11计数器(3)增/减计数器(CTUD)①在每个CU输入的上升沿,从当前计数值开始递增计数。在每个CD输入的上升沿递减计数。②当复位输入(R)置位或执行复位指令时,计数器复位。在达到计数器最大值32767后,下一个CU输入上升沿将使计数值变为最小值(-32768)。③同样在达到最小计数值(-32768)后,下一个CD输入上升沿将使计数值变为最大值(32767)。前值大于等于预置值时,该计数器位被置位(ON),否则,计数器位被复位(OFF)。7.1.11计数器指令说明:当用复位指令复位计数器时,计数器位被复位,并且当前值清零。参照计数器的当前值和计数器位使用计数器号。值得注意的是,由于每个计数器只有一个当前值,请不要把一个计数器号分配给几个类型的计数器(增计数器、减计数器和增/减计数器都使用同一个当前值)。CTU/CTUD指令使用要点:①在STL形式中,CU、CD和R的顺序不能错。②CU、CD和R信号可为复杂逻辑关系。7.1.11计数器减计数器应用
LDI3.0LDI1.0CTDC50,37.1.11计数器增/减计数器应用
LDI4.0LDI3.0LDI2.0CTUDC48,47.1.11计数器7.1.12比较指令比较指令是将两个操作数按指定的条件作比较,条件成立时,触点就闭合。
STLLAD功能LD□××n1,n2比较触点接起始总线LDnA□××n1,n2比较触点的“与”LDnO□××n1,n2比较触点的“或”“××”表示操作数n1,n2所需满足的条件:==等于比较,如LD□==n1,n2,即n1==n2时触点闭合。>=大于等于比较,如,即n1>=n2时触点闭合。<=小于等于比较,如,即n1<=n2时触点闭合。“□”表示操作数n1,n2的数据类型及范围:BByte,字节比较,如LDB==IB2,MB2。WWord,字节的比较,如AW>=MW2,VW12。DDoubleWord,双字的比较,如OD<=VD24,MD。RReal,实数的比较(实数应存放在双字中,仅限于CPU214以上)7.1.13NOT及NOP指令取反指令NOT,空操作指令NOP7.2程序控制指令7.2.1跳转及标号指令跳转指令,当输入端有效时,使程序的执行跳转到指定的标号。执行跳转后,逻辑堆栈顶总为1。指定跳转的目标标号。操作数n:0~255。跳转指令及标号的例子LDNSM0.2JMP4..LBL4必须强调:跳转指令及标号必须同在主程序内,或在同一子程序、同一中断服务程内,不可由主程序跳转到中断服务程序或子程序中,也不可由中断服务程序或子程序跳转到主程序中。7.2.2结束及暂停指令1.结束指令(END和MEND)END:条件结束指令MEND:无条件结束指令执行条件成立(左侧逻辑值为1)时结束主程序,返回主程序起点。结束主程序,返回主程序起点。指令说明:(1)用户程序必须以无条件结束指令结束主程序。(2)条件结束指令用在无条件结束指令前结束主程序。在调试程序时,在程序的适当位置插入MEND指令可以实现程序的分段调试。(3)STEP7-Micro/WIN32没有无条件结束指令,但它会自动加一无条件结束指令到每一个主程序的结尾。LDI0.0END7.2.2结束及暂停指令2.停止指令(STOP)(1)停止指令(STOP)有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令在梯形图中以线圈形式编程。(2)STOP指令可以用在主程序、子程序和中断服务程序中。如果在中断程序中执行STOP指令,则中断处理立即中止,并忽略所有挂起的中断。继续扫描程序的剩余部分,在本次扫描周期结束后,完成将主机从RUN到STOP的切换。(3)STOP:停止指令,执行条件成立(左侧逻辑值为1)时停止执行用户程序,令CPU状态由RUN转到STOP。操作数:无。(4)STOP指令和END指令通常在程序中用来对突发紧急事件进行处理,以避免实际生产中的重大损失。指令说明:7.2.2结束及暂停指令7.2.3看门狗指令WDR称为看门狗复位指令,也称为警戒时钟刷新指令。它可以把警戒时钟刷新,即延长扫描周期。WDR指令在梯形图中以线圈形式编程,无操作数。LDM5.6WDR看门狗复位指令(WDR)说明:若在FOR、NEXT循环中写入WDR指令,则可能使一次扫描的时间拖得很长而在一次扫描结束之前,下面的处理是被禁止的:①通信(自由口通信除外)。②I/O刷新(直接I/O除外)。③强制刷新。④特殊标志位刷新(SM0,SM5~SM29均不可刷新)。⑤运行时间诊断。⑥扫描时间超过25s时,使10ms、100ms定时器不能正确计时。⑦不处理中断程序中的STOP指令。
注意:如果希望扫描周期超过300ms,或希望中断时间超过300ms,则最好用WDR指令来重新触发看门狗定时器。7.2.3看门狗指令7.2.4FOR、NEXT循环指令FOR指令和NEXT指令必须成对使用,FOR标记循环的开始,NEXT标记循环的结束。FOR标记在FOR和NEXT标记之间执行指令,必须给FOR指令指定当前循环计数(INDX)、初值(INIT)和终值(FINAL)。NEXT指令标记循环的结束,并且置栈顶值为1。
例如:给定初值(INIT)为1,终值(FINAL)为10,那么随着当前计数值(INDX)从1增加到10,FOR与NEXT之间的指令被执行10次。7.2.4FOR、NEXT循环指令7.2.5子程序1.子程序建立指令(SBR)
2.子程序调用和条件返回指令(1)子程序调用指令(CALL)子程序的调用可以带参数。它在梯形图中以指令盒的形式编程。(2)子程序条件返回指令(CRET)梯形图中以线圈的形式编程,指令不带参数。
子程序调用/返回指令的应用LDSM0.1CALL10LDM14.3CRET7.2.5子程序子程序调用、返回指令说明:
1、STEP7-Micro/WIN32没有子程序无条件返回指令,但它会自动加一无条件返回指令到每一个子程序的结尾。2、子程序可以嵌套,嵌套层数可达8层。不禁止自调用。3、当一个子程序被调用时,整个逻辑堆栈另存别处,然后栈顶置1,其余栈位置0,程序执行转到被调用的子程序。子程序执行完毕,逻辑堆栈恢复原调用点的值,程序执行返回到主调用程序。因为调用子程序后,栈顶总为1,所以跟随SBR指令后的输出线圈或功能框可直接接到梯形图左边母线上,在指令表中,跟在SBR后的Load指令可省略。4、累加器值可在主、子程序间自由传递,调用子程序时无需对累加器作存储及重装操作。7.2.5子程序7.2.6与ENO指令1、ENO是LAD中指令盒的布尔量输出如果指令盒的输入有能流,而且执行没有错误,ENO输出就把能流传到下一个指令盒。ENO可以作为允许位表示指令成功执行。借助堆栈,ENO位用来影响其后指令执行的能流。STL指令没有EN输入,对于要执行的指令栈顶必须是1。在STL中没有ENO输出,但是,带有ENO的LAD指令对应的STL指令置一个特殊的ENO位。该位用“与”ENO(AENO)指令访问。AENO可以用来产生和指令盒的ENO位同样的效果。2、指令格式:AENO
AENO指令无操作数,且只在STL中使用,它将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。AENO指令的应用LDI0.0+IVW200,VW204AENOATCHINT_0,107.2.6“与”ENO指令7.3基本指令应用举例7.3.1延时电路1.延时脉冲产生电路
控制要求:输入信号I0.0满足(ON)后,停一段时间后产生一个脉冲。该电路常用于获取启动或开关信号。过程工作:
利用脉冲指令在I0.0的上升沿产生一个计时启动脉冲,接下来就是自锁回路。因为定时器没有瞬动触点,所以必须用一个中间继电器M0.1组成延时逻辑。T34定时到,产生一个宽度为一个周期的脉冲Q0.0,然后使T34复位。ANQ0.0=M0.1TONT34,400LDT34=Q0.0LDI0.0EU=M0.0LDM0.0OM0.12.瞬时接通/延时断开电路当输入信号有效时,(Q0.0)立即有输出,而输入信号OFF后,输出信号延时一段时间才OFFLDI0.0OQ0.0ANT37=Q0.0梯形图时序图LDNI0.0AQ0.0TONT37,303.延时接通/延时断开电路当有输入信号后,停一段时间输出信号才为ON。而输入信号OFF后,输出信号延时一段时间才OFFAQ0.0TONT41,+60LDT40LDI0.0TONT40,+40LDNI0.0OQ0.0ANT41=Q0.04.脉冲宽度可控电路作用:输入信号宽度不规范的情况下,该指令可调节脉冲宽度。注意:如果输入信号的两个上升沿之间的距离小于该脉冲宽度,则忽略输入信号的第二个上升沿。应用举例:LDI0.0OM0.0ANT42=M0.0LDM0.0TONT42,20LDM0.0ANT42=Q0.05.长延时电路S7-200PLC中定时器的最长定时时间不到1小时(3276.7S),实际应用中往往需要几小时甚至几天或更长时间的定时控制,这就需要通过编制程序(应用定时器和计数器)来实现。实例:输出Q0.1在输入I0.0接通4小时20分钟后才接通。LDI0.0ANT42TONT42,600LDT42LDNI0.0O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印刷行业前台工作经验
- 机场航空行业顾问工作总结
- 酒店接待工作总结
- 抱石工人劳动合同三篇
- 会计准则解读与应用总结
- 广东省深圳市龙华区2023-2024学年六年级上学期英语期末试卷(1月)
- 渔具行业销售工作总结
- 2023-2024学年浙江省温州市十校联合体高二(下)期中地理试卷
- 2023年广东省珠海市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年广西壮族自治区南宁市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- (高清版)DZT 0284-2015 地质灾害排查规范
- 驾驶员劳务派遣车辆管理方案
- 电缆大和小修危险源辨识和控制措施
- CSCO胃癌诊疗指南转移性胃癌更新解读
- 微电子器件课后答案(第三版)
- 机关餐饮项目服务方案(完整版)
- 《网络安全等级保护条例》
- 儿童福利机构服务与管理规范
- 《工装夹具设计》课程标准
- 宜昌市夷陵区2023-2024学年八年级上学期期末数学评估卷(含答案)
- 企划品宣部人员架构及职责
评论
0/150
提交评论