第5章 FX2N系列PLC的应用指令_第1页
第5章 FX2N系列PLC的应用指令_第2页
第5章 FX2N系列PLC的应用指令_第3页
第5章 FX2N系列PLC的应用指令_第4页
第5章 FX2N系列PLC的应用指令_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第5章

FX2N系列PLC的应用指令5.5高速处理指令5.4

程序流程控制指令5.3四则运算与逻辑运算指令

5.2数据处理指令5.1应用指令概述5.6方便指令

5.7其他应用指令5.1应用指令概述5.1.1应用指令的表达形式1.应用指令操作数位元件与字元件只处理ON/OFF状态的软元件称为位元件,如X、Y、M、S等;处理数值的软元件则称为字元件,如T、C、D等,一个字元件由16位二进制数组成。位元件组合位元件组合应用也可处理数值,位元件每4位一组组合成一个单元,通常的表示方法是Kn加上首元件号组成,n为单元数。

例如,K2X0表示由X0~X7组成的位元件组,这是一个8位数据,X0为最低位。16位数据时n=4,32位数据n=8。

例如:K4M10表示4个单元,由起始元件M10(最低位)开始组成的16个位的位元件组为M25~M10。三菱PLC基础与应用数据格式:在FX2N系列PLC内部,数据以二进制(BIN)补码的形式存储和处理的。当传送的数据位不匹配时,例如,16位数据传送到4位K1M0、8位K2M0、12位K3M0数据时,只能传送相应的低位数据,高位数据不传送。在进行16位数操作时,如果操作数的位元件不足16位时,不足高位部分均作0处理。在这种情况下,由于符号位为0,只能处理无符号数据。三菱PLC基础与应用2.应用指令的表达形式FX2N系列PLC的应用指令分别用编号FNC00~FNC246表示不同功能。例如,应用指令编号为FNC45的助记符是MEAN(求平均值)。

应用指令的表示格式如图5-1所示:

图5-1a为FX编程手册描述的梯形图;

图5-1b为FX编程软件中用户输入的实际梯形图;两者描述功能完全相同。三菱PLC基础与应用S:表示源操作数,该数据在指令执行过程中保持不变。在应用变址功能作为源操作数时,加上“.”符号即S.表示。当源操作数的数量多时,以S1.、S2....的形式表示。D:表示目标操作数。该数据按指令功能执行而改变。在应用变址功能作为目标操作数时,加上“.”符号即D.表示。当目标操作数的数量多时,以D1.、D2....的形式表示。n.:表示操作数的数量为多少。

应用指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。三菱PLC基础与应用

3.数据长度和指令执行形式

(1)数据长度

FX2N系列PLC的应用指令可以是16位数据指令,也可以是32位数据指令;数据寄存器D为16位,用于存放16位二进制数在应用指令的助记符前加“D”就变成32位指令。

(2)指令执行形式

应用指令有连续执行和脉冲执行型两种执行形式。指令助记符中有“P”,则表示该指令是脉冲执行形式,在执行条件满足时仅执行一个扫描周期;

指令助记符中没有“P”,则表示该指令是连续执行形式。连续执行型在执行条件满足时,每个扫描周期都要被执行。

数据长度的表示5.2数据处理指令5.2.1.比较指令CMP(Compare)1.比较指令CMP(Compare)功能编号FNC10,将源操作数[S1.]和[S2.]的数据进行比较,将比较的结果送到目标操作数[D.]中,并且占用3个连续单元。比较指令的简单应用示例如图所示。当X0为ON时,比较的结果为[S1.]>[S2.],M0置1(Y0为ON);[S1.]等于[S2.],M1置1(Y1为ON);[S1.]<[S2.],M2置1(Y2为ON)。

【例】密码锁设计。

密码锁的设计如图所示(其中左图为梯形图,右图为接线图),设置4位密码8251。

