第四章指令系统及编程第一节梯形图语言•PLC的主要编程语言:梯形图、指令表、顺序功能图、功能块图、结构文本。•梯形图编程语言:在继电器控制线路的基础上简化了符号演变而来(图形编程)。•梯形图具有形象、直观、实用、电气人员容易接受的特点,是目前用得最多的一种PLC编程语言。(a)继电器原理图(b)PLC接线图(c)梯形图输入端输出端二、梯形图编程规则及注意事项•(一)梯形图编程规则•1、按从左到右(串联)、自上而下(并联)的顺序编制。每个继电器线圈为一逻辑行,每个逻辑行起于左母线,经过触点、线圈,止于右母线。注意:(a)左母线与线圈之间一定要有触点。(b)线圈与右母线之间不能有任何触点。(c)每个逻辑行最后都必须是继电器线圈。下图画法均不正确:•2、触点串联块并联时,触点较多的块应放在上面,以减少存储单元。图(a)的画法不合理(但是允许的),应当改为图(b)的画法。(不合理)(合理)(a)(b)(a)(b)5、输出线圈不能是输入继电器IR或特殊继电器SR。第二节三菱FX2N系列PLC指令系统•▲指令系统概述•一、指令分类•1)FX系列PLC共有基本指令27条(逻辑控制、顺序控制);•2)FX2N系列PLC有步进指令2条(顺序控制);•3)FX系列PLC有功能指令一百多条。•说明:基本指令在编程器上有对应指令输入键,功能指令在编程器上没有对应的输入键,这些指令必须通过功能键输入,如FUN(01),其中括号内的01表示功能号。•二、指令组成•PLC指令的组成:操作码、操作数•操作码:用助记符表示,用来表明要执行的功能。(如LD表示取、OR表示或等)•操作数:用来表示操作的对象。•操作数一般是由标识符和参数组成。•标识符表示操作数的类别,参数表明操作数的地址或设定一个预制值。•如:LDX000,•LD:指令(操作码)•X000:编程元件(操作数)•X:标识符0:参数。梯形图指令功能操作元件程序步LD读取第一个常开触点X、Y、M、S、T、C1LDI读取第一个常闭触点X、Y、M、S、T、C1OUT驱动输出线圈Y、M、S、T、CY、M:1;特M:2;T:3;C:3~5梯形图指令功能操作元件程序步AND串联一个常开触点X、Y、M、S、T、C1ANI串联一个常闭触点X、Y、M、S、T、C1不能使用连续输出的例子说明:1)AND、ANDI指令用于触点的串联连接,串联触点个数不限,该指令可以重复使用。2)连续输出时注意输出顺序,否则要用分支电路指令MPS、MRD、MPP。3)图形编程器和打印机的功能有限制,建议尽量作到一行不超过10个触点和一个线圈,连续输出总共不超过24行。梯形图指令功能操作元件程序步OR与一个常开触点并联X、Y、M、S、T、C1ORI与一个常闭触点并联X、Y、M、S、T、C1说明:0R、ORI指令用于一个触点的并联连接,该指令可以重复使用,建议并联总共不超过24行,串联块的并联要用块或(ORB)指令。梯形图指令功能操作元件程序步ANB并联电路块的串联无1ORB串联电路块的并联无11)ORB电路块或指令:将串联电路块并联(串联电路块:将两个以上的触点串联连接的电路块)说明:左图和右图实现的逻辑控制功能相同,但右图的X000触点与X002触点既不是串连又不是并连,而是与X001形成一个串联电路块,故应使用ORB指令。方法1:方法2:0LDX0000LDX0001ANIX0011ANIX0012LDIX0022LDIX0023ANDX0033ANDX0034ORB4LDIX0045LDIX0045ANDX0056ANDX0056ORB7ORB7ORB8OUTY0008OUTY000说明:ORB指令可成批使用,但集中(连续)使用时必须少于8次(LD、LDI指令只能连续使用8次),如方法2;方法1中ORB的使用次数不限。2)ANB电路块与指令:将并联电路块串联(并联电路块:将两个以上的触点并联连接的电路块)说明:左图和右图实现的逻辑控制功能相同,但同理,X001与X002构成一个并联电路块,故应使用ANB指令与X000连接。0LDX0005LDIX0041ORIX0026ORX0052LDIX0017ANB3ORX0038OUTY0004ANB说明:ANB指令也可成批使用,集中(连续)使用时必须少于8次说明:1)NB和ORB指令是不带操作元件的指令。2)NB、ORB指令可以重复使用,但集中(连续)使用时必须少于8次。注意:单个触点与前面电路并联或串联时不能用电路块指令。5、堆栈(多重输出)指令(MPS、MRD、MPP)梯形图指令功能操作元件程序步MPS进栈无1MRD读栈无1MPP出栈无1说明:1)MPS/MRD/MPP指令的功能是将连接点的结果(位)按堆栈的形式存储。MPS进栈指令:将MPS指令前的运算结果送入栈中MRD读栈指令:读出栈的最上层数据MPP进栈指令:读出栈的最上层数据,并清除b、每执行一次MPP,将原有数据按顺序上移一层,原先最上层数据被覆盖掉。c、执行MRD,数据不作移动。a、每执行一次MPS,将原有数据按顺序下移一层,留出最上层存放新的数据。2)堆栈的深度为11个3)用于带分支的多路输出电路。4)MPS和MPP必须成对使用,且连续使用次数应少于11次。5)进栈和出栈指令遵循先进后出、后进先出的次序。0LDX01OUTY02LDX23MPS4ANDX35OUTY16MRD7ANDX108OUTM09MPP10ANDX411OUTY212LDX513ANIX614OUTY3说明:1)使用栈指令母线没有移动,故栈指令后的触点不能用LD。2)MPS与MPP可以嵌套使用,但应≤11层;同时MPS与MPP应成对出现。例2:单个分支程序(一层栈电路)0LDX01MPS2ANDX13MPS4ANDX25OUTY06MPP7ANDX38OUTY19MPP10ANDX1011MPS12LDX413ORX1114ANB15OUTM016MPP17ANDX1218OUTY219LDX520ANIX620OUTY3说明:用软件生成梯形图再转换成指令表时,编程软件会自动加入MPS、MRD、MPP指令。写入指令表时,必须由用户来写入MPS、MRD、MPP指令6、主控触点指令与主控复位指令(MC/MCR)梯形图指令功能操作元件程序步MC主控电路块起点M除特殊继电器外3MCR主控电路块终点M除特殊继电器外2MC主控指令:母线转移,MC指令只能用于输出继电器Y和辅助继电器M(不包括特殊辅助继电器)。MCR主控复位指令:母线复位,主控区结束。MC/MCR指令:用于许多线圈同时受一个或一组触点控制,以节省存储单元。主控触点在梯形图中与一般触点垂直。说明:1)MCN0M100指令中N表示母线的第几次转移,M用来存储母线转移前触点的运算结果,在这里M0=X000。若母线转移时用了M100,则在程序中就不允许再出现M0线圈,否则可能导致双线圈输出。输入X000为ON时,执行从MC到MCR的指令,当输入X000为OFF时(Y001和Y002均断开)。a)积算式定时器、计数器、用SET/RST指令驱动的元件,在MC触点断开后可以保持断开前状态不变。b)非积算式定时器,用OUT驱动的元件全为0FF。2)MC指令后,母线移到MC触点之后,主控指令MC后面的任何指令均以LD或LDI指令开始,MCR指令使母线返回。3)通过更改M的地址号,MC、MCR指令可嵌套使用,最多可嵌套8层(N0~N7),N0为最高层,N7为最低层,返回指令MCR低层开始复位。7、置位、复位指令(SET、RST)梯形图指令功能操作元件程序步SET动作接通并保持Y、M、SY,M:1;S,特M:2RST动作断开,寄存器清零Y,M,S,T,C,D,V,ZD:数据寄存器V、Z:变址寄存器SET置位指令:保持线圈得电RST复位指令:保持线圈失电注:X000一接通Y000得电,即使再断开,Y000仍继续保持得电。同理X002一接通即使再断开,Y000也将保持失电。说明:1)对同一元件可以多次使用SET、RST指令,最后一次执行的指令决定当前的状态。2)RST指令可以用来复位积算定时器T246~T255和计数器。如不希望计数器和积算定时器具有断电保持功能,可在用户程序开始运行时用初始化脉冲M8002复位。3)任何情况下,RST指令都优先执行。8、上升沿微分、下降沿微分指令(PLS、PLF)梯形图指令功能操作元件程序步PLS上升沿微分输出Y、M2PLF下降沿微分输出Y、M2说明:PLS上沿脉冲指令:仅在驱动输入的↑,使线圈得电一个扫描周期。PLF下沿脉冲指令:仅在驱动输入的↓,使线圈得电一个扫描周期。注意:OUT、SET和RST、PLS和PLF指令在执行结果上的不同。说明:1)PLS、PLF指令只能用于输出继电器Y和辅助继电器M(不包括特殊辅助继电器)。2)PLC从RUN到STOP,再从STOP到RUN时,PLSM0指令将输出一个脉冲,如果用的是断电保持型的辅助继电器则不会输出脉冲。梯形图指令功能操作元件程序步INV运算结果取反无1NOP无动作无10LDX01ANDX12INV3LDX24INV5OUTY0说明:1)INV指令是将INV电路之前的运算结果取反;2)能编制AND、ANI指令步的位置可使用INV;3)LD、LDI、OR、ORI指令步的位置不能使用INV;4)在含有ORB、ANB指令的电路中,INV是将执行INV之前的运算结果取反。梯形图指令功能操作元件程序步NOP无动作无111、程序结束指令(END)梯形图指令功能操作元件程序步END输入/输出处理,程序返回到开始无1END为程序结束指令。用户在编程时,可在程序段中插入END指令进行分段调试,等各段程序调试通过后删除程序中间的END指令,只保留程序最后一条END指令。每个PLC程序结束时必须用END指令,若整个程序没有END指令,则编程软件在进行语法检查时会显示语法错误。第三节常用的PLC单元程序●梯形图的基本设计一、电动机起停控制线路根据异步电动机直接起停控制线路,用PLC程序设计相应的梯形图程序。PLC的接线图,如图(b)所示,梯形图如图(c)所示。SB1—00000(X0)为停止按钮SB2—00001(X1)为起动按钮(a)主电路(b)继电接触器控制(b)PLC接线图(c)梯形图(d)FX2N的SET/RST指令编程(e)利用辅助继电器(a)主电路(b)继电接触器控制(c)PLC控制1、互锁问题Y0、Y1软件互锁:Y0、Y1不能同时为ON,确保KM1、KM2线圈不能同时得电。X1、X2机械联锁:正、反转切换方便。问题:1)正、反转切换时PLC高速,而机械触点动作低速(短弧),造成瞬间短路;2)当接触器发生熔焊而粘结时,发生相间短路。解决办法:KM1、KM2硬件互锁:机械响应速度较慢,动作时间往往大于程序执行的一个扫描周期。2、过载保护问题1)手动复位热继电器按C图接线,可以节约PLC的一个输入点。2)自动复位热继电器常闭触点不能接在PLC的输出回路,必须接在输入回路(常闭或常开触点)。自动复位热继电器的接线3、常闭触点输入信号的处理说明:输入触点即可以接常开,也可以接常闭,如上图所示输入继电器与输入触点的对应关系为X0=SBX1=SB1建议使用常开触点作为PLC的入信号。按钮:松开后复位,必须使用辅助继电器及自锁电路,使定时器线圈能保持通电1)延时5秒接通程序时序图2、按下起动开关X0,延时5s后输出Y0接通;当按下停止按钮X1后,输出Y0断开,试设计PLC程序。延时断开程序时序图五、延时接通延时断开程序X0控制Y1,要求在X0变为ON后延时9S后Y1才变为ON,X0变为OFF再过7S才变为OFF。延时接通延时时断开程序时序图说明:利用定时器的组合,可以实现大于3276.7s的定时,但很长的几万秒甚至更长的定时,需用定时器与计数器的组合来实现。2、定时器与计数器的组合为当X0接通后,延时20000s,输出Y0接通;当X0断开后,输出Y0断开。延时5000s程序定时器加计数器实现的延时20000s程序3、两个计数器组合PLC内部的特殊辅助