菱FX2N系列可编程控制器指令及应用PL.ppt_第1页
菱FX2N系列可编程控制器指令及应用PL.ppt_第2页
菱FX2N系列可编程控制器指令及应用PL.ppt_第3页
菱FX2N系列可编程控制器指令及应用PL.ppt_第4页
菱FX2N系列可编程控制器指令及应用PL.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学出版社,PLC原理与应用课件,第2章 三菱FX2N系列可编程控制器,第1章 可编程控制器基本知识,第3章 三菱FX2N系列可编程控制器指令及应用,第4章 三菱FX2N系列可编程控制器通讯技术,PLC原理与应用,北京邮电大学出版社 课件系列,第5章 OMRON系列可编程控制器,第6章 OMRON可编程控制器指令系统,第7章 可编程控制器的应用,第一节 FX2N系列可编程控制器基本指令,FX系列PLC有基本逻辑指令27条、步进指令2条、功能指令100多条(不同系列有所不同),指令一览表详见附录1。本节以FX2N为例,介绍其基本逻辑指令和步进指令及其应用。 一、FX系列PLC的基本逻辑指令 1、取指令与输出指令(LD/LDI/OUT),Y,M程序步1步 S,特殊M程序步2步 T程序步3步 C程序步35步,指令说明 LD(取指令):LD,LDI 指令用于将触点连接到母线上。其他用法与ANB指令组合,在分支起点处也可使用。 OUT(输出指令):是对输出继电器(Y)、辅助继电器(M)、状态元件(S)、定时器(T)、计数器(C)的线圈驱动指令,对输入继电器不使用。 并列的OUT命令可多次连续使用(如图3-2中,OUT M100接着是OUT TO),指令应用,2、触点串联指令(AND/ANI),指令说明: 用AND,ANI指令可串联连接1个触点,可多次使用,串联触点数量不受限制。 用OUT指令后,通过触点对其他线圈使用OUT指令,称为纵接输出(图3-3中M101与OUT Y004),如果顺序不错,可重复多次。 指令应用:,3、触点并联指令(OR/ORI ),指令说明: OR,ORI被用作一个触点的并联连接指令 。 OR,ORI是指从该指令的步开始,与前述的LD、LDI指令同步进行并联连接 。 指令应用:,4、上升沿、下降沿检测的串、并联指令(LDP/LDF/ANDP/ANDF/ORP/ORF ),指令说明: LDP、ANDP、ORP指令是进行上升沿检出的触点指令,仅在指定位软元件的上升沿时(OFFON变化时)接通一个扫描周期 。 LDF、ANDF、ORF指令是进行下降沿检出的触点指令,仅在指定位软元件的下降沿时(ONOFF变化时)接通一个扫描周期。图3-5中,X000X002由ONOFF或由OFFON变化时,MO或M1仅有一个扫描周期接通,指令应用:,5、块操作指令(ORB / ANB),ORB指令说明: 几个串联电路块并联连接时,每个串联电路块开始时应该用LD或LDI指令 。 有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制 ORB指令也可以连续使用,但这种程序写法不推荐使用,LD或LDI指令的使用次数不得超过8次,也就是ORB只能连续使用8次以下,ANB指令说明,并联电路块串联连接时,并联电路块的开始均用LD或LDI指令。 多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下。 ORB指令应用,ANB指令应用,6、置位与复位指令(SET/RST ),指令说明 对于同一目标元件,SET、RST可多次使用,顺序也可随意,但最后执行者有效 。 图3-8中,X000一旦接通后,即使它再断开,Y000仍继续动作。X001一旦接通时,即使它断开,Y000仍保持不被驱动,指令应用,7、微分指令(PLS/PLF),指令说明: 使用PLS指令时,仅在驱动输入为ON后的一个扫描周期内,软元件Y、M动作 。 使用PLF指令时,仅在驱动输入为OFF后的一个扫描周期内,软元件Y、M动作,指令应用,8、主控/主控复位指令(MC/MCR),指令说明: MC、MCR指令的目标元件为Y和M,但不能用特殊辅助继电器。MC占3个程序步,MCR占2个程序步; 主控触点在梯形图中与一般触点垂直(如图3-10的M100)。主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LD或LDI指令。 MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的元件将复位,如图3-10中当X000断开,Y000和Y001即变为OFF。 在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数最多为8级,编号按N0N1N2N3N4N5N6N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位。,指令应用,9、堆栈指令(MPS/MRD/MPP ),指令说明 在可编程控制器中有11个记忆运算中间结果的存储器,称为栈。 使用一次MPS指令,就将此时刻的运算结果送入栈的第一段存储。再使用MPS指令,又将该时刻的运算结果送入栈的第一段存储,而将先前送入存储的数据依次移到栈的下一段。 使用MPP指令,各数据按顺序向上移动,将最上端的数据读出,同时该数据从栈中消失。 MRD是读出最上端所存的最新数据的专用指令,栈内的数据不发生移动。 这些指令都是不带软元件编号的独立指令。,指令应用,10、逻辑反、空操作与结束指令(INV/NOP/END ),指令说明 OR,ORI被用作一个触点的并联连接指令 。 OR,ORI是指从该指令的步开始,与前述的LD、LDI指令同步进行并联连接 。,指令说明 INV(反指令) 执行该指令后将原来的运算结果取反。使用时应注意INV不能象指令表的LD、LDI、LDP、LDF那样与母线连接,也不能象指令表中的OR、ORI、ORP、ORF指令那样单独使用。如图3-12,如果X000断开,则Y000为ON,如果X000接通,则Y000断开。 NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。 END(结束指令) 表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。,INV指令的应用,二、FX系列PLC的步进指令,1、步进梯形图指令(STL/RET),指令说明: 步进梯型图指令(STL)是利用内部软元件状态(S),在顺控程序上面进行工序步进形控制的指令。返回(RET)是表示状态(S)流程的结束,用于返回主程序(母线)的指令。根据后面陈述的一定的规则,编写的步进梯型图回路也可作为SFC图处理。从SFC图也可反过来形成步进梯型图回路。 状态号不可重复使用 如果STL触点接通,则与其相连的回路动作;如果STL触点断开,则与其相连的回路不动作。 如图所示,在不同的状态之间,可编写同样的输出(Y002),此时,S21或S22接通时,Y002输出。(而在普通的继电器梯形图中,要用双重线圈处理,动作复杂)。,2、状态转移图(SFC图) SFC图(Sequential Function Chart),又称状态转移图或功能图,它将系统的工作过程分成若干阶段“状态”,“状态”之间满足转换条件时,可以转换。 3、步进梯形图指令的动作与SFC图的表示,如果以SFC图表示上图所示的步进梯形图回路,则表示如下图:,第二节 FX2N系列可编程控制器应用(功能)指令,PLC做为工业控制计算机,不仅具有用于逻辑处理的基本指令,还具有功能指令(Functional Instruction),也称作应用指令(Applied Instruction),主要用于数据的传送、运算、变换及程序控制等功能。功能指令相当于功能完整的子程序,以往需要大段程序才能完成的任务,现在一条指令就能实现,如PID功能、表功能指令等。 FX2N系列PLC具有128种298条应用指令,可分为程序控制类、数据处理类、特种应用类及外部设备类。其中数据处理类指令最多,使用最频繁,又可分为传送比较、四则及逻辑运算、移位、编码解码等类别。程序控制类指令主要用于程序的结构及流程控制,包含子程序、中断、跳转及循环等指令。以上两大类指令我们将在后两节专门介绍。外部设备类指令含一般的输入输出口设备及专用的外部设备两大类。特种应用指令是机器的一些特殊应用,如高速计数器等指令。应用指令的种类详见附录2。 功能指令处理的数据很多,数据在存储单元中流转的过程复杂,所以重要的是掌握指令的数据形式及数据的流传过程。,一、应用指令的一般规则,1、应用指令的表达形式 1)功能指令表示格式与基本指令不同。功能指令用编号FNC00FNC294表示,并给出对应的助记符(大多用英文名称或缩写表示)。例如FNC45的助记符是MEAN(平均),若使用简易编程器时键入FNC45,若采用智能编程器或在计算机上编程时也可键入助记符MEAN。 2)有的功能指令没有操作数,而大多数功能指令有1至4个操作数。如图3-15所示为一个计算平均值指令,它有三个操作数,S表示源操作数,D表示目标操作数,如果使用变址功能,则可表示为S和D。当源或目标不止一个时,用S1、S2、D1、D2表示。用n和m表示其它操作数,它们常用来表示常数K和H,或作为源和目标操作数的补充说明,当这样的操作数多时可用n1、n2和m1、m2等来表示。 图中源操作数为D0、D1、D2,目标操作数为D4Z0(Z0为变址寄存器) K3表示有3个数,当X0接通时,执行的操作为(D0)+(D1)+(D2)3(D4Z0),如果Z0的内容为20,则运算结果送入D24中。 3)功能指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步,2、数据位长和指令执行形式,1)连续执行与脉冲执行 功能指令有连续执行和脉冲执行两种类型。如图3-16所示,指令助记符MOV后面有“P”表示脉冲执行,即该指令仅在X000接通(由OFF到ON)时执行(将D10中的数据送到D12中)一次;如果没有“P”则表示连续执行,即该在X000接通(ON)的每一个扫描周期指令都要被执行。,2)数据长度 功能指令可处理16位数据或32位数据。处理32位数据的指令是在助记符前加“D”标志,无此标志即为处理16位数据的指令。注意32位计数器(C200C255)的一个软元件为32位,不可作为处理16位数据指令的操作数使用。如图3-17所示,若MOV指令前面带“D”,则当X001接通时,执行D21D20D23D22(32位)。在使用32位数据时建议使用首编号为偶数的操作数,不容易出错。,3、位元件与字元件 X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而T、C、D等处理数值的软元件则称为字元件,一个字元件由16位二进制数组成。 位元件可以通过组合使用,4个位元件为一个单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2 M0表示M0M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位。如果将16位数据传送到不足16位的位元件组合(n4)时,只传送低位数据,多出的高位数据不传送,32位数据传送也一样。在作16位数操作时,参与操作的位元件不足16位时,高位的不足部分均作0处理,这意味着只能处理正数(符号位为0),在作32位数处理时也一样。被组合的元件的首位元件号可以任意选择,但为避免混乱,建议采用编号以0结尾的元件,如S10,X0,X20等。,4、数据格式 在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数的符号位为0,负数的符号位为1。FX系列PLC可实现二进制码与BCD码的相互转换。 为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采用编号连续的一对数据寄存器表示,例D11和D10组成的32位寄存器中,D10的16位加上D11的低7位共23位为浮点数的尾数,而D11中除最高位的前8位是阶位,最高位是尾数的符号位(0为正,1是负)。10进制的浮点数也用一对数据寄存器表示,编号小数据寄存器为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,表示数为: 10进制浮点数=尾数D010指数D1 其中:D0,D1的最高位是正负符号位。 5、变址寄存器(V/Z) FX2N系列PLC有V0V7和Z0Z7共16个变址寄存器,它们都是16位的寄存器。变址寄存器V/Z实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器变,用于改变元件的编号(变址),例如V0=5,则执行D20V0时,被执行的编号为D25(D20+5)。变址寄存器可以象其它数据寄存器一样进行读写,需要进行32位操作时,可将V、Z串联使用(Z为低位,V为高位)。,第三节 FX2N系列可编程控制器数据处理指令,一、传送与比较类指令(FNC10FNC19) 1、比较指令 比较指令包括CMP(比较)和ZCP(区间比较)二条。 1)比较指令CMP (D)CMP(P)指令的编号为FNC10,是将源操作数S1.和源操作数S2.的数据进行比较,比较结果用目标元件D.的状态来表示。如图3-18所示,当X000为接通时,把常数100与C20的当前值进行比较,比较的结果送入M0M2中。X1为OFF时不执行,M0M2的状态也保持不变。,2)区间比较指令ZCP (D)ZCP(P)指令的编号为FNC11,指令执行时源操作数S.与S1.和S2.的内容进行比较,并比较结果送到目标操作数D.中。如图3-19所示,当X000为ON时,把C30当前值与K100和K120相比较,将结果送M3、M4、M5中。X0为OFF,则ZCP不执行,M3、M4、M5不变。,使用比较指令CMP/ZCP时应注意: (1)S1.、S2.可取任意数据格式,目标操作数D.可取Y、M和S。 (2)使用ZCP时,S2.的数值不能小于S1. (3) 所有的源数据都被看成二进制值处理;,2、传送类指令 1)传送指令MOV (D)MOV(P)指令的编号为FNC12,该指令的功能是将源数据传送到指定的目标。如图3-20所示,当X000为ON时,则将S.中的数据K100传送到目标操作元件D.即D10中。在指令执行时,常数K100会自动转换成二进制数。当X0为OFF时,则指令不执行,数据保持不变。 使用应用MOV指令时应注意: (1)源操作数可取所有数据类型,标操作数可以是KnY、KnM、KnS、T、C、D、V、Z。 (2) 2)移位传送指令SMOV SMOV(P)指令的编号为FNC13。该指令的功能是将源数据(二进制)自动转换成4位BCD码,再进行移位传送,传送后的目标操作数元件的BCD码自动转换成二进制数。如图3-21所示,当X000为ON时,将D1中右起第4位(m1=4)开始的2位(m2=2) BCD码移到目标操作数D2的右起第3位(n=3)和第2位。然后D2中的BCD码会自动转换为二进制数,而D2中的第1位和第4位BCD码不变。,3)取反传送指令CML (D)CML(P)指令的编号为FNC14。它是将源操作数元件的数据逐位取反并传送到指定目标。如图3-22所示,当X0为ON时,执行CML,将D0的低4位取反向后传送到Y3Y0中。 使用取反传送指令CML时应注意: (1)源操作数可取所有数据类型,目标操作数可为KnY、KnM、KnS、T、C、D、V、Z.,若源数据为常数K,则该数据会自动转换为二进制数。 (2)16位运算占5个程序步,32位运算占9个程序步。 4)块传送指令BMOV BMOV(P)指令的ALCE编号为FNC15,是将源操作数指定元件开始的n个数据组成数据块传送到指定的目标。如图3-23所示,传送顺序既可从高元件号开始,也可从低元件号开始,传送顺序自动决定。若用到需要指定位数的位元件,则源操作数和目标操作数的指定位数应相同。,使用块传送指令时应注意: (1)源操作数可取KnX、 KnY、KnM、KnS、T、C、D和文件寄存器,目标操作数可取. KnT、KnM、KnS、T、C和D; (2)只有16位操作,占7个程序步; (3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。 5)多点传送指令FMOV (D)FMOV(P)指令的编号为FNC16。它的功能是将源操作数中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。如图3-24所示,当X000为ON时,把K0传送到D0D9中。,3、数据交换类指令 1)数据交换指令(D)XCH(P)的编号为FNC17,它是将数据在指定的目标元件之间交换。如图3-25所示,当X000为ON时,将D1和D19中的数据相互交换。,使用数据交换指令应该注意: (1)操作数的元件可取KnY、KnM、KnS、T、C、D、V和Z。 (2)交换指令一般采用脉冲执行方式,否则在每一次扫描周期都要交换一次。 (3)16位运算时占5个程序步,32位运算时占9个程序步。 2)数据变换指令 (1)BCD变换指令BCD (D)BCD(P)指令的ALCE编号为FNC18。它是将源元件中的二进制数转换成BCD码送到目标元件中,如图3-26所示。 如果指令进行16位操作时,执行结果超出09999范围将会出错;当指令进行32位操作时,执行结果超过099999999范围也将出错。PLC中内部的运算为二进制运算,可用BCD指令将二进制数变换为BCD码输出到七段显示器。,(2)BIN变换指令BIN (D)BIN(P)指令的编号为FNC19。它是将源元件中的BCD数据转换成二进制数据送到目标元件中,如图3-26所示。常数K不能作为本指令的操作元件,因为在任何处理之前它们都会被转换成二进制数。 使用BCD/BIN指令时应注意: 源操作数可取KnK、KnY、KnM、KnS、T、C、D、V和Z,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z; 16位运算占5个程序步,32位运算占9个程序步。,二、算术和逻辑运算类指令(FNC20FNC29),FNC20FNC29具有数值数据的运算指令,同时因为FX2N编程器能运用浮点进行运算,所以能得到高精度结果 1、算术运算指令 1)加法指令ADD (D)ADD(P)指令的编号为FNC20。它是将指定的源元件中的二进制数相加结果送到指定的目标元件中去。如图3-27所示,当X0为ON时,执行(D10)+(D12)(D14)。,2)减法指令SUB (D)SUB(P)指令的编号为FNC21。它是将S1.指定元件中的内容以二进制形式减去S2.指定元件的内容,其结果存入由D.指定的元件中。如图3-43所示,当X0为ON时,执行(D10)(D12)(D14)。,使用加法和减法指令时应该注意: (1)操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.。 (2)16位运算占7个程序步,32位运算占13个程序步。 (3)数据为有符号二进制数,最高位为符号位(0为正,1为负)。 (4)加法指令有三个标志:零标志(M8020)、借位标志(M8021)和进位标志(M8022)。当运算结果超过32767(16位运算)或2147483647(32位运算)则进位标志置1;当运算结果小于-32767(16位运算)或-2147483647(32位运算),借位标志就会置1。 3)乘法指令MUL (D) MUL (P)指令的编号为FNC22。数据均为有符号数。如图3-44所示,当X0为ON时,将二进制16位数S1.、S2.相乘,结果送D.中。D为32位,即(D0)(D2)(D5,D4)(16位乘法);当X1为ON时,(D1,D0)(D3,D2)(D7,D6,D5,D4)(32位乘法)。,4)除法指令DIV (D) DIV (P)指令的编号为为FNC23。其功能是将S1.指定为被除数,S2.指定为除数,将除得的结果送到D.指定的目标元件中,余数送到D.的下一个元件中。如图3-45所示,当X0为ON时(D0)(D2)(D4)商,(D5)余数(16位除法);当X1为ON时(D1,D0)(D3,D2)(D5,D4)商,(D7,D6)余数(32位除法)。,使用乘法和除法指令时应注意: (1)源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.,要注意Z只有16位乘法时能用,32位不可用。 (2)16位运算占7程序步,32位运算为13程序步。 (3)32位乘法运算中,如用位元件作目标,则只能得到乘积的低32位,高32位将丢失,这种情况下应先将数据移入字元件再运算;除法运算中将位元件指定为D.,则无法得到余数,除数为0时发生运算错误。 (4)积、商和余数的最高位为符号位。 5)加1和减1指令 加1指令(D) INC (P)的编号为FNC24;减1指令 (D) DEC (P)的编号为FNC25。INC和DEC指令分别是当条件满足则将指定元件的内容加1或减1。如图3-46所示,当X0为ON时,(D10)+1(D10);当X1为ON时,(D11)+1(D11)。若指令是连续指令,则每个扫描周期均作一次加1或减1运算。,使用加1和减1指令时应注意: 1)指令的操作数可为KnY、KnM、KnS、T、C、D、V、Z;。 2)当进行16位操作时为3个程序步,32位操作时为5个程序步。 3)在INC运算时,如数据为16位,则由+32767再加1变为-32768,但标志不置位;同样,32位运算由+2147483647再加1就变为-2147483648时,标志也不置位。 4)在DEC运算时,16位运算-32768减1变为+32767,且标志不置位;32位运算由-2147483648减1变为=2147483647,标志也不置位。 2逻辑辑运算类指令 1)逻辑与指令WAND (D)WAND(P)指令的编号为FNC26。是将两个源操作数按位进行与操作,结果送指定元件。 2)逻辑或指令WOR (D) WOR (P)指令的编号为FNC27。它对二个源操作数按位进行或运算,结果送指定元件。 3)逻辑异或指令 WXOR (D) WXOR (P)指令的编号为FNC28。它是对源操作数位进行逻辑异或运算。 4)求补指令NEG (D) NEG (P)指令的编号为FNC29。其功能是将D.指定的元件内容的各位先取反再加1,将其结果再存入原来的元件中。 使用逻辑运算指令时应该注意: 1)WAND、WOR和WXOR指令的S1.和S2.均可取所有的数据类型,而目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。 2)NEG指令只有目标操作数,其可取KnY、KnM、KnS、T、C、D、V和Z。 3)WAND、WOR、WXOR指令16位运算占7个程序步,32位为13个程序步,而NEG分别占3步和5步。,三、循环与移位类指令(FNC30FNC39),1、循环移位指令 右、左循环移位指令(D)ROR(P)和(D)ROL(P)编号分别为FNC30和FNC31。执行这两条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进位标志M8022中,如图所示。,2、带进位的循环移位指令 带进位的循环右、左移位指令(D) RCR(P)和(D) RCL(P)编号分别为FNC32和FNC33。执行这两条指令时,各位数据连同进位(M8022)向右(或向左)循环移动n位,如图3-33所示。,3、位右移和位左移指令 位右、左移指令SFTR(P)和SFTL(P)的编号分别为FNC34和FNC35。它们使位元件中的状态成组地向右(或向左)移动。n1指定位元件的长度,n2指定移位位数,n1和n2的关系及范围因机型不同而有差异,一般为n2n11024。位右移指令使用如图3-34所示。,4、字右移和字左移指令 字右移和字左移指令WSFR(P)和WSFL(P)指令编号分别为FNC36和FNC37。字右移和字左移指令以字为单位,其工作的过程与位移位相似,是将n1个字右移或左移n2个字。 使用字右移和字左移指令时应注意: 1)源操作数可取KnX、KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C和D。 2)字移位指令只有位操作,占用个程序步 3)n1和n2的关系为n2n1512。,5、先入先出写入和读出指令 先入先出写入指令和先入先出写入读出指令SFWR(P)和SFRD(P)的编号分别为FNC38和FNC39。 先入先出写入指令SFWR的使用如图3-35所示, 当X0由OFF变为ON时,SFWR执行, D0中的数据写入D2,而D1变成指针,其值为1(D1必须先清0);当X0再次由OFF变为ON时,D0中的数据写入D3,D1变为2,依次类推,D0中的数据依次写入数据寄存器。D0中的数据从右边的D2顺序存入,源数据写入的次数放在D1中,当D1中的数达到n-1后不再执行上述操作,同时进位标志M8022置1。,先入先出读出指令SFRD的使用如图3-36所示,当X0由OFF变为ON时,D2中的数据送到D20,同时指针D1的值减1,D3D9的数据向右移一个字,数据总是从D2读出,指针D1为0时,不再执行上述操作且M8020置1。 使用SFWR和SFRD指令时应注意: 1)目标操作数可取KnY、KnM、KnS、T、C和D,源操数可取所有的数据类型。 2)指令只有16位运算,占7个程序步。,4、数据处理指令(FNC40FNC49),1、区间复位指令 区间复位指令ZRST(P)的编号为FNC40。它是将指定范围内的同类元件成批复位。如图3-37所示,当M8002由OFFON时,位元件M500M599成批复位,字元件C235C255也成批复位。,使用区间复位指令时应注意: 1)D1.和D2.可取Y、M、S、T、C、D,且应为同类元件,同时D1的元件号应小于D2指定的元件号,若D1的元件号大于D2元件号,则只有D1指定元件被复位。 2)ZRST指令只有16位处理,占5个程序步,但D1.D2.也可指定32位计数器。,2、译码和编码指令 1)译码指令DECO DECO(P) 指令的编号为FNC41。如图3-38所示,n=3 则表示S.源操作数为3位,即为X0、X1、X2。其状态为二进制数,当值为011时相当于十进制3,则由目标操作数M7M0组成的8位二进制数的第三位M3被置1,其余各位为0。如果为000则M0被置1。用译码指令可通过D.中的数值来控制元件的ON/OFF。,使用译码指令时应注意: (1)位源操作数可取X、T、M和S,位目标操作数可取Y、M和S,字源操作数可取K,H,T,C,D,V和Z,字目标操作数可取T,C和D。 (2)若D.指定的目标元件是字元件T、C、D,则n4;若是位元件Y、M、S,则n=18。译码指令为16位指令,占7个程序步。,2)编码指令ENCO ENCO(P)指令的编号为FNC42。如图3-39所示,当X1有效时执行编码指令,将S.中最高位的1(M3)所在位数(4)放入目标元件D10中,即把011放入D10的低3位。,使用编码指令时应注意: 1)源操作数是字元件时,可以是T、C、D、V和Z;源操作数是位元件,可以是X、Y、M和S。目标元件可取T、C、D、V和Z。编码指令为16位,占7个程序步。 2)操作数为字元件时应使用n4,为位元件时则n=18,n=0时不作处理。 3)若指定源操作数中有多个1,则只有最高位的1有效。,第四节 FX2N系列可编程控制器程序控制指令,一、条件跳转指令 1、条件跳转指令的含义 条件跳转指令CJ(P)的编号为FNC00,操作数为指针标号P0P127,其中P63为END所在步序,不需标记。指针标号允许用变址寄存器修改。CJ和CJP都占3个程序步,指针标号占1步。 跳转指令执行的意义为:在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针PX间的程序,即跳到以指针PX为入口的程序段中执行。直到跳转条件不再满足,跳转将停止进行。 如图,跳转指针P8、P9分别对应CJ P8及CJ P9两条跳转指令。当X000置1时, 指令CJ P8执行条件满足,程序将从CJ P8指令处跳到标号P8处,仅执行梯形图中最后三行程序。,2、使用注意事项 使用跳转指令时应注意: 1)CJP指令表示为脉冲执行方式; 2)在一个程序中一个标号只能出现一次,否则将出错; 3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态,因为跳转期间根本没有执行这段程序。 4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,到跳转条件不满足后又继续工作。但对于正在工作的定时器T192T199和高速计数器C235C255不管有无跳转仍连续工作。 5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。,二、子程序调用与子程序返回指令 1、子程序调用与返回指令的表示方法 子程序调用指令CALL编号为FNC01。操作数为P0P127,此指令占用3个程序步。 子程序返回指令SRET的编号为FNC02。无操作数,占用1个程序步。 如图所示,如果X000接通,则转到标号P10处去执行子程序。当执行SRET指令时,返回到CALL指令的下一步执行。 子程序是为了一些特定的控制要求编制的相对独立的程序。为了区别于主程序,规定在程序编排时,将主程序排在前边,子程序排在后边,并以主程序结束指令FEND(FNC06)将这两部分分隔开。当主程序带有多个子程序时,子程序可依次列在主程序结束指令后边,并以不同标号相区别。 2、使用注意事项 使用子程序调用与返回指令时应注意: 1)转移标号不能重复,也不可与跳转指令的标号重复; 2)子程序可以嵌套调用,最多可5级嵌套。,三、 与中断有关的指令 1、中断指令说明及梯形图表示 与中断有关的三条功能指令是:中断返回指令IRET,编号为FNCO3;中断允许指令EI,编号为FNCO4;中断禁止DI,编号为FNC05。它们均无操作数,占用1个程序步。 PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间,如有中断源产生中断,CPU将暂停主程序执行转而执行中断服务程序。当遇到IRET时返回断点继续执行主程序。 如图所示,允许中断范围中若中断源X000有一个下降沿,则转入1000(为标号的中断服务程序,但X000可否引起中断还受M8050控制,当X20有效时则M8053控制X003无法中断。,2、使用注意事项 使用中断相关指令时应注意: 1)中断的优先级排队如下,如果多个中断依次发生,则以发生先后为序,即发生越早级别越高,如果多个中断源同时发出信号,则中断指针号越小优先级越高; 2)当M8050M8058为ON时,禁止执行相应I0I8的中断,M8059为ON时则禁止所有计数器中断; 3)无需中断禁止时,可只用EI指令,不必用DI指令; 4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其它中断。,四、 循环指令 1、循环指令说明 循环指令共有两条:循环区起点指令FOR,编号为FNC08,占3个程序步;循环结束指令NEXT,编号为FNC09,占用1个程序步,无操作数。 在程序运行时,位于FORNEXT间的程序反复执行n次(由操作数决定)后再继续执行后续程序。循环的次数n=132767。如果N=-327670之间,当作n=1处理。 图示为一个二重嵌套循环,外层执行5次。如果D0Z中的数为6,则外层A每执行一次则内层B将执行6次。 2、使用注意事项 使用循环指令时应注意: 1) FOR和NEXT必须成对使用; 2)FX2N系列PLC可循环嵌套5层; 3)在循环中可利用CJ指令在循环没结束时跳出循环体; 4)FOR应放在NEXT之前,NEXT应在FEND和END之前,否则均会出错。,第五节 FX2N系列可编程控制器程序设计方法,一、程序设计基础 编程方式 1、列表编程 列表程序是指将顺控指令用“LD”、“AND”、“OUT”等指令输入的方式,这种方式是最基本的输入形式,但不能直观反映控制过程。形式如图所示 2、梯形图电路编程 梯形图电路程序是使用顺控符号和软元件号,在图象的画面上制作顺控电路的方式。该方式的顺控电路用接点符号和线圈符号表达,所以程序内容容易理解,也可以用电路显示状态来进行顺控操作监视。形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论