将4位数字开关的BCD码按序分别输入密码X3X2X1X0为8(1000)、2(0010)、5(0100)、1(0001)时,分别按一下确认键,输入密码正确,则输出位Y0为ON,电磁锁得电开锁。2.区间比较指令区间比较指令ZCP(ZoneCompare)的功能编号为FNC11。功能:一个源操作数[S.]与两个源操作数[S1.]和[S2.]中的数值进行比较,然后将比较结果传送到目标操作数[D.]为首地址的3个连续的软件元件中。区间比较指令的简单应用示例如图所示。

区间比较指令的应用

区间比较指令的应用注意事项:1)按代数形式进行大小比较。2)[S1.]中的数据不能大于[S2.]中的数据,如果[S1.]大于[S2.],则[S2.]被看作与[S1.]一样大。3)源操作数可以取所有数据格式,而目标操作数可取Y、M、S。4)ZCP(P)占7个程序步,DZCP(P)占13个程序步。5.2.2传送与交换指令1.传送指令MOV(Move)的功能编号为FNC12功能:将源操作数[S.]的内容传送到目标操作数[D.]中。传送指令的应用示例如图所示。在图中,当X0为ON时,将源操作数中的常数100传送到目标操作数D10中;当X1接通时,将D11、D10组成的32位源操作数传送到目标操作数D13、D12中。图

传送指令的应用

【例】用传送指令实现八人抢答电路。 要求8个指示灯Y0~Y7对应8个抢答按钮X0~X7,在主持人按下开始按钮X10后,才可以抢答,先按按钮者的灯亮,同时蜂鸣器Y10响,后按按钮者灯不亮。则按要求其设计的梯形图如图所示。

1)按下X10(开始抢答)的瞬时,由于抢答者的按钮均未按下,所以K2X0=0,同时将K2X0的值0传送到K2Y0中,同时CMP指令将K2Y0值与0进行比较,比较的结果M1=1,由M1接通MOV和CMP指令。2)当有抢答者按下抢答按钮时,如X1按钮先按下,则K2X0=00000010,经传送比较后,K2Y0=00000010,即Y1=1,对应指示灯点亮,同时执行CMP比较指令,K2Y0=2>0,比较的结果是M0=1,Y10得电,蜂鸣器响,抢答成功。

若M1=0,断开MOV和CMP指令,本次抢答结束。抢答器

2.移位传送指令移位传送指令SMOV(ShiftMove)的功能编号为FNC13功能:将[S.]中的16位二进制数据以BCD的形式按位传送到[D.]中指定的位置。该指令的应用如图所示。1)源操作数D1(二进制)被转换成BCD码进行移位传送;2)源数据BCD码按指定位右起第4位(m1=4)开始的2位(m2=2)数据移到目标操作数D2的第3位(n=3)和第2位。3)然后目标操作数D2中的BCD码自动转换为二进制码,目标操作数中的第1位和第4位的BCD码不受移位传送指令的影响。3.取反传送指令取反传送指令CML(Complement)的功能编号为FNC14功能:将源操作数[S.]中的各位二进制数取反(0→1,1→0),按位传送到目标操作数[D.]中。

取反传送指令的应用示例如图所示。图

取反传送指令的应用

注意事项:

1)源操作数可以取所有数据格式,而目标操作数可取KnY、KnM、KnS、T、C、D、V、Z。2)如果源数据为常数K,该数据会自动转换为二进制数。3)CML(P)占5个程序步, DCML(P)占9个程序步。4.块传送指令

块传送指令BMOV(BlockMove)的功能编号为FNC15

功能:将源操作数指定的元件开始的n个数据组成的数据块传送到指定的目标,n可以取K、H和D。

块传送指令的应用示例如图所示。图

块传送指令的应用

5.多点传送指令多点传送指令FMOV(FillMove)的功能编号为FNC17。

功能:将源操作数中的数据传送到指定目标开始的n个文件中,传送后n个文件中的数据完全相同。

多点传送指令的应用示例如图所示。图

多点传送指令的应用交换指令脉冲执行方式:在X0为ON时,将D0和D10中的数据进行相互交换(仅执行一次)。6.数据交换指令

