为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 逻辑运算关系表

逻辑运算关系表

2018-07-18 37页 ppt 330KB 8阅读

用户头像

is_113440

暂无简介

举报
逻辑运算关系表课题九功能指令及应用电气自动化设备安装与维修专业2014教学目的及要求:通过教学,使学生明确功能指令及使用要素,学会应用功能指令的方法,掌握应用常用功能指令设计程序的思想和技能。教学方式:理论讲解、例题讲解。演示操作:利用FX2N-64MRPLC实际操作功能指令的运行。重点难点:掌握功能指令的应用场合及使用方法。问题的提出:逻辑指令应用在逻辑控制的系统中、步进顺控指令应用在顺序逻辑控制的系统中。数据的传送、运算、变换及程序控制等功能则要使用功能指令。9.1功能指令及使用要素9.1.1功能指令的表示方法FX系列可编程序控制器采用...
逻辑运算关系表
课题九功能指令及应用电气自动化设备安装与维修专业2014教学目的及要求:通过教学,使学生明确功能指令及使用要素,学会应用功能指令的方法,掌握应用常用功能指令设计程序的和技能。教学方式:理论讲解、例题讲解。演示操作:利用FX2N-64MRPLC实际操作功能指令的运行。重点难点:掌握功能指令的应用场合及使用方法。问题的提出:逻辑指令应用在逻辑控制的系统中、步进顺控指令应用在顺序逻辑控制的系统中。数据的传送、运算、变换及程序控制等功能则要使用功能指令。9.1功能指令及使用要素9.1.1功能指令的示方法FX系列可编程序控制器采用计算机通用的助记符形式来表示功能指令。一般用指令的英文名称或例如图9.1中的指令助记符MEAN用来表示取平均值的指令。缩写作为助记符,FNCHELP功能指令的功能号和指令助记符占一个程序步,16位操作与32位操作的每一个操作数分别占2个和4个程序步。图9.1同时给出了功能指令MEAN的指令语句表和步序号。写入功能指令时,先按键.再输人功能指令的功能号,如MEAN的功能号为FNC45。使用简易编程器上的键的帮助功能,可以显示出功能指令助记符和功能号的一览表。9.1.2数据长度与指令类型1数据长度图9.1中助记符MOV之前的“(D)”表示处理32位(32bit)数据,这时相邻的两元件组成元件对,该指令将D11、D10中的数据传送到D13、D12。处理32位数据时,为了避免出现错误,建议使用首地址为偶数的操作数.没有“(D)”时表示处理16位数据。2脉冲执行与连续执行图9.1中MOV后面的“(P)”表示脉冲执行,即仅在X1由OFF(“0”状态)→ON(“1”状态)时执行一次。如果没有“(P)”,在XI为ON的每一扫描周期指令都要被执行,称为连续执行。某些指令(如INC(加1)、DEC(减l)和XCH(数据交慎)指令)一般应使用脉冲执行。如果不需要每个周期都执行指令,使用脉冲方式可缩短处理时间。符号“(P)”和“(D)”可同时使用。MOV的功能指令编号为12,输人功能指令(D)MOV(P)时按以下顺序按键:MOV的功能指令编号为12,输人功能指令(D)MOV(P)时按以下顺序按键:9.1.3位元件1位元件和字元件只有ON/OFF状态的元件称为位(bit)元件。例如X、Y、M和S。处理数据的元件称为字元件。例如定时器和计数器的当前值T,C和数局寄存器D等,一个数由l6位二进制数组成,位元件也可以组成字元件来进行数据处理。2位元件的组合每相邻的4bit位元件组合成一个单元,它由Kn加首位元件号来表示,其中的n为组数,16位操作数时n=1~4,32位操作数时n=l~8。例如K2M0表示由M0~M7组成的两个位元件组,M0为数据的最低位(首位);K4S10表示由S10~S25组成的16位数据,S10为最低位。当16位数据传送到n=1~3的位元件组时,只传送低位的相应数据;当32位数据传送到n=1~7的位元件组时,也是一样的。被组合的位元件的首位元件号可以是任意的,但是为了避免混乱,建议采用以0结尾的元件,如X0、X10、X20等。图7.2变址寄存器的使用作16位数操作时,参与操作的位元件由K1~K4指定。若仅由Kl~K3指定,高位的不足部分均作0处理,这意味着只能处理正数(最高位为符号位,正数的符号位为0),在32位数处理时也有类似的情况。9.1.4变址寄存器V、Z在传送、比较指令中,变址寄存器V,Z用来修改操作对象的元件号,循环程序中常使用变址寄存器。[S·]tsd和[D·]表示有变址功能。对32位指令,V为高I6位、Z为低16位。32位指令中使用变址指令只需指定Z,这时Z就能代表V和Z。在32位指令中,V、Z自动组对使用。图9.2中的各触点接通时,常数10送到V0,常数20送到Z1,ADD指令完成运算(D5V0)+(D15Z1)~(D40Zl),即(D15)+(D35)→(D60)。9.2功能指令及应用9.2.1程序流向控制指令程序流向控制指令(FNC00~FNC09)分别是CJ(条件跳转)、CALL(子程序调用)、SRET(子程序返回)、IRET(中断返回)、EI、DI(中断允许与中断禁止)、FEND(主程序结束)、WDT(监控定时器刷斩)和FOR、NEXT(循环开始和循环结束)。1条件跳转指令(1)条件跳转指令CJ(ConditionalJump)的功能指令编号为FNC00,操作数为P0~P127,P63是END所在步序,不需要标记。该指令占3个程序步,标号占一个程CJ和CJ(P)指令用干跳过顺序程序中的某一部分,以减少扫描时间。(2)两条跳转指令可以使用相同的标号,标号可以出现在相应跳转指令之前,但是如果反复跳转的时间超过监控定时器的设定时间,会引起监控定时器出错。一个标号只能出现—次,如出现两次或两次以上.则会出错。如果用M8000的常开触点驱动CJ指令,相当于无条件跳转指令,因为运行时特殊辅助继电器M8000总是为ON。设Y,M,S被OUT.SET,RST指令驱动,跳步期间即使驱动Y,M,S的电路状态改变,它们仍保持跳步前的状态。如图9.4中的X0为ON时,Y11的状态不会随X10发生变化,因为跳步期间根本没有执行这一段程序。如在跳步之前定时器和计数器的线圈开路,跳步期间即使X12和X13变为ON,T0和C1也不会工作。如果在跳步开始时定时器和计数器正在工作,在跳步期间它们将停止定时和计数,在CJ指令被复位[即X10变为OFF,跳步条件变为不满足)后继续工作。但是正在工作的T63和高速计数器不管有无跳步仍连续工作。(3)如果从主令控制区的外部跳人其内部,下管它的主控触点是否接通,都把它当成接通来执行主令控制区内的程序。如果跳步指令在主令控制区内,主控触点没有接通时不执行跳步。(4)跳步指令可以在很多场合使用。同一编程元件的线圈可以在跳步条件相反的两个跳步程序中分别出现-次,在这种情况下允许双线圈输出。若积算定时器和计数器的RST指令在跳步区外,即使定时器和计数器的线圈被跳转,对它们的复位仍然有效。2子程序调用与子程序返回指令子程序调用指令CALL(SubRoutineCall)的功能指令编号为FNC01,操作数为P0~P127(不包恬P63),占用3个程序步,允许用变址寄存器修改。子程序可以嵌套调用,最多嵌套5级。予程序返回指令SRET(SubRoutineReturn)的功能指令编号为FNC02,无操作数。3与中断有关的指令中断返回指令IRET(InterruptionReturn)的功能指令编号为FNC03;允许中断指令EI(InterruplionEnable)的功能指令编号为FNC04;禁止中断指令DI(InterruptionDisable)的功能指令编号为FNC05。以上3条指令均无操作数,分别占用一个程序步。FX2N系列有6个与X0~X5对应的中断输入点,中断指针为I口0口.最低位为0时表示下降沿中断,反之为上升沿中断。最高位与X0~X5元件号相对应。FX2N系列有3点定时器中断,对应的中断指针为I6口口~I8口口,低两位是以ms为单位的定时时间,定时器中断用于高速处理或每隔一定的时间执行的程序。FX2N系列的6点计数器的中断指针为I0口0(口=l~6),它们利用高速计数器的当前值产生中断,与HSCS(高速计数器比较置位)指令配合使用。可编程序控制器通常处于禁止中断的状态,指令EI和DI之间的程序段为允许中断的区间,当程序执行到该区间时,如果中断源产生中断,CPU将停止执行当前的程序,转去执行相应的中断子程序,执行到中断子程序中的IRET指令时,返回原断点,继续执行原来的程序。特殊辅助继电器M805△ON时,禁止执行相应的中断I△口口。M8059ON时,关闭所有的计数器中断。如果有多个中断信号依次发出,则优先级按发生的先后为序,发生越早的优先级越高。若同时发生多个中断信号,则中断指针号小的优先。执行一个中断子程序时,其他中断被禁止。在中断子程序中编入EI和DI,可实现双重中断。加果中断信号在禁止中断区间出现,该中断信号被储存,并在EI指令之后响应该中断。不需要关中断时,只使用EI指令,可以不使用DI指令。4程序结束指令主程序结束指令FEND(FirstEnd)的功能指令编号为FNC06,无操作数,占用一个程序步。FEND表示主程序结束,执行到FEND指令时可编程控制器进行输人输出处理、监控定时器刷新,完成后返回第0步。子程序(包括中断子程序)应放在FEND指令之后。CALL指令调用的子程序必须用SRET指令结束,中断子程序必须以IRET指令结束。若FEND指令在CALL指令执行之后和RSET指令执行之前出现,则程序出错。另一个类似的错娱是FEND指令出现在FOR~NEXT循环之中。使用多条FEND指令时,中断程序应放在最后的FEND指令和END指令之间。5监控定时器指令监控定时器指令WDT(WatchDogtimer)的功能指令编号为FNC07,无操作数,占用一个程序步。监控定时器又称看门狗,在执行FEND和END指令时,监控定时器被刷新(复位),可编程控制器正常工作时扫摘周期(从0步到FEND或END指令的执行时间)小于它的定时时间。如果强烈的外部干扰使可编程控制器偏离正常的程序执行路线,监控定时器不再被复位,定时时间到时,可编程控制器将停止运行,它上面的CPU-E发光二极管亮。监控定时器定时时间的缺省值为200ms,可通过修改D8000来设定它的定时时间。如果扫描周期大于它的定时时间,可将WDT指令插人到合适的程序步中刷新监控定时器。如果FOR~NEXT循环程序的执行时间可能超过监控定时器的定时时间,可将WDT指令插人到循环程序中。条件跳步指令CJ若在它对应的标号之后(即程序往回跳),可能因连续反复跳步使它们之间的程序被反复执行,总的执行时间可能超过监控定时器的定时时间,为了避免出现这样的情况,可在CJ指令和对应的标号之间插人WDT指令。6循环指令FOR指令用来表示循环区的起点,功能指令编号为FNC08,16位指令占用3个程序步,它的源操作数用来表示循环次数N,可以取任意的数据格式。循环次数N=1~32767.如N在-32767~0之间,当作N=l处理,循环可嵌套5层。NEXT是循环区终点指令,功能指令编号为FNC09,占用1个程序步,无操作数。图7.10循环程序FOR与NEXT之间的程序被反复执行,执行次数由FOR指令的源操作数设定。执行完后,执行NEXT后面的指令。9.2.2传送和比较指令比较与传送指令的编号为FNC10-FNC19。比较指令包括CMP(比较)和ZCP(区间比较)两条指令,传送指令包括MOV(传送)、SMOV(BCD码移位传送)、CLM(取反传送)、BMOV(数据块传送)、FMOV(多点传送)、XCH(数据交换)、BCD(二进制数转换成BCD码并传送)和BIN(BCD码转换为二进制数并传送)指令1比较指令.比较指令包拾CMP(比较)和ZCP区间比较),比较结果用目标元件的状态来表示。待比较的源操作数[S1·]和[S2·]可取任意的数据格式,目标操作数[D·]可取Y,M和S,占用3点。a比较指令比较指令CMP(Compare)的功能指令编号为FNC10,16位运算占7个程序步,32位运算占13个程序步。比较指令比较源操作数[S1·]和[S2·],比较的结果送到目标操作数[D·]中去。图9.11中的比较指令将十进制常数100与计数器C10的当前值比较,比较结果送到M0~M2。X1为OFF则不进行比较,M0~M2的状态保侍不变。X1为ON时进行比较,如果比较结果为[S1·]>[S2·],M0ON;若[S1·]<[S2·],M2ON。如指定的元件种类或无件号超出允许范围时将会出错。b区间比较区间比较指令的助记符为ZCP(ZoneCompare),功能指令编号为FNC11。16位运算占9个程序步,32位运算占17个程序步。图9.12中的X2为ON时,执行ZCP指令,将T3的当前值与常数100和150相比较,比较结果送到M3~M5,源数据[S1·]不能大于[S2·]。2传送指令[FNC12-FNC16]传送指令包括MOV(传迭)、SMOV(BCD码移位传送)、CML(取反传送)、BMOV(数据块传送)和FMOV(多点传送)以及XCH(数据交换)指令。MOV和CML指令的源操作数可取所有的数据类型,SMOV指令可取除K,H以外的其他类型的操作数。它们的目标操作数可取KnY,KnM,KnS,T,C,D,V和Z。a传送指令传送指令MOV(Move)的功能指令编号为FNC12,16位运算占5个程厅步,32位运算占9个程序步。传送指令将源数据传送到指定目标b移位传送移位传送指令SMOV(ShiftMove)的功能指令编号为FNC13,只有16位运算,占11个程序步。源数据(二进制数)被转换成4位BCD码然后将它移位传送。图7.13中的X0为ON时,将DI中右起第4位(ml=4)开始的2位〔m2=2)BCD码移到目标操作数(D2)的右起第3位(n=3)和第2位(见图7.14),然后D2中的BCD码自动转换为二进制码,D2中的第1位和第4位不受移位传送值令的影响。c取反传送指令取反传送指令的助记符为CML(Complement),功能指令编号为FNC14,16位运算占5个程序步,32位运算占9个程序步。取反传送指令将源元件宁的数据逐位取反(1→0,0→1)并传送到指定目标。若源数据为常数K,该数据会自动转换为二进制数,CML用于可编程控制器反逻辑输出时非常方便。d块传送指令块传送指令BMOV(BlockMove)的功能指令编号为FNC15,16位操作占7个程序步,块传送指令的源操作数可取KnX、KnY、KnM、KnS、T、C、D和文件寄存器,目标操作数可取KnY、KnM、KnS、T、C和D。块传送将源操作数指定的元件开始的n个数据组成的数据块传送到指定的目标。如果元件号超出允许的范围,数据仅仅传送到允许的范围。传送顺序是自动决定的,以防止源数据块与目标数据块重叠时源数据在传送过程中被改写。e多点传送指令多点传送指令FMOV(FillMove)的功能指令编号为FNC16,16位操作占7个程序步,32位操作占13个程序步。它的源操作数可取所有的数据类型,目标操作数可取KnY、KnM、KnS、T、C和D,n=512。多点传送指令将源元件中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。如果元件号超出允许的范围,数据仅仅送到允许的范围中。f数据交换指令数据交换指令XCH(Exchange)的功能指令编号为FNC17,16位运算占5个程序步,32位运算占9个程序步。它的两个目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。执行数据交换指令时,数据在指定的目标元件之间交换,交换指令一般采用脉冲执行方式,否则在每一个扫描周期都要交换一次。3数据交换指令数据变换指令包括BCD(二进制数转换成BCD码并传送)和BIN(BCD码转换为二进制数并传送)指令。它们的源操作数可取KnX、KnY、KnM、KnS、T、C、D、V和Z,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z,16位运算占5个程序步,32位运算占9个程序步。aBCD变换指令BCD变换指令的指令助记符为BCD(BinaryCodetoDecimal),功能指令编号为FNC18,该指令将源元件中的二进制数转换为BCD码并送到目标元件中。如果BCD指令执行的结果超过0~9999的范围,将会出错。如果(D)BCD指令执行的结果超过0~99999999的范围,也会出错。可编程控制器内部的算术运算用二进制数进行,可以用BCD指令将可编程控制器中的二进制数变换为BCD数后输出到7段显示器。bBIN变换指令BIN变换指令的指令助记符为BIN(Binary),功能指令编号为FNC19,该指令将源元件中的BCD码转换为二进制数井送到目标元件中。可以用BIN指令将BCD数字开关提供的设定值输入可编程控制器。如果源元件中的数据下是BCD数,将会出错。常数K不能作为本指令的操作元件,因为在任何处理之前它们都会被转换成二进制数。BCD码的范围与BCD指令中的相同。9.2.3循环移位指令循环移位与移位指令的功能指令编号为FNC30~FNC39。ROR,ROL分别是右、左循环移位指令,RCR,RCL分别是带进位的右、左循环移位指令。SFTR、SFTL分别是移位寄存器右、左移位指令。WSFR,WSFL分别是字右移、字左移指令,SFWR,SFRD分别是先人先出(FIFO)写人和移位读出指令。1循环移位指令右、左循环移位指令的指令助记符分别为ROR(RotaionRight)和ROL(RotationLeft),功能指令编号分别为FNC30和FNC31。它们只有目标操作数,可取KnY、KnM、KnS、T、C、D、V和Z。l6位指令占5个程序步,32位指令占9个程序步。16位指令和32位指令中n应分别小于16和32。执行这两条指今时,各位的数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进位标志M8022中(上图)。若在目标元件中指定位元件组的组数,只有K4(16位指令)和K8(32位指令)有效,如K4Y10和K8M0。2带进位的循环移位指令带进位的右、左循环移位指令的助记符分别为RCR(RotationRightwithCarry)和RCL(RotationLeftwithCarry),它们的功能指令编号分别为FNC32和FNC33。它们的目标操作数、程序步数和n的取值范围与循环移位指令相同。执行这两条指令时,各位的数据与进位位M8022一起向右(或向左)循环移动n位(上图)。在循环中进位标志被送到目标操作数中。若在目标元件中指定位元件组的组数,只有K4(16位指令)和K8(32指令)有效。4字右移和字左移指令字右移WSFR(WordShiftRight)、字左移WSFL(WordShiftLeft)的功能指令编号分别为FNC36和FNC37。它们的源操作数可取KnX、KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C和D。字移动指令只有16位运算,占9个程序步。字右移和字左移指令以字为单位,将nl个字右移或左移n2个(n2≤n1≤512)。5FIFO(先入先出)写入与读出指令aFIFO(FirstInFirstOut)写入指令FIFO写人指令SFWR(ShiftRegisterWrite)的功能指令编号为FNC38,源操作数可取所有的数据类型,目标操柞数可取KnY、KnM、KnS、T、C和D。只有16位运算,占7个程序步。bFIFO(FirstInFirstOut)读出指令FIFO读出指令SFRD(ShiftRegisterRead)的功能指令编号为FNC39,源操作数可取KnY、KnM、KnS、T、C和D,目标操柞数可取KnY、KnM、KnS、T、C、D、V和Z。只有16位运算,占7个程序步。9.2.4四则逻辑运算指令算术运算与字逻辑运算指令的功能指令编号为FNC20~FNC29,算术运算包括ADD,SUB,MUL,DIV(二进制加、减、乘、除)指令,INC,DEC(加l、减1)指令;WAND,WOR,WXOR,NEG分别是字编程元件的逻辑与、或、异或和取补指令。1算术运算算术运算包括ADD,SUB,MUL,DJV(二迸制加、减、乘、除)指令,源操作数可取所有的数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z(32位乘除指令中V和Z不能用作[D·])。16位运算占个程序步,32位运算占13个程序步。a加法指令加法指令ADD(Addition)的功能指令编号为FNC20。加法指令将源元件中的二进制数相加,结果送到指定的目标元件。每个数据的最高位为符号位(0为正,1为负)。加减运算为代数运算。图9.29中的X0为ON时,执行(D10)+(D12)→(D14)。b减法指令减法指令SUB(Subtraction)的功能指令编号为FNC21,减法指令将[S1·]指定的元件中的数减去[S2·]指定的元件中的数,结果送到[D·]指定的目标元件。每个标志的功能、32位运算元件的指定方法、连续执行和脉冲执行的区别等均与加法指今中的相同。图9.29中的X1为ON时,执行(D1、D0)一22→(D1、D0)。用脉冲执行的加减指令来加1/减1与脉冲执行的INC(加1)、DEC(减1)指令的执行结果相似,其不同之处在于INC指令和DEC指令不影响零标志、借位标志和进位标志。c乘法指令乘法指令MUL(Multiplication)的功能指令编号为FNC22,每个数据的最高位为符号位(0为正,1为负)。目标位元件(如KnM)可用K1~K8来指定位数。如果用K4来指定位数,只能得到乘积的低16位。32位乘法运算指令(D)MUL如用位元件作目标,则只能得到乘积的低32位,高32位丢失。在这种情况下,应先将数据移入字元件再进行运算、用字元件时,不能监控64位数据的内容,在这种情况下,建议采用浮点运算。d除法指令除法指令DIV(Divsion)的功能指令编号为FNC23,用[S1·]指定被除数,[S2·]指定除数,商送到[D·]指定的目标元件,余数送到[D·]的下一个元件。图9.32中的X3为ON时执行(D7、D6)÷(D9、D8),商送到(D3、D2),余数送到(D5、D4)。若除数为0则出错,不执行该指令。若位元件被指定为目标元件,不能获得余数,商和余数的最高位为符号位。2加1和减1指令加1和减1指令的助记符分别为INC(Increment)和DEC(Decrment),功能指令编号分别为FNC24和FNC25。它们的操作数均可取KnY、KnM、KnS、T、C、D、V和Z。16位运算占3个程序步,32位运算占5个程序步。3字逻辑运算指令字逻辑运算指令包括WAND(字逻辑与)、WOR(字逻辑或)、WXOR(字逻辑异或)和NEG(求补)指令,它们的功能指令编号分别为FNC26~FNNC29。WAND、WOR和WXOR指令的[S1·]和[S1·]均可以取所有的数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。16位运算占7个程序步,32位运算占13个程序步。逻辑运算关系表与或异或M=A·BM=A+BM=A⊕BABMABMABM0000000000100110111001011011111111109.2.5数据处理指令数据处理指令的功能指令编号为FNC40~FNC49,包括区间复位指令ZRST、解码指令DECO、编码指令ENCO、求置ON位总数指令SUM,ON位判别指令BON、平均值指令MEAN、报警器置位指令ANS、报警器复位指令ANR、平方根指令SQR、二进制整数→二迸制浮点数转换指令FLT和高低字节交换指令SWAP。1区间复位指令区间复位指令ZRST(ZoneReset)将[D1·]、[D2·]指定的元件号范围内的同类元件成批复位,它的功能指令编号为FNC40,目标操作数可取T、C和D(字元件)或Y、M、S(位元件)。该指令只有16位运算,占5个程序步。[D1·]和[D2·]指定的应为同一类元件,[D1·]的元件号应小干[D2·]的元件号。如[D1·]的元件号大干[D2·]的元件号,则只有[D1·]指定的元件被复位。虽然ZRST指令是16位处理指令,[D1·]、[D2·]也可以指定32位计致器。2解码与编码指令a解码指令解码指令DECO(Decode)的功能指令编号为FNC41。位源操作数可取X、T、M和S,位目标操作数可取Y、M和S。字源操作数可取K、H、T、C、D、V和Z,字目标操作数可取T、C和D,n=1~8。只有I6位运算,占7个程序步。下图中的X2~X0组成的3位(n=3)二进制数为011,相当于十进制数3(21+20=3),由目标操作数M7~M0组成的8位二进制数的第3位(M0为第0位)M3被置1,其余各位为0。如源数据全零,则M0置l。若指定的目标元件是字元件T、C、D,应使n≤4,目标元件的每一位都受控,若[D·]指定的目标元件是位元件Y、M、S,应使n≤8。n=0时,不作处理。利用解码指令,可以用数据寄存器中的数值来控制位元件的ON/OFF。b编码指令编码指令ENCO(Encode)的功能指令编号为FNC42,只有16位运算,占7个程序步。当[S·]指定的源操作数是字元件T、C、D、V和Z时,应使n≤4,当[S·]指定的源操作数是位元件X、Y、M和S时,应使n=1~8,目标元件可取T、C、D、V和Z。若指定源中为1的位不只一个,只有最高位的1有效。若指定源中的所有位均为0,则出错。下图中的n=3,编码指令将源元件M7~M0中为“1”的M3的位数3编码为二进制数011,井送到目标元件D10的低3位。解码/编码指令在n=0时不作处理。若在DECO指令中[D·]指定的元件和ENCO指令中[S·]指定的元件是位元件,而且n=8时,点数为28=256。当执行条件OFF时,指令不执行,编码输出保持不变。3求置ON位总数与ON位判别指令a求置ON位总数指令位元件的值为“l”时称为ON,求置ON位总数指令SUM的功能指令编号为FNC43。它的源操作数可取所有的数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z,16位运算占5个程序步,32位运算占9个程序步。图9.39中的X0为ON时,统计源操作数D0中为ON的位的个数,并将它送入目标操作数D2。若D0的各位均为“0”,则零标志M8020置1。如使用32位指令,目标操作数的高位字为0。 bON位判别指令ON位判别指令BON(BitONCheck)的功能指令编号为FNC44。它的源操作数可取所有的数据类型,目标操作数可取Y、M和S。16位运算占7个程序步,n=0~15,32位运算占13个程序步,n=0~31。BON指令用来检测指定元件中的指定位是否为“1”。下图中源操作数D10的第15位为ON(n=15),则目标操作数M0变为ON。即使X0变为OFF,M0仍保持不变。4平均值指令平均值指令MEAN的功能指令编号为FNC45。它的源操作数可取KnX、KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。16位运算占7个程序步,32位运算占13个程序步,n=1~64。平均值指令用来求n个源操作数的代数和被n除的商,余数峪去。若元件超出指定的范围,n的值会自动缩小,只求允许范围内元件的平均值。苦n的值超出范围l~64,则出错。5报警器置位复位指令a报警器置位指令报警器置位指令ANS(AnnunciatorSet)的功能指令编号为FNC46。它的源燥作数为T0~T199,目标操作数为S900~S999,m=1~32767(以l00ms为单位),只有16位运算,占7个程序步。若图9.40中的X0为ON的时间超过1s(m=10),S900置1,若X0变为OFF,定时器复位而S900保持为ON。若X0在1s内OFF,定时器复位。b报警器复位指令报警器复位指令ANR(AnnunciatorReset)的功能指令编号为FNC47,无操作数,只有16位运算,占1个程序步。若下图中的X1变为ON,S900~S999之间被置1的报警器复位,若超过1个报警器被置1,则元件号最低的那一个报警器被复位。若X1再次ON,下一地址的信号报警器被复位。6其它指令a二进制平方根指令平方根指令SQR(SquareRoot)的功能指令编号为FNC48。它的源操作数[S·]应大于零,可取K、H、D,目标操作数为D。16位运算占5个程序步,32位运算占9个程序步。图9.41中的X0变为ON时,将存放在D45中的数开平方,结果存放在DI23内。计算结果舍去小数,只取整数。b二进制整数→二进制浮点数转换指令二进制整数→二进制浮点数转换指令FLT(Float)的功能指令编号为FNC49。它的源操作数和目标操作数均为D。16位运算占5个程序步,32位运算占9个程序步。下图中的X1由OFF变位ON时,该指令将存放在源操作数D10中的数据转换为浮点数,将它存放在目标寄存器D13和D12中。c高低字节交换指令高低字节交换指令SWAF的功能指令编号为FNC147。它的源操作数可取KnY、KnM、KnS、T、C、D、V和Z。16位运算占5个程序步,32位运算占9个程序步。一个字节由8位二进制数组成。16位运算时,该指令交换源操作数的高字节和低字节。32位运算时,如指定的源操作数为D20,先交换D20的高字节和低字节,再交换D21的高字节和低字节。
/
本文档为【逻辑运算关系表】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索