12.2PLC的基本指令一、LD、LDI、OUT指令二、AND、ANI指令三、OR、ORI指令四、ANB、ORB指令六、MPS、MRD、MPP指令七、MC、MCR指令八、SET、RST指令九、PLS、PLF指令五、ORB指令十、NOP指令十一、END指令2FX2N系列PLC共有27条基本逻辑指令,此外还有100多条功能指令。仅用基本逻辑指令便可编制出开关量控制系统的用户程序。基本指令由:指令助记符+操作数助记符:指令英文缩写操作数:执行指令的对象,通常为编程软元件的编号或寄存器的地址。3指令的作用LD(Load):取指令,用于与左母线相连的常开触点逻辑运算的开始;LDI(LoadInverse):取反指令,用于与左母线相连的常闭触点逻辑运算的开始;OUT:驱动线圈的输出指令。目标元件LD:LDI:OUT:Y、M、S、T、C2.2.1逻辑取、线圈驱动指令X、Y、M、S、T、C4指令的说明LD、LDI还与块操作指令ANB、ORB相配合,用于分支电路的起点。OUT不能用于X;并联输出OUT指令可连续使用任意次。OUT指令用于T和C,其后须跟常数K,K为延时时间或计数次数。56指令的使用Y0X0X1M0M0Y1Y2LDX0OUTY0LDIX1OUTM0LDM0OUTY1OUTY2并联输出OUT指令可连续使用任意次7例:写出下图的指令表程序。LDX0OUTY0LDIX1OUTM100OUTT0K19LDT0OUTY1X0X1M100T0Y1K19Y0T0当累计脉冲数与设定值相同时,其输出触点产生动作OUT指令用于T和C,其后须跟常数K8指令的作用AND:与指令,用于串联单个常开触点,实现逻辑与运算ANI(AndInverse):与非指令,用于串联一个常闭触点,实现逻辑与非运算。目标元件AND:ANI:X、Y、M、S、T、C2.2.2触点串联指令(AND、ANI)9指令的说明AND和ANI指令用于单个常开、常闭触点的串联,串联触点的数量不受限制,可连续使用。执行OUT指令后,通过与指令可驱动其它线圈输出。若是两个并联电路块(两个或两个以上触点并联连接的电路)串联,则需用后面的ANB指令。10AND、ANI指令的应用梯形图Y0X0X4Y1Y0Y2Y3X1X3X2X5Y1指令表程序LDX0ANIX1AN1X2OUTY0LDIX3ANDX4ANDX5OUTY1LDY0ANDY1OUTY2OUTY311例:写出下图的指令表程序。X0Y2M101Y2T1Y3X2X1LDX0ANDX2OUTY2LDY2ANIX0OUTM101ANDT1OUTY3在左图中,OUTM101指令之后再通过T1的触点去驱动Y3,称为连续输出。12指令的作用OR:或指令,用于并联单个常开触点,实现逻辑或运算;ORI(OrInverse):或非指令,用于并联单个常闭触点,实现逻辑或非运算。指令的说明目标元件:X、Y、M、T、C、S;OR、ORI指令仅用于单个触点与前面触点的并联;并联触点的数量不受限制,该指令可以连续多次使用;若是两个串联电路块(两个或两个以上触点串联连接的电路)相并联,则用ORB指令。2.2.3触点并联指令(OR、ORI)13OR、ORI指令的应用梯形图程序指令表程序LDX0ORX2ORIX3ANIX1OUTY0Y0X0X3X1X214例1:写出下图的指令表程序LDX1ORY1ORIM102OUTY1LDIX1ANIY1ORM103ANIY2ORIM104OUTM103X1M103Y1X1Y1Y1M102M103M104Y2LDORORIORORI15例2:写出下图的指令表程序LDX0ANDX1ORIX4ANDX2ORX5ANIX3ORIX6OUTY0Y0X0X5X2X4X1X3X616ANB(AndBlock)电路块与指令,用于并联电路块的串连连接指令的说明并联电路块:两个或两个以上的触点并联而成的电路;将并联电路块与前面的电路串联时用ANB指令;使用ANB指令前,应先完成并联电路块内部的连接。并联电路块中各支路的起点使用LD或LDI指令;并联电路块结束后,用ANB指令与前面电路并联。ANB指令无操作数。2.2.4电路块串联指令(ANB)17ANB指令的应用梯形图程序Y0X0X4X1X3X2X5一般编程法:集中编程法:LDX0LDX0ORIX3ORIX3LDIX1LDIX1ORX4ORX4ANBLDX2LDX2ORX5ORX5ANBANBANBOUTY0OUTY018例:写出下图的指令表程序Y0X0X6X2X4X1X3X5LDX0ANDX1ORIX4LDX2ORX5ANBORIX6ANIX3OUTY019ORB(OrBlock):电路块并联指令,用于串联电路块的并联连接指令的说明串联电路块:两个或以上的触点串连而成的电路块;对并联支路个数没有限制。ORB指令无操作数。每个串联电路块的起点都要用LD或LDI指令,电路块后面用ORB指令。2.2.5电路块并联指令(ORB)20ORB指令的应用梯形图程序Y0X0X3X4X1X2X5一般编程法:集中编程法:LDX0LDX0ANIX1ANIX1LDIX2LDIX2ANDX3ANDX3ORBLDX4LDX4ANDX5ANDX5ORBORBORBOUTY0OUTY021例1:写出下图的指令表程序指令表程序LDIX1ORIX2LDIY0ANIM100LDIY2ANDM101ORBORT0ANBORIX3OUTY007ORBANBX1Y007Y0M100X2Y2M101X3T0LD22例2:写出下图的指令表程序Y0X0X4X6X1X3X2X5X7Y0LDX0ANIX1LDIX3ANDX4ORBLDX2ORX5ANBLDX6ANIX7ORBORY0OUTY0串联电路块与前面触点或电路并联时,用ORB指令。23MPS(Push),MRD(Read),MPP(Pop)指令分别是进栈、读栈和出栈指令,它们用于多重输出电路。···1211MPSMPPMRD栈存储器与多重输出指令MPS进栈指令:将联结点的逻辑运算结果推入栈的第一个单元(栈顶);在没有MPP指令前,若再次使用MPS,则当前结果推入栈顶,而先推入的数据依次向下一个单元推移。MRD读栈指令:是读出最上层所存数据的专用指令,堆栈内的数据不发生移动。MPP出栈指令:将最上端的数据读出,各数据按顺序向上移动,同时该数据就从堆栈中消失。2.2.6多重输出指令(MPS/MRD/MPP)先进后出后进先出24堆栈指令的使用说明:1)堆栈指令没有目标元件;3)由于栈存储单元只有11个,所以栈的层次最多11层。2)MPS和MPP必须配对使用;25X0Y0Y4Y2X1X2X3MPSMRDMPPLDX0MPSANDX1OUTY0MRDANDX2OUTY4MPPANDX3OUTY2栈存储器与多重输出指令···1211MPSMPPMRD261层栈简单电路X1M100Y2M101Y1Y3M1020LDX11MPS2ANDM1003OUTY14MRD6ANDM1017OUTY28MPP9AND10210OUTY3271层栈和ANB、ORB指令1层栈和ANB、ORB指令X1X0X3X7Y0Y1Y2MPSMRDMPPX2X4X5X6LDX0MPSLDIX1ORX2ANBOUTY0MRDLDX3ANIX4LDIX5ANDX6ORBANBOUTY1MPPANDX7OUTY2将并联电路块与前面的电路串联时,用ANB指令28MPSMPPMPSMPSMPPMPPX0X1X2X3X4X5X6Y0Y1Y2Y32层栈LDX0MPSANDX1MPSANDX2OUTY0MPPANDX3OUTY1MPPANDX4MPSANDX5OUTY2MPPANDX6OUTY32层栈29在编程时,常会出现多个线圈同时受一个或一组触点控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,这时使用主控指令就可以解决这一问题。使用主控指令的触点称为主控触点。指令的作用MC(MasterControl):主控指令,用于公共串联触点的连接,执行MC指令后,左母线移到MC触点的后面;MCR(MasterControlReset):主控复位指令,是MC指令的复位指令,用于公共串联触点的清除,即执行MCR指令后,恢复原左母线的位置。2.2.7主控触点指令(MC/MCR)30指令的说明MC、MCR指令的编程元件:Y、M,不能使用特殊辅助继电器;MC、MCR指令成对出现,缺一不可;MC指令后用LD/LDI指令,表示建立子母线;MC、MCR指令可以嵌套使用,嵌套级数最多为8级,编号按N0→N7顺序增大,每级的返回用对应的MCR指令,编号按N7→N0顺序复位;主控触点在梯形图中与一般的触点垂直。它们是与母线相连的常开触点,是控制一组电路的总开关。2.2.7主控触点指令(MC/MCR)31指令的说明MC指令的输入触点闭合时,正常运行在MC和MCR之间的程序;MC指令的输入触点断开时,MC和MCR之间的累计定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变;非累计定时器和计数器、用OUT指令驱动的元件将复位。在下图中当X0断开,T0断电复位,Y1即变为OFF。2.2.7主控触点指令(MC/MCR)32指令的梯形图指令表程序步序指令地址0LDX01MCN02M1003LDX14OUTY15LDX26OUTY27MCRN0MC、MCR指令的应用主控与主控复位指令N0X0Y1X1X2Y2MCN0M100MCRN0M100主控触点3333多重嵌套主控指令LDX0MCN0M100LDX1OUTY0。。。。LDX2MCN1M101LDX3OUTY1。。。。MCRN1LDX4OUTY2。。。。MCRN0LDX5OUTY3X0Y0X1X4Y2M100X2M101X3Y1MCN0M100MCN1M101……MCRN1MCRN0Y3X5……(B)(A)(B)(A)MC、MCR指令成对出现,缺一不可;MC、MCR指令可以嵌套使用,编号按N0→N7顺序增大,每级的返回用对应的MCR指令,编号按N7→N0顺序复位;34X0X1Y0Y0SETRST置位复位指令SET:置位指令,使操作保持ON的指令RST:复位指令,使操作保持OFF的指令SET操作元件:Y、M或S,作用相当于使得操作元件状态置“1”;RST操作元件:Y、M、S、T、C、D、V或Z。对Y、M或S操作时,相当于将其状态复位,即置“0”;对T、C、D、V或Z操作时,相当于将其数据清零。对同一编程元件,可多次使用SET和RST指令。SET与RST指令之间可以插入别的程序。如果它们之间没有别的程序,最后的指令有效。X0X1Y02.2.8置位、复位指令(SET、RST)SET指令:执行后,操作元件为1,复位需使用RST指令;OUT指令:若逻辑电路断开,自动复位。35在应用中可以通过SET和RST指令来实现一些电路的启动、保持和停止。X0为启动信号,X1为停止信号。Y0X0X1Y0SETY0X0RSTY0X1Y0Y0X1X0SETY0X0RSTY0X1X0(a)复位优先(c)复位优先(b)置位优先(d)置位优先图2-24启动、保持、停止电路36PLS(Pulse):上升沿脉冲微分指令,在输入信号上升沿时,使操作元件产生一个宽带为扫描周期的脉冲输出。PLF(PulseFall):下降沿脉冲微分指令,在输入信号下降沿时,使操作元件产生一个宽带为扫描周期的脉冲输出。PLS和PLF指令只能用于Y和M。2.2.9脉冲指令(PLS/PLF)37X1X2M1扫描周期Y1M2指令元件号LDX1PLSM1LDM1SETY1LDX2PLFM2LDM2RSTY138NOP(NonProcessing):空操作指令,是一条无动作、无操作条件的指令。NOP指令通常用于以下几个方面:(1)短接某些触点或电路;(2)切断某些电路;(3)变换先前电路。当PLC执行了清除用