您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 三菱PLC功能指令5566
5.2FX系列可编程控制器功能指令概述程序流程控制功能指令传送与比较指令算术运算和逻辑运算指令循环移位与移位指令数据处理指令高速处理指令外部I/O设备指令FX系列外部设备指令浮点数运算指令方便指令外围设备指令触点比较指令程序流程控制功能指令分类FNCNO.助记符功能32位指令脉冲指令FX1SFX1NFX2NFXZNC程序流控制00CJ条件跳转—○○○○○01CALL子程序调用—○○○○○02SRET子程序返回——○○○○03IRET中断返回——○○○○04EI允许中断——○○○○05DI禁止中断——○○○○06FEND主程序结束——○○○○07WDT监控定时器刷新—○○○○○08FOR循环开始——○○○○09NEXT循环结束——○○○○条件跳转指令CJ子程序调用指令CALL与返回指令SRET中断返回指令IRET、允许中断指令EI与禁止中断指令DI主程序结束指令FEND监视定时器刷新指令WDT循环开始指令FOR与循环结束指令NEXTCJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。条件跳转指令CJ应用说明如图子程序调用指令CALL与返回指令SRET子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束。中断返回指令IRET、允许中断指令EI与禁止中断指令DIPLC一般处在禁止中断状态。指令EI~DI之间的程序段为允许中断区间,而DI~EI之间为禁止中断区间。当程序执行到允许中断区间并且出现中断请求信号时,PLC停止执行主程序,去执行相应的中断子程序,遇到中断返回指令IRET时返回断点处继续执行主程序。FEND指令表示主程序的结束,子程序的开始。程序执行到FEND指令时,进行输出处理、输入处理、监视定时器刷新,完成后返回第0步。FEND指令通常与CJ-P-FEND、CALL-P-SRET和I-IRET结构一起使用(P表示程序指针、I表示中断指针)。CALL指令的指针及子程序、中断指针及中断子程序都应放在FEND指令之后。CALL指令调用的子程序必须以子程序返回指令SRET结束。中断子程序必须以中断返回指令IRET结束如果扫描时间(从第0步到END或FEND)超过100ms,PLC将停止运行。在这种情况之下,应将WDT指令插到合适的程序步(扫描时间不超过100ms)中刷新监视定时器。FOR~NEXT之间的程序重复执行n次(由操作数指定)后再执行NEXT指令后的程序。循环次数n的范围为1~32767。若n的取值范围为-32767~0,循环次数作1处理。FOR与NEXT总是成对出现,且应FOR在前,NEXT在后。FOR~NEXT循环指令最多可以嵌套5层。利用CJ指令可以跳出FOR~NEXT循环体。传送与比较指令比较指令CMP区间比较指令ZCP传送指令MOV移位传送指令SMOV取反传送指令CML块传送指令BMOV多点传送指令FMOV数据交换指令XCHBCD变换、BIN变换指令比较指令CMP比较指令CMPCMP指令有三个操作数:两个源操作数[S1.]和[S2.],一个目标操作数[D.],该指令将[S1.]和[S2.]进行比较,结果送到[D.]中。CMP指令使用说明如图所示。区间比较指令ZCPZCP指令是将一个操作数[S.]与两个操作数[S1.]和[S2.]形成的区间比较,且[S1.]不得大于[S2.],结果送到[D.]中。ZCP指令使用说明如图5.15所示。传送指令MOVMOV指令将源操作数的数据传送到目标元件中,即[S.]→[D.]。MOV指令的使用说明如图所示。当X0为ON时,源操作数[S.]中的数据K100传送到目标元件D10中。当X0为OFF,指令不执行,数据保持不变移位传送指令SMOV首先将二进制的源数据(D1)转换成BCD码,然后将BCD码移位传送,实现数据的分配、组合。源数据BCD码右起从第4位(m1=4)开始的2位(m2=2)移送到目标D2/的第3位(n=3)和第2位,而D2/的第4和第1两位BCD码不变。然后,目标D2/中的BCD码自动转换成二进制数,即为D2的内容。BCD码值超过9999时出错。取反传送指令CMLCML指令使用说明如图所示。将源操作数中的数据(自动转换成二进制数)逐位取反后传送。块传送指令BMOVBMOV指令是从源操作数指定的元件开始的n个数组成的数据块传送到指定的目标。如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。BMOV指令的使用说明如图所示。多点传送指令FMOVFMOV指令是将源元件中的数据传送到指定目标开始的n个目标元件中,这n个元件中的数据完全相同。FMOV指令使用说明如图所示数据交换指令XCHXCH指令是将两个目标元件D1和D2的内容相互交换。使用说明如图所示BCD变换、BIN变换指令BCD是将源元件中的二进制数转换为BCD码送到目标元件中。对于l6位或32位二进制操作数,若变换结果超出0-9999或0-99999999的范围就会出错。BCD指令常用于将PLC中的二进制数变换成BCD码输出以驱动LED显示器。BIN是将源元件中的BCD码转换为二进制数送到目标元件中。常数K不能作为本指令的操作元件。如果源操作数不是BCD码就会出错。BIN指令常用于将BCD数字开关的设定值输入到PLC中。算术运算和逻辑运算指令加法指令ADD、减法指令SUB乘法指令MUL、除法指令DIV加1指令INC、减1指令DEC字逻辑运算指令(FNC26~FNC29)加法指令ADD、减法指令SUBADD指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。每个数据的最高位作为符号位(0为正,1为负),运算是二进制代数运算。减法指令SUB与ADD指令类似。乘法指令MUL、除法指令DIVMUL指令是将两个源元件中的数据的乘积送到指定目标元件。如果为16位数乘法,则乘积为32位,如果为32位数乘法,则乘积为64位,如图5.25所示。数据的最高位是符号位加1指令INC、减1指令DECINC、DEC指令操作数只有一个,且不影响零标志、借位标志和进位标志。在16位运算中,32767再加1就变成了-32768。32位运算时,2147483647再加1就变成-2147483648。DEC指令与INC指令处理方法类似。字逻辑运算指令(FNC26~FNC29)字逻辑运算指令包括WAND(字逻辑与)、WOR(字逻辑或)、WXOR(字逻辑异或)和NEG(求补)指令。使用方法如图所示循环移位与移位指令右循环移位指令ROR、左循环移位指令ROL带进位循环右移指令RCR、带进位循环左移指令RCL位右移位指令SFTR、位左位指令SFTL字右移位指令WSFR、字左移位指令WSFL先入先出(FIFO)写入指令SFWR、读出指令SFRD右循环移位指令ROR、左循环移位指令ROL助记符功能操作数程序步[D.]nRORFNC30循环右移把目标元件的位循环右移n次KnY、KnM、KnS、T、C、D、V、ZK、H16位操作:n≤1632位操作:n≤32ROR、RORP、ROL、ROLP:5步DROR、DRORP、DROL、DROLP:9步ROLFNC31循环左移把目标元件的位循环左移n次带进位循环右移指令RCR、带进位循环左移指令RCL助记符功能操作数程序步[D.]NRCRFNC32带进位右移把目标元件的位和进位一起右移n位KnY、KnM、KnS、T、C、D、V、ZK、H16位操作:n≤1632位操作:n≤32RCR、RCRP,RCL、RCLP:5步DRCR、DRCRP,DRCL、DRCLP:9步RCLFNC33带进位左移把目标元件的位和进位一起左移n位执行RCR、RCL指令时,各位的数据与进位位M8022一起(16位指令时一共17位)向右(或向左)循环移动n位。在循环中移出的位送入进位标志,后者又被送回到目标操作元件的另一端。位右移位指令SFTR、位左位指令SFTL助记符功能操作数程序步[S.][D.]n1n2SFTRFNC34带进位右移把源元件状态存放到堆栈中,堆栈右移XYMSYMSK、Hn2≤n1≤1024SFTR、SFTRP、SFTL、SFTLP:9步SFTLFNC35带进位左移把源元件状态存放到堆栈中,堆栈左移字右移位指令WSFR、字左移位指令WSFL助记符功能操作数程序步[S.][D.]n1n2WSFRFNC36字右移把源元件状态存放到字栈中,堆栈右移KnX、KnY、KnM、KnS、T、C、DKnY、KnM、KnS、T、C、DK、Hn2≤n1≤512WSFR、WSFRP、WSFL、WSFLP:9步WSFLFNC37字左移把源元件状态存放到字栈中,堆栈左移先入先出(FIFO)写入指令SFWR、读出指令SFRD助记符功能操作数程序步[S.][D.]nSFWRFNC38FIFO写入创建长度为n位FIFO堆栈,与SFRD指令一起使用K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZKnY、KnM、KnS、T、C、DK、H2≤n≤512SFWR、SFWRP、SFRD、SFRDP:7步SFRDFNC39FIFO读出读FIFO,长度减1,与SFWR指令一起使用KnY、KnM、KnS、T、C、DKnY、KnM、KnS、T、C、D、V、Z数据处理指令区间复位指令ZRST解码指令DECO、编码指令ENCO置1位数总和指令SUM置1判别指令BON平均值指令MEAN报警器置位指令ANS报警器复位指令ANR平方根指令SQR浮点操作指令FLT区间复位指令ZRSTZRST指令使[D1.]~[D2.]的元件复位,如图所示。[D1.]指定的元件号应小于或等于[D2.]指定的元件号。若[D1.]号大于[D2.]号,则只有[D1.]指定的元件被复位。[D1.]、[D2.]也可以同时指定32位计数器。解码指令DECO、编码指令ENCO解码指令:将目标元件的指定位置ON编码指令:将源元件置0N位的最高位置存放到目标元件置1位数总和指令SUM置1位数总和指令SUM:统计源操作数置ON位的个数,并存放到目标元件置1判别指令BON置1判别指令BON:用位标志指示指定位的状态平均值指令MEAN平均值指令MEAN:计算指定范围源数的平均值。平均值指n个源操作数的代数和被n除所得的商,余数略去。若元件超出指定的范围,n值会自动缩小,计算出允许范围内数据的平均值。若n值超出1~64,则出错报警器置位指令ANS报警器置位指令ANS:启动定时,时间到把状态元件置ON。如图所示,若X0和X1同时为ON并超过定时器T0的定时时间1s,S900置1(用于报警);S900置1后若X0或X1变为OFF,则定时器复位,而S900保持为1。报警器复位指令ANR报警器复位指令ANR:把激活的报警器复位。如图所示,X3变为ON时,S900~S999之间被置1的报警器复位。若1个以上报警器被置1,则元件号最低的那个报警器先被复位。当X3再次变为ON时,下一个被置1的报警器复位。若使用连续指令ANR,则按扫描周期依次将报警器复位平方根指令SQR平方根指令SQR:求源数的算术平方根如图所示,当X0为ON时,SQR指令执行,存放在D10中的数开二次方,结果存放在D12中。当源数据为负数时,计算结果出错,M8067置ON;当计算结果为零时,M8020置ON;当计算结果经过四舍五入圆整时,M8021置ON。浮点操作指令FLT助记符功能程序步[S.][D.]FLTFNC49浮点操作DDFLT、FLTP:5步DFLT、DFLTP:9步高速处理指令刷新指令REF刷新和滤波时间调整指令REFF矩阵输入指令MTR高速计数器置位指令HSCS高速计数器复位指令HSCR高速计数器区间比较指令HSZ速度检测指令SPD脉冲输出指令PLSY脉宽调制指令PWM刷新指令REF通常,PLC采用I/O批处理的方法进行工作。刷新指令REF用于在某段程序处理时即时读入最新输人信息或者在某一操作结束后立即将操作结果输出。刷新
本文标题:三菱PLC功能指令5566
链接地址:https://www.777doc.com/doc-6497314 .html