1 / 66

第 6 章 FX 2N PLC 功能指令及应用

6.1 功能指令使用要素 6.2 程序流程控制( FNC00 ~ FNC09 ) 6.3 传送和比较( FNC10 ~ FNC19 ) 6.4 四则运算及逻辑运算( FNC20 ~ FNC29 ) 6.5 循环移位与移位( FNC30 ~ FNC39 ) 6.6 数据处理 (FNC40 ~ FNC49) 6.7 高速处理( FNC50 ~ FNC59 ) 6.8 方便指令( FNC60 ~ FNC69 ). 第 6 章 FX 2N PLC 功能指令及应用.

quintin
Download Presentation

第 6 章 FX 2N PLC 功能指令及应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6.1 功能指令使用要素 6.2 程序流程控制(FNC00~FNC09) 6.3 传送和比较(FNC10~FNC19) 6.4 四则运算及逻辑运算(FNC20~FNC29) 6.5 循环移位与移位(FNC30~FNC39) 6.6 数据处理(FNC40~FNC49) 6.7 高速处理(FNC50~FNC59) 6.8 方便指令(FNC60~FNC69) 第6章 FX2N PLC功能指令及应用

  2. 功能指令按功能号(FUC00~FUC99)编排。每条功能指令都有一个助记符。功能指令按功能号(FUC00~FUC99)编排。每条功能指令都有一个助记符。 6.1.1 功能指令的表现形式 6.1 功能指令使用要素 例如FUC45的助记符“MEAN”在编程时用“HELP”键,可显示功能号与对应的助记符清单。在读出程序时,功能号与助记符同时显示。 有些功能指令只需指定功能号即可。但许多功能指令在指定功能号的同时还必须指定操作数或操作地址。有些功能指令还需要多个操作数或地址。操作元件包括K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z。其中K表示十进制常数;H表示十六进制常数。

  3. [S]:(SOURSE)源操作数。若可使用变址功能时,表达为 [S·]。有时源操作数不止一个,可用[S1·]、[S2·]表示。 6.1.1 功能指令的表现形式 • [D]:(DESTINATION)目标操作数。若可使用变址功能时,表达为[D·]。目标不止一个时用[D1·]、[D2·]表示。 • m、n:其他操作数。常用来表示数的进制(十进制、十六进制等)或者作为源操作数(或操作地址)和目标操作数(或操作地址)的补充注释。需要注释的项目多时也可以采用m1、m2等方式。

  4. 即使使用跳转指令使其在两段不可能同时执行的程序中也不能使用。但可利用变址寄存器多次改变其操作数,多次执行这样的功能指令。 6.1.1 功能指令的表现形式 功能指令的功能符号和助记符占一个程序步序 操作数占2或4个程序步序,取决于指令是16bit还是32bit的。得注意的是有些功能指令在整个程序中只能出现一次。

  5. 其功能如下式表达: [(D0)+(D1)+(D2)+(D3)]÷3→(D4Z) 图中标注[S·]指取值首元件。n指定取值个数。[D·]指定 计算结果存放地址。 6.1.1 功能指令的表现形式 例如下图中的功能指令是一个取平均值的指令

  6. (1)16bit和32bit 功能指令可处理16位(bit)的数据和32(bit)位数据。功能指令中附有符号(D)表示处理32位(bit)数据。如(D)MOV、FNC(D)12、FNC12(D)。 6.1.2 数据长度及指令的执行形式 • 处理32bit数据时, 用元件号相邻的两个元件组成元件对。元件对的元件号用奇数、偶数均可。但为避免错误,元件对的首元件建议统一用偶数编号。 • 32bit计数器(C200~C255)不能用作16bit指令的操作数。

  7. (2)连续执行/脉冲执行 助记符后附有(P)符号表示脉冲执行,没有(P)符号的表示连续执行。 6.1.2 数据长度及指令的执行形式 (2)连续执行/脉冲执行 助记符后附有(P)符号表示脉冲执行,没有(P)符号的表示连续执行。 • (P)和(D)可同时使用,如(D)MOV(P)表示32bit数据传送,脉冲执行。 • 例如下图:

  8. 图中仅在X0由OFF变为ON时执行D10到D12间的数据传(只传送一次),不需要每个扫描周期都执行。图中仅在X0由OFF变为ON时执行D10到D12间的数据传(只传送一次),不需要每个扫描周期都执行。 6.1.2 数据长度及指令的执行形式 • 当X1为ON时在每个扫描周期都被重复执行D20数据到D22的传送。 • 当X0、X1为OFF时上述两个传送都不执行。在使用PLC编程时,如果在程序中的数据不随时变化,而且变化是可控的,这样的数据传送就可用脉冲方式。 • 有些指令,例如XCH、INC、DEC等 • 例如,INC指令含义是加1。如果每个运行周期都执行一次加1,其运行结果将无法确定。用连续方式时要特别注意。这些指令用“!”号表示。

  9. 只处理ON/OFF状态的元件,例如X、Y、M、和S,称为位元件。只处理ON/OFF状态的元件,例如X、Y、M、和S,称为位元件。 其它处理数字数据的元件,例如T、C和D,称为字元件。而位元件组合起来也可处理数字数据。 位元件的字可以由Kn加首元件号来表示。位元件每4bit为一组合成单元,KnM0中的n是组数。16bit数据操作时为K1~K4。32bit数据操作时为K1~K8。 例如,K2M0即表示由M0~M7组成2个4bit组。 6.1.3 位元件和字元件

  10. 当一个16bit的数据传送到K1M0、K2M0或K3M0(使用MOV指令)时,只传送相应的低位(bit)数据。较高位的数据不传送。32bit数据传送时也一样。当一个16bit的数据传送到K1M0、K2M0或K3M0(使用MOV指令)时,只传送相应的低位(bit)数据。较高位的数据不传送。32bit数据传送时也一样。 例如 6.1.3 位元件和字元件 若X1为ON时用连续传送的方式传送M0~M7组成的8位二进制数到D0数据寄存器。传送前的M0~M15组成的16bit数如下: M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 传送后D0寄存器的数据如下:

  11. 由于数据高8位没有在指令中定义而不能传送,16位(bit)数据的符号位(最高位)为0,此时只能处理正数。由于数据高8位没有在指令中定义而不能传送,16位(bit)数据的符号位(最高位)为0,此时只能处理正数。 6.1.3 位元件和字元件 由上述例子可知,在作16位(bit)数据操作,而参与操作的元件由K1、K2、K3来指定时,高位(不足部分)均作0。这就意味着只能处理正数(符号位为0)。在作32bit数据操作,参与操作的元件由K1~K7来指定时也一样。

  12. 变址寄存器在传送、比较指令中来修改操作对象的元件号。 其操作方式与普通数据寄存器一样。操作元件包括K.H、KnX、KnY、KnM、KnS、T、C、D、V、Z。其中KnY、KnM、KnS、T、C、D、V、Z可加入变址寄存器。 对32bit指令,V作高16bit,Z作低16bit。32bit指令中用到变址寄存器时只需指定Z,这是Z就代表了V和Z。 6.1.4 变址寄存器(V、Z)

  13. 如上图所示: X0为ON时,K10(十进制数10)送到V。X1为ON时,K20(十进制 数20)送到Z。 当X2为ON时所作的加法 (D5V)+(D15Z)→(D40Z) (D15)+(D35)→(D60)。 M8000是内部特殊寄存器(常ON),即无条件将十进制常数0(K 0)送入V,此时(V)、(Z)的数据为0和20。 当X3为ON时执行(D)ADD指令,作32bit数据加法 (D0)+(D2)→(D 4Z) 就是(D1,D0)+(D3,D2)→(D25,D24) 6.1.4 变址寄存器(V、Z)

  14. 指令: CJ FNC00(P)(16)条件转移 操作元件:指针P0~P127(允许变址修改) P63即END,无需再标注 程序步数: CJ 和 CJ (P)……3步 标号P××……1步 梯形图 功能: 用于跳过顺序程序中的某一部分,这样可以减少扫描时间,并使双线圈操作成为可能。如果X0为ON则跳到标记P8处继续执行。 6.2 程序流程控制

  15. 指令: CALL FNC01(P)(16) 转子程序 操作元件:指针P0~P127(允许变址 修改) 程序步数:CALL和CALL(P)…3步标 号P××……1步 嵌 套:5级 梯形图 功能: 用于特定条件下执行某个子程序,可减少程序重复。如果X0为ON则调用P10为标记的子程序执行。在执行子程序时也可调用子程序,可嵌套5级。 6.2 程序流程控制

  16. 指令: SRET FNC02 子程 序返 操作元件:无 程序步数:1步 梯形图 功能: 与CALL指令对应的子程序结束返回CALL指令后的程序顺序执行。 6.2 程序流程控制

  17. 梯形图 • 功能: • 中断服务程序的结束标记。在程序执行到IRET指令后表示该中断服务结束。该指令后的程序允许中断,直到DI指令出现。 6.2 程序流程控制 指令: IRET FNC03中断返回 操作元件:无 程序步数:1步

  18. 指令: EI FNC04允许中断 操作元件:无 程序步数:1步 梯形图 功能: 该指令后的程序允许中断,直到DI指令出现。 6.2 程序流程控制

  19. 梯形图 • 功能: • 该指令后的程序不可中断,直到EI指令出现。 6.2 程序流程控制 指令: DI FNC05禁止中断断返回 操作元件:无 程序步数:1步

  20. 梯形图 • 功能: • 执行到FEND时进行输出处理、输入处理、警戒时钟刷新后回到第0步。 6.2 程序流程控制 指令: FEND FNC06主程序结束 操作元件:无 程序步数:1步

  21. 梯形图 • 功能: • 若扫描周期超过100ms,PLC将停止运行。此时,应将WDT指令插入到合适的位置刷新警戒时钟,使程序执行到END。 6.2 程序流程控制 指令: WDT FNC07 (P)警戒时钟 操作元件:无 程序步数:1步

  22. 梯形图 • 功能: FOR-NEXT间的程序重复执行“n”次后,NEXT指令后的程序才被执行。利用CJ指令可跳出循环体。FOR-NEXT间还可使用FOR-NEXT指令。循环指令最多允许5级嵌套。 6.2 程序流程控制 指令: FOR FNC08(16) 循环区起点 操作元件: 程序步数: 3步

  23. 指令: NEXT FNC09循环区终点 操作元件:无 程序步数:1步 梯形图 :同上 功能: 与FOR配对使用 6.2 程序流程控制

  24. 梯形图 • 功能: • 将[S1·]与[S2·]比较,结果由[D·]决定的M0开始的三个内部寄存器输出,可驱动各种动作。 6.3 传送和比较 • 指令: CMP FNC10(P)(16/32)比较操作元件 • 程序步数:CMP和CMP(P)…7步 • (D)CMP和(D)CMP(P)…13步

  25. 梯形图 • 功能 • 将[S·] 与[S1·] [S2·]的区间比较,结果有[D·]指定的M3始的三个寄存器输出。当S小于该区间时M3为ON,S在该区间时M4为ON,S大于该区间时M5为ON 6.3 传送和比较 操作元件 • 指令: ZCP FNC11(P)(16/32)区间 • 比较 • 程序步数:ZCP和ZCP(P)…9步 • (D)ZCP和(D)ZCP(P)…17步

  26. 梯形图 梯形图表达 X0=ON时, K100→(D10) X0=OFF时指令不执行 功能: 将[S·]指定的源数据传 送到[D·]指定的目标 寄存器。 6.3 传送和比较 • 指令: MOV FN12(P)(16/32)传送 • 程序步数:MOV和MOV(P)…5步 • (D)MOV和(D)MOV(P)…9步 操作元件

  27. 梯形图 梯形图表达 X0=ON时,将(D0)取反→(K1 Y0) 如果X0=OFF时,指令不执行 功能: 将源数据取反并传送到 目标。(K1 Y0)指以Y0为首 元件的4个元件组成的一个 字节(4bit)。 6.3 传送和比较 • 指令: CML FNC14(P)(16/32)取反传送 • 程序步数: CML和CML(P)…5步 • (D)CML和(D)CML(P)…9步 操作元件

  28. 梯形图 梯形图表达: 源数据BCD码右起第4位(m1=4) 开始的2位(m2=2)移到目标的第3位 (n=3)和第2位。然后将BCD码 转换为二进制,其中第1、4位不受 移位指令的影响。 功能: 将源数据(二进制)转换 为BCD码,然后将BCD码移 位传送,然后将目标中的 BCD码转换为二进制。BCD 码值超过9999时出错。 6.3 传送和比较 操作元件 指令: SMOV FNC13(P) (16)位移传送程序步数: SMOV和SMOV(P)…11步

  29. 梯形图 梯形图表达: 当X0=ON时,将寄存器(D5,D6,D7)数据传送到3目标(D10,D11,D12) 功能: 从源操作数指定的元件开始的n个数据组成的数据块传送到目标。一旦传送,传送一组数据。 6.3 传送和比较 指令: BMOV FNC15(P) (16)块传送程序步数: BMOV和BMOV(P)…7步 操作元件

  30. 梯形图 梯形图表达: 将K0传送到D0~D9 功能: 相同数据送到多个目标。将源元件中的数据传送到指定目标开始的n个元件中。 6.3 传送和比较 指令: FMOV FNC16(P) (16)多点 传送 程序步数: FMOV和FMOV(P)…7步 操作元件

  31. 梯形图 梯形图表达: 交换前:(D10)=110、(D11)=100 交换后:(D10)= 100、(D11)= 110 功能: 交换目标元件中的数据。 6.3 传送和比较 指令: XCH FNC17(P)(16/32)(“!”) 交换 程序步数: XCH和XCH(P)…5步(D)XCH 和(D)XCH(P)…9步 操作元件

  32. 梯形图 梯形图表达: 将(D12)中的数据转换成BCD码送到 Y0开始的两个(4bit)字节(Y0~Y7)中 功能: 将源元件中的二进制数转换成BCD码送到目标元件中。 6.3 传送和比较 指令: BCD FNC18(P)(16/32)二进制转 换成BCD码 程序步数: BCD和BCD(P)…5步 (D)BCD和(D)BCD(P)…9步 操作元件

  33. 梯形图 梯形图表达: 将X0开始的两个(4bit)字节(X0~X7) 中的BCD码数据转换成二进制数送到(D13) 中。 功能: 将源元件中的BCD码转换 成二进制数送到目标元件中。 6.3 传送和比较 • 指令: BIN FNC19(P)(16/32)BIN变换 • 程序步数: BIN和BIN(P)…5步 • (D)BIN和(D)BIN(P)…9步 操作元件

  34. 功能: 指定源元件中的二进制 数相加,结果送到指定的目标 元件。每个数据的最高bit作为 符号为(0为正,1为负)。运 算为代数运算。 梯形图表达: 当X0=ON时,执行 (D10)+(D12) →(D14) 结果为0时, M8020置1; 结果大于32767(16bit) 或2147483647(32bit) 时进位标志M8021置1; 结果小于-32767(16bit)或-2147483647 (32bit)时借位标志M8022置1。 6.4 四则运算及逻辑运算 操作元件 指令: ADD FNC20(P) (16/32) 加法 程序步数: ADD和ADD(P)…7步 (D)ADD和(D)ADD(P)…13步 标 志:M8020(零标志);M8021(借位); M8022(进位) 梯形图

  35. 功能: 指定源元件中的二进制数相减,结果送到指定的目标元件。其余同ADD指令。 梯形图表达: 当X0=ON, 执行 (D10)-(D12)→D14) 当X1=ON一次, 执行一次 (D1,D0)-1→(D1,D0) 6.4 四则运算及逻辑运算 操作元件 指令: SUB FNC21(P) (16/32)BIN减法程序步数: SUB和SUB(P)…7步 (D)SUB和(D)SUB(P)…13步 梯形图

  36. 功能: 两个源数据的乘积以32bit形式送到指定目标。低16bit在指定目标,高16bit在下一个元件中。 梯形图表达: 当X0=ON时执行16bit运 算 (D0)×(D2) →(D5,D4) 当X1=ON时执行32bit运算 (D1,D0)×(D3,D2)→(D7,D6, D5,D4) 6.4 四则运算及逻辑运算 操作元件 指令: MUL FN22(P) (16/32)BIN乘法 程序步数: MUL和MUL(P)…7步 (D)MUL和(D)MUL(P)…13步 梯形图

  37. 功能: 用[S1·]指定的被除数除以用[S2·]指定的除数,商 和余数送到[D·]指定的目标及以后的几个连续元件。 • 梯形图表达: • 当X0=ON时执行16bit运算 • (D0)÷(D2) →(D4)……(D5) • 当X1=ON时,执行32bit运算 • (D1,D0)÷(D3,D2)→(D5,D4) • ……(D7,D6) 6.4 四则运算及逻辑运算 操作元件 • 指令: DIV FNC23(P) (16/32)BIN除法 • 程序步数: DIV和DIV(P)…7步 • (D)DIV和(D)DIV(P)…13步 • V和Z不能用于目标地址。 梯形图

  38. 梯形图 梯形图表达: 当X0由OFF变ON时, 执行 (D10)+1→(D10) 功能: 输入条件由OFF变ON 时,执行[D·]指定的目标数 据增加1 6.4 四则运算及逻辑运算 操作元件 指令: INC FNC24(P) (16/32)“!” 加1 程序步数: INC、INC(P)、3步 (D)INC、(D)INC(P) 13步

  39. 梯形图 • 梯形图表达: • 当X1由OFF变ON时, • 执行(D10)-1→(D10) 功能: 输入条件由OFF变ON时,执行[D·]指定的目标数据减少1 6.4 四则运算及逻辑运算 操作元件 指令: DEC FNC25(P) (16/32)“!” 减1 程序步数: DEC和DEC(P)…3步 (D)DEC和(D)DEC(P)……13步

  40. 梯形图 • 梯形图表达: • (D10)∧(D12)→(D14) 功能: 以bit为单位的逻辑与运 算。将[S1·][S2·]指定的源数 据进行逻辑“与”运算后结果 存入[D·]的目标单元 6.4 四则运算及逻辑运算 操作元件 指令: AND FNC26(P) (16/32) 逻辑 “与” 程序步数: 16bit操作 7步 32bit操作 13步

  41. 梯形图 • 梯形图表达: • (D10)∨(D12)→(D14) 功能: 将[S1·][S2·]指定的源数 据进行逻辑“或”运算后结果 存入[D·]的目标单元。 6.4 四则运算及逻辑运算 指令: OR FNC27(P)(16/32)逻辑“或 程序步数: 16bit操作 7步 32bit操作 13步 操作元件

  42. 功能: 将[S1·][S2·]指定的源数据 进行逻辑“异或”运算后结果 存入[D·]的目标单元。 • 梯形图表达: • (D10) (D12)→(D14) 6.4 四则运算及逻辑运算 指令: XOR FNC28(P)(16/32)逻辑“异 或” 程序步数: 16bit操作 7步 32bit操作 13步 操作元件 梯形图

  43. 功能: 将[D·]指定数据的每一位 都取反,然后该数加1,结 果存入同一元件。本指令实 际是绝对值不变的变号操 作。 • 梯形图表达: • (D10)+1→(D10) 6.4 四则运算及逻辑运算 操作元件 指令: NEG FNC29(P)(16/32)求补 程序步数: NEG和NEG(P)…3步 (D)NEG和(D)NEG(P)…5步 梯形图

  44. 功能: 将[D·]指定的数据右移n 决定的位数,最低位移出的 状态存于进位标志M8022 中。 梯形图表达: 每次X0由OFF→ON时各bit 数据向右旋转“n”bit,最后一 次从最高位移出的状态存于 进位标志M8022中。 6.5 循环移位与移位 操作元件 指令: ROR FNC30(P) (16/32)“!” 右循环 程序步数: ROR,ROR(P) )…5步 梯形图

  45. 功能: 本指令使[D·]指定的 (16/32bit)数据连同进位标志 一起向右循环移位n决定的 位数。 梯形图表达: 每次X0由OFF→ON时各bit数 据向右旋转“n”bit,最低位移出 的进位标志M8022同时参与移 位。 6.5 循环移位与移位 操作元件 指令: RCR FNC32(P) (16/32) “!” 带进位右循环移位 程序步数: …5步 梯形图

  46. 功能: 本指令使bit元件中的状态 向右移位,由n1指定bit元件 的长度,n2指定移位数。 梯形图表达: 每次X10由OFF→ON时,[D]内各 位数据连同[S]内4位数据向右移动4bit X0~X3组成的4bit数据从高端移入而 (M0 ~ M3)4位溢出。 6.5 循环移位与移位 操作元件(其中n2≤n1≤1024) 指令: SFTR FNC34(P) (16/32)“!” 位元件状态右移位 程序步数: … 9步 梯形图

  47. 功能: 本指令使字元件中的状态向右移位,由n1指定字元件长度,n2指定移位字数。 梯形图表达: 每次X10由OFF→ON时,D10~D25 16字数据连同[S]内D0~D3 4字数据向右移动4bit D0~D3从高端移入而(D10~D13)从低端移出。 6.5 循环移位与移位 操作元件(其中n2≤n1≤ 512) 指令: WSFR FNC36(P) (16/32) “!” 元件状态(字)右移 程序步数: WSFR、WSFR(P)…9步 梯形图

  48. 功能: 本指令是FIFO(先入先 出)控制数据写入指令。将 [S·]指定的数据写入[D·]指定 的第二位开始的长度为n指定 的寄存器内,[D·]指定的第一 位为指针位。指针为n-1时 不执行本操作。 梯形图表达: 当X0由OFF→ON时,D0中的数据写入 D2,而D1内的数据变为1(指针)。 D0数据 改变后X0再由OFF→ON时,DO中的数据 写入D3,D1中的数据变为2。依此类推。 直到D1内数据为n-1上述指令不再执行 6.5 循环移位与移位 操作元件(其中2≤n≤ 512) 指令: SFWR FNC38(P)(16/32) “!” 先入先出FIFO写入 程序步数: SFWR、SFWR(P)…7步 标 志:M8022(进位) WSFR、 梯形图

  49. 功能: 本指令是FIFO(先入先出)控 制数据读出指令。将[S·]指定的第 二个寄存器开始的长度为n数据 读到[D·]指定的寄存器内,[S·]指 定的第一位为指针位。指针为0 时不执行本操作。 梯形图表达: 每次X1由OFF→ON时,D2内的数 据读入D20,同时指针(D1)减1,从 D3到D10内数据向右移1字。若连续使 用该指令,则每次执行数据向右移1 字。直到D1为0,不再执行该指令。 6.5 循环移位与移位 操作元件(其中2≤n≤ 512) • 指令: SFRD FNC39(P)(16/32) “!” • 先入先出FIFO读出 • 程序步数: SFRD、SFRD(P)…7步 • 标 志:M8020进位) 梯形图

  50. 功能: 用于一批元件的同时复位。 如控制程序的初始化处理等。 梯形图表达: PLC送电运行时M500~M599,C235~C255成批复位 6.6 数据处理 操作元件(其中2≤n≤ 512) 指令: ZRST FNC40(P) (16)区间复位 程序步数: ZRST,ZRST(P)…7步 梯形图 • 注:[D1·][D2·]指定同一元件,[D1·]号≤[D2·]号

More Related