数据交换指令XCH(Exchange)的功能编号为FNC17。

功能:将数据在指定的目标元件之间进行交换。交换指令一般采用脉冲执行方式,否则每一个扫描周期都要交换一次。

数据交换指令的应用示例如图所示。图

数据交换指令的应用5.2.3变换指令1.BCD(BinaryCodetoDecimal)变换指令BCD变换指令的功能编号为FNC18。功能:将源元件中的二进制数转换为BCD码并送目标元件中。如果执行的结果超过0~9999的范围,或者32位操作时超过0~99999999的范围时,PLC会认定为错误。BCD变换指令常用于将PLC中的二进制数变换成BCD码输出以驱动LED显示器。BCD变换指令的应用如图所示。图BCD变换指令的应用当X0为ON时,将D0的二进制数值转换成BCD码后传送到K2Y0中。2.BIN变换指令

BIN(Binary)变换指令的功能编号为FNC19。

功能:将源元件中的BCD数据转换成二进制数据送到目标元件中。可以用BIN指令将BCD数字拨码开关提供的设定值输入到PLC,如果源元件中数据不是BCD码,将会出错。BIN变换指令的应用示例如图所示。图BIN变换指令的应用5.2.4循环与移位指令

循环与移位指令共有10条,编号为FNC30~FNC39,主要用于数据的移位等操作。1.循环移位指令

循环右移指令ROR(RotationRight)的功能编号为FNC30。

执行该指令时,各位数据向右移动(从高位向低位)n位,最后一次移出来的那一位同时存入进位标志M8022中。如图所示。图

循环右移指令的应用

注意:1)16位指令和32位指令中n应分别小于16和32。2)ROR指令的目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。3)ROR(P)占5个程序步,DROR(P)占9个程序步。循环左移指令循环右移指令ROL(RotationLeft)的功能编号为FNC31,执行该指令时,各位数据向左移动(从低位向高位)n位,最后一次移出来的那一位同时存入进位标志M8022中。如图所示。图

循环左移位指令的应用

2.带进位的循环移位指令

带进位的循环右移指令RCR(RotationRightwithCarry)的功能编号为FNC32,执行该指令时,将各位数据连同进位标志M8022一起右移。如图所示。图

带进位的循环右移指令的应用

带进位的循环左移指令带进位的循环左移指令RCL(RotationLeftwithCarry)的功能编号为FNC33,执行该指令时,将各位数据连同进位标志M8022一起左移。如图所示。图

带进位的循环左移指令的应用

3.移位指令

位右移指令SFTR(ShiftRight)的功能编号为FNC34,该指令使位元件中的状态成组地向右移动,由n1指定位元件的长度,n2指定移动的位数,一般n2≤n1≤1024。位右移指令的应用如图所示。图

位右移指令的应用

位左移指令位左移指令SFTL(ShiftLeft)的功能编号为FNC35,该指令使位元件中的状态成组地向左移动,由n1指定位元件的长度,n2指定移动的位数,一般n2≤n1≤1024。

位左移指令的应用如图所示。图

位左移指令的应用

字右移指令

字右移指令WSFR(WordShiftRight)的功能编号为FNC36,该指令以字为单位,对n1位[D.]所指的字元件进行n2位[S.]字的向右移位,其工作过程与位右移指令类似。

字右移指令的应用如图所示。图

字右移指令的应用

字左移指令字左移指令WSFL(WordShiftLeft)的功能编号为FNC37,该指令以字为单位,对n1位[D.]所指的字元件进行n2位[S.]字的向左移位,其工作过程与位左移指令类似。字左移指令的应用示例如图所示。图

字左移指令的应用

4.移位写入读出指令

移位寄存器写入指令SFWR(ShiftRegisterWrite)的功能编号为FNC38,该指令将[S.]中的数据依次传送到[D.]中。

移位写入指令的应用示例如图所示。图

移位写入指令的应用

