4.1基本逻辑指令4.2基本指令编程实例第4章PLC的基本逻辑指令及编程4.1基本逻辑指令4.1.1LD、LDI、OUT指令4.1.2AND、ANI指令4.1.3OR、ORI指令4.1.74.1.84.1.9MC/MCR指令SET/RST指令PLS/PLF指令4.1.11NOP指令4.1.12END指令4.1.4ORB指令4.1.5ANB指令4.1.6MPS/MRD/MPP指令4.1.10LDP/LDF、ANDP/ANDF、ORP/ORF指令4.1.1LD、LDI、OUT指令LD(读取):用于常开接点接到母线上的逻辑运算起始。LDI(读取反):用于常闭接点接到母线上的逻辑运算起始。指令格式:LD元件号;LDI元件号其操作元件包括X、Y、M、S、T、C。程序步为1另外,与后续的ANB指令组合,在分支点处也可使用。4.1.1LD、LDI、OUT指令OUT(输出):输出驱动各种驱动线圈指令格式:OUT元件号其操作元件包括Y、M、S、T、C对输入继电器不能使用,并行输出可多次使用OUTY、M:程序步为1特M:程序步为2T:程序步为3C:16bit,程序步为332bit,程序步为5LD、LDI、OUT指令的使用说明X0LDOUTY0X1LDIM0T0K10Y1T0母线LDOUT78T0Y1X1M0T0驱动定时器K10234设定常数LDIOUTOUTSP步序01指令LDOUT数据X0Y03步4.1.2AND、ANI指令AND,与指令,用于单个常开接点的串联ANI,与非指令,用于单个常闭接点的串联AND与ANI这两条指令可以多次重复使用指令格式:AND元件号;ANI元件号其操作元件包括X、Y、M、S、T、C程序步为1AND、ANI指令的使用说明ANDX1X2Y0M0ANIY1(b)步序指令数据0123LDANDOUTLDANIOUTANDOUT67X2M0T0Y145X0X1Y0Y0串联常开触点纵接输出串联常闭触点串联常开触点X0Y0T0AND母线(a)4.1.3OR、ORI指令OR,或指令,用于单个常开接点的并联ORI,或非指令,用于单个常闭接点的并联(1)OR、ORI指令用于单个触点的并联连接指令指令格式:OR元件号;ORI元件号其操作元件包括X、Y、M、S、T、C程序步为1说明:(2)两个以上接点串联连接电路块并联连接时,要用后述的ORB指令(3)OR、ORI是从该指令的当前步开始,对前面的LD、LDI指令并联连接的,并联的次数无限制OR、ORI指令的使用说明Y2X3X4Y31234步序指令0LDORORIOUTLDI数据X3X4X1Y2Y2并联常开触点56789X16M0X7M10Y3ANDORANIOROUT并联常开触点并联常闭触点X16X7Y2X1M0M10ORORI母线OROR4.1.4ORB指令两个或两个以上的接点串联连接的电路叫串联电路块。对串联电路块并联连接时,有:(1)分支开始用LD、LDI指令,分支终点用ORB指令。(2)ORB指令为无目标元件,它不表示触点。(3)可以看成电路块之间的一段连接线。指令格式:ORB无操作元件程序步为1ORB指令的使用X3Y4X6步序012ANDLDANDORBOUT指令数据LDX4X5X6X7Y4串联电路块并联连接345678M2X11Y5LDANDOUTX5X7M2X11串联电路块ORBY5母线ORB指令相当一段连线一种是在要并联的每个串联电路块后加ORB指令,分散使用ORB指令时,并联电路的个数没有限制。另一种是集中使用ORB指令(如下图所示),集中使用ORB指令时,这种电路块并联的个数不能超过8个(即重复使用LD、LDI指令的次数限制在8次以下)。ORB指令的使用方法ORBOUT推荐81234567X0X2X4X1X3X5ANILDANDORBLDIX1X2X3X4X5Y5OUT不推荐81234567ANILDANDLDIANDX1X2X3X4X5Y5ORBORBY5步序0指令LD数据X0步序0指令LD数据X0分散使用ORB集中使用ORB串联电路块1串联电路块2先集中做块再集中连接ANDORB做一块连一块两个或两个以上接点并联的电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,应使用ANB指令。指令格式:ANB无操作元件程序步为14.1.5ANB指令分支的起点用LD、LDI指令,并联电路块结束后,使用ANB指令与前面电路串联。ANB指令简称与块指令4.1.6MPS/MRD/MPP指令MPS(Push)为进栈指令,就是将运算中间结果存入栈存储器。使用一次MPS指令,该时刻的运算结果就压入栈存储器第一级,再使用一次MPS指令时,当时的运算结果压入栈的第一级,先压入的数据依次向栈的下一级推移。MPP(POP)为出栈指令,使用出栈MPP指令就是将存入栈存储器的各数据依次上移,最上级数据读出后就从栈内消失。…4.1.6MPS/MRD/MPP指令MRD(READ)读栈指令,读出存入栈存储器的最上级的最新数据,栈内的数据不发生上、下移。MPS、MRD、MPP这组指令都是没有操作元件号,可将触点先存储,因此用于多重输出电路。MRDMPS123指令功能图解MPPn小结LD、LDI用于接点接到主母线(或分支)的逻辑运算起始OUT输出驱动各种驱动线圈(不能驱动X)AND、ANI用于单个接点的串联OR、ORI用于单个接点的并联ORB对串联电路块并联连接(无操作元件)ANB指令用于并联电路块与前面电路串联MPS/MRD/MPP指令用于保存、恢复、读出接点的状态MPS、MRD、MPP指令在使用中应注意:4.1.6MPS/MRD/MPP指令(1)MPS、MRD、MPP指令用于多重输出电路(2)MPS与MPP必须配对使用(3)MPS与MPP连续使用必须少于11次4.1.7MC/MCR指令MC为主控指令,用于公共串联接点的连接。MCR叫主控复位指令,即MC的复位指令。遇到多个线圈同时受一个或一组接点控制的情况。如果在每个线圈的控制电路中都串入同样的接点,则将多占用存储单元,应用主控指令可以解决这一问题。使用主控指令的接点称为主控接点,是与母线相连的常开接点,是控制一组电路的总开关。MC、MCR指令的使用X01456781011(b)MCSPLDOUTLDOUTMCRLDOUTN0M100X1Y0X2Y1N0X3Y2MC为3步指令MCR为2步指令MCN0M100N0Y0Y1MCRN0Y2M100X1X2X3步序指令0LD数据X0(a)MC、MCR指令的使用MC指令是3程序步,MCR指令是2程序步,两条指令的操作目标元件是Y、M,不允许使用特殊辅助继电器M。当输入条件断开时,不执行MC与MCR之间的指令。使用MC指令后,母线移到主控接点的后面,与主控接点相连的接点必须用LD或LDI指令。MCR使母线回到原来的位置。在MC指令区内使用MC指令称为嵌套,嵌套级N的编号(0-7)顺次增大,返回时用MCR指令,从大的嵌套级开始解除MC、MCR指令的使用10.SET与RST指令RST(Reset):复位指令,使操作保持复位的指令。(YMSTCDVZ)SET(Set):置位指令,使操作保持的指令。(YMS)(1)在任何情况下,RST指令都优先执行。(2)计数器和移位寄存器处于复位状态下,不接收输入的数据。4.1.9PLS/PLF指令PLS指令在输入信号上升沿产生脉冲输出,PLF在输入信号下降沿产生脉冲输出,它们的目标元件是Y和M,但特殊辅助继电器不能作目标元件。使用PLS指令,元件Y、M仅在驱动输入接通后的一个扫描周期内动作(置1),即PLS指令使M0产生一个扫描周期脉冲,而使用PLF指令,元件Y、M仅在驱动输入断开后的一个扫描周期内动作;PLF指令使元件M1产生一个扫描周期脉冲。09LDPLSLDSETRSTX0X0M0134568LDPLFLDM0M0Y0X1M1M1Y02步指令2步指令X1M1PLSM0SETY0PLFM1RSTY0步序指令数据PLS、PLF指令的使用10.边沿检测触发指令LDPANDPORP是检测上升沿的触点指令,触点中间有一个向上的箭头,对应的触点仅在指定位元件波形的上升沿(由OFF变为ON)时接通一个扫描周期。LDFANDFORF是检测下降沿的触点指令,触点中间有一个向下的箭头,对应的触点仅在指定位元件波形的下降沿(由ON变为OFF)时接通一个扫描周期。10.边沿检测触发指令10.边沿检测触发指令NOP指令是一条无动作、无目标的程序步指令。可编程序控制器的编程器一般都有指令的插入和删除功能,在程序中一般很少使用NOP指令。执行完清除用户存储器的操作后,用户存储器的内容全部变为空操作指令。4.1.11NOP指令END是一条无目标元件的程序步指令。PLC反复进行输入处理、程序运算、输出处理,END以后的程序不再执行,直接进行输出处理。在程序调试过程中,按段插入END指令,可以顺序扩大对各程序段动作的检查。采用END指令将程序划分为若干段,在确认处于前面电路块的动作正确无误之后,依次删去END指令。4.1.12END指令4.2基本指令编程实例4.2.1梯形图编程注意事项4.2.2基本指令编程实例Y1354321245(b)Y124534.2.1梯形图编程注意事项(a)(a)不正确;(b)正确OUTLDANDOROUTLDANDLDORB(a)串联多的电路尽量放上部OUTLDANDOR并联多的电路尽量靠近母线OUTLDORLD4.2.1梯形图编程注意事项ANB(b)1(b)53241244.2.1梯形图编程注意事项不能将接点画在线圈右边,只能在接点的右边接线圈,如图所示。35(a)X1Y3第一次第二次4.2.1梯形图编程注意事项双线圈输出不可用输入处理X1=ON,X2=OFFX3Y4X2Y3输出处理Y3=OFF,Y4=ON123ANDLDIAND456ORBORLDY002步序0指令LD78910ORANBOROUT数据X000X001X002X003X004X006X007X005Y002(b)并联连接并联块结束分支起点与前面的电路连接X006X007X000X001X002X003X004X005LD并联电路块ANBANB前的ORORBANB后的OR(a)4.2.2基本指令编程实例例1ORB、ANB指令的混用4.2.2基本指令编程实例延时断开电路定时器和计数器的应用程序RSTC0X2T0T0K600X2T0C0K60C0Y0X2Y01h定时范围的扩展定时器和计数器的应用程序闪烁电路X0T1T0K20T0T1K30Y0X0T0T1Y02S3S2S3S2S定时器和计数器的应用程序接通/断开延时电路Y1X0T1K70T0T1Y1X0T0K90Y1X0Y1T0的常开触点T1的常开触点9S7S常闭触点输入信号的处理X0X1COMPLCX0X1COMPLCX0X1Y1Y1X0X1Y1Y14.3PLC程序的经验设计法基本思路:在已有的些典型梯形图的基础上,根据被控对象对控制的要求,通过多次反复地调试和修改梯形图,增加中间编程元件和触点,以得到一个较为满意的程序。基本特点:没有普遍的规律可以遵循,设计所用的时间、设计的质量与编程者的经验有很大的关系。适用场合:可用于逻辑关系较简单的梯形图程序设计。基本步骤:分析控制要求、选择控制原则;设计主令和检测元件,确定输入输出设备;设计执行元件的控制程序;检查修改和完善程序。4.3PLC程序的经验设计法例1---送料小车自动控制的梯形图程序设计控制要求:说明:X4处装料,20s后装料结束,开始右行,碰到X3后停下卸料,25s后左行,碰到X4后又停下装料,这样不停地循环工作。按钮X0和X1分别用来起动小车右行和左行。4.3PLC程序的经验设计法例1---送料小车自动控制的梯形图程序设计设计思路:以众所周知的电动机正反转控制的梯形图为基础,设计出的小车控制梯形图。为使小车自动停止,将X3和X4的常闭触点分别与Y0和Y1的线圈串联。为使小车自动起动,将控制装、卸料延时的定时器T0和T1的常开触点,分别与手动起动右行和左行的X0、X1的常开触