PLC功能指令及应用.ppt
第6章FX2NPLC功能指令及应用,6.1功能指令使用要素6.2程序流程控制(FNC00~FNC09)6.3传送和比较(FNC10~FNC19)6.4四则运算及逻辑运算(FNC20~FNC29)6.5循环移位与移位(FNC30~FNC39)6.6数据处理FNC40~FNC496.7高速处理(FNC50~FNC59)6.8方便指令(FNC60~FNC69),6.1.1功能指令的表现形式,功能指令按功能号(FUC00~FUC99)编排。每条功能指令都有一个助记符。,6.1功能指令使用要素,例如FUC45的助记符“MEAN”在编程时用“HELP”键,可显示功能号与对应的助记符清单。在读出程序时,功能号与助记符同时显示。,有些功能指令只需指定功能号即可。但许多功能指令在指定功能号的同时还必须指定操作数或操作地址。有些功能指令还需要多个操作数或地址。操作元件包括K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z。其中K表示十进制常数;H表示十六进制常数。,[S]SOURSE源操作数。若可使用变址功能时,表达为[S]。有时源操作数不止一个,可用[S1]、[S2]表示。,6.1.1功能指令的表现形式,[D](DESTINATION)目标操作数。若可使用变址功能时,表达为[D]。目标不止一个时用[D1]、[D2]表示。,m、n其他操作数。常用来表示数的进制(十进制、十六进制等)或者作为源操作数(或操作地址)和目标操作数(或操作地址)的补充注释。需要注释的项目多时也可以采用m1、m2等方式。,即使使用跳转指令使其在两段不可能同时执行的程序中也不能使用。但可利用变址寄存器多次改变其操作数,多次执行这样的功能指令。,6.1.1功能指令的表现形式,功能指令的功能符号和助记符占一个程序步序,操作数占2或4个程序步序,取决于指令是16bit还是32bit的。得注意的是有些功能指令在整个程序中只能出现一次。,其功能如下式表达[D0D1D2D3]3→D4Z图中标注[S]指取值首元件。n指定取值个数。[D]指定计算结果存放地址。,6.1.1功能指令的表现形式,例如下图中的功能指令是一个取平均值的指令,6.1.2数据长度及指令的执行形式,116bit和32bit功能指令可处理16位(bit)的数据和32(bit)位数据。功能指令中附有符号(D)表示处理32位(bit)数据。如(D)MOV、FNCD12、FNC12D。,,,处理32bit数据时,用元件号相邻的两个元件组成元件对。元件对的元件号用奇数、偶数均可。但为避免错误,元件对的首元件建议统一用偶数编号。,32bit计数器(C200~C255)不能用作16bit指令的操作数。,(2)连续执行/脉冲执行助记符后附有P符号表示脉冲执行,没有P符号的表示连续执行。,,6.1.2数据长度及指令的执行形式,P和D可同时使用,如DMOVP表示32bit数据传送,脉冲执行。,例如下图,(2)连续执行/脉冲执行助记符后附有P符号表示脉冲执行,没有P符号的表示连续执行。,图中仅在X0由OFF变为ON时执行D10到D12间的数据传(只传送一次),不需要每个扫描周期都执行。,6.1.2数据长度及指令的执行形式,当X1为ON时在每个扫描周期都被重复执行D20数据到D22的传送。,当X0、X1为OFF时上述两个传送都不执行。在使用PLC编程时,如果在程序中的数据不随时变化,而且变化是可控的,这样的数据传送就可用脉冲方式。,例如,INC指令含义是加1。如果每个运行周期都执行一次加1,其运行结果将无法确定。用连续方式时要特别注意。这些指令用“”号表示。,有些指令,例如XCH、INC、DEC等,6.1.3位元件和字元件,只处理ON/OFF状态的元件,例如X、Y、M、和S,称为位元件。其它处理数字数据的元件,例如T、C和D,称为字元件。而位元件组合起来也可处理数字数据。位元件的字可以由Kn加首元件号来表示。位元件每4bit为一组合成单元,KnM0中的n是组数。16bit数据操作时为K1~K4。32bit数据操作时为K1~K8。例如,K2M0即表示由M0~M7组成2个4bit组。,当一个16bit的数据传送到K1M0、K2M0或K3M0(使用MOV指令)时,只传送相应的低位(bit)数据。较高位的数据不传送。32bit数据传送时也一样。例如,,6.1.3位元件和字元件,M15M14M13M12M11M10M9M8M7M6M5M4M3M2M1M0,传送后D0寄存器的数据如下,若X1为ON时用连续传送的方式传送M0~M7组成的8位二进制数到D0数据寄存器。传送前的M0~M15组成的16bit数如下,由于数据高8位没有在指令中定义而不能传送,16位(bit)数据的符号位(最高位)为0,此时只能处理正数。,6.1.3位元件和字元件,由上述例子可知,在作16位(bit)数据操作,而参与操作的元件由K1、K2、K3来指定时,高位(不足部分)均作0。这就意味着只能处理正数(符号位为0)。在作32bit数据操作,参与操作的元件由K1~K7来指定时也一样。,6.1.4变址寄存器(V、Z),变址寄存器在传送、比较指令中来修改操作对象的元件号。其操作方式与普通数据寄存器一样。操作元件包括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。,如上图所示X0为ON时,K10(十进制数10)送到V。X1为ON时,K20(十进制数20)送到Z。当X2为ON时所作的加法(D5V)+(D15Z)→(D40Z)(D15)+(D35)→(D60)。M8000是内部特殊寄存器(常ON),即无条件将十进制常数0(K0)送入V,此时(V)、Z的数据为0和20。当X3为ON时执行DADD指令,作32bit数据加法(D0)+(D2)→(D4Z)就是(D1,D0)+(D3,D2)→(D25,D24),,6.1.4变址寄存器(V、Z),6.2程序流程控制,指令CJFNC00(P)(16)条件转移操作元件指针P0~P127(允许变址修改)P63即END,无需再标注程序步数CJ和CJP3步标号P1步梯形图功能用于跳过顺序程序中的某一部分,这样可以减少扫描时间,并使双线圈操作成为可能。如果X0为ON则跳到标记P8处继续执行。,,,指令CALLFNC01(P)(16)转子程序操作元件指针P0~P127(允许变址修改)程序步数CALL和CALLP3步标号P1步嵌套5级梯形图功能用于特定条件下执行某个子程序,可减少程序重复。如果X0为ON则调用P10为标记的子程序执行。在执行子程序时也可调用子程序,可嵌套5级。,,,,6.2程序流程控制,指令SRETFNC02子程序返操作元件无程序步数1步梯形图功能与CALL指令对应的子程序结束返回CALL指令后的程序顺序执行。,,6.2程序流程控制,,,,6.2程序流程控制,,指令IRETFNC03中断返回操作元件无程序步数1步,指令EIFNC04允许中断操作元件无程序步数1步梯形图功能该指令后的程序允许中断,直到DI指令出现。,6.2程序流程控制,,,,6.2程序流程控制,,指令DIFNC05禁止中断断返回操作元件无程序步数1步,6.2程序流程控制,,,指令FENDFNC06主程序结束操作元件无程序步数1步,,,6.2程序流程控制,,指令WDTFNC07P警戒时钟操作元件无程序步数1步,,,6.2程序流程控制,,指令FORFNC0816循环区起点操作元件程序步数3步,,,指令NEXTFNC09循环区终点操作元件无程序步数1步梯形图同上功能与FOR配对使用,6.2程序流程控制,6.3传送和比较,,,指令CMPFNC10P16/32比较操作元件程序步数CMP和CMPP7步DCMP和DCMPP13步,,,,指令ZCPFNC11P16/32区间比较程序步数ZCP和ZCPP9步DZCP和DZCPP17步,6.3传送和比较,,,操作元件,,6.3传送和比较,,指令MOVFN12P16/32传送程序步数MOV和MOVP5步DMOV和DMOVP9步,,,,,,操作元件,,6.3传送和比较,指令CMLFNC14P16/32取反传送程序步数CML和CMLP5步DCML和DCMLP9步,,,,,操作元件,,6.3传送和比较,指令SMOVFNC13P16位移传送程序步数SMOV和SMOVP11步,,,,,操作元件,,6.3传送和比较,指令BMOVFNC15P16块传送程序步数BMOV和BMOVP7步,,,,,操作元件,6.3传送和比较,指令FMOVFNC16P16多点传送程序步数FMOV和FMOVP7步,,,,,操作元件,6.3传送和比较,指令XCHFNC17P16/32“”交换程序步数XCH和XCHP5步DXCH和DXCHP9步,,,,,操作元件,6.3传送和比较,指令BCDFNC18P16/32二进制转换成BCD码程序步数BCD和BCDP5步DBCD和DBCDP9步,,,,,操作元件,6.3传送和比较,指令BINFNC19P16/32BIN变换程序步数BIN和BINP5步DBIN和DBINP9步,,,,,操作元件,6.4四则运算及逻辑运算,,,,指令ADDFNC20P16/32加法程序步数ADD和ADDP7步DADD和DADDP13步标志M8020零标志;M8021借位;M8022进位,,,,,操作元件,梯形图,,,6.4四则运算及逻辑运算,指令SUBFNC21P16/32BIN减法程序步数SUB和SUBP7步DSUB和DSUBP13步,,,,,操作元件,梯形图,6.4四则运算及逻辑运算,指令MULFN22P16/32BIN乘法程序步数MUL和MULP7步DMUL和DMULP13步,,,,,操作元件,梯形图,,6.4四则运算及逻辑运算,指令DIVFNC23P16/32BIN除法程序步数DIV和DIVP7步DDIV和DDIVP13步V和Z不能用于目标地址。,,,,,操作元件,梯形图,,,6.4四则运算及逻辑运算,指令INCFNC24P16/32“”加1程序步数INC、INCP、3步DINC、DINCP13步,,,,,操作元件,6.4四则运算及逻辑运算,指令DECFNC25P16/32“”减1程序步数DEC和DECP3步DDEC和DDECP13步,,,,,操作元件,6.4四则运算及逻辑运算,指令ANDFNC26P16/32逻辑“与”程序步数16bit操作7步32bit操作13步,,,,,操作元件,6.4四则运算及逻辑运算,指令ORFNC27P16/32逻辑“或程序步数16bit操作7步32bit操作13步,,,,,操作元件,6.4四则运算及逻辑运算,指令XORFNC28P16/32逻辑“异或”程序步数16bit操作7步32bit操作13步,,,,,操作元件,梯形图,6.4四则运算及逻辑运算,指令NEGFNC29P16/32求补程序步数NEG和NEGP3步DNEG和DNEGP5步,,,,,操作元件,梯形图,6.5循环移位与移位,,指令RORFNC30P16/32“”右循环程序步数ROR,RORP5步,,,,,操作元件,梯形图,6.5循环移位与移位,指令RCRFNC32P16/32“”带进位右循环移位程序步数5步,,,,,操作元件,梯形图,6.5循环移位与移位,指令SFTRFNC34P16/32“”位元件状态右移位程序步数9步,,,,,操作元件其中n2≤n1≤1024,梯形图,6.5循环移位与移位,指令WSFRFNC36P16/32“”元件状态字右移程序步数WSFR、WSFRP9步,,,,,操作元件其中n2≤n1≤512,梯形图,6.5循环移位与移位,指令SFWRFNC38P16/32“”先入先出FIFO写入程序步数SFWR、SFWRP7步标志M8022进位WSFR、,,,,,操作元件其中2≤n≤512,梯形图,6.5循环移位与移位,指令SFRDFNC39P16/32“”先入先出FIFO读出程序步数SFRD、SFRDP7步标志M8020进位,,,,,操作元件其中2≤n≤512,梯形图,6.6数据处理,注[D1][D2]指定同一元件,[D1]号≤[D2]号,指令ZRSTFNC40P16区间复位程序步数ZRST,ZRSTP7步,,,,,操作元件其中2≤n≤512,梯形图,,6.6数据处理,指令DECOFNC41P16/32解码程序步数DECO,DECOP7步,,,,,操作元件其中n1~8,梯形图,,6.6数据处理,,指令ENCOFN42P16编码程序步数ENCO,ENCOP7步,,,,,操作元件其中n1~8,梯形图,6.6数据处理,指令BONFNC44P16/32ON位判别程序步数BON、BONP3步DBON、DBONP13步,,,,,操作元件[其中n0~1516bit操作n0~3132bit操作],梯形图,6.6数据处理,指令MEANFNC45P16平均值程序步数MEAN、MEANP3步,,,,,操作元件[其中n1~64],梯形图,6.7高速处理,指令REFFNC50P16“”刷新程序步数REF,REFP5步,,,,操作元件[D]最低位为0的X或Y元件,如X0、X10、X20等nK或H的参数,8的倍数。,梯形图,6.7高速处理,指令REFFFNC51P16刷新和滤波时间调整程序步数REFF,REFFP3步,,,,操作元件X0~X7无需指定nK,Hn=0~60,梯形图,6.7高速处理,指令HSCSFNC5316/32高速计数置位程序步数DHSCS13步,,,,,操作元件[[S2]C235~C255高速计数器],梯形图,6.7高速处理,指令HSCRFNC5416/32高速计数复位程序步数DHSCR13步,,,,,操作元件[[S2]C235~C255高速计数器],梯形图,6.7高速处理,指令HSZFNC5516/32HSC区间比较程序步数DHSZ17步,,,,,操作元件[[S2]C235~C255高速计数器],梯形图,6.7高速处理,指令SPDFNC5616速度检测程序步数SPD7步指令数X0~X5每个输入点一条命令以下,,,,,操作元件[[S1]X0~X5],梯形图,6.7高速处理,指令PLSYFNC5716/32脉冲输出程序步数PLSY7步,DPLSY13步标志M8029(完成),,,,,操作元件,梯形图,6.7高速处理,指令PWMFNC5816脉宽调制程序步数PWM7步,,,,,操作元件,梯形图,6.8方便指令,指令ISTNC6016置初始状态程序步数IST7步,,,,梯形图,操作元件[S]X、Y、M[D1][D2]S20~S899[D1]<[D2],6.8方便指令,指令STMRFNC65P16/32特殊定时器程序步数7步,,,,梯形图,操作元件[S]T;[D]Y、M、S;mK、Hm=1to32767,6.8方便指令,指令ALTFNC66P16“”交替输出程序步数5步,,,,,操作元件,梯形图,6.8方便指令,指令RAMPFNC6716倾斜信号程序步数9步标志M8029,,,,梯形图,操作元件[S1][S2][D]DnK、H,