移位寄存器读出指令SFRD(ShiftRegisterRead)的功能编号为FNC39,该指令将[S.]中的数据依次读出到[D.]中。

移位写入指令的应用如图所示。图

移位读出指令的应用移位寄存器又称为FIFO(FirstInFirstOut,先入先出)堆栈。堆栈的长度范围为2~512字。移位寄存器写入指令SFWR和移位寄存器读出指令SFRD用于FIFO堆栈的读写,先写入的数据先读出。5.2.5其他数据处理指令

其他数据处理指令共有10条,应用指令的编号为FNC40~FNC49。用来处理更复杂的运算或控制。(1)区间复位指令区间复位指令ZRST(ZoneReset)的功能编号为FNC40,该指令是将[D1.]~[D2.]之间的指定元件号范围内的同类元件成批复位。区间复位指令的应用如图所示。图

区间复位指令的应用(2)

译码指令

译码指令DECO(Decode)的功能编号为FNC41,该指令将[S.]的n位二进制数进行译码,结果用[D.]的第2n个元件置1来表示。译码指令的应用如图所示。图

译码指令的应用(3)

编码指令

编码指令ENCO(Encode)的功能编号为FCN42,编码指令和解码指令刚好相反,该指令是将[S.]的2n位中最高位的1进行编码,编码存放[D.]的低n位中。

编码指令的应用示例如图所示。图

编码指令的应用

(4)ON位数统计指令

ON位数统计指令SUM的功能编号为FNC43,该指令用来统计指定元件中1的个数,用于将[S.]中1的个数存放在[D.]中,无1时零标志M8020=1。ON位数统计指令的应用示例如图所示。图ON位数统计指令的应用

(5)ON位判别指令ON位判别指令BON(BitONCheck)功能编号为FNC44,该指令是判断[S.]的指定位n是否为1,为1时,[D.]=1,为0时,[D.]=0。ON位判别指令的应用示例如图所示。图ON位判别指令的应用

(6)

平均值指令平均值指令MEAN的功能编号为FNC45,该指令是求[S.]开始的n个字元件的平均值,结果送到[D.]中,余数舍去。平均值指令的应用示例如图所示。

注意:1)源操作数可取KnX、KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z,n=1~64。2)MEAN(P)只有16位操作数,占7个程序步。图

平均值指令的应用5.3四则运算与逻辑运算指令5.3.1四则运算指令加法指令ADD(Addition)的功能编号为FNC20。

功能:将指定的源元件中的二进制数相加,结果送到指定的目标元件。

加法指令的应用示例如图所示。图

加法指令的应用

减法指令减法指令SUB(Subtration)的功能编号为FNC21,

功能:将指定的源元件中的二进制数相减,结果送到指定的目标元件。减法指令的应用示例如图所示。图

减法指令的应用

【例】利用减法指令

60s倒计时显示控制梯形图分析:T0定时设定值?M8000为ON的工作过程?

图30s倒计时显示控制的梯形图乘法指令乘法指令MUL(Multiplication)的功能编号为FNC22,该指令将指定源元件中的二进制数相乘,结果送到指令的目标元件中。乘法指令的应用如图所示。图

乘法指令的应用

除法指令除法指令DIV(Division)的功能编号为FNC23,该指令将源操作数[S1.]除以[S2.],商送到目标元件[D.]中,余数送到[D.]的下一元件。其中[S1.]为被除数,[S2.]为除数。除法指令的应用示例如图所示。图

除法指令的应用

加1指令加1指令INC(Increment)的功能编号为FNC24,该指令是将指定元件中的数值加1。

加1指令的应用示例如图所示。图

加1指令的应用

减1指令减1指令DEC(Decrement)的功能编号为FNC25,该指令是将指定元件中的数值减1。减1指令的应用如图所示。图

减1指令的应用5.3.2逻辑指令

