PLC电气控制技术第08章

上传人:gu****n 文档编号:243144543 上传时间:2024-09-16 格式:PPT 页数:79 大小:2.61MB
返回 下载 相关 举报
PLC电气控制技术第08章_第1页
第1页 / 共79页
PLC电气控制技术第08章_第2页
第2页 / 共79页
PLC电气控制技术第08章_第3页
第3页 / 共79页
点击查看更多>>
资源描述
PLC,电气控制技术,第八章 三菱,FX,2N,系列可编程序控制器应用指令,第一节,应用指令,的基本规则,应用指令的表示与执行形式,指令与操作数,FX2N,系列,PLC,的应用指令由,功能编号,FNC00,FNC246,指定,,各指令有表示其内容的助记符符号。应用指令多数情况下将,功能编号与操作数组合,在一起使用。,应用指令的,操作数,包括源操作数、目的操作数以及辅助操作数,操作数可用软元件,位软元件,:,X,、,Y,、,M,、,S,等。 字软元件:,T,、,C,、,D,等。,处理,ON/OFF,信息,处理数值,FX2N,系列,PLC,的数据寄存器,D,为,16,位,在处理,32,位数据时使用一对数据寄存器的组合。定时器,T,和计数器,C,的当前值寄存器可作为一般寄存器处理,但是,,C200,C255,的,1,点是,32,位计数器,可直接处理,32,位数,不能作为,16,位指令的操作数使用。,又称功能指令,用于数据的传送、运算、变换及程序控制等功能。具有,128,种,298,条,指令的形态与执行形式,分类:,根据,处理数值的位数,,应用指令可分为,16,位指令和,32,位,指令。,根据,指令的执行形式,,,应用指令可分为连续执行型与脉冲执行型。,标志的,处理,标志动作:,零标志(,M8020,);借位标志(,M8021,);进位标志(,M8022,);,执行结束(,M8029,)等。,如果在应用指令的结构、可用软元件及其编号范围等方面有错误时,在运算执行过,程中会出现,下列标志位会动作同时会记录,出错信息:,(1) M8067,、,D8067,、,D8069,若出现运算错误,,M8067,保持动作,运算错误代码编号,存储在,D8067,中,错误发生的步号存储在,D8069,中。若在其他步发生新错误时,,其指令的出错代码和步号将被依次更新。,(2) M8068,、,D8068,若出现运算错误,,M8068,保持动作,错误发生的步号存储在,D8068,中。即使其他指令中发生新错误也不更新内容,在强制复位或电源断开前,动作一直保持。,对于,32,位应用指令,其助记符在,16,位指令助记符上添加符号,D,。,脉冲执行型指令的助记符用添加符号,P,来表示。其指令只在驱动条件从,OFFON,变化时执行一次,其他时刻不执行。,连续执行型应用指令在各扫描周期都执行的指令,操作数的内容每个扫,描周期都变化。,指令使用次数与同时驱动的限制,有些应用指令只能在指定次数内进行编程,禁止多次重复使用。但是可,以采用变址寄存器来改变指令内的软元件编号与数值,与采用多次控,制同样的效果。,有些应用指令即使能多次编程,也有同时动作点数的限制。例如:,FNC53,(,D HSCH,)、,FNC54,(,D HSCR,)与,FNC55,(,D HSZ,)指令同,时动作点数,在,6,点以下,;,FNC80,(,RS,)指令动作点数,只能有,1,点,。,浮点运算的数值处理,功能:,更精确地进行乘、除和开方等运算。,浮点数运算都是采用,二进制浮点数。,二进制浮点数采用连续编号的一对数据寄存器,按一定规则表示。,如图所示:,以,(D11,,,D10),为例,正负号由,b31,决定,不按补码处理,二进制浮点数表示方法,将二进制浮点数变为十进制浮点数。,如图,8-2,所示:,D0,、,D1,的最高位为符号位,,按,2,的补码处理,,十进制浮点数的最小绝对值,117510,-41,,,最大绝对值为,340210,35,。,十进制浮点数表示方法,应用指令说明,使用应用指令需注意指令的要素。加法指令的形式及要素,。,加法指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S1,(,可变址,),S2,(,可变址,),D,加法,FNC20,(16/32),ADD(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,ADD,ADDP,:,7,步,DADD,DADDP,:,13,步,应用指令的使用要素说明如下:,(1),指令编号,每条应用指令都有一个的编号,上表中,FNC20,就是加法指令的编号。,(2),指令名称,说明应用指令的功能。,(3),助记符,应用指令的助记符一般都是该指令的英文缩写词。如加法指令,ADDITION,简写为,ADD,。采用这种形式容易了解指令的应用。,(4),数据长度,应用指令依处理数据的长度分为,16,位指令和,32,位指令,在表,中用,(16/32),说明。,32,位指令采用助记符前加,D,表示,助记符前无,D,的指令,为,16,位指令。,(5),执行形式,应用指令有脉冲执行型和连续执行型。脉冲执行型应用指令,采用助记符后加,P,表示,助记符后无,P,的指令为连续执行型。,(6),操作数,应用指令的操作数分为源操作数,S,、目的操作数,D,和辅助操作数,m,、,n,。源操作数、目的操作数和辅助操作数多于,1,个时分别用,S1,、,S2,,,D1,、,D2,以及,m1,、,m2,,,n1,、,n2,表示。,(7),指令步数,指令步数为执行该指令所需的程序步数。应用指令的指令编,号和指令助记符占一个程序步,每个操作数占,2,个或,4,个程序步(,16,位操作,数和,32,位操作数分别占,2,个和,4,个程序步)。因此,一般,16,位指令为,7,个程,序步,,32,位指令为,13,个程序步。,第二节 三菱,FX2N,系列,PLC,程序,流程控制应用指令,三菱,FX2N,系列,PLC,程序流程控制应用指令,共有十条,,指令编号为,FNC00,FNC09,。,它们在程序中的条件执行与优先处理,与顺控程序的控制流程有关,条件跳转指令,条件跳转指令,CJ,(,Conditional Jump,,,FNC00,):用于跳过顺序程序中的某一部分,以控制程序的流程。,指针,P,(,Point,),用于指示分支和跳步程序,在梯形图中,指针放在左侧母线的左边。使用要素说明见表。,条件跳转指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D,条件跳转,FNC00,(16),CJ(P),P0,P127,P63,即是,END,所在步,不需标记,CJ,CJP,:,3,步,标号,P,:,1,步,使用跳转指令可以缩短扫描周期。,一个指针只能出现一次。,如图,,X000,为,ON,时,,程序跳到指针,P8,处。,X000,为,OFF,时,,不执行跳转,程序按原顺序执行。,如果用,M8000,的常开触点驱动,CJ,指令,相当于无条,件跳转指令,因为运行时,特殊辅助寄存器,M8000,总,是,ON,。,若输出继电器,Y,、辅助继电器,M,、状态,S,被,OUT,、,SET,、,RST,指令驱动,跳转期间即使驱动,Y,、,M,、,S,的电路状态改变了,它们仍保持跳转前的状态,。,条件跳转指令及说明,定时器,T,和计数器,C,如果被,CJ,指令跳过,跳转期间它们的当前值将被保,存。如果在跳转开始时定时器和计数器正在工作,在跳转期间它们将停,止定时和计数。,T192,T199,和高速计数器,C235,C255,如果在驱动后跳转,则继续工作,,输出触点也会动作。,如果从,主令控制区,的外部跳入其内部,不管它的主控触点是否接通,都,把它当成接通来执行主令控制区内的程序。如果跳转指令和标号都在同,一主控区内,主控触点没有接通时不执行跳转。,子程序调用与返回指令,子程序调用指令,CALL,(,Sub-Routine Call,,,FNC01,)。,子程序返回指令,SRET,(,Sub-Routine Return,,,FNC02,)。,子程序调用与返回指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D,子程序调用,FNC01,(16),CALL(P),指针,P0,P62,,,P64,P127,嵌套,5,级,CALL,CALLP,:,3,步,标号,P,:,1,步,子程序返回,FNC02,SRET,无,1,步,在指令,CALL,中:,各子程序用指针,P0,P62,及,P64,P127,表示。,同一指针只能出现一次。,CJ,指令中用过的指针不能再用。,不同位置的,CALL,指令可以调用同一指针的子程序。,在指令,SRET,中无操作数。,图中,,X001,是子程序执行的条件,当,X001,置,1,时,调用指,针标号为,P10,的子程序一次,即程序将跳到指针,P10,处执行。,在子程序中调用子程序称为嵌套调用,最多可以嵌,套,5,级。,在执行子程序,1,时,如果,X030,为,ON,,,CALL P11,指,令被执行,程序跳到,P11,处,嵌套执行子程序,2,。,执行第二条,SRET,指令后,返回子程序,1,中,CALL,P11,指令的下一条指令,执行第一条,SRET,指令后,返回主程序中,CALLP P10,指令的下一条指令。,因为子程序是间歇使用的,在子程序中使用的定时,器应在,T192,T199,和,T246,T249,之间选择。,子程序的调用与返回,中断指令,中断事件:,输入中断、定时中断和高速计数器中断。,中断指令:,中断返回,IRET,(,Interruption Return,)。,允许中断,EI,(,Interruption Enable,)。,禁止中断,DI,(,Interruption Disable,)。,中断指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D,中断返回,FNC03,IRET,无,1,步,中断允许,FNC04,EI,无,1,步,中断禁止,FNC05,DI,无,1,步,用于中断的,指针,用来指明某一中断源的中断程序的入口,,执行到,IRET,(中断返回)指令,时返回中断事件出现时正在执行的程序。,中断指针应在,FEND,指令,之后使用。,输入中断,用来接收特定的输入地址号的输入信号,,输入中断指针,I0,。,最高位与,X000,X005,的元件号相对应,单元的输入号为,0,5,(从,X000,X005,输入)。最低位为,0,时表示下降沿中断,反之为上升沿中断。,定时器中断指针,为,I6,I8,,低两位是以,ms,为单位定时时间(,1,99ms,)。,M8056,M5058,为,ON,时,将分别禁止定时中断,0,2,。,计数器中断指针,为,I00,(,1,6,)。计数器中断与,HSCS,(高速计数器比,较置位)指令配合使用,根据高速计数器的计数当前值与计数设定值的关,系来确定是否执行相应的中断服务程序。,中断指令在梯形图中的表示如图所示。,PLC,通常处于禁止中断的状态,指令,EI,和,DI,之间的,程序段为允许中断的区间,若程序执行到中断子,程序中,IRET,指令,时,返回原断点,继续执行原来,的程序。,中断程序从它惟一的中断指针,开始,,到第一条,IRET,指令,结束。,中断程序,应放在,FEND,指令之后,,IRET,指令只能在中,断程序中使用。,特殊辅助继电器,M805,为,ON,时,(=0,8),,禁止执行,相应的中断,I,(是与中断有关的数字)。,M8059,ON,时,,关闭所有的计数器中断。,如果有多个中断信号依次发出,则,优先级,按发生的,先后为序,发生越早的优先级越高。,中断指令在梯形图中的表示,若同时发生多个中断信号,,则中断指针号小的优先。,执行一个中断子程序时,,其他中断被禁止,在中断子程序中编入,EI,和,DI,,,可以实现双重中断,只允许两级中断嵌套。,如果中断信号在禁止中断区间出现,,该中断信号被储存,并在,EI,指令之后,响应该中断。,不需要关中断时,,只使用,EI,指令,可以不使用,DI,指令。,主程序结束指令,主程序结束指令,FEND,(,First End,,,FNC06,):表示主程序的结束和子程,序的开始,使用要素说明见表。,主程序结束指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D,主程序结束,FNC06,FEND,无,1,步,主程序结束指令的应用举例。,当,X010,为,OFF,时,,不执行跳转指令,仅执行主程序;,当,X010,为,ON,时,,执行跳转指令,跳到指针标号,P20,处,执行第二个主程序。,在第二个主程序中,,若,X011,为,OFF,,,仅执行第二个主,程序,,若,X011,为,ON,,,调用指针标号为,P21,的程序。,结束后,通过,SRET,指令返回原断点,继续执行第二,个主程序。,主程序结束指令的应用,注意事项:,执行到,FEND,指令时,PLC,进行输入输出处理、监控定时器刷新,完成后返回,第,0,步。,子程序(包括中断子程序)应放在,FEND,指令之后。,CALL,指令调用的子程序必须用,SRET,指令结束。,中断子程序必须以,IRET,指令结束。,若,FEND,指令在,CALL,指令执行之后和,SRET,指令执行之前出现,则程序出错。,另一个类似的错误是,FEND,指令出现在,FOR,NEXT,循环中。,使用多条,FEND,指令时,中断程序应放在最后的,FEND,指令和,END,指令之间。,监控定时器指令,监控定时器指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D,监控定时器,FNC07,WDT(P),无,1,步,监控定时器指令,WDT,(,WATCHDOG TIMER,),图示是通过顺序程序改变其值。监控定时器时间更新应在,WDT,指令不编入程序的情况下,,END,处理时,,D8000,值才有效。,监控定时器指令的应用,程序循环指令,程序循环指令,由,FOR,及,NEXT,两条指令构成。使用要素说明见表。,程序循环指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S,循环开始,FNC08,(16),FOR,K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,3,步,循环结束,FNC09,NEXT,无,1,步,图中,,外层循环程序,A,嵌套了内层循环,B,,循环,A,执行,5,次,每执行一次循环,A,,就要执行,10,次循环,B,,因此循环,B,一共要执行,50,次。利用循环中的,CJ,指令可以跳出,FOR,NEXT,之间的循环区。,FOR,指令表示循环区的起点,,NEXT,表示循环区终,点,,FOR,与,NEXT,之间的程序被,反复执行,,执行完,后,执行,NEXT,后面的指令。执行次数,N(N,1,32767),由,FOR,指令的源操作数设定。,如果,N,为负数,,当作,N,1,处理。,FOR,与,NEXT,循环可以,嵌套,5,层。,FOR,与,NEXT,指令总是成对使用,循环指令使用说明,第三节 三菱,FX2N,系列,PLC,传送与比较应用指令,FX2N,系列,PLC,的数据传送、比较类指令,共,10,条,,指令功能编号为,FNC10,FNC19,。,比较指令:,比较,CMP,(,Compare,),区间比较,ZCP,(,Zone Compare,),使用要素说明见表。,程序循环指令,比较指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S1,(,可变址,),S2,(,可变址,),D,比较,FNC10,(16/32),CMP(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,Y, M, S,CMP, CMPP,:,7,步,DCMP,DCMPP,:,13,步,指令,名称,指令,编号,助记符,操作数,指令步数,S1,(,可变址,),S2,(,可变址,),S,(,可变址,),D,区间,比较,FNC11,(16/32),ZCP(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,Y, M, S,ZCP, ZCPP,:,9,步,DZCP,DZCPP,:,17,步,图,a,中的比较指令将十进制常数,100,与计数器,C10,的当前值比较,比较结,果送到,M0,M2,。,X000,为,OFF,时,不进行比较,,M0,M2,的状态保持不变。,X000,为,ON,时,进行比较,比较的结果对,M0,M2,的影响如图,8-9a,所示。,S1S2,时,仅,M0,为,ON,;若,S1,S2,,仅,M1,为,ON,;若,S1S2,,仅,M2,为,ON,。,所有的源数据都被视为,二进制数,进行处理。,图,b,中:,X002,为,ON,时,,执行,ZCP,指令,将,T3,的当前值与常数,100,和,150,相比较,比较,结果送到,M3,M5,,源数据,S1,不能大于源数据,S2,。,X002,断开时,,ZCP,指令不执行,,M3,M5,保持,X002,断开前的状态。,比较指令使用说明,传送指令,传送,MOV,(,Move,),BCD,码移位送,SMOV,(,Shift Move,),取反传送,CML,(,Complement Move,),传送、移位传送、取反传送指令,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),传送,FNC12,(16/32),MOV(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,MOV, MOVP,:,5,步,DMOV,DMOVP,:,9,步,取反,传送,FNC14,(16/32),CML(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,CML,、,CMLP,:,5,步,DCML,、,DCMLP,:,9,步,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),m1,m2,D(,可变址,),n,移位,传送,FNC13,(16),SMOV(P),KnX,KnY,KnM,KnS,T,C,D,V,Z,K,H,=1,4,K,H,=1,4,KnY,KnM,KnS,T,C,D,V,Z,K,H,=1,4,SMOV, SMOVP,:,11,步,数据块传送,BMOV,(,Block Move,),多点传送,FMOV,(,Fill Move,),数据交换,XCH,(,Exchange,),传送指令:,传送、移位传送、取反传送指令的使用要素,传送指令,MOV,将源数据传送到指定目的。,取反传送指令,CML,将源元件中的数据逐位取反(,10,,,01,),并传送到,指定目的。,移位传送指令,SMOV,是进行数据分配与合成的指令,将,4,位,BCD,十进制源数据,S,中指定位数的数据传送到,4,位十进制目的操作数,D,中指定的位置。,图中:,MOV,指令:,X001,为,ON,时,,源操作数中的常数,100,被传送到目的操作数软元,件,D10,中,并自动转换为二进制数;,当,X000,断开,,指令不执行时,,D10,中,的数据保持不变。,CML,指令:,将,D0,的低,4,位取反后传送到,Y003,Y000,中。,SMOV,指令:,X000,为,ON,时,,将,D1,中转换后的,BCD,码右起第,4,位(,m1=4,)开始,的,2,位(,m2=2,)移到,目的操作数,D2,的右起,第,3,位(,n=3,)和第,2,位,然后,D2,中的,BCD,码自动转换为二进制,码,,D2,中的,BCD,码的,第,1,位和第,4,位不受移,位传送指令的影响。,传送、移位传送与取反指令,数据块传送、多点传送、数据交换指令,数据块传送、多点传送、数据交换指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),n,块,传送,FNC15,(16),BMOV(P),KnX,KnY,KnM,KnS,T,C,D,KnY,KnM,KnS,T,C,D,K,H,512,BMOV, BMOVP,:,7,步,多点,传送,FNC16,(16/32),FMOV(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,K,H,512,FMOV, FMOVP,:,7,步,DFMOV, DFMOVP,:,13,步,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),数据,交换,FNC17,(16/32),XCH(P),KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,XCH, XCHP,:,5,步,DXCH,、,DXCHP,:,9,步,如图所示:,BMOV,指令:,源文件与目标文件的类型相同时的传送顺序。,FMOV,指令:,X002,为,ON,时将常数,0,送到,D5,D14,这,10,个(,n=10,)数据寄存器中。,XCH,指令:,数据在指定的目的元件,D1,和,D2,之间交换,交换指令一般采用脉冲,执行方式。,数据块传送、多点传送、数据交换指令,数据变换指令,数据变换指令:,二进制数转换成,BCD,码并传送,BCD,(,Binary Code to Decimal,),BCD,码转换为二进制数并传送,BIN,(,Binary,)指令。,数据变换指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S,(,可变址,),D,(,可变址,),BCD,转换,FNC18,(16/32),BCD(P),KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,BCD, BCDP,:,5,步,DBCD,、,DBCDP,:,9,步,BIN,转换,FNC19,(16/32),BIN(P),KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,BIN, BINP,:,5,步,DBIN,、,DBINP,:,9,步,如图所示,,当,X000,为,ON,时,,源元件,D12,中的二进制数转换,成,BCD,码送到目标元件,D11,中。,第四节 三菱,FX2N,系列,PLC,算术及逻辑运算,应用指令,算术运算指令,算术运算:,二进制加,ADD,(,Addition,)、减,SUB,(,Subtraction,)、,乘,MUL,(,Multiplication,)、除,DIV,(,Division,)。,算术运算指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S1(,可变址,),S2(,可变址,),D(,可变址,),加法,FNC20,(16/32),ADD(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,ADD, ADDP,:,7,步,DADD,DADDP,:,13,步,减法,FNC21,(16/32),SUB(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,SUB, SUBP,:,7,步,DSUB,DSUBP,:,13,步,乘法,FNC22,(16/32),MUL(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z(,限,16,位,),MUL, MULP,:,7,步,DMUL,DMULP,:,13,步,除法,FNC23,(16/32),DIV(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z(,限,16,位,),DIV, DIVP,:,7,步,DDIV,DDIVP,:,13,步,实现数据的传送、变位及其他控制功能,如图所示:,X000,为,ON,时,,执行(,D10,)(,D12,)(,D14,)。,X001,由,OFF,变为,ON,时,,执行(,D0,),22 ,(,D0,),X002,为,ON,时,,执行(,D0,),(D2)(D5,、,D4),,乘积,的低位字送到,D4,,高位字送到,D5,。,X003,为,ON,时,,执行,32,位除法运算,(,D7,、,D6,),/,(,D9,、,D8,),商送到(,D3,、,D2,),余数送到(,D5,、,D4,)。如果除数只有一个字(假设放在,D8,中),,32,位除法运算之前应先将除数的高位字,D9,清零。,算术运算指令说明,二进制数加,1,、减,1,指令,二进制数加,1,指令,INC,(,Increment,)和减,1,指令,DEC,(,Decrement,),二进制数加,1,、减,1,指令指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D(,可变址,),加,1,FNC24,(16/32),INC(P),KnY,KnM,KnS,T,C,D,V,Z,INC,、,INCP,:,3,步,DINC,、,DINCP,:,5,步,减,1,FNC25,(16/32),DEC(P),KnY,KnM,KnS,T,C,D,V,Z,DEC,、,DECPP,:,3,步,DDEC,、,DDECP,:,5,步,图中,X004,每次由,OFF,变为,ON,时,,由,D,指定的元件中的数加,1,。,X001,每次由,OFF,变为,ON,时,,由,D,指定的元件中的数减,1,。,这两条指令都不影响零标志、借位标志和进位标志。,二进制数加,1,、减,1,指令说明,字逻辑运算指令,字逻辑运算指令:,字逻辑与,WAND,(,Word AND,),字逻辑或,WOR,(,Word OR,),字逻辑异或,WXOR,(,Word Exclusive OR,),求补,NEG,(,Negation,),如图所示,,当,X000,为,ON,时,,D10,与,D12,中的数据按各位对,应进行逻辑字与运算,结果存放在元件,D14,中。,当,X001,为,ON,时,,D20,与,D24,中的数据按各位对应,进行逻辑字或运算,结果存放在元件,D24,中。,当,X002,为,ON,时,,D30,与,D32,中的数据按各位对应,进行逻辑字异或运算,结果存放在元件,D34,中。,当,X004,为,ON,时,,D50,中的二进制负数按位取反,后加,1,,求得的补码存入原来的,D50,中。,字逻辑运算指令说明,第五节 三菱,FX2N,系列,PLC,循环与移位,应用指令,使位数据或字数据向指定方向循环、位移的指令,循环移位指令,左、右循环移位指令,循环右移,ROR,(,Rotation Right,),循环左移,ROL,(,Rotation Left,),左、右循环移位指令的使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D(,可变址,),n,循环,右移,FNC30,(16/32),ROR(P),KnY,KnM,KnS,T,C,D,V,Z,K,H,n16(32),ROR, RORP,:,5,步,DROR,、,DRORP,:,9,步,循环,左移,FNC31,(16/32),ROL(P),KnY,KnM,KnS,T,C,D,V,Z,K,H,n16(32),ROL, ROLP,:,5,步,DROL,、,DROLP,:,9,步,执行这两条指令时,各位的数据向右(或向左)循环移动,n,位(,n,为常数),,16,位指令和,32,位指令中,n,应分别小于,16,和,32,,每次移出来的那一位同时存入,进位标志,M8022,中。,带进位左、右循环移位指令,带进位循环右移,RCR,(,Rotation Right with Carry,),带进位循环左移,RCL,(,Rotation Left with Carry,),功能编号分别为,FNC32,和,FNC33,执行这两条指令时,各位的数据与进位位,M8022,一起(,16,位指令时一共,17,位)向右(或向左)循环移动,n,位(见图)。,循环位移指令使用说明,移位指令,位右移和位左移指令,实现位元件中的状态成组地向右或向左移动,位右移和位左移指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),n1,n2,位右移,FNC34(16),SFTR(P),X,Y,M,S,Y,M,S,K,H,n2n11024,SFTR, SFTRP,:,9,步,位左移,FNC35(16),SFTL(P),SFTL, SFTLP,:,9,步,图中,X010,由,OFF,变为,ON,时,位右移指令(,3,位,1,组)按以下顺序移位:,M2,M0,中的数溢出,,M5,M3M2,M0,,,M8,M6M5,M3,,,X002,X0000M8,M6,。,图,8-17b,中的,X010,由,OFF,变为,ON,时,位左移指令按图中所示的顺序移位,。,位右移,SFTR,(,Shift Right,),位左移,SFTL,(,Shift Left,),指令使用说明,位移位,字右移和字左移指令,字右移,WSFR,(,Word Shift Right,)、字左移,WSFL,(,Word Shift Left,),字右移和字左移指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),n1,n2,字右移,FNC36(16),WSFR(P),KnX,KnY,KnM,KnS,T,C,D,KnY,KnM,KnS,T,C,D,K,H,n2n1512,WSFR,WSFRP,:,9,步,字左移,FNC37(16),WSFL(P),WSFL, WSFLP,:,9,步,图,a,中的,X000,由,OFF,变为,ON,时,字右移指令按图中所示的顺序移位。,图,b,中的,X010,由,OFF,变为,ON,时,字左移指令按图中所示的顺序移位。,字移位指令使用说明,移位寄存器写入与读出指令,移位寄存器又称为先入先出,FIFO,(,First in First out,)堆栈,堆栈的长,度范围为,2,512,个字。,写入指令,SFWR,(,Shift Register Write,),移位寄存器读出指令,SFRD,(,Shift Register Read,),用于,FIFO,堆栈的读写,先写入的数据先读出。,FIFO,指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S,(,可变址,),D,(,可变址,),n1,n2,FIFO,写入,FNC38,(16),SFWR(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,K,H,n2n1512,SFWR,SFWRP,:,7,步,FIFO,读出,FNC39,(16),SFRD(P),KnX,KnY,KnM,KnS,T,C,D,KnY,KnM,KnS,T,C,D,SFRD, SFRDP,:,7,步,图,a,中:,目标元件,D1,是,FIFO,堆栈的首地址,也是堆栈的指针,移位寄存器未装入,数据时应将,D1,清,0,。,在,X000,由,OFF,变为,ON,时,,指针的值加,1,后写入数据。第一次写入时,源操,作数,D0,中的数据写入,D2,。,如果,X000,再次由,OFF,变为,ON,,,D1,中的数变为,2,,,D0,中的数据写入,D3,。依此,类推,源操作数,D0,中的数据依次写入堆栈。,当,D1,中的数据等于,n-1(n,为堆栈的长度,),时,不再执行上述处理,,进位标,志,M8022,置,1,。,图,b,中,X000,由,OFF,变为,ON,时,,D2,中的数据送到,D20,,同时指针,D1,的值减,1,,,D3,到,D9,的数据向右移一个字。,数据总是从,D2,读出,指针,D1,为,0,时,,FIFO,堆栈被读空,不再执行上述处,理,零标志,M8020,为,ON,。,执行本指令的过程中,,D9,的数据保持不变。,FIFO,指令使用说明,第六节 三菱,FX2N,系列,PLC,数据处理应用指令,区间复位指令,区间复位指令,ZRST,(,Zone Reset,),将,D1,D2,指定的元件号范围内的,同类元件成批复位。,如果,D1,的元件号大于,D2,的元件号,,则只有,D1,指定的元件被复位。,单个位元件和字元件可以用,RST,指令复位,。,区间复位指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D1(,可变址,),D2(,可变址,),区间,复位,FNC40,(16),ZRST(P),Y,M,S,T,C,D,D1,元件号,D2,元件号,ZRST, ZRSTP,:,5,步,如图中:,当,M8002,由,OFFON,时,,执行区间复位指令。,位元件,M500,M599,成批复位,字元件,C235,C255,成批复位,状态元件,S0,S127,成批复位。,虽然,ZRST,指令是,16,位指令,,D1,和,D2,也可以指定,32,位计数器。,区间复位指令,解码与编码指令,解码(译码)指令,DECO,(,Decode,),编码指令,ENCO,(,Encode,),解码与编码指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S,(,可变址,),D,(,可变址,),n,解码,FNC41,(16),DECO(P),K,H,X,Y,M,S,T,C,D,V,Z,Y,M,S,T,C,D,K,H,1n8,DECO,DECOP,:,7,步,编码,FNC42,(16),ENCO(P),X,Y,M,S,T,C,D,V,Z,T,C,D,V,Z,ENCO, ENCOP,:,7,步,图,a,中:,X002,X000,组成的,3,位(,n,3,)二进制数为,011,,相当于十进制数,3,,由目标操作数,M7,M0,组成的,8,位二进制数的第,3,位(,M0,为第,0,位),M3,被置,1,,其余各位为,0,。如源数据全零,则,M0,置,1,。,图,b,中:,n=3,,编码指令将源元件,M7,M0,中为“,1”,的,M3,的位数,3,编码为二进制数,011,,并送到目标元件,D10,的低,3,位。,编码与解码指令使用说明,解码,/,编码指令在,n=0,时不作处理。当执行条件,OFF,时,指令不执行,输出保持不变。,求置,ON,位总和与,ON,位判别指令,位元件的值为,1,时称为,ON,,求置,ON,位总和指令,SUM,统计源操作数中为,ON,的位的个数,并将它送入目标操作数。,求置,ON,位总和指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),求置,ON,位总和,FNC43,(16/32),SUM(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,KnY,KnM,KnS,T,C,D,V,Z,SUM, SUMP,:,5,步,DSUM, DSUMP,:,9,步,ON,位判别指令,BON,(,Bit ON Check,),用来检测指定元件中的指定位是否,为,ON,,若为,ON,,则位目标操作数变为,ON,,目标元件是源操作数中指定,位的状态的镜像。,ON,位判别指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S,(,可变址,),D,(,可变址,),n,ON,位判别,FNC44,(16/32),BON(P),K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,Y,M,S,K,H,n=115(31),BON,BONP,:,7,步,DBON,DBONP,:,13,步,如,图所示,,当,X000,为,ON,时,,将,D0,中置,1,的总和存入目标元,件,D2,中,若,D0,为,0,,则,0,标志,M8020,动作。,当,X003,为,ON,时,,判别,D10,中第,15,位,若为,1,,,则,M0,为,ON,,反之为,OFF,。,X000,变为,OFF,时,,M0,状态不变化。,图求,ON,位总和与,ON,位判别指令,平均值指令,平均值指令,MEAN,是将,S,中指定的,n,个源操作数据的平均值存入目标操作,数,D,中,舍去余数。,平均值指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),n,平均值,FNC45,(16/32),MEAN(P),KnX,KnY,KnM,KnS,T,C,D,KnY,KnM,KnS,T,C,D,V,Z,K,H,n=164,MEAN, MEANP,:,7,步,DMEAN,DMEANP,:,13,步,如图所示:,如,n,超出元件规定地址号范围 时,,n,值自动减小。,n,在,1,64,以外时,会发生错误。,平均值指令使用说明,报警器置位复位指令,报警器置位指令,ANS,(,Annunciator,Set,)。,报警器复位指令,ANR,(,Annunciator,Reset,),无操作数。,报警器置位复位指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),n,D(,可变址,),报警器,置位,FNC46,(16),ANS(P),T0,T199,n=1,32 767,(100ms,单位,),S900,S999,ANS, ANSP,:,7,步,报警器,复位,FNC47,(16),ANR(P),无,ANR, ANRP,:,1,步,图中:,M8000,的常开触点一直接通,,使,M8049,的线圈通电,,特殊数据寄存器,D8049,的监视功能有效,,D8049,用来,存放,S900,S999,中处于活动状态且元件号最小的状,态继电器的元件号。,Y000,变为,ON,后,,100ms,定时器,T0,开始定时,如果,X000,在,10s,内未动作(,n=100,),,S900,变为,ON,。,X003,为,ON,后,,100ms,定时器,T1,开始定时,如果在,20s,内,X004,未动作,,S901,将会动作。,故障复位按钮,X005,和,ANR,指令,将用于故障诊断的状,态继电器复位,。,报警器置位复位指令,其他数据处理指令,二进制平方根指令,SQR,(,Square Root,),浮点数转换指令,FLT,(,Floating,Piont,),高低字节交换指令,SWAT,二进制平方根指令、浮点数转换指令、高低字节交换指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),D(,可变址,),二进制,平方根,FNC48,(16/32),SQR(P),K,H,D,D,SQR, SQRP,:,5,步,DSQR, DSQRP,:,9,步,浮点数,转换,FNC49,(16/32),FLT(P),D,D,FLT, FLTP,:,5,步,DFLT, DFLTP,:,9,步,指令,名称,指令,编号,助记符,操作数,指令步数,S(,可变址,),高低字节,交换,FNC147,(16/32),SWAP(P),KnY,KnM,KnS,T,C,D,V,Z,SWAP, SWAPP,:,5,步,DSWAP, DSWAPP,:,9,步,图中:,X002,为,ON,时,,将存放在,D45,中的数开方,结,果存放在,D123,内。计算结果舍去小数,只取,整数。,M8023,为,ON,将对,32,位浮点数开方,结,果为浮点数。,X003,为,ON,,,且,M8023,(浮点数标志)为,OFF,时,该指令将存放在源操作数,D10,中的数据转,换为浮点数,并将结果存放在目的寄存器,D13,和,D12,中。,M8023,为,ON,时,,将把浮点数转换为整数。用于存放浮点数的目的操作,数应为双整数,源操作数可以是整数或双整数。,X004,为,ON,时,,16,位指令将,D10,中的高,8,位与低,8,位字节交换,二进制平方根指令、浮点,数转换指令、高低字节交换指令,第七节 三菱,FX2N,系列,PLC,高速处理应用指令,与输入输出有关的指令,输入输出刷新指令,输入输出刷新指令,REF,(,Refresh,),可用于对指定,的输入输出口立即刷新。,输入输出刷新指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,D(,可变址,),n,输入输出刷新,FNC50,(16),REF(P),X,Y,K,H,n,为,8,的倍数,REF, REFP,:,7,步,图中:,当,X000,为,ON,时,,X010,X017,这,8,点输入(,n=8,),被立即刷新。,当,X001,为,ON,时,,Y000,Y027,共,24,点输(,n=24,),被立即刷新。,输入输出刷新、滤波时间调整指令,刷新和滤波时间常数调整指令,刷新和滤波时间常数调整指令,REFF,(,Refresh and Filter Adjust,),用来刷新输入口,X000,X017,,并指定它们的输入滤波时间常数,n,。,刷新和滤波时间常数调整指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,n,刷新和滤波时间常数调整,FNC51,(16),REFF(P),K,H,N=0,60ms,REFF, REFFP,:,7,步,图,中,当,X010,为,ON,时,,X000,X017,的输入映像寄存器被刷新,它们的输入滤波时间常数被设定为,1ms,(,n=1,)。,矩阵输入指令,可以将,8,点输入与,n,点输出构成,8,行,n,列的输入矩阵,从输入端快速、批,量接收数据。,矩阵输入占用由,S,指定的输入号开始的,8,个输入点,并占用由,D1,指定的,输出号开始的,n,个晶体管输出点。,矩阵输入指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S,(,可变址,),D1,(,可变址,),D2,(,可变址,),n,矩阵,输入,FNC52,(16),MTR,X,Y,Y,M,S,K,H,n=2,8,MTR,:,9,步,如图所示:,n,3,,是一个,8,点输入、,3,点输出,可,以存储,24,点输入的矩阵电路。,3,个输出点(,Y020,Y022,)依次反复,顺序接通。,Y020,为,ON,时读入第一行输入的状态,,存于,M30,M37,,,Y021,为,ON,时读入第二行输入的状态,,存于,M40,M47,,,余类推,如此反复执行。,矩阵输入指令使用说明,高速计数器指令,高速计数器比较置位,HSCS,(,Set by,High Speed Counter,),高速计数器比较复位,HSCR,(,Reset,by High Speed Counter,),高速计数器区间比较,HSZ,(,Zone,compare for High Speed Counter,),它们均为,32,位,指令。,高速计数器指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S1,(,可变址,),S2,(,可变址,),D,(,可变址,),比较,置位,FNC53,(32),HSCS,K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,C,C235,C255,Y,M,S,I010,I060,HSCS,:,13,步,比较,复位,FNC54,(32),HSCR,Y,M,S,HSCR,:,13,步,指令,名称,指令,编号,助记符,操作数,指令步数,S1,(,可变址,),S2,(,可变址,),S,(,可变址,),D,(,可变址,),区间,比较,FNC55,(32),HSZ,K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,S1S2,C,C235,C255,Y,M,S,HSZ,:,17,步,高速计数器区间比较指令有,三种工作模式,:标准模式、多段比较模式,和频率控制模式。,若在同一程序中多处使用高速计数器控制指令,其被控对象输出继电,器的编号的高,2,位应相同,以便在同一中断处理过程中完成控制。,例如:,使用,Y000,时,应为,Y000,Y007,。使用,Y010,时,应为,Y010,Y017,。,图中:,C255,的设定值为,100,(,S1=100,),其当前值由,99,变位,100,或由,101,变为,100,时,,Y010,立即置,1,,不,受扫描时间的影响。,C254,的设定值为,200,(,S1=200,),其当前值由,199,变为,200,或由,201,变为,200,时,,Y020,立即复位。,C251,的当前值小于,1000,时,,Y010,置,1,;大于,1000,小于,1200,时,,Y011,置,1,;大于,1200,时,,Y012,置,1,。,高速计数器指令使用说明,脉冲密度与输出指令,脉冲密度速度检测指令,脉冲密度速度检测指令,SPD,(,Speed Detect,),用来检测给定时间内从编码器输入的脉冲个数,并计算出速度。,脉冲密度指令使用要素,指令,名称,指令,编号,助记符,操作数,指令步数,S1(,可变址,),S2(,可变址,),D(,可变址,),脉冲,密度,FNC56,(16),SPD,X000,X005,K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z,T,C,D,V,Z,SPD,:,7,步,图中:用,D1,对,X000,输入的脉冲个数计数,,100ms,后计数结果送到,D0,、,D1,中的当前值复位,重新开始对脉冲计数。计数结束后,D2,用来测量剩余时间。,脉冲密度速度检测指令,转速,n,用下式表示:,式中,,n,为转速,(,D,0,)为,D0,中的数;,t,为,S2,指定的计数时间(,ms,);,n,0,为每转的脉冲数。,脉冲输出与脉宽调制指令,脉冲输出指令,PLSY,(,Pulse Output,),用于产生指定数量和频率的脉冲。,脉宽调制指令,PWM,(,Pulse Width Mod
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!