Date:2022-10-2 Page:1第五章第五章 FX2N系列系列PLC应用指令应用指令u 应用指令编程基本知识应用指令编程基本知识u 程序流程类应用指令程序流程类应用指令u 传送及比较类应用指令传送及比较类应用指令u 算术及逻辑运算指令算术及逻辑运算指令u 循环与移位指令循环与移位指令u 数据处理指令数据处理指令Date:2022-10-2 Page:2第五章第五章 FX2N系列系列PLC应用指令应用指令指令代码指令代码助记符助记符操作数操作数FNC10CMP(P)用于实现数据之间的比较用于实现数据之间的比较指令名称指令名称比较比较S1 S2 D S:K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z D:Y,M,Su 传送及比较类应用指令指令传送及比较类应用指令指令Date:2022-10-2 Page:3第五章第五章 FX2N系列系列PLC应用指令应用指令CMPCMPK10C10X000M0S1S2DM0Y000M1Y001M2Y002K10 C10 当前值,当前值,M0=ONK10=C10 当前值,当前值,M1=ONK10 C10 当前值,当前值,M2=ON注:注:X000断开后不执行断开后不执行CMP指令时,指令时,M0M2保持保持X000断开前的状态断开前的状态Date:2022-10-2 Page:4第五章第五章 FX2N系列系列PLC应用指令应用指令RSTM0X000清除清除CMP指令比较结果的方法指令比较结果的方法RSTM1RSTM2ZRSTM0X000M2Date:2022-10-2 Page:5第五章第五章 FX2N系列系列PLC应用指令应用指令使用比较指令使用比较指令CMP时应注意:时应注意:1)S1.、S2.可取任意数据格式,目标操作数可取任意数据格式,目标操作数D.可取可取Y、M和和S。
2)所有的源数据都被看成二进制值处理;)所有的源数据都被看成二进制值处理;Date:2022-10-2 Page:6第五章第五章 FX2N系列系列PLC应用指令应用指令指令代码指令代码助记符助记符操作数操作数FNC12MOV(P)用于传送数据用于传送数据指令名称指令名称传送传送S1 DFNC15BMOV(P)块传送块传送多点传送多点传送FNC16S D nFMOV(P)S D nDate:2022-10-2 Page:7第五章第五章 FX2N系列系列PLC应用指令应用指令MOV指令指令应用应用MOV指令时应注意:指令时应注意:1)源操作数可取所有数据类型,目标操作数可以是)源操作数可取所有数据类型,目标操作数可以是KnY、KnM、KnS、T、C、D、V、Z2)16位运算时占位运算时占5个程序步,个程序步,32位运算时则占位运算时则占9个程序步个程序步Date:2022-10-2 Page:8第五章第五章 FX2N系列系列PLC应用指令应用指令定时器、计数器值的间接设定定时器、计数器值的间接设定MOVK100X000D10X001T20D10MOVK10X002D1X003C2D1Date:2022-10-2 Page:9第五章第五章 FX2N系列系列PLC应用指令应用指令块传送(块传送(BMOV):):将源操作数指定的软元件开始的将源操作数指定的软元件开始的n点数据传送到指定点数据传送到指定的目标操作数开始的的目标操作数开始的n点软元件,如果超出允许的元件号点软元件,如果超出允许的元件号范围,则数据仅传送到允许的范围内。
范围,则数据仅传送到允许的范围内形式:形式:BMOV S D nDate:2022-10-2 Page:10第五章第五章 FX2N系列系列PLC应用指令应用指令块传送(块传送(BMOV)BMOVD0D10X000K3SDnD0D1D2D10D11D12n=3点点Date:2022-10-2 Page:11第五章第五章 FX2N系列系列PLC应用指令应用指令使用块传送指令时应注意:使用块传送指令时应注意:1)源操作数可取)源操作数可取KnX、KnY、KnM、KnS、T、C、D,目标操作数可取目标操作数可取 KnY、KnM、KnS、T、C和和D;2)只有)只有16位操作,占位操作,占7个程序步;个程序步;3)如果元件号超出允许范围,数据则仅传送到允许范围)如果元件号超出允许范围,数据则仅传送到允许范围的元件Date:2022-10-2 Page:12第五章第五章 FX2N系列系列PLC应用指令应用指令多点传送(多点传送(FMOV)将源操作数指定的软元件的内容向以目标操作数指定的将源操作数指定的软元件的内容向以目标操作数指定的起始元件的起始元件的n点软元件传送,点软元件传送,n点软元件的内容都一样。
点软元件的内容都一样形式:形式:FMOV S D nDate:2022-10-2 Page:13第五章第五章 FX2N系列系列PLC应用指令应用指令多点传送(多点传送(FMOV)FMOVK10D10X000K5SDnK10D10D11D12n=5点点D13D14Date:2022-10-2 Page:14第五章第五章 FX2N系列系列PLC应用指令应用指令使用多点传送指令使用多点传送指令FMOV时应注意:时应注意:1)源操作数可取所有的数据类型,目标操作数可取)源操作数可取所有的数据类型,目标操作数可取KnX、KnM、KnS、T、C、和、和D,n小等于小等于512;2)16位操作占位操作占7的程序步,的程序步,32位操作则占位操作则占13个程序步;个程序步;3)如果元件号超出允许范围,数据仅送到允许范围的元)如果元件号超出允许范围,数据仅送到允许范围的元件中Date:2022-10-2 Page:15指令代码指令代码助记符助记符操作数操作数FNC1BCD(P)()()BCD用于将源操作数中的二进制数据转换为码送到目标操用于将源操作数中的二进制数据转换为码送到目标操作数中;作数中;()()BIN用于将用于将源操作数中的源操作数中的BCD码转换成二进制数并送入目标码转换成二进制数并送入目标操作操作数中;数中;指令名称指令名称BCD转换转换BIN转换转换FNC1BIN(P)S DS Du 传送及比较类应用指令指令传送及比较类应用指令指令Date:2022-10-2 Page:16BCDD12K2Y000X000SDBIND12K2Y000X010SDDate:2022-10-2 Page:17使用使用BCD/BIN指令时应注意:指令时应注意:1)源操作数可取)源操作数可取KnX、KnY、KnM、KnS、T、C、D、V和和Z,目标操作数可取,目标操作数可取KnY、KnM、KnS、T、C、D、V和和Z;2)16位运算占位运算占5个程序步,个程序步,32位运算占位运算占9个程序步。
个程序步3)如果指令进行)如果指令进行16位操作时,执行结果超出位操作时,执行结果超出09999范范围将会出错,当指令进行围将会出错,当指令进行32位操作时,执行结果超过位操作时,执行结果超过099999999范围也将出错范围也将出错Date:2022-10-2 Page:18指令代码指令代码助记符助记符操作数操作数FNC20ADD(P)指令名称指令名称加法加法减法减法FNC21SUB(P)S1 S2 DFNC22MUL(P)乘法乘法除法除法FNC23DIV(P)FNC24INC(P)加加减减FNC25DEC(P)DDS1 S2 DS1 S2 DS1 S2 Du 算术及逻辑运算指令算术及逻辑运算指令Date:2022-10-2 Page:19ADD加法加法ADDD10D12X000D14S1S2DADDPD0K1X000D1S1S2DDate:2022-10-2 Page:20SUB减法减法SUBD10D12X000D14S1S2DSUBPD0K1X000D1S1S2DDate:2022-10-2 Page:21使用加法和减法指令时应该注意:使用加法和减法指令时应该注意:1)源操作数可取所有数据类型,目标操作数可取)源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和和Z2)16位运算占位运算占7个程序步,个程序步,32位运算占位运算占13个程序步。
个程序步3)数据为有符号二进制数,最高位为符号位()数据为有符号二进制数,最高位为符号位(0为正,为正,1为为负)4)加法指令有三个标志:零标志()加法指令有三个标志:零标志(M8020)、借位标志)、借位标志(M8021)和进位标志()和进位标志(M8022)当运算结果超过)当运算结果超过32767(16位运算)或位运算)或147483647(32位运算)则进位标志置位运算)则进位标志置1;当运算结果小于当运算结果小于-32767(16位运算)或位运算)或-2147483647(32位位运算),借位标志就会置运算),借位标志就会置1Date:2022-10-2 Page:22MUL乘法乘法MULD10D12X000D14S1S2DDMULPD0D2X000D4S1S2D(D10)X(D12)(D15,D14)16位位 16位位 32位位(D1,D0)X(D3,D2)(D7,D6,D5,D4)32位位 32位位 64位位Date:2022-10-2 Page:23DIV除法除法DIVD0D2X000D4S1S2DDDIVD0D2X001D4S1S2D 被除数 除数 商 余数 (D0)(D2)(D4)(D5)被除数 除数 商 余数 (D1,D0)(D3,D2)(D5,D4)(D7,D6)16位位32位位Date:2022-10-2 Page:24使用乘法和除法指令时应注意:使用乘法和除法指令时应注意:1)源操作数可取所有数据类型,目标操作数可取)源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和和Z.,要注意,要注意Z只有只有16位乘法时位乘法时能用,能用,32位不可用。
位不可用2)16位运算占位运算占7程序步,程序步,32位运算为位运算为13程序步3)32位乘法运算中,如用位元件作目标,则只能得到乘位乘法运算中,如用位元件作目标,则只能得到乘积的低积的低32位,高位,高 32位将丢失,这种情况下应先将数据移入位将丢失,这种情况下应先将数据移入字元件再运算;除法运算中将位元件指定为字元件再运算;除法运算中将位元件指定为D.,则无法得,则无法得到余数,除数为到余数,除数为0时发生运算错误时发生运算错误4)积、商和余数的最高位为符号位积、商和余数的最高位为符号位Date:2022-10-2 Page:25INC加加INCD10X000DINCPD10X001DDate:2022-10-2 Page:26DEC减减DECD10X000DDECPD10X001DDate:2022-10-2 Page:27使用加使用加1和减和减1指令时应注意:指令时应注意:1)指令的操作数可为)指令的操作数可为KnY、KnM、KnS、T、C、D、V、Z2)当进行)当进行16位操作时为位操作时为3个程序步,个程序步,32位操作时为位操作时为5个程序步个程序步3)在)在INC运算时,如数据为运算时,如数据为16位,则由位,则由+32767再加再加1变为变为-32768,但标志,但标志不置位;同样,不置位;同样,32位运算由位运算由+2147483647再加再加1就变为就变为-2147483648时,标志时,标志也不置位。
也不置位4)在)在DEC运算时,运算时,16位运算位运算-32768减减1变为变为+32767,且标志不置位;,且标志不置位;32位运算由位运算由-2147483648减减1变为变为+2147483647,标志也不置位标志也不置位。