逻辑与指令WAND指令的编号为FNC26。该指令是将两个源操作数按位进行与操作,结果存入在指定元件。逻辑或指令WOR指令的编号为FNC27。该指令是将两个源操作数按位进行或操作,结果存入在指定元件。逻辑异或指令WXOR(ExclusiveOR)指令的编号为FNC28。该指令是将两个源操作数按位进行异或操作,结果存入在指定元件。如图所示。三菱PLC基础与应用图逻辑与、或和异或指令的应用

求反指令CML将源操作数中的数据按位分别取反,然后送入指定的目标单元。求补指令将指定元件中的各位按位取反(0→1,1→0)后再加1,将其结果仍存放在原来的元件中。求补指令的应用如图所示。

负数用二进制的补码形式来表示,最高位为符号位,正数时该位为0,负数时该位为1,将负数求补后得到它的绝对值。图

求补指令的应用

【例】求两个数之差的绝对值。 求两个数之差的绝对值的梯形图如图所示。图

求两个数之差的绝对值5.4程序流程控制指令5.4.1条件跳转指令

条件跳转指令CJ(ConditionalJump)的功能编号为FNC00,操作数的指针标号P0~P127,其中P63即END所在步序,无需再标号。CJ和CJP都占3个程序步,指针标号占1个程序步。

指针P(Point)用于分支和跳转步序,在梯形图中,指针放在左侧母线的左边,当CJ指令条件满足时,跳转到相应的标号处。5.4.2子程序调用和

子程序返回

子程序调用指令CALL(SubRoutineCall)的功能编号为FNC01,操作数为P0~P127,CALL和CALLP指令都占3个程序步。

子程序返回指令SRET(SubRoutineReturn)的功能编号为FNC02,无操作数,占用1个程序步。

三菱PLC基础与应用CALL的功能:当执行条件满足时,该指令使程序跳到标号处,执行该标号对应的子程序。SRET的功能:返回到调用该子程序的CALL指令处的下一逻辑行。应用示例5.4.3中断指令

1.中断类型与指针

中断指针(I□□□~I8□□)是用来指示某一中断程序的入口位置的。执行中断后遇到IRET指令,则返回主程序。中断指针有以下三种类型:1)输入中断指针(I00□~I50□):共6点,用来指示由特定输入端的输入信号而产生中断的中断服务程序的入口位置。这类中断不受PLC扫描周期的影响,可以及时处理外界信息。输入中断指针编号格式如下:例如:I201是当输入X2从OFF→ON变化时,执行以I201为标号的中断程序,并根据IRET指令返回。2)定时器中断指针(I6□□~I8□□):共3点,用来指示周期定时中断的中断服务程序的入口位置。这类中断的作用是PLC以指定的周期定时执行中断服务程序,定时循环处理某些任务,处理的时间也不受PLC扫描周期的影响。定时器中断指针格式如下:3)计数器中断指针(I010~I060):共6点,用于在PLC内置的高速计数器中。当高速计数器的当前值达到规定值,执行中断子程序。常用于利用高速计数器优先处理计数结果的场合。2.中断指令中断返回指令IRET(InterruptReturn)的功能编号FNC03,无操作数,占1个程序步。中断允许指令EI(EnableInterrupt)的功能编号FNC04,无操作数,占1个程序步。中断禁止指令DI(DisableInterrupt)的功能编号FNC05,无操作数,占1个程序步。中断是指在执行主程序的过程中,中断主程序转而去执行中断服务子程序。PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间时,如果有中断源产生中断,CPU将暂停主程序而转去执行中断服务程序。当遇到IRET时返回断点继续执行主程序。 中断指令的简单应用示例如图所示,如在允许中断范围内,如果外部中断源X1有一个下降沿,则转入I100为标号的中断服务程序。但X0能否引起中断还受M8050的控制,当X10为ON时,M8050=1,禁止I100中断。图

中断指令的应用表

中断类型及中断禁止特殊辅助继电器

