://bbs.elecfans.com电子技术论坛第四章指令系统及编程第一节梯形图语言•PLC的主要编程语言:梯形图、指令表、顺序功能图、功能块图、结构文本。•梯形图编程语言:在继电器控制线路的基础上简化了符号演变而来(图形编程)。•梯形图具有形象、直观、实用、电气人员容易接受的特点,是目前用得最多的一种PLC编程语言。://bbs.elecfans.com电子技术论坛(a)继电器原理图(b)PLC接线图(c)梯形图输入端输出端://bbs.elecfans.com电子技术论坛二、梯形图编程规则及注意事项•(一)梯形图编程规则•1、按从左到右(串联)、自上而下(并联)的顺序编制。每个继电器线圈为一逻辑行,每个逻辑行起于左母线,经过触点、线圈,止于右母线。注意:(a)左母线与线圈之间一定要有触点。(b)线圈与右母线之间不能有任何触点。(c)每个逻辑行最后都必须是继电器线圈。下图画法均不正确:•2、触点串联块并联时,触点较多的块应放在上面,以减少存储单元。图(a)的画法不合理(但是允许的),应当改为图(b)的画法。(不合理)(合理)://bbs.elecfans.com电子技术论坛(a)(b)://bbs.elecfans.com电子技术论坛(a)(b)5、输出线圈不能是输入继电器IR或特殊继电器SR。://bbs.elecfans.com电子技术论坛://bbs.elecfans.com电子技术论坛第二节三菱FX2N系列PLC指令系统•▲指令系统概述•一、指令分类•1)FX系列PLC共有基本指令27条(逻辑控制、顺序控制);•2)FX2N系列PLC有步进指令2条(顺序控制);•3)FX系列PLC有功能指令一百多条。•说明:基本指令在编程器上有对应指令输入键,功能指令在编程器上没有对应的输入键,这些指令必须通过功能键输入,如FUN(01),其中括号内的01表示功能号。•二、指令组成•PLC指令的组成:操作码、操作数•操作码:用助记符表示,用来表明要执行的功能。(如LD表示取、OR表示或等)•操作数:用来表示操作的对象。•操作数一般是由标识符和参数组成。•标识符表示操作数的类别,参数表明操作数的地址或设定一个预制值。•如:LDX000,•LD:指令(操作码)•X000:编程元件(操作数)•X:标识符0:参数。://bbs.elecfans.com电子技术论坛梯形图指令功能操作元件程序步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://bbs.elecfans.com电子技术论坛://bbs.elecfans.com电子技术论坛梯形图指令功能操作元件程序步AND串联一个常开触点X、Y、M、S、T、C1ANI串联一个常闭触点X、Y、M、S、T、C1不能使用连续输出的例子说明:1)AND、ANDI指令用于触点的串联连接,串联触点个数不限,该指令可以重复使用。2)连续输出时注意输出顺序,否则要用分支电路指令MPS、MRD、MPP。3)图形编程器和打印机的功能有限制,建议尽量作到一行不超过10个触点和一个线圈,连续输出总共不超过24行。://bbs.elecfans.com电子技术论坛梯形图指令功能操作元件程序步OR与一个常开触点并联X、Y、M、S、T、C1ORI与一个常闭触点并联X、Y、M、S、T、C1说明:0R、ORI指令用于一个触点的并联连接,该指令可以重复使用,建议并联总共不超过24行,串联块的并联要用块或(ORB)指令。://bbs.elecfans.com电子技术论坛梯形图指令功能操作元件程序步ANB并联电路块的串联无1ORB串联电路块的并联无11)ORB电路块或指令:将串联电路块并联(串联电路块:将两个以上的触点串联连接的电路块)://bbs.elecfans.com电子技术论坛说明:左图和右图实现的逻辑控制功能相同,但右图的X000触点与X002触点既不是串连又不是并连,而是与X001形成一个串联电路块,故应使用ORB指令。方法1:方法2:0LDX0000LDX0001ANIX0011ANIX0012LDIX0022LDIX0023ANDX0033ANDX0034ORB4LDIX0045LDIX0045ANDX0056ANDX0056ORB7ORB7ORB8OUTY0008OUTY000说明:ORB指令可成批使用,但集中(连续)使用时必须少于8次(LD、LDI指令只能连续使用8次),如方法2;方法1中ORB的使用次数不限。://bbs.elecfans.com电子技术论坛2)ANB电路块与指令:将并联电路块串联(并联电路块:将两个以上的触点并联连接的电路块)说明:左图和右图实现的逻辑控制功能相同,但同理,X001与X002构成一个并联电路块,故应使用ANB指令与X000连接。0LDX0005LDIX0041ORIX0026ORX0052LDIX0017ANB3ORX0038OUTY0004ANB说明:ANB指令也可成批使用,集中(连续)使用时必须少于8次://bbs.elecfans.com电子技术论坛说明:1)NB和ORB指令是不带操作元件的指令。2)NB、ORB指令可以重复使用,但集中(连续)使用时必须少于8次。注意:单个触点与前面电路并联或串联时不能用电路块指令。://bbs.elecfans.com电子技术论坛5、堆栈(多重输出)指令(MPS、MRD、MPP)梯形图指令功能操作元件程序步MPS进栈无1MRD读栈无1MPP出栈无1://bbs.elecfans.com电子技术论坛说明:1)MPS/MRD/MPP指令的功能是将连接点的结果(位)按堆栈的形式存储。MPS进栈指令:将MPS指令前的运算结果送入栈中MRD读栈指令:读出栈的最上层数据MPP进栈指令:读出栈的最上层数据,并清除b、每执行一次MPP,将原有数据按顺序上移一层,原先最上层数据被覆盖掉。c、执行MRD,数据不作移动。a、每执行一次MPS,将原有数据按顺序下移一层,留出最上层存放新的数据。2)堆栈的深度为11个3)用于带分支的多路输出电路。4)MPS和MPP必须成对使用,且连续使用次数应少于11次。5)进栈和出栈指令遵循先进后出、后进先出的次序。://bbs.elecfans.com电子技术论坛0LDX01OUTY02LDX23MPS4ANDX35OUTY16MRD7ANDX108OUTM09MPP10ANDX411OUTY212LDX513ANIX614OUTY3说明:1)使用栈指令母线没有移动,故栈指令后的触点不能用LD。2)MPS与MPP可以嵌套使用,但应≤11层;同时MPS与MPP应成对出现。例2:单个分支程序(一层栈电路)://bbs.elecfans.com电子技术论坛0LDX01MPS2ANDX13MPS4ANDX25OUTY06MPP7ANDX38OUTY19MPP10ANDX1011MPS12LDX413ORX1114ANB15OUTM016MPP17ANDX1218OUTY219LDX520ANIX620OUTY3://bbs.elecfans.com电子技术论坛说明:用软件生成梯形图再转换成指令表时,编程软件会自动加入MPS、MRD、MPP指令。写入指令表时,必须由用户来写入MPS、MRD、MPP指令6、主控触点指令与主控复位指令(MC/MCR)梯形图指令功能操作元件程序步MC主控电路块起点M除特殊继电器外3MCR主控电路块终点M除特殊继电器外2MC主控指令:母线转移,MC指令只能用于输出继电器Y和辅助继电器M(不包括特殊辅助继电器)。MCR主控复位指令:母线复位,主控区结束。MC/MCR指令:用于许多线圈同时受一个或一组触点控制,以节省存储单元。主控触点在梯形图中与一般触点垂直。://bbs.elecfans.com电子技术论坛说明: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低层开始复位。://bbs.elecfans.com电子技术论坛7、置位、复位指令(SET、RST)梯形图指令功能操作元件程序步SET动作接通并保持Y、M、SY,M:1;S,特M:2RST动作断开,寄存器清零Y,M,S,T,C,D,V,ZD:数据寄存器V、Z:变址寄存器SET置位指令:保持线圈得电RST复位指令:保持线圈失电://bbs.elecfans.com电子技术论坛注:X000一接通Y000得电,即使再断开,Y000仍继续保持得电。同理X002一接通即使再断开,Y000也将保持失电。说明:1)对同一元件可以多次使用SET、RST指令,最后一次执行的指令决定当前的状态。2)RST指令可以用来复位积算定时器T246~T255和计数器。如不希望计数器和积算定时器具有断电保持功能,可在用户程序开始运行时用初始化脉冲M8002复位。3)任何情况下,RST指令都优先执行。8、上升沿微分、下降沿微分指令(PLS、PLF)梯形图指令功能操作元件程序步PLS上升沿微分输出Y、M2PLF下降沿微分输出Y、M2://bbs.elecfans.com电子技术论坛说明:PLS上沿脉冲指令:仅在驱动输入的↑,使线圈得电一个扫描周期。PLF下沿脉冲指令:仅在驱动输入的↓,使线圈得电一个扫描周期。注意:OUT、SET和RST、PLS和PLF指令在执行结果上的不同。说明:1)PLS、PLF指令只能用于输出继电器Y和辅助