资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第9章功 能 指 令,9.1,功能指令的基本形式,9.1.1,功能指令的基本格式,9.1.2,数据长度,9.1.3,指令类型,9.1.4,操作数的形式,9.1.5,变址寄存器,(V,,,Z),的应用,9.2,功能指令一览表,9.3,程序控制指令及应用,9.3.1,条件跳转指令,9.3.2,子程序调用与子程序返回指令,9.3.3,与中断有关的指令,9.3.4,主程序结束指令,9.3.5,监视定时器指令,9.3.6,循环指令,9.4,传送与比较指令,9.4.1,比较指令,9.4.2,区间比较指令,9.4.3,传送指令,9.4.4,块传送指令,9.4.5,BCD/BIN,指令,9.5,四则运算与逻辑运算指令,9.5.1,加法指令,9.5.2,减法指令,9.5.3,乘法指令,9.5.4,除法指令,9.5.5,加1/减1指令,9.5.6,逻辑运算指令,9.6,循环与移位指令,9.6.1,位右移/位左移指令,9.6.2,FIFO,写入/读出指令,9.7,数据处理指令,9.7.1,区间复位指令,9.7.2,解码指令,9.7.3,编码指令,1,第9章功 能 指 令,本章难点:,功能指令的编程应用,功能指令是,PLC,数据处理能力的重要标志,远比基本逻辑处理指令复杂,本章从功能指令的类型、表示形式和使用要素入手,介绍,FX,系列,PLC,常用功能指令的使用方法,并以实例的形式讨论其编程应用。,本章要点:,功能指令的基本形式,功能指令简介,功能指令的编程应用,2,第9章功 能 指 令,在,FX,系列,PLC,中,功能指令是按功能号,(FNC00FNC250),编排的,每条功能指令都有助记符,功能指令的表示格式如图,9.1,所示。,图9.1功能指令示意图,9.1,功能指令的基本形式,9.1.1功能指令的基本格式,0,LD,X10,1,SFTR(P),35,X0,M0,K16,K2,10,3,第9章功 能 指 令,大多数功能指令有,1,4,个操作数,有的功能指令没有操作数;,S,表示源操作数,,D,表示目标操作数;如果可使用变址功能,用,S,和,D,表示。,用,n,和,m,表示其他操作数,它们常用来表示常数,K,和,H,,或作为源和目标操作数的补充说明。,上图含义为:当,X10,由,OFF,ON,时,,D,内,(M0,M15),各位数据连同,S,内,(X0,X1)2,位数据向左移,2,位,,(X0,X1)2,位数据从,D,低位端移入,,(M14,M15)2,位数据从,D,高位端移出,(,溢出,),。,9.1,功能指令的基本形式,9.1.1功能指令的基本格式,4,第9章功 能 指 令,处理,32,位数据的指令是在助记符前加“,D,”标志,无此标志即为处理,16,位数据的指令。,注意,32,位计数器,(C200,C255),的一个软元件为,32,位,不可作为处理,16,位数据指令的操作数使用。在使用,32,位数据时建议使用首编号为偶数的操作数。,9.1,功能指令的基本形式,9.1.2数据长度,上面传送指令的含义为:当,X0,由,OFF,ON,时,将,D11,和,D10,的数据传送到,D13,和,D12,中,(,处理,32,位数据,),。,5,第9章功 能 指 令,2数据格式,在,FX,系列,PLC,内部,数据是以二进制,(BIN),补码的形式存储,所有的四则运算都使用二进制数。,二进制补码的最高位为符号位,正数符号位为,0,,负数符号位为,1,。,为更精确地进行运算,可采用浮点数运算。在,FX,系列,PLC,中提供了二进制浮点运算和十进制浮点运算。,9.1,功能指令的基本形式,9.1.4操作数的形式,8,第9章功 能 指 令,变址寄存器在传送、比较等指令中用来修改操作元件的地址,其操作方式与普通数据寄存器一样。下面来看一个传送指令的例子:,9.1,功能指令的基本形式,9.1.5变址寄存器(V,Z)的应用,上面传送指令的例子中,当Z0=5时,(D10Z0)(D12)=(D15),(D12),9,第9章功 能 指 令,FX系列不同型号的PLC,其功能指令的范围各不相同,表9.1列出了FX全系列使用的功能指令,具体某个型号的PLC哪些功能指令可用、哪些不可用,也可据此表查出。,9.2,功能指令一览表,表9.1功能指令简表,分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,程序流程,00,CJ,条件跳转,01,CALL,子程序调用,02,SRET,子程序返回,10,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,程序流程,03,IRET,中断返回,04,EI,开中断,05,DI,关中断,06,FEND,主程序结束,07,WDT,监视定时器刷新,08,FOR,循环范围开始,09,NEXT,循环范围结束,11,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,传送与比较,10,CMP,比较,11,ZCP,区域比较,12,MOV,传送,13,SMOV,移位传送,14,CML,取反传送,15,BMOV,块传送,16,FMOV,多点传送,12,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,传送与比较,17,XCH,交换,18,BCD,BINBCD转换,19,BIN,BCDBIN转换,算术与逻辑运算,20,ADD,二进制加法,21,SUB,二进制减法,22,MUL,二进制乘法,23,DIV,二进制除法,13,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,算术与逻辑运算,24,INC,二进制加一,25,DEC,二进制减一,26,WAND,逻辑字与,27,WOR,逻辑字或,28,WXOR,逻辑字异或,29,NEG,求补码,14,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,循环与位移,30,ROR,循环右移,31,ROL,循环左移,32,RCR,带进位右移,33,RCL,带进位左移,34,SFTR,位右移,35,SFTL,位左移,36,WSFR,字右移,15,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,循环与位移,37,WSFL,字左移,38,SFWR,移位写入,39,SFRD,移位读出,数据处理,40,ZRST,区间复位,41,DECO,解码,42,ENCO,编码,43,SUM,统计ON位数,16,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,数据处理,44,BON,ON位判断,45,MEAN,求平均值,46,ANS,信号报警器置位,47,ANR,信号报警器复位,48,SQR,BIN开方运算,49,FLT,BIN整数转换为浮点数,17,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,高速处理,50,REF,输入输出刷新,51,REFF,输入滤波时间调整,52,MTR,矩阵输入,53,HSCS,比较置位(高速计数器),54,HSCR,比较复位(高速计数器),55,HSZ,区间比较(高速计数器),56,SPD,脉冲密度,18,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,高速处理,57,PLSY,指定频率脉冲输出,58,PWM,脉宽调制输出,59,PLSR,带加减速脉冲输出,方便指令,60,IST,状态初始化,61,SER,数据查找,62,ABSD,凸轮控制(绝对式),63,INCD,凸轮控制(增量式),19,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,方便指令,64,TTMR,示教定时器,65,STMR,特殊定时器,66,ALT,交替输出,67,RAMP,斜波输出,68,ROTC,旋转工作台控制,69,SORT,列表数据排序,20,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,外部I/O设备,70,TKY,10键输入,71,HKY,16键输入,72,DSW,BCD数字开关输入,73,SEGD,七段码译码,74,SEGL,七段码分时显示,75,ARWS,方向开关,76,ASC,ASCII码转换,21,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,外部I/O设备,77,PR,ASCII码打印输出,78,FROM,BFM读出,79,TO,BFM写入,80,RS,串行数据传送,81,PRUN,八进制位传送,82,ASCI,16进制数转换成ASCII码,83,HEX,ASCI码转换成16进制数,22,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,外部I/O设备,84,CCD,校验码,85,VRRD,电位器读出,86,VRSC,电位器刻度,87,88,PID,PID运算,89,23,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,浮点数运算,110,ECMP,二进制浮点数比较,111,EZCP,二进制浮点数区间比较,118,EBCD,二进制浮点数十进制浮点数,119,EBIN,十进制浮点数二进制浮点数,120,EADD,二进制浮点数加法,24,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,浮点数运算,121,ESUB,二进制浮点数减法,122,EMUL,二进制浮点数乘法,123,EDIV,二进制浮点数除法,127,ESQR,二进制浮点数开平方,128,INT,二进制浮点数二进制整数,129,SIN,二进制浮点数sin运算,25,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,浮点数运算,130,COS,二进制浮点数cos运算,131,TAN,二进制浮点数tan运算,定位,147,SWAP,高低字节交换,155,ABS,ABS当前值读出,156,ZRN,原点复位,157,PLSV,可变速的脉冲输出,26,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,定位,158,DRVI,相对位置控制,159,DRVA,绝对位置控制,时钟运算,160,TCMP,时钟数据比较,161,TZCP,时钟数据区间比较,162,TADD,时钟数据加法,163,TSUB,时钟数据减法,166,TRD,时钟数据读出,27,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,时钟运算,167,TWR,时钟数据写入,169,HOUR,长时间检测,外围设备,170,GRY,二进制数格雷码,171,GBIN,格雷码二进制数,176,RD3A,模拟量模块(FX0N-3A)读出,177,WR3A,模拟量模块(FX0N-3A)写入,28,第9章功 能 指 令,9.2,功能指令一览表,表9.1功能指令简表(续表),分类,FNC,NO,指令,助记符,功能说明,对应不同型号的PLC,FX0S,FX0N,FX1S,FX1N,FX2N,FX2NC,触点比较,224,LD=,(S1)=(S2)时起始触点接通,225,LD,(S1)(S2)时起始触点接通,226,LD,(S1),(S1)(S2)时串联触点接通,234,AND,(S1),(S1)(S2)时并联触点接通,242,OR,(S1)n,,送料车左行,直至 SQ,n,动作,到位停车。,(2)当料车所在暂停位置的SQ号码小于呼叫的SB号码时,料车往右行,到呼叫的SB位置后停止。即,mn,,送料车右行,直至SQ,n,动作,到位停车。,(3)送料车所停位置SQ的号码与呼叫按钮SB的号码相同时,送料车不动。即,m,=,n,,送料车原位不动。,67,第9章功 能 指 令,9.4传送与比较指令,9.4.5BCD/BIN指令,5)I/O地址分配及硬件连接,由控制要求可知,系统的I/O地址分配如表9.13所示,硬件连接如图9.16所示。,表9.13送料车系统的I/O地址分配表,输入,功能说明,输入,功能说明,输出,功能说明,SQ0,X0,限位0,SB0,X10,呼叫0,KM1,Y0,电动机M正转,料车右行,SQ1,X1,限位 1,SB1,X11,呼叫1,KM2,Y2,电动机M反转,料车左行,SQ2,X2,限位 2,SB2,X12,呼叫2,SQ3,X3,限位3,SB3,X13,呼叫3,SQ4,X4,限位 4,SB4,X14,呼叫4,68,第9章功 能 指 令,9.4传送与比较指令,9.4.5BCD/BIN指令,表9.13送料车系统的I/O地址分配表(续表),输入,功能说明,输入,功能说明,输出,功能说明,SQ5,X5,限位5,SB5,X15,呼叫5,KM1,Y0,电动机M正转,料车右行,SQ6,X6,限位6,SB6,X16,呼叫6,KM2,Y2,电动机M反转,料车左行,SQ7,X7,限位 7,SB7,X17,呼叫7,QS,X20,启停开关,69,第9章功 能 指 令,9.4传送与比较指令,9.4.5BCD/BIN指令,图9.16送料车系统硬件连接图,70,第9章功 能 指 令,9.4传送与比较指令,9.4.5BCD/BIN指令,6)PLC软件的实现,用传送与比较指令编程实现送料车控制的梯形图程序如图9.17所示。,71,第9章功 能 指 令,9.4传送与比较指令,9.4.5BCD/BIN指令,图9.17送料车系统梯形图程序,72,第9章功 能 指 令,9.4传送与比较指令,9.4.5BCD/BIN指令,图中将送料车当前位置送到数据寄存器D128中,将呼叫工作台号送到数据寄存器D129中,然后通过D128与D129中数据的比较,决定送料车的运行方向和到达的目标位置,D128、D129都是断电保持型数据寄存器,因此送料车系统重新启动后,能自动恢复断电前的状态。,73,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,四则运算及逻辑运算指令是基本运算指令。可完成四则运算或逻辑运算,可通过运算实现数据的传送、变位及其他控制功能。,PLC中有两种四则运算,即整数四则运算和实数四则运算。前者指令较简单,参加运算的数据只能是整数。非整数参加运算需先取整,除法运算的结果分为商和余数。整数四则运算进行较高准确度要求的计算时,需将小数点前后的数值分别计算再将数据组合起来,除法运算时要对余数再做多次运算才能形成最后的商。这就使程序的设计非常烦琐。而实数运算是浮点运算,是一种高准确度的运算。FX1N系列PLC仅有整数运算指令,FX2N系列PLC具有实数运算指令。,74,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该指令的助记符、指令代码、操作数、程序步如表9.14所示。,9.5.1加法指令,表9.14加法指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S1,S2,D,加法,ADD,ADD(P),FNC20,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、V、Z,ADD、ADDP7步,DADD、DADDP13步,ADD加法指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去,如图9.18所示。,75,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,当执行条件X0由OFFON时,D0+D1 D2。运算是代数运算,如2+(-3)=-1。,如果运算结果为0,则零标志M8020置1;如果运算结果超过32767(16位)或2147483647(32位),则进位标志M8022置1;如果运算结果小于-32767(16位)或-2147483647(32位),则借位标志M8021置1。,在32位运算中,被指定的字元件是低16位元件,而下一个元件为高16位元件。,9.5.1加法指令,图9.18ADD指令应用,76,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,源和目标可以用相同的元件号。若源和目标元件号相同而采用连续执行的 ADD、(D)ADD指令时,加法的结果在每个扫描周期都会改变。,9.5.1加法指令,77,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该指令的助记符、指令代码、操作数、程序步如表9.15所示。,9.5.2减法指令,表9.15减法指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S1,S2,D,减法,SUB,SUB(P),FNC21,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、V、Z,SUB、SUBP7步,DSUB、DSUBP,13步,78,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,SUB减法指令是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去,如图9.19所示。,9.5.2减法指令,图9.19SUB指令应用,各种标志的动作、32位运算中软元件的指定方法、连续执行型和脉冲执行型的差异均与上述加法指令相同。,79,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该指令的助记符、指令代码、操作数、程序步如表9.16所示。,9.5.3乘法指令,表9.16乘法指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S1,S2,D,乘法,MUL,MUL(P),FNC22,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、Z,(限于16位运算),MUL、MULP7步,DMUL、DMULP,13 步,MUL乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。如图9.20所示,它分16位和32位两种运算。,80,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,图9.20(a)为16位运算,执行条件X1由OFFON 时,D0D1 D3,D2中。源操作数是16位,目标操作数是32位。当D0=10,D1=-10时,D3,D2=-100。最高位为符号位,0为正值,1为负值。,9.5.3乘法指令,图9.20MUL指令应用,81,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,图9.20(b)为32位运算,执行条件X2由OFF ON时,D1、D0D3、D2D7、D6、D5、D4中。源操作数是32位,目标操作数是64位。当 D1、D0=200,D3、D2=500时,D7、D6、D5、D4=100 000,最高位为符号位,0为正值,1为负值。,如将位组合元件用于目标操作数时,限于K的取值,只能得到低32位的结果,不能得到高32位的结果。这时,应将数据移入字元件再进行计算。,用字元件时,也不可能监视64位数据,只能通过监视高32位和低32位。32位运算时,Z不能用于D目标元件。,9.5.3乘法指令,82,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该指令的助记符、指令代码、操作数、程序步如表9.17所示。,9.5.4除法指令,表9.17除法指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S1,S2,D,除法,DIV,DIV(P),FNC23,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、Z,(限于16位运算),DIV、DIVP7步,DDIV、DDIVP,13 步,83,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,DIV除法指令是将指定的源元件中的二进制数相除,S1为被除数,S2为除数,商送到指定的目标元件D中去,余数送到D的下一个目标元件。如图9.21所示,它分16位和32位两种运算。,9.5.4除法指令,图9.21DIV指令应用,84,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,图9.21(a)为16位运算。执行条件X1由OFFON 时,D0/D1D2。当D0=23,D1=4时,D2=5,D3=3。,图9.21(b)为32位运算。执行条件X2由OFFON时,D1、D0/D3、D2。商在D5、D4,余数在D7、D6中。Z不能用于D。,除数为0时,有运算错误,不执行指令。若D指定位元件,得不到余数。商和余数的最高位是符号位。被除数或除数中有一个为负数,商为负数;被除数为负数时,余数为负数。,9.5.4除法指令,85,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该类指令的助记符、指令代码、操作数、程序步如表9.18所示。,9.5.5加1/减1指令,表9.18加1/减1指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,D,加1,INC,INC(P),FNC24,(16/32),KnY、KnM、KnS,T、C、D、V、,Z,INC、INCP3步,DINC、DINCP5步,减1,DEC,DEC(P),FNC25,(16/32),KnY、KnM、KnS,T、C、D、V、,Z,DEC、DECP3步,DDEC、DDECP5步,86,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该类指令的助记符、指令代码、操作数、程序步如表9.18所示。,9.5.5加1/减1指令,表9.18加1/减1指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,D,加1,INC,INC(P),FNC24,(16/32),KnY、KnM、KnS,T、C、D、V、,Z,INC、INCP3步,DINC、DINCP5步,减1,DEC,DEC(P),FNC25,(16/32),KnY、KnM、KnS,T、C、D、V、,Z,DEC、DECP3步,DDEC、DDECP5步,表示连续执行时,各扫描周期的目标内容都有变化,因此使用时应引起注意。,87,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,INC/DEC的应用如图9.22所示。,9.5.5加1/减1指令,图9.22INC/DEC指令应用,88,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,图9.22(a)中,当X0由OFFON变化时,由D指定的元件D0中的二进制数加1。,若用连续指令时,每个扫描周期都加1。,16位运算时,+32767再加1就变为-32768,但标志不置位。同样,在32位运算时,+2147483647再加1就变为-2147483648,标志也不置位。,图9.22(b)中,当X1由OFFON变化时,由D指定的元件D10中的二进制数减1。若用连续指令时,每个扫描周期都减1。16位运算时,-32768再减1就变为+32767,但标志不置位。同样,在32位运算时,-2147483648再减1就变为+2147483647,标志也不置位。,9.5.5加1/减1指令,89,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,该类指令的助记符、指令代码、操作数、程序步如表9.19所示。,9.5.6逻辑运算指令,表9.19逻辑运算指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S1,S2,D,逻辑字与,AND,AND(P),FNC26,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、V、Z,WAND、WANDP7步,DANDC、DANDP,13 步,90,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,表9.19逻辑运算指令的要素(续表),指令名称,助记符,指令代码位数,操作数范围,程序步,S1,S2,D,逻辑字或,OR,OR(P),FNC26,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、V、Z,WOR、WORP7步,DORC、DORP13步,逻辑字异或,XOR,XOR(P),FNC26,(16/32),K、H,KnX、KnY、,KnM、KnS、,T、C、D、V、Z,KnY、KnM、KnS,T、C、D、V、Z,WXOR、WXORP7步,DXORC、DXORP,13步,91,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,【例9-4】自动售货机的PLC控制。,(1)控制要求:,此自动售货机可投入1元、5元或10元硬币,投完币后,确认,投币显示灯灭。,当投入的硬币总值等于或超过12元时,食品指示灯亮;当投入的硬币总值超过15元时,食品、饮料指示灯都亮。,当食品指示灯亮时,按食品按钮选择要购买的食品,按购买键确认后,食品指示灯灭,出货口指示灯亮,显示正出物品,一会熄灭。,92,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,当饮料指示灯亮时,按饮料按钮选择要购买的饮料,按购买键确认后,饮料指示灯灭,出货口指示灯亮,显示正出物品,一会熄灭。,若投入硬币总值超过购物所需钱数时,则退币处的指示灯亮,显示正在进行退币工作,退完币后,退币指示灯熄灭,等待下一次售货。,93,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,(2)I/O地址分配如表9.20所示。,表9.20自动售货机的I/O地址分配表,输入,输出,1元输入(c),X 0,退币输出(k),Y 0,5元输入(d),X 1,出货输出(j),Y 1,10元输入(e),X 2,食品指示灯(a),Y 2,食品选择(h),X 3,饮料指示灯(b),Y 3,饮料选择(g),X 4,购买输入(i),X 5,确认输入(f),X 6,试编制PLC控制程序实现其控制要求。,94,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,【解】根据题意,可编写其梯形图程序如图9.23所示。,图9.23自动售货机的梯形图程序,95,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,图9.23自动售货机的梯形图程序(续),96,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,图9.23自动售货机的梯形图程序(续),97,第9章功 能 指 令,9.5,四则运算与逻辑运算指令,9.5.6逻辑运算指令,图9.23自动售货机的梯形图程序(续),98,第9章功 能 指 令,9.6循环与移位指令,FX系列PLC循环与移位指令有移位、循环移位、字移位及先入先出FIFO指令等数种,其中循环移位分为带进位位循环及不带进位位循环;移位有左移和右移之分;FIFO分为写入和读出。,从指令的功能来说,循环移位是指数据在本字节或双字内的移位,是一种环形移动。而非循环移位是线形的移位,数据移出部分会丢失,移入部分从其他数据获得。移位指令可用于数据的2倍乘处理,形成新数据,或形成某种控制开关。字移位和位移位不同,它可用于字数据在存储空间中的位置调整等功能。先入先出FIFO指令可用于数据的管理。FX1N系列PLC只有SFTR、SFTL和SFWR、SFRD四条循环与移位指令,现择要介绍如下。,99,第9章功 能 指 令,9.6循环与移位指令,9.6.1位右移/位左移指令,该类指令的助记符、指令代码、操作数、程序步如表9.21所示。,表9.21位右移/位左移指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S,D,n1,n2,位右移,SFTR,SFTR(P),FNC34,(16),X、Y、M、S,Y、M、S,K、H,SFTR、SFTRP9步,位左移,SFTL,SFTL(P),FNC35,(16),X、Y、M、S,Y、M、S,K、H,SFTL、SFTRL9步,位右移,/,位左移指令是对,n,1,位,(,移位寄存器的长度,),的位元件进行,n,2,位的位右移或位左移的指令,如图,9.24,所示。,100,第9章功 能 指 令,9.6循环与移位指令,9.6.1位右移/位左移指令,图,9.24,SFTR/SFTL,指令应用,101,第9章功 能 指 令,9.6循环与移位指令,9.6.1位右移/位左移指令,图,9.24,SFTR/SFTL,指令应用,(续),102,第9章功 能 指 令,9.6循环与移位指令,9.6.1位右移/位左移指令,图,9.24(a),中,当,X10,由,OFFON,时,,D,内,(M0M7),各位数据连同,S,内,(X0X1)2,位数据向右移,2,位,,(X0X1)2,位数据从,D,高位端移入,,(M0M1)2,位数据从,D,低位端移出,(,溢出,),。当,X10,再次从,OFFON,时,,(X0X1)2,位数据再次从,D,高位端移入,当前,(M0M1)2,位数据从,D,低位端溢出,依此类推。,图,9.24(b),中,当,X10,由,OFFON,时,,D,内,(M0M7),各位数据连同,S,内,(X0X1)2,位数据向左移,2,位,,(X0X1)2,位数据从,D,低位端移入,,(M6M7)2,位数据从,D,高位端移出,(,溢出,),。当,X10,再次从,OFFON,时,,(X0X1)2,位数据再次从,D,低位端移入,当前,(M6M7)2,位数据从,D,低位端溢出,依此类推。,103,第9章功 能 指 令,9.6循环与移位指令,9.6.1位右移/位左移指令,用脉冲执行型指令时,指令执行取决于,X10,由,OFFON,变化;而用连续指令执行时,移位操作是每个扫描周期执行一次,使用指令时必须注意。,104,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIFO,写入,/,读出指令,该类指令的助记符、指令代码、操作数、程序步如表,9.22,所示。,表,9.22,FIFO,写入,/,读出指令的要素,指令名称,助记符,指令代码位数,操作数范围,程序步,S,D,n1,n2,先进先出写入,SFWR,SFWR(P),FNC38,(16),K、H,KnX、KnY、KnM、KnS,T、C、D、V、Z,KnY、KnM、KnS,T、C、D,K、H,2,n,512,SFWR,SFWRP,7步,先进先出读出,SFRD,SFRD(P),FNC39,(16),KnY、KnM、KnS,T、C、D,KnY、KnM、KnS,T、C、D、V、Z,K、H,2,n,512,SFRD,SFRDP,7步,105,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIFO,写入,/,读出指令,SFWR,是先进先出控制的数据写入指令,如图,9.25,所示。,图,9.25,SFWR,指令应用,106,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIFO,写入,/,读出指令,当,X1,由,OFFON,变化时,则将,D10,的内容存储在,D1,内,,D0,的内容变为,1,。在改变,D10,的内容之后,若使,X1,再次由,OFFON,,则将,D10,内容存储在,D2,内,,D0,的内容变为,2,。以后同样按顺序由右端填入,用指针,D0,的内容表示数据的存储点数。若,D0,的内容超过,n,1,,则变成无处理,进位标志,M8022,动作。,在采用SFWR指令时,则在各扫描周期按顺序存储。,SFRD是先进先出控制的数据读出指令,如图9.26所示。,107,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIFO,写入,/,读出指令,当,X2,由,OFFON,变化时,则将,D1,的内容送到,D20,中,同时指针,D0,的内容减,1,,,D2,到,D7,的数据向右移一字。若采用连续指令,SFRD,时,则每个扫描周期数据右移一字,数据总是从,D1,读出。指针,D0,的内容为,0,时,不再执行上述操作,零标志,M8020,置,1,。,图,9.26,SFRD,指令应用,108,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIFO,写入,/,读出指令,【例9-5】,艺术彩灯造型的,PLC,控制。,(1),艺术彩灯造型实验板结构简介,该板的结构如图,9.27,所示,图中,a,、,b,、,c,、,d,、,e,、,f,、,g,、,h,分别为八路,LED,发光二极管,模拟彩灯显示。上面八路形成一个环形,下面八路形成一字形,上下同时控制,形成交辉相映的效果。,(2),艺术彩灯造型的控制要求,艺术彩灯受一个开关控制,启动开关后,,(a),快速顺序点亮,然后顺序熄灭;,(b),快速逆序点亮,然后全部熄灭;,(c),慢速顺序点亮,然后逆序熄灭;,(d),快速闪烁;,(e),慢速闪烁;,(f),要求系统能够自动循环。开关断开后全部熄灭并复位。,109,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIFO,写入,/,读出指令,【解】,(1),控制原理分析。分析控制要求,结合我们刚学过的循环移位、传送与比较等功能指令,可以得出,由左移位指令,(SFTL),就可实现依次点亮、依次熄灭;由右移位指令,(SFTR),就可实现逆序点亮、逆序熄灭;由传送指令,(MOV),就可实现闪烁;然后把每一类动作作为一种状态,以单流程的形式实现循环,由批复位指令,(ZRST),实现所有状态的复位等。,(2),分配,I/O,地址,并画出外部接线图如图,9.28,所示。,输入地址:,X0,为控制开关,(K1),。,输出地址:,Y0(a),,,Y1(b),,,Y2(c),,,Y3(d),,,Y4(e),,,Y5(f),,,Y6(g),,,Y7(h),。,110,第9章功 能 指 令,9.6循环与移位指令,9.6.2,FIF
展开阅读全文