版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章三菱FX系列可编程控制器的应用指令简介5.8方便指令5.9外部I/O设备指令5.10外部设备指令5.11浮点数运算指令5.12时间运算指令5.13比较触点指令5.1FX系列可编程控制器的应用指令概况5.1.1应用指令的表示格式应用指令表示格式与基本指令不同。应用指令是按其编号(FNC00~FNC294)编排的,每条应用指令都有助记符。如图5-1所示,FNC45的助记符是MEAN,用来表示取平均值。一般应用指令的表达方式为:应用指令名称一源操作数一目标操作数一数据个数。大多数应用指令有1~4个操作数,有的应用指令没有操作数。如图5-1所示,MEAN为一个计算平均值指令,有3个操作数,[S]表示源操作数,[D]表示目标操作数。如果使用变址功能,则可表示为[S1·]、[S2·]、[D1·]、[D2]。用n和m表示其他操作数,常用来表示常数K和H,或作为源操作数和目标操作数的补充说明。下一页返回5.1FX系列可编程控制器的应用指令概况
图5-1中源操作数为D0,D1,D2,目标操作数为D10,I~3表示有3个数。当X0由OFF→ON时,执行的操作为[(DO)+(D1)+(D2)]/3→(D10)。5.1.2数据长度和指令类型
1.数据长度应用指令能够处理16位或32位的数据。处理32位数据的指令是在助记符前加“D"标志;无此标志时,则为处理16位数据的指令。如图5-2所示,若MOV指令前面加“D”,则当X0由OFF→ON时,执行D11D10→D13D12(32位)。在处理32位数据时,建议使用首编号为偶数的操作数。上一页下一页返回5.1FX系列可编程控制器的应用指令概况应注意,0200~6255是32位计数器,不能作为16位指令的操作数。
2.指令类型应用指令有连续执行和脉冲执行两种类型。如图5-2所示,若MOV指令后面有“P;表示脉冲执行,则当X0由OFF→ON时,在满足条件后第一个扫描周期内只执行一次(将D10中的数据送到D12中);若没有“P;表示连续执行,则当X0为“ON”时,每一个扫描周期指令都要被执行。上一页下一页返回5.1FX系列可编程控制器的应用指令概况5.1.3操作数的形式
1.位元件与字元件只处理ON/OFF信息的软元件称为位元件,如X,Y,M,S等;可处理数值的软元件则称为字元件,如T,C,D等,一个字元件由16位二进制数组成。应用指令处理的大多数元件为字元件,为使输入/输出继电器X,Y等也能参与应用指令的操作,PLC设置了专门将位元件组合成字元件的方法。当进行组合时,每连续4个位元件为一单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2M0表示由M0~M7组成的两个位元件组,M0为数据的最低位(首位)。上一页下一页返回5.1FX系列可编程控制器的应用指令概况2.数据格式在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数符号位为“0”,负数符号位为“1”。为实现更精确地运算,在FX系列PLC中提供了二进制浮点运算和十进制浮点运算,并设有将二进制浮点数与十进制浮点数相互转换的指令。5.1.4变址寄存器V,Z
在传送、比较等指令中,变址寄存器V,Z用来改变操作对象的元件号(元件地址),使用时将V,Z放在各种寄存器的后面。操作数的实际地址就是寄存器的当前值与V或Z内容的和。[S·]和[D·]表示指令可以利用V,Z来改变元件地址。上一页下一页返回5.1FX系列可编程控制器的应用指令概况如图5-3所示的各触点接通时,第1行指令将变址寄存器V0赋值为10;第2行指令将变址寄存器Z1赋值为20;第3行指令将D50V0和D60Z1内容相加,结果送入D80Z1。D50V0=D(50+10)=D60;D60Z1=D(60+20)=D80;D80Z1=D(80+20)=D100所以,ADD指令执行的是(D60)+(D80)→(D100)。上一页返回5.2程序流程控制指令
程序流程控制指令用于控制程序的执行顺序,总共有10条。程序流程控制指令(FNC00~FNC09)分别是CJ(条件跳转)、CALL(子程序调用)、SRET(子程序返回)、IRET(中断返回)、EI与DI(中断允许与中断禁止)、FEND(主程序结束)、WDT(监控定时器刷新)和FOR,NEXT(循环开始、循环结束)。通常情况下,PLC是按所编程序的前后顺序逐条执行的。但在一些特殊情况下,会改变程序的流向,即执行的顺序。这些情况包括:根据控制信号的不同执行不同的程序段、调用子程序、发生中断、主程序结束、循环执行某段程序。下一页返回5.2程序流程控制指令5.2.1条件跳转指令1.条件跳转指令CJ条件跳转指令CJ(ConditionalJump)用来表示某段程序执行或不执行。条件跳转指令GJ(P)的编号为FNC00,操作数为指针标号PO一P127,其中P63为END所在步序,不需要标记。CJ和GJ(P)占3个程序步,标号占一个程序步。如图5-4所示,当X10接通时,则由CJP9指令跳转到标号为P9的指令处开始执行,被跳过的程序不执行。如果X10断开,跳转不会执行,则程序按原顺序执行。上一页下一页返回5.2程序流程控制指令同一编程元件的线圈可以在跳转条件相反的两个跳转程序中分别出现一次(如图5-6自动/手动程序所示),在这种情况下,允许双线圈输出。跳转指令可用在许多地方,如图5-6所示自动手动程序的切换,当自动、手动切换开关X20接通时,跳转指令CJPO条件满足,将跳过自动程序,执行手动程序。相反,当X20断开,则执行自动程序,跳过手动程序。
CJ指令使用说明如下。①CJP指令表示脉冲执行方式。②在一个程序中一个标号只能出现一次,但可以多条跳转指令使用同一标号,如图5-5所示。上一页下一页返回5.2程序流程控制指令③在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态。
④如果用辅助继电器M8000作为CJ指令的工作条件,跳转就成为无条件跳转,因为M8000总是“ON”状态。例如:
由于CJP10的驱动条件始终成立,因此该条指令可以看成是无条件跳转指令。上一页下一页返回5.2程序流程控制指令⑤跳转程序中有定时器T192~T199和高速计数器C235~C255时,若这些定时器和计数器开始工作后程序跳转,则这些定时器和计数器继续计时和计数。⑥若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。跳转指令的应用如图5-7所示,图中共包含6段程序。其中,程序段(3)和程序段(5)由跳转指令选择执行。当M100为“OFF”时,程序段(3)与程序段(6)被执行,程序段(5)不被执行(被跳过);当M100为“ON”时,程序段(3)不被执行(被跳过),程序段(5)与程序段(6)被执行。上一页下一页返回5.2程序流程控制指令上一页下一页返回5.2程序流程控制指令2.条件跳转指令应用实例(略)5.2.2子程序调用与子程序返回指令如果某段程序在整个程序中的不同位置多次出现,可以把这段程序作为子程序来处理。另外,也可以将具有相对独立功能的程序段作为子程序处理。子程序调用指令CALL的编号为FNC01,操作数为P0~P127,此指令占用3个程序步。子程序返回指令SRET的编号为FNC02,无操作数,占用1个程序步。有子程序时,主程序排在最前面,主程序最后一条语句用主程序结束指令FEND,子程序按顺序排在FEND指令之后,每一段子程序用子程序返回指令SRET作为结束语句,如图5-8所示。上一页下一页返回5.2程序流程控制指令子程序指令在梯形图中使用的情况如图5-8所示。当图中X10为“ON”时,则CALL指令使程序转移到标号P10处去执行子程序。执行完SRET指令后,程序返回到CALL指令的下一步执行,直到FEND指令处。使用子程序调用与返回指令时应注意:转移编号不能重复,也不可与跳转指令的标号重复。子程序可以嵌套使用,最多可有5级嵌套。如图5-9所示,当X10为“ON”时,程序跳到P10处顺序向下执行。当执行子程序1时,如果X11为“ON”时,CALLP11指令被执行,程序跳到P11处,嵌套执行子程序2。执行完子程序2中的SRET指令后,返回子程序1中CALLP11指令的下一条指令,执行完第一条SRET指令后返回主程序中CALLP10指令的下一条指令。上一页下一页返回5.2程序流程控制指令5.2.3与中断有关的指令与中断有关的3条应用指令是:中断返回指令IRET,编号为FNC03;中断允许指令EI编号为FNC04;中断禁止指令DI,编号为FNCOS。以上3条指令均无操作数,分别占用一个程序步。中断程序以中断事件号为开始标记,以中断返回指令IRET作为结束标记,每个中断程序都要有IRET语句。中断程序放在主程序结束指令FEND之后。主程序中允许中断的程序段以允许中断指令EI作为开始标志,以禁止中断指令DI作为结束标志,如图5-10所示。上一页下一页返回5.2程序流程控制指令中断指令的使用说明如下。①PLC按先来先处理的原则处理中断事件,若多个中断事件同时出现,则先处理编号小的中断事件,编号小的中断事件优先级别高。
②中断事件是否有效,由特殊辅助继电器控制。当M8050一M8058为“ON”时,禁止执行相应的中断。当M5089为“ON”时,则禁止所有计数器中断。③无须中断禁止时,可只用EI指令,不必用DI指令。④执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其他中断。上一页下一页返回5.2程序流程控制指令5.2.4主程序结束指令主程序结束指令FEND(FirstEnd)的编号为FNC06,无操作数,占用1个程序步。FEND表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监控定时器刷新,完成后返回起始步。使用FEND指令时,FEND指令不能出现在子程序和中断服务程序中,并且子程序和中断服务程序必须写在FEND和END之间,否则出错。当一个程序中有多个FEND指令时,子程序和中断服务程序要放在最后一个FEND指令之后。上一页下一页返回5.2程序流程控制指令5.2.5监控定时器指令监控定时器WDT(WatchDogTimer)指令的功能是对PLC的监控定时器进行刷新,又称看门狗指令。WDT指令的编号为FNC07,无操作数,占用1个程序步。
FX系列PLC的监控定时器缺省值为200ms(可用D8000来设定),正常情况下PLC扫描周期小于此定时时间。如果由于有外界干扰或程序本身的原因使扫描周期大于监控定时器的设定值,使PLC的CPU出错灯亮并停止工作,可通过在适当位置加WDT指令复位监视定时器,以使程序能继续执行到END。上一页下一页返回5.2程序流程控制指令若执行某段程序的扫描周期为240ms,由于监控定时器的设定值是默认值200ms,则这段程序将不能被正常执行。利用WDT指令可以使这段程序被正常执行,方法是将240ms的程序分成两段,使每段的执行时间都小于200ms。然后在两段程序之间插入WDT指令则不再会出现报警停机,如图5-11所示。
使用WDT指令时应注意的事项如下。①如果在后续的FOR~NEXT循环中,执行时间可能超过监控定时器的定时时间,这种情况下可将WDT指令插入循环程序。上一页下一页返回5.2程序流程控制指令②当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,在这种情况下可在CJ指令与对应标号之间插入WDT指令。5.2.6循环指令循环指令共有两条:循环区起点指令FOR,编号为FNC08,占用3个程序步;循环结束指令NEXT,编号为FNC09,占用1个程序步,无操作数。在一个扫描周期内,若一段程序被多次重复执行,这段程序就构成循环程序。循环程序用FOR指令作为开始标志,用NEXT指令作为结束标志,FOR指令和NEXT指令必须成对使用。并且,FOR指令应放在NEXT指令之前,而NEXT指令应在FEND和END之前,否则均会出错。上一页下一页返回5.2程序流程控制指令
在程序运行时,位于FOR一ENXT的程序反复执行n次(由操作数决定)后,冉继续执行后续程序。循环的次数n=1~32767。如果循环次数n指定为-32767~0,则当做n=1处理。循环可以嵌套,但嵌套不能超过5层。如图5-12所示为一个二重嵌套循环,外层执行5次。如果DOZ0中的数为6,则外层A每执行一次则内层B将执行6次。在循环中还可利用CJ指令在循环没结束时跳出循环体。上一页返回5.3数据传送指令和比较指令
数据传送指令是将数据按照需要传送到某个特定的地址和软元件中,比较指令是实现数据间的各种比较操作,总共有10条。数据传送指令和比较指令(FNC10~FNC19)包括CMP(比较指令)、ZCP(区间比较)、MOV(传送指令)、SMOV(移位传送指令)、BMOV(块传送指令)、FMOV(多点传送指令)、CML(取反传送指令)、XCH(数据交换指令)、BCD(BCD码转换指令)、BIN(转换指令)。5.3.1数据传送指令数据传送指令包括:传送指令、移位传送指令、块传送指令、多点传送指令、取反传送指令、数据交换指令、BCD码转换指令、转换指令。下一页返回5.3数据传送指令和比较指令1.传送指令传送指令MOV(Move)的编号为FNG12,该指令的功能是将源数据传送到指定的目标。如图5-13所示,当X0为“ON”时,则将源操作数[S.]中的数据K100传送到目标操作元件[D.]即D10中。在指令执行时,常数K100会自动转换成二进制数。当X0为“OFF”时,则指令不执行,数据保持不变。
2.移位传送指令移位传送指令SMOV(ShiftMove)的编号为FNC13。该指令的功能是将源数据(二进制)自动转换成4位BCD码,再进行移位传送,传送后的目标操作数元件的BCD码自动转换成二进制数。如图5-14所示,当X0为“ON”时,将D10中右起第4位(m1=4)开始的2位(m2=2)BCD码传送到目标操作数D20的右起第3位(n=3)和第2位。然后D20中的BCD码会自动转换为二进制数,而D20中的第1位和第4位BCD码不变。上一页下一页返回5.3数据传送指令和比较指令
3.块传送指令块传送指令BMOV(BlockMove)的编号为FNG15,是将源操作数指定元件开始的n个数据组成的数据块传送到指定的目标。待传送数据的起始地址由[S.]指定,数据长度由n指定。如图5-15所示,传送顺序既可从高元件号开始,也可从低元件号开始,传送顺序自动决定。若源操作数和目标操作数均使用位组合元件时,二者位数应相等。上一页下一页返回5.3数据传送指令和比较指令5.3.2比较指令
1.单值比较指令单值比较指令CMP(Compare)指令的编号为FNC10,是将源操作数[S1·]和源操作数[S2·]的数据进行比较,比较结果用目标元件[D]的状态来表示。其中[S1·]、[S2·]可取任意数据格式,目标操作数[D·]可取Y,M和S。单值比较指令的使用如图5-16所示,当X0接通时,将常数200与DO中的数进行比较,比较的结果送入M0,M1M2中。X0断开后,M0~M2保持断开前的状态。当X1接通时,清除M0~M2的状态。上一页下一页返回5.3数据传送指令和比较指令单值比较指令执行时,源操作数按有符号的二进制数处理。指令的执行条件成立时,执行比较操作,比较结果自动用[D·]指定起始编号的连续3个软电器来记录。不再执行比较操作时,比较结果也不会自动消失,只有用RST指令或ZRST指令才可以清除比较结果。
2.区间比较指令区间比较指令ZGP(ZoneCompare)的编号为FNC11,指令执行时,将源操作数[S·]和[S1·]与[S2·]的内容进行比较,并将比较结果送到目标操作数[D·]中。其中[S1·上[S2·]可取任意数据格式,目标操作数[D·]可取Y,M和S,并且[S2·]的数值不能小于[S1·]。区间比较指令的使用如图5-17所示,当X0为“ON”时,将DO中的数与K100和K120相比较,将结果送入M0,M1,M2中。当X0断开后,则不执行ZCP指令,M0~M2状态不变。当X1接通时,清除M0~M2的状态。上一页返回5.4四则运算指令和逻辑运算指令
四则运算和逻辑运算指令编号为FNC20~FNC29,分别是:ADD(加法指令)、SUB(减法指令)、MUL(乘法运算)、DIV(除法运算)、INC(加1指令)、DEC(减1指令)、WAND(逻辑与指令)、WOR(逻辑或指令)、WX0R(逻辑异或指令)、NEG(求补指令)。
5.4.1四则运算指令
1.加法指令加法指令ADD(Addition)的编号为FNC20,其功能是将[S1·]和[S2·]中的二进制数相加,其结果保存于[D·]指定的元件中。如图5-18所示,当X0为“ON”时,执行(D10)+(D12)(D14)。下一页返回5.4四则运算指令和逻辑运算指令执行ADD指令后,会影响标志寄存器M8020(零标志)、M8021(借位标志)和M8022(进位标志)。
2.减法指令减法指令SUB(Subtraction)的编号为FNG21,其功能是将[S1·]指定元件中的内容以二进制形式减去[S2·]指定元件的内容,其结果保存于[D·]指定的元件中。如图5-19所示,当X0为“ON”时,执行(D10)-(D12)(D14)。执行SUB指令后,会影响标志寄存器M8020(零标志)、M8021(借位标志)和M8022(进位标志)。上一页下一页返回5.4四则运算指令和逻辑运算指令3.乘法指令乘法指令MUL(Multiplication)的编号为FNC22,其功能是将[S1·]和[S2·]中的有符号二进制数相乘,其结果保存于[D·]指定的元件中。在MUL指令中,若源操作数是16位,则目标操作数为32位;若源操作数是32位,则目标操作数为64位。如图5-20所示,当X0为“ON”时,将二进制16位数[S1·]与[S2·]相乘,结果送入[D·]中。D为32位,即(DO)x(D2)-(D5,D4)(16位乘法);当X1为“ON”时,(D1,DO)x(D3,D2)-(D7,D6,D5,D4)(32位乘法)。上一页下一页返回5.4四则运算指令和逻辑运算指令4.除法指令除法指令DIV(Divsion)的编号为FNC23,其功能是将[S1·]与[S2·]中的有符号二进制数相除,商保存于[D·]指定的目标元件中,余数送到[D·]的下一个元件中。其中[S1·]是被除数,[S2·]是除数。如图5-21所示,当X0为“ON”时,(DO/(D2)一(D4)商,(DS)为余数(16位除法);当X1为“ON”时,(D1,DO)/(D3,D2)一(D5,D4)为商,(D7,D6)为余数(32位除法)。
使用乘法和除法指令时应注意:上一页下一页返回5.4四则运算指令和逻辑运算指令①犯位乘法运算中,如用位元件作目标,则只能得到乘积的低犯位,高32位将丢失。这种情况下应先将数据移人字元件再运算,除法运算中将位元件指定为[D·],则无法得到余数,除数为0时发生运算错误。②积、商和余数的最高位为符号位。
s.加1和减1指令加I指令INC(Increment)的编号为FNC24,减1指令DEC(Decrement)的编号为FNC25。INC(DEC指令是当条件满足时则将指定元件的内容加1(减1)。如图5-22所示,当X0为“ON”时,(D10)+1(D10),当X1为“ON”时,(D10)一1(D10)。若指令是连续指令,则每个扫描周期均作一次加1和减1运算。上一页下一页返回5.4四则运算指令和逻辑运算指令5.4.2逻辑运算指令①逻辑与指令WAND的编号为FNC26,是将两个源操作数按位进行与操作,结果送指定元件。②逻辑或指令WOR的编号为FNC27,是对两个源操作数按位进行或运算,结果送指定元件。③逻辑异或指令WX0R(ExcluxiveOr)的编号为FNC28,是对源操作数按位进行逻辑异或运算,结果送指定元件。④求补指令NEG(Negation)的编号为FNC29,其功能是将[D·]指定的元件内容的各位先取反再加1,将其结果再存入原来的元件中。
WAND,WOR,WX0R和NEG指令的使用如图5-23所示。上一页返回5.5循环移位指令
循环移位指令的功能编号为FNC30~FNC39,包括:ROR,ROL(右、左循环移位指令),RCR,RCL(带进位的右、左循环移位指令),SFTR,SFTL(移位寄存器右、左移位指令),WSFR,WSFL(字右移、字左移指令),SFWR,SFRD(先入先出写入、先入先出读出指令)。5.5.1循环移位指令
1.循环移位指令右循环移位指令ROR(RotationRight)和左循环移位指令ROL(RotationLeft)分别为FNC30和FNC31。执行这两条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进位标志M8022中。对于位组合元件,只有K4(16位指令)和K8(32位指令)有效。如图5-24、图5-25所示。下一页返回5.5循环移位指令2.带进位的循环移位指令带进位的循环右移位指令RCR(RotationRightwithCarry)和左移位指令RCL(RotationLeftwithCarry)的编号分别为FNC32和FNC33。执行这两条指令时,各位数据连同进位(M8022)向右(或向左)循环移动n位,如图5-26所示。5.5.2位右移和位左移指令位右移指令SFTR(ShiftRight)和位左移指令SFTL(ShiftLeft)的编号分别为FNC34和FNC35。它们的源操作数可取X,Y,M,S,目标操作数可取Y,M,S,只有16位运算,占9个程序步。其功能是使位元件中的状态成组地向右(或向左)移动。n1指定位元件的长度,n2指定移位位数,n1和n2的关系及范围因机型不同而有差异,一般为n2<=n1<=1024。位右移指令使用如图5-27所示。上一页下一页返回5.5循环移位指令5.5.3字右移和字左移指令字右移指令WSFR(WordShiftRight)和字左移指令WSFL(WordShiftLeft)的编号分别为FNC36和FNC37。字右移和字左移指令以字为单位,它们的源操作数、目标操作数都可取X,Y,M,S,T,C和D。其工作的过程与位移位相似,是将n1个字成组地右移或左移n2个字,n1和n2的关系为n2<=n1<=512。5.5.4FIFO写入/读出指令先入先出写入指令SFWR(ShiftRegisterWrite)和先入先出读出指令SFRD(ShiftRegisterRead)的编号分别为FNC38和FNC39。上一页下一页返回5.5循环移位指令SFWR指令使[S·]中的数记录到指定的单元中。指令执行一次,记录一个数据,总共可记录n一1个数据,每记录一个数据,[D·]中的数自动加1。当[D·]中的数超过n-1时,不再执行SFWR指令,同时置位M8022。先入先出写入指令SFWR的使用如图5-28所示,当X0由“OFF”变为“ON”时,SFWR执行,DO中的数据写入D11,而D10变成指针,其值为1(D10必须先清零),当X0再次由“OFF”变为“ON”时,DO中的数据写入D12,D10变为2,依此类推,DO中的数据依次写入数据寄存器。DO中的数据从右边的D11顺序存入,源数据写入的次数放在D10中,当D10中的数达到n-1后不再执行上述操作,同时进位标志M8022置“1”。上一页下一页返回5.5循环移位指令SFRD指令使[S·]为首地址的第2个单元中的数转移到[D·]中,同时[S·]为首地址的第2个单元以后的各单元的内容依次右移。[S·]中的数减1,执行一次SFRD指令,就进行一次这样的操作。[S·]中应预先置n一1,当[S·]中的数减为0时,SFRD指令不再被执行,且M8020置位。
先入先出读出指令SFRD的使用如图5-29所示,当X0由“OFF”变为“ON”时,D11中的数据进到DO,同时指针D10的值减1,D12~D15的数据向右移一个字。依此类推,数据总是从D11中读出,当指针D10为0时,不再执行上述操作且M8020置“1”。5.5.5循环移位指令的应用实例略上一页返回5.6数据处理指令5.6.1区间复位指令区间复位指令ZRST(ZoneReset)的编号为FNC40。它是将指定范围内的同类元件成批复位。如图5-30所示,当X0为“ON"时,辅助继电器M200一M600复位,32位计数器0200~0220复位,定时器T0~T60复位,状态继电器s0~s120复位。使用区间复位指令时应注意的事项如下。①[D1·]与[D2·]应为同类元件,同时[D1·]的元件号应小于[D2·]指定的元件号,若[D1·]的元件号大于[D2·]的元件号,则只有[D1·]指定元件被复位。②ZRST指令只有16位处理,占5个程序步,[D1·][D2·]也可以指定32位计数器。下一页返回5.6数据处理指令5.6.2解码与编码指令
1.解码指令解码指令DECO(Decode)的编号为FNC41,是将[S·]中低n位进行解码。若[S·]中的低n位对应十进制数为m,则解码结果为2n1,保存在[D·]的低2n中;若[S·]是位元件,则是对以[S·]为起始地址的连续n位位元件的值进行解码;若[D·]是位元件,解码结果保存在以[D·]为首地址的连续2n中。
图5-31为解码指令的使用示例,n=3则表示[S·]源操作数为3位,即为X0,X1,X2。其状态为二进制数,当值为101时相当于十进制5,则由目标操作数M7~M0组成的8位二进制数的第5位MS被置“1”,其余各位为“0”。如果值为000则MO被置“1”。用译码指令可通过[D·]中的数值来控制元件的ON/OFF。上一页下一页返回5.6数据处理指令2.编码指令编码指令ENCO(Encode)的编号为FNC42,是对[S·]中低2'}位进行编码,编码的结果存在[D·]的低n位,[D·]的其余位全部清零。若编码的2n位数中有1个1,且1的位号是m,则编码结果是m;若编码的2'‘位数中有多个1,则只有最高位的1有效。如图5-32所示为编码指令的使用示例,当X10有效时执行编码指令,将[S·]中最高位的1(M3)所在位数(3)放入目标元件D10中,即把011放入D10的低3位。上一页返回5.7高速处理指令
高速处理指令的应用指令编号为FNC50一FNC59,包括输入/输出刷新指令REF,滤波时间调整指令REFF,矩阵输入指令MTR、高速计数器置位指令HSCS,高速计数器比较复位指令HSCR、区间比较指令HSZ、速度检测指令SPD、脉冲输出指令PLSY、脉宽调制指令PWM和可调速脉冲输出指令PLSR。下面仅简介脉宽调制指令PWM5.7.1脉宽调制指令PWM脉宽调制指令PWM(PulseWidthModulation)功能编号为FNC58。如图5-33所示源操作数[S1·上[S2·]可取所有的数据类型,[D·]为Y0和Y1,只能用于晶体管输出型可编程控制器的Y0和Y1,只有16位运算,占7个程序步,只能使用一次。下一页返回5.7高速处理指令PWM指令用来产生指定脉冲宽度和周期的脉冲串。[S1·]用来指定脉冲宽度(t=1ms~32767ms),[S2·]用来指定脉冲周期(T=1ms一32767ms),[S1·]小于[S2·],[D·]用来指定输出脉冲的元件号(Y0或Y1,输出的“ON/OFF"状态用中断方式控制。上一页返回5.8方便指令
FX系列共有10条方便指令:初始化指令IST(FNC60、数据搜索指令SER(FNC61)、绝对值式凸轮顺控指令ABSD(FNC62、增量式凸轮顺控指令INCD(FNC63)、示教定时指令TLMR(FNC64)、特殊定时器指令STMR(FNC65)、交替输出指令ALT(FNC66)、斜坡信号指令RAMP(FNC67)、旋转工作台控制指令ROTC(FNC68)和数据排序指令SORT(FNC69。以下仅对其中部分指令加以介绍。下一页返回5.8方便指令5.8.1状态初始化指令状态初始化指令IST(InitialState)的编号为FNC60,专门用于具有多种工作方式的控制系统来切换初始状态和设置一些相关的辅助继电器的状态,使步进梯形图能方便的实现多种工作模式。其中,源操作数[S·]指定工作模式的初始输入,目标操作数[D1]指定自动模式中使用状态的最小编号,[D2]指定自动模式中使用状态的最大编号。
IST指令只能使用一次,应放在程序开始的地方,IST指令控制的STL电路应放在它的后面。上一页下一页返回5.8方便指令如图5-34所示,S20~S29是步进梯形图中使用的状态继电器,8个输入继电器(X0~X7)连接实现5种工作模式的外部控制信号(如按钮、转换开关等)以及系统启停信号。5.8.2数据搜索指令数据搜索指令SER(DataSearch)用于在数据表中查找指定的数据,可以提供搜索到符合条件的值的个数、搜索到第一个数据在表中的序号,搜索到最后一个数据在表中的序号,以及表中最大数与最小数的序号。5.8.3定时器指令定时器指令有示教定时器指令TTMR(FNC64)和特殊定时器指令STMR(FNC65)两条。上一页下一页返回5.8方便指令
1.示教定时器指令TTMR
示教定时器指令TTMR(TeachingTimer),编号为FNC64,目标操作数[D·]为D,n=0~2,只有16位运算,占5个程序步。使用TTMR指令可通过PLC的外部按钮来调整定时器的设定时间。[D·]指定[D·]和([D·]+1)两个数据寄存器,而([D·]+1)记录按钮的接通时间t,根据n的值,t乘以10'}后存入[D·]中。示教定时器指令的使用如图5-35所示,当X10为“ON”时,执行TTMR指令,X10按下的时间由D301记录,该时间乘以10n后存入D300。如果按钮按下时间为t,则存入D300的值为10nxt。X10为“OFF”时,D301复位,D300保持不变。上一页下一页返回5.8方便指令2.特殊定时器指令STMR
特殊定时器指令STMR(SpecialTimer)是用来实现一些特别的定时功能,如产生延时断开定时器、单脉冲定时器和闪动定时器。[S·]指定一个定时器,m设定定时器的定时时间,[D·]指定4个连续的软元件,[D·]为首地址。
如图5-36所示,m=1~32767,用来指定定时器的设定值,[S·」源操作数取TO-T199(100ms定时器)。T10的设定值为100msx100=10s,MO是延时断开定时器,M1为单脉冲定时器,M2,M3为闪动定时器。上一页下一页返回5.8方便指令5.8.4交替输出指令交替输出指令ALT(Alternate)的编号为FNC66,目标操作数[D·]可取Y,M,S,只有16位运算,占3个程序步。ALT指令用于实现由一个按钮控制负载的启动和停止的功能。如图5-37所示,当X0由“OFF”到“ON”时,Y0的状态将改变一次。若用连续的ALT指令则每个扫描周期Y0均改变一次状态。ALT指令具有分频器的效果。使用交替输出指令,用一个按钮X0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年整本书阅读教学设计四下
- 高压继电器数据流的读取教学设计中职专业课-电动汽车高压系统基本原理与维修-新能源汽车运用与维修-交通运输大类
- 来宾市忻城县招聘社区网格员真题附答案详解
- 第七课 键盘输入大练兵教学设计小学信息技术陕教版三年级下册-陕教版
- 《初中历史新质生产力与新时代奋斗课|了解理念 树立意识》
- 赣县石芫乡招聘社区网格员备考题库附答案详解
- 雨城区凤鸣乡招聘社区网格员真题附答案详解
- Unit 1 My day PartB(教学设计)人教PEP版英语五年级下册
- 第8课《安全地玩》(教学设计)道德与法治二年级下册统编版(五四制)
- 武宣县金鸡乡招聘社区网格员备考题库附答案详解
- 急产分娩应急演练预案
- 外卖员工作制度
- 2026年中考语文一轮复习:对联 专项练习题汇编(含答案解析)
- 第四单元 人体生理与健康(一)(单元测试)(原卷版)初中生物人教版(2024)七年级下册
- 2025年济宁银行笔试题库及答案
- 图克绿色低碳产业示范园区规划方案-高质量打造鄂尔多斯世界级现代煤化工产业示范区关键核心区
- 股权兜底投资协议书
- 烟台万华安全培训课件
- 大思政课讲座课件
- 2025年大学《科学教育-科学课程与教学论》考试备考试题及答案解析
- 2025年甘肃省高考地理真题
评论
0/150
提交评论