1.监视定时器指令监视定时器指令WDT(WatchDogTimer)的功能编号为FNC07,没有操作数,占用1个程序步。监视定时器WDT(WatchDogTimer)又称看门狗,该指令的功能是对PLC的监视定时器进行复位。PLC正常工作时扫描周期小于它的定时时间。监控定时器定时时间在FX2N中默认值为200ms,如果PLC运行一个扫描周期的时间超过监控定时器规定的200ms时,PLC将停止工作,这时CPU-E(CPU错误)指示灯亮。5.4.4其他控制指令

2.循环指令循环开始指令FOR的功能编号为FNC08,源操作数表示循环次数,占3个程序步。循环结束指令NEXT的功能编号为FNC09,无操作数,占1个程序步。FOR与NEXT构成循环指令,FOR~NEXT之间的程序被反复执行,执行次数由FOR指令的源操作数n设定,n的取值范围1~32767。执行完后,再执行NEXT后面的指令。3.主程序结束指令主程序结束指令FEND(FirstEnd)的功能编号为FNC06,无操作数,占用1个程序步。FEND表示主程序结束,当执行到FEND时,PLC执行输入/输出处理、监视定时器的刷新、返回0步程序。应用FEND指令的注意事项:1)子程序和中断服务程序应放在FEND之后。2)子程序和中断服务程序必须写在FEND和END之间,否则会出错。5.5高速处理指令

高速处理指令共有10条,应用指令的编号为FNC50~FNC59,主要用于对PLC中的输入输出数据进行立即高速处理,以避免受扫描周期的影响。1.输入输出刷新指令输入输出刷新指令REF(Refresh)的功能编号为FNC50.

该指令是将X或Y的n位继电器的值进行刷新。应用示例如图所示。图

输入输出刷新指令的应用2.高速计数器比较置位指令调整计数器置位指令HSCS(SetByHighSpeedCounter)的功能编号为FNC53,该指令用于高速计数器的置位,当计数器的当前值达到预置值时,计数器的输出触点立即动作。它采用了中断方式使置位和输出立即执行而与扫描周期无关。

该指令用于32位高速计数器C235~C255,所以使用32位DHSCS指令。3.高速计数器比较复位指令高速计数器复位指令HSCR(ResetByHighSpeedCounter)的功能编号为FNC54,该指令用于高速计数器的复位,同DHSCS一样,该指令为32位指令,应用DHSCR,而不能用HSCR。应用示例如图所示。

4.高速计数器区间比较指令高速计数器区间比较指令HSZ(ZoneCompareForH.S.C)的功能编号为FNC55,该指令用于高速计数器的当前值和两个计数值比较,比较的结果用3个继电器表示,其作用和ZCP相似。图

高速计数器区间比较指令

5.脉冲输出指令脉冲输出指令PLSY(PulseY)的功能编号为FNC57,该指令用于指定输出继电器Y0或Y1输出给定频率的脉冲。脉冲输出指令的应用示例如图所示。图

脉冲输出指令的应用

注意事项:1)[S1.]、[S2.]可取所有数据类型;[D.]只有Y0和Y1两点。2)脉冲输出端必须是晶体管输出,闸流体与继电器输出均无效。3)本指令可应用于脉冲控制电机,如果步进电机作定位控制。4)PLSY占7个程序步,DPLSY占13个程序步。

6.脉宽调制指令脉宽调制指令PWM(PulseWidthModulation)的功能编号为FNC58,该指令用于产生周期和宽度都可以调节的输出脉冲。

脉宽调制指令的应用示例如图所示。图

脉宽调制指令的应用脉宽调制指令的应用注意事项:1)本指令只能应用1次。2)[S1.]指定的脉冲宽度t=0~32767,[S2.]指定周期T0=1~32767,但[S1.]≤[S2.];[D.]仅限于应用晶体管输出的Y0或Y1,其输出的通断可进行中断处理。3)PWM指令只有16位操作,占7个程序步。

7.可调速脉冲输出指令可调速脉冲输出指令PLSR(PulseR)的功能编号为FNC59

温馨提示

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

评论

0/150

提交评论