可编程控制器的编程语言及指令系统.ppt
第6章可编程控制器编程语言及指令系统,制作:彭芳,PLC的编程语言(IEC61131-3中的5种PLC基本语言)梯 形 图(L D):以图形方式表达触点和线圈以及 特殊指令块的梯级。指 令 表(I L):类似汇编程序的基于文本的语言 与其相对应的是LD。顺序功能图(SFC):不仅仅是一种语言,更是一种组 织控制程序的图形化方式。结 构 文 本(S T):类似Pascal的基于文本的语言功 能 块 图(FBD):一种对应于线路图的图形语言。FBD广泛地用于过程工业。,6.1 PLC的编程语言,1、梯形图(Ladder diagram)梯形图语言是一种以图形符号及其在图中的相互关系表示控制关系的编程语言,是从继电器电路图演变过来的。可编程控制器中参与逻辑组合的元件可看成和继电器一样的器件,具有常开、常闭触点及线圈;且线圈的得电及失电将导致触点的相应动作。再用母线代替电源线;用能量流概念来代替继电器线路中的电流概念,采用绘制继电器线路图类似的思路绘出梯形图。PLC中的继电器等编程元件并不是实际物理元件,而是机内存储器中的存储单元,它的所谓接通不过是相应存储单元置1而已。,控制电路图,X1,X0,COM,Y0,COM,KM,SB2,SB1,PLC外部接线图,Y0,X1,Y0,X0,梯形图,梯形图与继电器控制电路相似 直观、易懂,I/O分配:X0:启动 X1:停车 Y0:KM,符号对照表,某些编程元件沿用继电器名称逻辑求解顺序:从上到下,从左到右梯形图两侧的垂直公共线为公共母线(Bus bar)最左边的竖线称为起始母线也叫左母线,然后按一定的控制要求和规则连接各个触点,最后以继电器线圈结束,称为一逻辑行或一梯级。编程元件的常开触点和常闭触点可以无限次使用,梯形图按从左到右、从上到下的顺序书写。最左边的竖线称为起始母线也叫左母线,然后按一定的控制要求和规则连接各个触点,最后以继电器线圈结束,称为一逻辑行或一梯级。当PLC处于运行状态时,PLC对梯形图是按扫描方式顺序执行程序。,梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但他们不是物理继电器(即硬件继电器),而是软件中使用的编程元件,每个继电器和PLC存储器中元件映象寄存器的一个存储单元相对应,因此称为“软继电器”。相应位的状态为“1”,表示该继电器线圈通电,其常开触点闭合,常闭触点断开;相应位的状态为“0”,表示该继电器线圈失电,其常开触点断开,常闭触点闭合。,2、指令表(Instruction list)指令表也叫做语句表。一条指令一般由助记符和操作数二部分组成,有的指令只有助记符没有操作数,称为无操作数指令。指令表程序和梯形图程序有严格的对应关系。,3、顺序功能图(Sequential function chart)顺序功能图常用来编制顺序控制类程序。它包含步、动作、转换三个要素。顺序功能编程法可将一个复杂的控制过程分解为一些小的工作状态,对这些小的工作状态的功能分别处理后再依一定的顺序控制要求连接组合成整体的控制程序。,4、功能块图(Function block diagram)功能块图是一种类似于数字逻辑电路的编程语言,熟悉数字电路的人比较容易掌握。该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,信号自左向右流动。就像电路图一样,它们被“导线”连接在一起。,5、结构文体(Structured text)为了增强PLC的数学运算、数据处理、图表显示、报表打印等功能,许多大中型PLC都配备了PASCAL、BASIC、C语言等高级编程语言。这种编程方式叫作结构文本。与梯形图相比,结构文本有两个很大的优点,其一是能实现复杂的数学运算,其二是非常简洁和紧凑,用结构文本编制极其复杂的数学运算程序可能只占一页纸。,用指令表表示为:LD START OR LAMP ANI STOP OUT LAMP,用ST(结构化文本)表示就是:LAMP:=(START OR LAMP)AND NOT(LAMP);,6.2 FX系列PLC梯形图中的编程元件,输入继电器X输出继电器Y辅助继电器M状态继电器S定时器T计数器C数据寄存器D变址寄存器指针 P、I、N常数,内部软继电器,不同厂家、不同系列的PLC,其内部软继电器的功能和编号也不相同,因此用户在编制程序时,必须熟悉所选用PLC的软继电器功能和编号。,FX系列PLC软继电器编号由字母 和 数字 组成其中:输入继电器和输出继电器用八进制 数字编号 其它均采用十进制 数字编号,FX系列PLC的输入继电器以八进制进行编号,1、输入/输出继电器(X/Y),输入继电器是PLC用来接收用户输入设备发来的输入信号 输入继电器线圈由外部输入信号所驱动,只有当外部信号接通时,对应的输入继电器才得电,不能用指令来驱动。,在程序中绝对不可能出现输入继电器的线圈,只能出现输入继电器的触点 每个输入继电器的常开与常闭触点均可无数次使用,输入继电器,输出继电器,输出继电器是用来将PLC内部信号输出传送给外部负载 输出继电器线圈是由PLC内部程序驱动,其线圈状态传送给输出单元,再由输出单元对应的硬触点来驱动外部负载,每个输出继电器在输出单元中都对应有一个常开硬触点,但在程序中供编程的输出继电器,不管是常开还是常闭触点,都可以无数次使用。,注:基本单元输入继电器的编号是固定的,扩展单元和扩展模块是按与基本单元最靠近开始,顺序进行编号,基本单元FX0N-40MR,扩展单元FX0N-40ER,扩展模块FX0N-8EX,X000X027 X030X057 X060X067,Y000Y017 Y020Y037,2、辅助继电器M,FX系列PLC的辅助继电器有:通用辅助继电器(三种)停电保持辅助继电器 特殊辅助继电器,通用辅助继电器,(按十进制编号),普通用途辅助继电器的作用与继电器电路中的中间继电器类似,可作为中间状态存储及信号变换。,通用辅助继电器和输出继电器一样,在PLC电源中断后,其状态将变为OFF。当电源恢复后,除因程序使其变为 ON外,其它仍保持OFF,停电保持辅助继电器,保持用辅助继电器在PLC电源中断后,它具有保持断电前的瞬间状态的功能,并在恢复供电后继续断电前的状态,滑块碰撞左边限位开关LS1时,X000ONM600=ON电机正转驱动滑块右行停电平台中途停止来电后再启动,因M600ON保持电机继续驱动滑块右行,直到滑块碰撞右限位开关LS2时,X001ON(右限位开关)M600OFF、M601ON电机反转驱动滑块左行。,示例,滑块左右往复运动机构,特殊辅助继电器,特殊辅助继电器是具有某项特定功能的辅助继电器通常可分为两类:触点型 和 线圈型,触点型 特殊辅助继电器的线圈由PLC自动驱动,用户只可以利用其触点。,线圈型特殊辅助继电器的线圈由用户控制,其线圈得电后,PLC作出特定动作。,特殊辅助继电器,触点型,1,M8000(M8001)-运行监视用特殊辅助继电器PLC运行时M8000得电(M8001断电),PLC停止时M8000失电(M8001得电),特殊辅助继电器,触点型,2,M8002(M8003)-初始脉冲特殊辅助继电器M8002(M8003)只在PLC开始运行的第一个扫描周期内得电(断电),其余时间均断电(得电)。,常用M8002的触点作为一些继电器的初始化复位信号,特殊辅助继电器,触点型,3,M8011、M8012、M8013、M8014-分别为产生周期为10ms、100ms、1s、1min脉冲的特殊辅助继电器(PLC RUN),返回,特殊辅助继电器,触点型,4,M8004-出错特殊继电器,当PLC出现硬件出错、参数出错、语法出错、电路出错、操作出错、运算出错等时,M8004得电,M8061-硬件出错特殊继电器 D8061(出错代码)M8064-参数出错特殊继电器 D8064(出错代码)M8065-语法出错特殊继电器 D8065(出错代码)M8066-电路出错特殊继电器 D8066(出错代码)M8067-操作出错特殊继电器 D8067(出错代码),M8020-零标志M8021-借位标志M8022-进位标志,M8029-指令执行完毕标志M8046-STL状态置1,特殊辅助继电器,线圈型,1,M8028-10ms定时器切换标志当M8028线圈被接通时,则T32-T62变为10ms定时器M8034-禁止全部输出的特殊辅助继电器当M8034线圈被接通时,则PLC的所有输出自动断开M8039-恒定扫描周期的特殊辅助继电器当M8039线圈被接通时,则PLC以恒定的扫描方式运行恒定扫描周期值由D8039决定,特殊辅助继电器,线圈型,2,M8031-非保持型继电器、寄存器状态清除M8032-保持型继电器、寄存器状态清除M8033-RUNSTOP时,输出保持RUN前状态M8035-强制运行(RUN)监视M8036-强制运行(RUN)M8037-强制停止(STOP),FX2N系列PLC特殊辅助继电器见书后附录A。,3、状态软元件S,状态器对在步进顺控类的控制程序中起着重要的作用,它与后述的步进指令STL组合使用。,FX2N共有1000个状态软元件(也称状态继电器,简称状态),顺序控制编程元件;与STL指令一起使用。,不使用步进指令时,状态器也可当作辅助继电器使用,4、定时器 T,PLC的定时器相当于电器系统中的通电延时时间继电器 定时器可提供无数对的常开、常闭延时触点供编程用定时器时可分为通用定时器、积算定时器二种。,PLC定时器工作原理:定时器是根据时钟脉冲累积计数而达到定时的目的,时钟脉冲有1ms、10ms、100ms,当所计数达到设定值时,其触点动作。设定值可用常数K或数据寄存器D的内容来设置。,通用定时器,通用定时器不具备断电的保持功能,即当输入电路断开或停电时定时器复位。通用定时器有100ms和10ms两种。100ms:T0T199 10ms:T200T245,设定值:常数K或 数据寄存器D的内容 设定值的范围:132767,加法计数器,设定值,K、H或D,触点动作,Tx,Tx,时钟脉冲,驱动,相等比较器,普通定时器的工作原理,T200,T200,Y0,积算定时器,积算定时器具有计数累积的功能。在定时过程中如果断电或定时器线圈OFF,积算定时器将保持当前的计数值(当前值),通电或定时器线圈ON后继续累积,即其当前值具有保持功能,只有将积算定时器复位,当前值才变为0。,1ms积算定时器:对1ms时钟脉冲进行累积计数的,定时范围为0.00132.767s。T246T249100ms积算定时器:对100ms时钟脉冲进行累积计数的定时范围为0.13276.7s。T250T255,T250,设定值K,计数器,1,100ms时钟脉冲,X2,X1,触点动作,Tx,相等比较器,积算定时器的工作原理,2.如何实现断电延时?如:当X0接通时,Y0马上得电;当X0断开时,Y0过20S后断电。3.如何实现如下图所示周期为50s的脉冲输出?,1.当一个定时器的定时时间不够时,怎么办?如:当X0接通后,Y0过5000S后得电并保持,直到X1接通为止。,练习,课 后 思 考,5、计数器C,内部计数器 内部计数器是在执行扫描操作时对内部信号(如X、Y、M、S、T等)进行计数。高速计数器 采用中断方式进行计数,与 PLC的扫描周期无关 与内部计数器相比除允许输入频率高之外,应用也更为灵活,高速计数器均有断电保持功能,通过参数设定也可变成非断电保持。,内部计数器,计数器的设定值可由常数K 或间接通过指定的数据寄存器(D)来设定,内部计数器包括 16位增计数器和32位可逆计数器,基本原理,内部计数器,16位增计数器,普通用途计数器的当前值寄存器也具有记忆功能,因而计数器重新开始计数前要用复位指令才能对当前值寄存器复位。,若使用停电保持型计数器,即使停电,当前值和输出触点状态,也能保持不变。,内部计数器,32位可逆计数器,这类计数器与16位增计数器除位数不同外,还在于它能通过控制实现加/减双向计数。增/减计数由对应的特殊辅助继电器设定。对应的特殊辅助继电器被置为ON时为减计数,置为OFF时为增计数。C200C234M8200M8234例:C200-M8200 当M8200为ON时,C200为减计数 当M8200为OFF时,C200为增计数,32位加减计数器的动作过程,16位计数器与32位计数器的特点,如何用计数器与定时器配合实现长延时?,思 考?,高速计数器,高数计数器是采用中断方式进行高速计数的,与PLC的扫描周期无关高数计数器是对特定的输入进行计数(共享同一个PLC机型输入端上的6个高速计数器输入端X000X005)高数计数器为32位增/减计数型,具有停电保持功能,什么是高速计数器?,高数计数器的三种类型:1相(无启动复位端子)单输入C235C240 6点1相(带启动复位端子)单输入C241C245 5点1相2计数输入型 C246C250 5点2相双计数输入型 C251C255 5点,(C235C255),高速计数器,1相(无启动复位端子)单输入,C235C240,作增计数时,当计数值达到设定值时,触点动作并保持,做减计数时,到达计数值则复位。其计数方向取决于对应的计数方向标志继电器M8235M8240。,复位信号,启动信号,方向控制,高速计数器,1相带启动复位端子高速计数器,C241C245,启动时,X015要先接通;复位时,X014接通或外部X003有输入皆复位。,高速计数器,1相2计数输入,C246C250,高速计数器,2相双计数输入,C251C255,指示功能,6、数据寄存器D,PLC在进行输入输出处理、模拟量控制、位置控制时,需要许多数据寄存器以存储数据和参数,数据寄存器为16位,最高位为符号位 32位数据可用两个数据寄存器来存储(如D1D0),数据寄存器有:通用数据寄存器 特殊数据寄存器 变址用数据寄存器 文件数据寄存器,数据寄存器地址号(以十进制数分配),通用数据寄存器,通用数据寄存器在PLC由运行(RUN)变为停止(STOP)时,其数据全部清零。如果将特殊继电器M8033置1,则PLC由运行变为停止时,数据可以保持。,特殊用途数据寄存器,(D8000)特殊数据寄存器用于监视PLC的运行状态。未加定义的特殊数据寄存器,用户不能使用。,特殊用途的数据寄存器是指写入特定目的的数据,或事先写入特定的内容。其内容在电源接通时,置位于初始值。,变址寄存器V、Z,变址寄存器V/Z实际上是一种特殊用途的数据寄存器,变址寄存器V/Z的作用:相当于微机中的变址寄存器,用于改变元件的编号(变址),V、Z都是16位的数据寄存器,与其它寄存器一样读写需要32位操作,可将V、Z串联使用(Z为低位,V为高位),例:D0Z 若Z=10,则为D10,V0V7Z0Z7,使用变址寄存器改变输出软组件地址,文件寄存器,文件寄存器是用于存放大量数据的专用数据寄存器 例如:用于存放采集数据、统计计算数据、多组控制参数等。文件寄存器占用用户程序存储器内的某一存储区间,可用编程器或编程软件进行写操作 PLC运行时,可用BMOV指令将文件寄存器内容读到通用数据寄存器中。,7、指针(PI),指针用作跳转、中断等程序的入口地址。与跳转、子程序、中断程序等指令一起应用。,分支用指针P,中断用指针I,输入中断用,定时器中断用,计数器中断用,分支用指针P,用于条件跳转,子程序调用指令中,中断用指针I,中断用指针常与中断返回指令FNC 03(IRET),开中断指令FNC 04(EI),关中断指令FNC 05(DI)一起使用。,计数中断:I 00=16,8、常数(K/H),常数也可作为元件处理,因为它占用一定的存储空间。,常数的表示:十进制常数用K表示,如常数123表示为K123 十六进制常数则用H表示,如常数345表示为H159,FX系列PLC的常数范围为:16位:K:-32,76832,767 H:0000FFFFH 32位:K:-2,147,483,6482,147,483,647 H:00000000FFFFFFFF,数据类软元件的结构形式,字元件(16位):T、C、D、V、Z 双字元件(32位):二个字元件构成 位组合元件:BCD码KnX、KnY、KnM、KnS,式中Kn指有n组4位的组合元件。例:K1X000表示由X000X003 四位位元件组合;K4Y000,则由Y000Y017十六个输出继电器组合,构成了字元件,而K8X000则构成了32位的双字输入元件。,可编程控制器中存储器的结构,可编程控制器中存储器分配图见P126图6-29。存储器内的各软元件根据其初始化内容如下表:,可编程控制器中存储器容量的设定,6.3 FX系列PLC的基本逻辑指令,指令的作用LD(LoaD):取指令,常开触点与母线连接。LDI(LoaD Inverse):取反指令,常闭触点与母线连接。OUT:驱动线圈的输出指令。编程元件LD:LDI:,FX2N系列PLC有基本(顺控)指令27种,步进指令2种,应用指令128种,298个。本节将介绍基本指令,一、逻辑取及线圈驱动指令(LD、LDI、OUT),X、Y、M、S、T、C,OUT:Y、M、S、T、C,指令的说明LD、LDI用于将触点接到母线上。LD、LDI还与块操作指令ANB、ORB相配合,用于分支电路的起点。OUT不能用于X;并联输出OUT指令可连续使用任意次。OUT指令用于T和C,其后须跟常数K,K为延时时间或计数次数。,梯形图程序,指令表程序,步序 指令 地址0 LD X0001 OUT Y0002 LDI X001 3 OUT M1004 OUT T0 K197 LD T08 OUT Y001,二、触点串联(AND、ANI)指令,指令的作用AND:与指令,用于串联单个常开触点;ANI(ANd Inverse):与反指令,用于串联单个常闭 触点。编程元件AND:ANI:,X、Y、M、S、T、C,指令的说明AND和ANI指令用于单个触点与左边触点的串联,可连续使用。执行OUT指令后,通过与指令可驱动其它线圈输出。若是两个并联电路块(两个或两个以上触点并联连接的电路)串联,则需用后面的ANB指令。,梯形图程序,指令表程序,步序 指令 地址0 LD X21 AND X02 OUT Y3 3 LD Y34 ANI X35 OUT M1016 AND T17 OUT Y4,AND,ANI,AND,注意梯形图的画法,MPS,MPP,指令表程序步序 指令 地址 0 LD Y3 1 ANI X3 2 MPS 3 AND T1 4 OUT M101 6 MPP 7 OUT Y4,三、触点并联(OR、ORI)指令,指令的作用OR:或指令,用于并联单个常开触点;ORI(OR Inverse):或反指令,用于并联单个常闭触点。指令的说明OR、ORI编程元件:X、Y、M、T、C、S;OR、ORI指令仅用于单个触点与前面触点的并联;若是两个串联电路块(两个或两个以上触点串联连接的电路)相并联,则用ORB指令。,梯形图程序,指令表程序,步序 指令 地址 0 LD X004 1 OR X006 2 ORI M102 3 OUT Y005 4 LDI Y005 5 AND X007 6 OR M103 7 ANI X010 8 OR M110 9 OUT M103,四、脉冲指令,LDP,ANDP,ORP:上升沿检测触点指令,仅在指定元件的上升沿(由OFFON变化)时接通一个扫描周期。LDF,ANDF,ORF:下升沿检测触点指令,仅在指定元件的下升沿(由ONOFF变化)时接通一个扫描周期。,编程元件:X、Y、M、T、C、S;,LDPX2ORFX3ANDX0OUTY0LDPT10ANDM100OUTM101,梯形图程序,指令表程序,五、串联电路块的并联(ORB)指令,ORB(Or Block):串联电路块并联连接指令指令的说明串联电路块:两个或以上的触点串连而成的电路块;将串联电路块并联时用ORB指令;ORB指令不带元件号(相当于触点间的垂直连线)每个串联电路块的起点都要用LD或LDI指令,电路块后面用ORB指令,梯形图程序,指令表程序,串联电路块,步序 指令 地址0 LD X01 AND X12 LD X2 3 AND X34 ORB5 LDI X46 AND X57 ORB8 OUT Y6,ANB(And Block)并连电路块串连连接指令指令的说明并联电路块:两个或以上的触点并连而成的电路;将并联电路块与前面的电路串联时用ANB指令;使用ANB指令前,应先完成并联电路块内部的连接。并联电路块中各支路的起点使用LD或LDI指令;ANB指令相当于两个电路块之间的串联连线。,六、并联电路块的串联(ANB)指令,梯形图程序,指令表程序,步序 指令 地址 0 LDI X0 1 OR Y2 2 LD X2 3 ANI X3 4 LDI X4 6 AND X5 7 ORB 8 OR T0 9 ANB 10 ORI X3 11 OUT Y7,练习,写出下列梯形图的指令程序,M0,X1,X2,X3,T0,Y1,M0,X4,X5,X6,X7,X10,K10,T0,Y1,指令的作用MPS(Push):进栈指令;MRD(Read):读栈指令;MPP(POP):出栈指令。指令的说明MPS、MRD、MPP指令无编程元件。MPS、MPP指令成对出现,可以嵌套。MRD指令可有可无,也可有两个或两个以上。,七、栈操作(MPSMRDMPP)指令,MPP,MPS,MPS,MPP,MPS,MPP,MRD,LDIX1MPSANDX2MPSANIM100OUTY0MPPANDM102OUTY1MPPANDX3MPSANDM100OUTY2MRDANDM105OUTY3MPPANDM106OUTY4,指令的作用MC(Master Control):主控指令(公共触点串联)MCR(Master Control Reset):主控复位指令指令的说明MC、MCR指令的编程元件:Y、M;MC、MCR指令成对出现,缺一不可;MC指令后用LD/LDI指令,表示建立子母线。MC、MCR指令可以嵌套使用,嵌套级别为N0N7。,八、主控触点(MCMCR)指令,梯形图程序,指令表程序,步序 指令 地址 0 LD X000 1 MC N0 M100 4 LD X001 5 OUT Y000 6 LD X002 7 OUTY001 8 MCR N0,多重嵌套主控指令,LD X0MC N0 M100LD X1OUT Y0。LD X2MC N1 M101LD X3OUT Y1。MCR N1LD X4OUT Y2。MCR N0LD X5OUT Y3,九、置位/复位(SETRST)指令,指令的作用SET:置位指令(接通并保持)RST:复位指令指令的说明SET指令的编程元件:Y、M、S RST指令的编程元件:Y、M、S、T、C、D,梯形图程序,指令表程序步序 指令 地址 0 LD X0 1 SET Y0 2 LD X1 3 RST Y0 4 LD X2 5 RST D0,积分计数器、定时器复位,指令表程序步序 指令 地址 0 LD X0 1 RST T250 2 LD X1 3 OUT T250 K120 6 LD X2 7 OUT M8200 8 LD X3 9 RST C200 10 LD X4 11 OUT C200 K34,指令的作用PLS(Pulse):上升沿微分输出指令PLF:下降沿微分输出指令指令的说明指令只能用于编程元件Y和MPLS为信号上升沿(OFFON)接通一个扫描周期。PLF为信号下降沿(ONOFF)接通一个扫描周期。,十、微分脉冲输出(PLSPLF)指令,梯形图程序,0 LD X0 1 PLS M0 2 LD M0 3 SET Y0 4 LD X1 5 PLF M1 6 LD M1 7 RST Y0,INV(Inverse)该指令前的运算结果取反。0 1 1 0,十一、取反(INV)指令,LDX0INVOUTY0,指令的作用NOP:空操作指令END:结束指令指令的说明NOP、END 指令无编程元件PLC执行程序时从0步扫描到END指令为止,后面的程序跳过不执行。,十二、空操作(NOP)指令、程序结束(END)指令,试分析如图所示PLC梯形图程序的工作原理。设X1接开关QS,Y1、Y2、Y3分别接彩灯HL1、HL2、HL3。,练习,编程规则及注意事项,梯形图的绘制原则,梯形图按自上而下,从左到右的顺序排列,每一行起于左母线,终于右母线;在继电器线圈与右母线之间不能连接其他元素,输入继电器、输出继电器、辅助继电器、定时器、计数器和状态继电器等的接点可以多次使用,对桥式电路的编程处理(一个触点上不允许有双向电流通过):对电路进行逻辑功能的等效变换处理,1,Y0,2,3,4,5,把串连接点最多的支路编排在上方,X000,X001,X002,Y000,AND,X001,LD,X000,OR,X002,OUT,Y000,X000,X001,X002,Y000,LD,X000,LD,X002,AND,X001,ORB,OUT,Y000,好,不好,把接点最多的并联电路编排在最左边,X003,X004,X005,Y003,LD,X004,LD,X003,OR,X005,ANB,OUT,Y003,不好,X004,X003,X005,Y003,OR,X005,LD,X004,AND,X003,OUT,Y003,好,对复杂电路的编程处理:遇到不可编程的梯形图时,可根据信号流向对原梯形图重新编排,以便于正确进行编程。,0,Y000,1,2,3,4,5,6,7,双线圈输出的处理,在同一个程序中,同一编程元件的线圈使用了两次或两次以上,6.4 FX系列PLC功能指令,功能指令是可编程控制器数据处理能力的标志。由于数据处理远比逻辑处理复杂,应用指令无论从梯形图的表达形式上,还是从涉及的机内器件种类及信息的数量上都有一定的特殊性。FX2N系列PLC是FX系列中高档次的超小型化、高速、高性能产品,具有128种298条应用指令。分为程序控制、传送与比较、四则运算与逻辑运算、循环移位、数据处理、高速处理、便利指令、外部设备IO处理、浮点操作、时钟运算、格雷码转换、触点比较等十个类型。,一、基本格式,LDX0MEAN45D0D4Z0K3,大多数应用指令有1至4个操作数,有的应用指令没有操作数;S表示源操作数,D表示目标操作数;如果可使用变址功能,用S和D表示。用n和m表示其它操作数,它们常用来表示常数K和H,或作为源和目标操作数的补充说明 上图含义:(D0)+(D1)+(D2)3(D4Z0),基本格式与数据结构,二、软元件软元件位软元件:只处理开关(ON/OFF)信息的元件,如X、Y、M、S字软元件:处理数据的元件,如D。位软元件的组合位软元件组合表示数据:4个位元件一组,代表4位BCD码,也表示1位十进制数;用KnMm表示,K为十进制,n为十进制位数,也是位元件的组数,M为位元件,m为位元件的首地址,一般用0结尾的元件。,三、数据长度及执行方式,数据长度16位:参与运算的数据默认为16位二进制数据32位:32位数据时在操作码前面加D(Double,(D0)(D1),(D3D2)(D5D4),执行方式连续执行方式:每个扫描周期都重复执行一次脉冲执行方式:只在信号OFFON时执行一次,在指令后加P(Pulse)。,四、变址寄存器V、Z,变址:改变操作数的地址变址寄存器的作用:存放改变地址的数据实际地址=当前地址+变址数据,V=(8),Z=(4),(D8)(D14),五、PLC常用应用指令,程序流向控制类指令(FNC00FNC09)传送与比较类指令(FNC10FNC19)算术和逻辑运算类指令(FNC20FNC29)循环与移位类指令(FNC30FNC39)数据处理指令(FNC40FNC49)其它功能指令(FNC50),6.4.2 传送和比较指令,操作数S1、S2:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:Y、M、S梯形图,一、比较指令 FNC10 CMP,操作数S1、S2:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:Y、M、S梯形图,二、区间比较指令 FNC11 ZCP,说明ZCP指令是将源操作数S的数据和两个源操作数S1和S2的数据进行比较,结果送到D中,D为三个相邻元件的首地址。ZCP指令为二进制代数比较,并且S1S2,如果S1S2,则把S1视为S2处理。当X0由ONOFF时,不执行ZCP指令,比较结果保持不变,需要用复位指令才能清除。该指令可以进行16/32位数据处理和连续/脉冲执行方式。,操作数S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:KnY、KnM、KnS、T、C、D、V,Z 梯形图,K100(D10),三、传送指令 FNC12 MOV,说明该指令将源操作数S中的数据传送到目标操作数D中去。MOV指令可以进行(D)和(P)操作。如果S为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。当X0断开时,不执行MOV指令,数据保持不变。,操作数S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:KnY、KnM、KnS、T、C、D、V,Zm1、m2、n:K、H 说明该指令将源操作数S的16位二进制数自动转换成4位BCD码,然后从右向左第m1位开始向右数m2位,传送到目标操作数(4位BCD码)的从右向左第n位开始向右数m2位的位置上,最后这4位BCD码自动转换成二进制数后送入目标操作数D中去。传送中BCD码数值超过9999时程序出错。,四、移位传送指令 FNC13 SMOV,梯形图,从D1右起第四位(m1=K4)开始的2位(m2=K2)数,移到D2 的右起第 3位(n=K3)和第 2位,D2中的第 1 位和第 4位保持不变,最后 D2 中的数自动变成二进制数.,操作数S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:KnY、KnM、KnS、T、C、D、V,Z 说明该指令把源操作数S中的数据各位取反(10,01)后传送到目标操作数D中去。该指令可以16/32位数据处理和连续/脉冲执行方式,五、取反传送指令 FNC14 CML,梯形图,若源操作数中的数为十进制常数时,将自动转换成二进制.,操作数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z n:K、H 梯形图,六、块传送指令 FNC15 BMOV,说明S为存放被传送的数据块的首地址;D为存放传送来的数据块的首地址;n为数据块的长度。位元件进行传送时,源和目标操作数要有相同的位数。当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用的顺序自动传送。该指令可以连续/脉冲执行方式。,操作数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D n:K、H 梯形图,把K10传送到D0D9中去,七、多点传送指令 FNC16 FMOV,操作数 D1、D2:KnY、KnM、KnS、T、C、D、V,Z梯形图,八、数据交换指令 FNC17 XCH,注意 交换指令一般要在脉冲方式执行,否则不能正常工作。,操作数 S:KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形图,九、变换指令 FNC18 BCD FNC19 BIN,将D10的二进制变换成BCD码送K2Y0,将K2Y0 的BCD码变换成二进制送D14,应用实例,电动机的星三角控制,6.4.3 算术及逻辑运算指令及应用,一、二进制加减运算指令 加法 FNC20 ADD 减法 FNC21 SUB操作数S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形图,说明指令是代数加减运算,数据的最高位为符号位。进行16位加减运算时,数据范围为3276832767;32位运算时,数据范围为21474836482147483647。运算结果为0时,零标志置位(M8020=1);运算结果大于32767(或2147483647)时,进位标志置位(M8022=1);运算结果小于32768(或2147483648)时,借位标志置位(M8021=1)。该指令可以进行连续/脉冲执行方式。,乘法 FNC22 MUL 减法 FNC23 DIV操作数S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形图,二、二进制乘除运算指令,操作数指令进行二进制运算,数据最高位为符号位。可以进行16/32位乘除运算,16位运算时,积为32位数据,商和余数为16位数据;32位运算时,积为64位数据,商和余数为32位数据。0作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。可以进行连续/脉冲执行方式。,加1 FNC24 INC 减1 FNC25 DEC操作数D:KnY、KnM、KnS、T、C、D、V,Z梯形图,三、二进制加1减1指令,逻辑与 FNC26 WAND 逻辑或 FNC27 WOR 逻辑异或 FNC28 WXOR操作数S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z,四、逻辑运算指令,(D0)(D2)(D4),(D10)(D12)(D14),异或非运算的梯形图,梯形图,说明各数据的对应位进行二进制与、或、异或运算。32位数据运算时,助记符为DAND、DOR、DXOR。指令运算规则如下:,逻辑与1 1=11 0=00 1=00 0=0,逻辑或1 1=11 0=00 1=00 0=0,操作数D:KnY、KnM、KnS、T、C、D、V,Z,说明求补指令是把二进制数各位取反再加1后,送入目标操作数D中。实际是绝对值不变的变号操作。PLC的负数以二进制的补码形式表示,其绝对值可以通过求补指令求得。,五、求补指令 FNC19 NEG,6.4.4 循环与移位指令及其应用,某灯光招牌有L1L8八个灯接于K2Y000,要求当X000为ON时,灯先以正序每隔1S轮流点亮,当Y007亮后,停2S;然后以反序每隔1S轮流点亮,当Y000再亮后,停2S,重复上述过程。当X001为ON时,停止工作。,应用实例,流水灯光控制,流水灯光控制PLC输入、输出接点与内部器件分配表,6.4.5 数据处理类指令(FNC40FN49),区间复位指令ZRST(P)编号为FNC40它将制定范围内的同类元件成批复位。,总 结,了解FX2N系列PLC家族成员及特点掌握FX2N系列可编程控制器软组件及功能:X、Y、M、S、T、C、D(V、R)、K/H掌握FX2N系列PLC的基本指令掌握梯形图与指令表程序互换方法理解梯形图编程注意事项掌握常用基本编程环节及基本指令的应用,Thank You!,