PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令第一节应用指令的基本规则应用指令的表示与执行形式指令与操作数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条PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令指令的形态与执行形式分类:根据处理数值的位数,应用指令可分为16位指令和32位指令。根据指令的执行形式,应用指令可分为连续执行型与脉冲执行型。标志的处理标志动作:零标志(M8020);借位标志(M8021);进位标志(M8022);执行结束(M8029)等。如果在应用指令的结构、可用软元件及其编号范围等方面有错误时,在运算执行过程中会出现,下列标志位会动作同时会记录出错信息:(1)M8067、D8067、D8069若出现运算错误,M8067保持动作,运算错误代码编号存储在D8067中,错误发生的步号存储在D8069中。若在其他步发生新错误时,其指令的出错代码和步号将被依次更新。(2)M8068、D8068若出现运算错误,M8068保持动作,错误发生的步号存储在D8068中。即使其他指令中发生新错误也不更新内容,在强制复位或电源断开前动作一直保持。•对于32位应用指令,其助记符在16位指令助记符上添加符号D。•脉冲执行型指令的助记符用添加符号P来表示。其指令只在驱动条件从OFF→ON变化时执行一次,其他时刻不执行。•连续执行型应用指令在各扫描周期都执行的指令,操作数的内容每个扫描周期都变化。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令指令使用次数与同时驱动的限制•有些应用指令只能在指定次数内进行编程,禁止多次重复使用。但是可以采用变址寄存器来改变指令内的软元件编号与数值,与采用多次控制同样的效果。•有些应用指令即使能多次编程,也有同时动作点数的限制。例如:FNC53(DHSCH)、FNC54(DHSCR)与FNC55(DHSZ)指令同时动作点数在6点以下;FNC80(RS)指令动作点数只能有1点。浮点运算的数值处理功能:更精确地进行乘、除和开方等运算。浮点数运算都是采用二进制浮点数。二进制浮点数采用连续编号的一对数据寄存器,按一定规则表示。如图所示:•以(D11,D10)为例•正负号由b31决定•不按补码处理二进制浮点数表示方法PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令将二进制浮点数变为十进制浮点数。D1D010指数十进制浮点数=尾数D0100099990尾数=(~)或D14135指数=~•如图8-2所示:•D0、D1的最高位为符号位,•按2的补码处理,•十进制浮点数的最小绝对值1175×10-41,最大绝对值为3402×1035。十进制浮点数表示方法应用指令说明使用应用指令需注意指令的要素。加法指令的形式及要素。加法指令的使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D加法FNC20(16/32)ADD(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZADD,ADDP:7步DADD,DADDP:13步应用指令的使用要素说明如下:(1)指令编号每条应用指令都有一个的编号,上表中FNC20就是加法指令的编号。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令(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个程序步。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令第二节三菱FX2N系列PLC程序流程控制应用指令三菱FX2N系列PLC程序流程控制应用指令共有十条,指令编号为FNC00~FNC09。它们在程序中的条件执行与优先处理,与顺控程序的控制流程有关条件跳转指令条件跳转指令CJ(ConditionalJump,FNC00):用于跳过顺序程序中的某一部分,以控制程序的流程。指针P(Point)用于指示分支和跳步程序,在梯形图中,指针放在左侧母线的左边。使用要素说明见表。条件跳转指令的使用要素指令名称指令编号助记符操作数指令步数D条件跳转FNC00(16)CJ(P)P0~P127P63即是END所在步,不需标记CJ,CJP:3步标号P:1步•使用跳转指令可以缩短扫描周期。•一个指针只能出现一次。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令如图,•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如果在驱动后跳转,则继续工作,输出触点也会动作。•如果从主令控制区的外部跳入其内部,不管它的主控触点是否接通,都把它当成接通来执行主令控制区内的程序。如果跳转指令和标号都在同一主控区内,主控触点没有接通时不执行跳转。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令子程序调用与返回指令子程序调用指令CALL(Sub-RoutineCall,FNC01)。子程序返回指令SRET(Sub-RoutineReturn,FNC02)。子程序调用与返回指令的使用要素指令名称指令编号助记符操作数指令步数D子程序调用FNC01(16)CALL(P)指针P0~P62,P64~P127嵌套5级CALL,CALLP:3步标号P:1步子程序返回FNC02SRET无1步在指令CALL中:•各子程序用指针P0~P62及P64~P127表示。•同一指针只能出现一次。•CJ指令中用过的指针不能再用。•不同位置的CALL指令可以调用同一指针的子程序。在指令SRET中无操作数。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令图中,•X001是子程序执行的条件,当X001置1时,调用指针标号为P10的子程序一次,即程序将跳到指针P10处执行。•在子程序中调用子程序称为嵌套调用,最多可以嵌套5级。•在执行子程序1时,如果X030为ON,CALLP11指令被执行,程序跳到P11处,嵌套执行子程序2。•执行第二条SRET指令后,返回子程序1中CALLP11指令的下一条指令,执行第一条SRET指令后返回主程序中CALLPP10指令的下一条指令。•因为子程序是间歇使用的,在子程序中使用的定时器应在T192~T199和T246~T249之间选择。子程序的调用与返回中断指令中断事件:输入中断、定时中断和高速计数器中断。中断指令:中断返回IRET(InterruptionReturn)。允许中断EI(InterruptionEnable)。禁止中断DI(InterruptionDisable)。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令中断指令的使用要素指令名称指令编号助记符操作数指令步数D中断返回FNC03IRET无1步中断允许FNC04EI无1步中断禁止FNC05DI无1步•用于中断的指针用来指明某一中断源的中断程序的入口,•执行到IRET(中断返回)指令时返回中断事件出现时正在执行的程序。•中断指针应在FEND指令之后使用。输入中断用来接收特定的输入地址号的输入信号,输入中断指针I□0△。最高位□与X000~X005的元件号相对应,单元的输入号为0~5(从X000~X005输入)。最低位△为0时表示下降沿中断,反之为上升沿中断。定时器中断指针为I6□□~I8□□,低两位是以ms为单位定时时间(1~99ms)。M8056~M5058为ON时,将分别禁止定时中断0~2。计数器中断指针为I0□0(□=1~6)。计数器中断与HSCS(高速计数器比较置位)指令配合使用,根据高速计数器的计数当前值与计数设定值的关系来确定是否执行相应的中断服务程序。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令中断指令在梯形图中的表示如图所示。•PLC通常处于禁止中断的状态,指令EI和DI之间的程序段为允许中断的区间,若程序执行到中断子程序中IRET指令时,返回原断点,继续执行原来的程序。•中断程序从它惟一的中断指针开始,到第一条IRET指令结束。•中断程序应放在FEND指令之后,IRET指令只能在中断程序中使用。•特殊辅助继电器M805△为ON时(△=0~8),禁止执行相应的中断I△□□(□□是与中断有关的数字)。•M8059=ON时,关闭所有的计数器中断。•如果有多个中断信号依次发出,则优先级按发生的先后为序,发生越早的优先级越高。中断指令在梯形图中的表示•若同时发生多个中断信号,则中断指针号小的优先。•执行一个中断子程序时,其他中断被禁止,在中断子程序中编入EI和DI,可以实现双重中断,只允许两级中断嵌套。•如果中断信号在禁止中断区间出现,该中断信号被储存,并在EI指令之后响应该中断。不需要关中断时,只使用EI指令,可以不使用DI指令。PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令主程序结束指令主程序结束指令FEND(FirstEnd,FNC06):表示主程序的结束和子程序的开始,使用要素说明见表。主程序结束指令的使用要素指令名称指令编号助记符操作数指令步数D主程序结束FNC06FEND无1步主程序结束指令的应用举例。•当X010为OFF时,不执行跳转指令,仅执行主程序;•当X010为ON时,执行跳转指令,跳到指针标号P20处,执行第二个主程序。•在第二个主程序中,若X011为OFF,仅执行第二个主程序,若X011为ON,调用指针标号为P21的程序。•结束后,通过SRET指令返回原断点,继续执行第二个主程序。主程序结束指令的应用PLC电气控制技术第八章三菱FX2N系列可编程序控制器应用指令注意事项:•执行到FEND指令时PLC进行输入输出处理、监控定时器刷新,完成后返回第0步。•子程序(包括中断子程序)应放在FEND指令之后。•CALL指令调用的子程序必须用SRET指令结束。•中断子程序必须以IRET指令结束。•若FEND指令在CALL指令执行