资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Date: 2024/9/22 Page: 1第九章第九章 功能指令功能指令 第一节第一节第一节第一节 功能指令的基本知识功能指令的基本知识功能指令的基本知识功能指令的基本知识第二节第二节第二节第二节 程序流控制(程序流控制(程序流控制(程序流控制(FNC00FNC00FNC00FNC00FNC09FNC09FNC09FNC09)第三节第三节第三节第三节 传送和比较指令(传送和比较指令(传送和比较指令(传送和比较指令(FNC10FNC10FNC10FNC10FNC19FNC19FNC19FNC19)第四节第四节第四节第四节 算术和逻辑运算指令(算术和逻辑运算指令(算术和逻辑运算指令(算术和逻辑运算指令(FNC20FNC20FNC20FNC20FNC29FNC29FNC29FNC29)第五节第五节第五节第五节 循环移位指令(循环移位指令(循环移位指令(循环移位指令(FNC30FNC30FNC30FNC30FNC39FNC39FNC39FNC39)第六节第六节第六节第六节 数据处理指令(数据处理指令(数据处理指令(数据处理指令(FNC40FNC40FNC40FNC40FNC49FNC49FNC49FNC49)第七节第七节第七节第七节 高速处理指令(高速处理指令(高速处理指令(高速处理指令(FNC50FNC50FNC50FNC50FNC59FNC59FNC59FNC59)Date: 2024/9/22 Page: 2第一节第一节 功能指令的基本知识功能指令的基本知识一、基本格式一、基本格式v梯形图格式梯形图格式X0MOVD0D10K3DSnv指令表格式指令表格式步序步序 操作码操作码 操作数操作数 0 0 LD X0LD X0 1 1 MOVMOV D0 D0 D10 D10 K3 K3 8 8 。 Date: 2024/9/22 Page: 3一、基本格式一、基本格式v操作码与操作数操作码与操作数操作码(指令助记符):表示指令的功能操作码(指令助记符):表示指令的功能操作数:指明参与操作的对象操作数:指明参与操作的对象源操作数源操作数S S:执行指令后收据不变的操作数,两个或执行指令后收据不变的操作数,两个或 两个以上时为两个以上时为S1S1、S2S2。目标操作数目标操作数D D:执行指令后收据被刷新的操作数,两执行指令后收据被刷新的操作数,两 个或两个以上时为个或两个以上时为D1D1、D2D2。其它操作数其它操作数m m、n n:补充注释的常数,用补充注释的常数,用K K(十进制)十进制) 和和H H(十六进制)表示,两个或十六进制)表示,两个或 两个以上时为两个以上时为m1m1、m2m2、n1n1、n2n2。Date: 2024/9/22 Page: 4v软元件软元件位软元件:只处理开关(位软元件:只处理开关(ON/OFFON/OFF)信息的元件,如信息的元件,如X X、Y Y、M M、D D、S S字软元件:处理数据的元件,如字软元件:处理数据的元件,如D D。v位软元件的组合位软元件的组合位软元件组合表示数据:位软元件组合表示数据:4 4个位元件一组,代表个位元件一组,代表4 4位位BCDBCD码,也表示码,也表示1 1位十进制数;位十进制数;用用K Kn nM Mm m表示,表示,K K为十进制,为十进制,n n为十进制位数,也是为十进制位数,也是位元位元件的组数,件的组数,M M为为位元件,位元件,m m为为位元件的首地址,一般位元件的首地址,一般用用0 0结尾的元件。结尾的元件。二、软元件二、软元件Date: 2024/9/22 Page: 5v数据长度数据长度1616位:参与运算的数据默认为位:参与运算的数据默认为1616位二进制数据位二进制数据3232位:位:3232位数据时在操作码前面加位数据时在操作码前面加D D(DoubleDouble三、数据长度及执行方式三、数据长度及执行方式X0MOVD0D1X1DMOVD2D4(D0)(D1)(D0)(D1)(D3D2)(D5D4)(D3D2)(D5D4)Date: 2024/9/22 Page: 6v执行方式执行方式连续执行方式:每个扫描周期都重复执行一次连续执行方式:每个扫描周期都重复执行一次脉冲执行方式:只在信号脉冲执行方式:只在信号OFFOFFONON时执行一次,在时执行一次,在指令后加指令后加P P(PulsePulse)。)。X0MOVD0D1X1MOVPD2D4三、数据长度及执行方式三、数据长度及执行方式Date: 2024/9/22 Page: 7v变址:改变操作数的地址变址:改变操作数的地址v变址寄存器的作用:存放改变地址的数据变址寄存器的作用:存放改变地址的数据v实际实际地址地址= =当前当前地址地址+ +变址变址数据数据v3232位运算时位运算时V V和和Z Z组合使用,组合使用,V V为高为高1616位,位,Z Z为低为低1616位。位。X0MOVK8VX1MOVK4ZMOVD0VD10ZX2V=(8)V=(8)Z=(4)Z=(4)(D8)(D14)(D8)(D14)四、变址寄存器四、变址寄存器V V、Z ZDate: 2024/9/22 Page: 8五、常用特殊辅助继电器五、常用特殊辅助继电器v功能指令执行结果的标志功能指令执行结果的标志M8020M8020:零标志零标志M8021M8021:借位标志借位标志M8022M8022:进位标志进位标志M8029M8029:执行完毕标志执行完毕标志M8064M8064:参数出错标志参数出错标志M8065M8065:语法出错标志语法出错标志M8066M8066:电路出错标志电路出错标志M8067M8067:运算出错标志运算出错标志Date: 2024/9/22 Page: 9第二节第二节 程序流控制程序流控制一、条件跳转指令一、条件跳转指令 FNC00 FNC00 CJCJ二、子程序指令二、子程序指令 FNC 01 FNC 01 CALLCALL FNC 02 FNC 02 SRETSRET三、中断指令三、中断指令 FNC 03 FNC 03 IRETIRET FNC 04 FNC 04 EIEI FNC 05 FNC 05 DIDI四、主程序结束指令四、主程序结束指令 FNC 06 FNC 06 FENDFEND 五、警戒时钟定时器指令五、警戒时钟定时器指令 FNC 07 FNC 07 WDTWDT六、循环指令六、循环指令 FNC 08 FNC 08 FOXFOX FNC 09 FNC 09 NEXTNEXTDate: 2024/9/22 Page: 10一、条件跳转指令一、条件跳转指令 FNC00 CJFNC00 CJv操作数:指针操作数:指针 P0P0P63P63v梯形图梯形图X10X10X11X11Y1Y1X12X12P0CJCJP0P0CJCJP0P0v指令表指令表步序步序 操作码操作码 操作数操作数 0 0 LD X10LD X10 1 1 CJCJ P0 P0 。 10 LD X11 10 LD X11 11 11 CJCJ P0 P0 。 20 20 P0P0 21 LD X12 21 LD X12 22 OUT Y1 22 OUT Y1 Date: 2024/9/22 Page: 11v说明说明CJCJ指令跳过部分程序,可以缩短程序的运算周期。指令跳过部分程序,可以缩短程序的运算周期。如果积算型定时器和计数器的如果积算型定时器和计数器的RSTRST指令在跳转程序之内,即指令在跳转程序之内,即使跳转程序生效,使跳转程序生效,RSTRST指令仍然有效。指令仍然有效。该指令可以连续和脉冲执行方式。该指令可以连续和脉冲执行方式。被跳过去的程序中各元件的状态为被跳过去的程序中各元件的状态为Y Y、M M、S S保持跳转前状态不变。保持跳转前状态不变。普通计数器停止计数并保持当前值,高速计数器继续计普通计数器停止计数并保持当前值,高速计数器继续计数。数。未工作的定时器不动作,已动作的定时器保持当前值。未工作的定时器不动作,已动作的定时器保持当前值。T192T192T199T199跳转时仍然计时。跳转时仍然计时。一、比较指令一、比较指令 FNC10 CMPDate: 2024/9/22 Page: 12二、子程序指令二、子程序指令v子程序调用子程序调用 FNC01 CALLFNC01 CALL 操作数:指针操作数:指针P0P0P62 P62 v子程序返回子程序返回 FND02 SRET FND02 SRET 无操作数无操作数v说明说明子程序应该在主程序结束之后编程。子程序应该在主程序结束之后编程。CJCJ指令的指针与指令的指针与CALLCALL的指针不能重复。的指针不能重复。主程序允许嵌套,嵌套级别最多为主程序允许嵌套,嵌套级别最多为5 5级。级。子程序只能用子程序只能用T192T192T199T199和和T246T246T249T249作定时器。作定时器。Date: 2024/9/22 Page: 13v梯形图梯形图 X1X1FENDFENDSRETSRETP8CALLCALLP8P8Y1Y1X12X12Y21Y21X11X11Y30Y30主主程程序序子子程程序序二、子程序指令二、子程序指令Date: 2024/9/22 Page: 14三、中断指令三、中断指令v中断返回中断返回 FNC03 IRETFNC03 IRET 开中断开中断 FNC04 EIFNC04 EI 关中断关中断 FNC05 DIFNC05 DIv均无操作数均无操作数v梯形图梯形图开中断范围开中断范围X0I100X10FENDIRETEIDIIRETI101中断子程序中断子程序2 2中断子程序中断子程序1 1Date: 2024/9/22 Page: 15v说明说明在执行某个中断子程序时,禁止其它中断请求。在执行某个中断子程序时,禁止其它中断请求。中断程序允许嵌套,嵌套级别为中断程序允许嵌套,嵌套级别为2 2级。级。中断指针共有中断指针共有1515个:输入中断个:输入中断6 6个,定时器中断个,定时器中断3 3个,个,计数器中断计数器中断6 6个。个。中断程序用中断程序用T192T192T199T199和和T246T246T249T249作定时器。作定时器。中断的优先级别中断的优先级别多个中断信号不同时产生时,按先后顺序中断。多个中断信号不同时产生时,按先后顺序中断。多个中断信号同时产生时,按指针大小中断。多个中断信号同时产生时,按指针大小中断。三、中断指令三、中断指令Date: 2024/9/22 Page: 16v无操作数无操作数v梯形图梯形图X1X1FENDFENDSRETSRETP8CALLCALLP8P8Y1Y1X12X12Y21Y21X11X11Y30Y30主主程程序序子子程程序序四、主程序结束指令四、主程序结束指令 FNC06 FENDDate: 2024/9/22 Page: 17v说明说明与与ENDEND指令的功能一样,执行到该指令时程序返回到指令的功能一样,执行到该指令时程序返回到0 0步。步。中断服务子程序和子程序应该写在中断服务子程序和子程序应该写在FENDFEND之后,并且之后,并且用用IRETIRET和和SRETSRET返回。返回。如果多次使用如果多次使用FENDFEND指令,在最后的指令,在最后的FENDFEND和和ENDEND之间编之间编写子程序或中断子程序写子程序或中断子程序四、主程序结束指令四、主程序结束指令 FNC06 FENDDate: 2024/9/22 Page: 18v无操作数无操作数v警戒定时器是一个专用定时器,其设定值存放在特殊警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器的数据寄存器D8000D8000中,并以中,并以msms为计时单位。为计时单位。v当当PLCPLC一上电,则对警戒定时器进行初始化,将一上电,则对警戒定时器进行初始化,将K100K100(设定值为设定值为100100msms)装入装入D8000D8000中,每个扫描周期结束中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使时,马上刷新警戒定时器的当前值,使PLCPLC能正常运行。能正常运行。v当扫描周期大于当扫描周期大于100100msms时,即超过了警戒定时器的设定时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,值,警戒定时器的逻辑线圈被接通,CPUCPU立即停止执行立即停止执行用户程序,同时切断全部输出,并且报警显示。用户程序,同时切断全部输出,并且报警显示。五、警戒定时器指令五、警戒定时器指令 FNC07 WDTDate: 2024/9/22 Page: 19v如果正常的扫描周期超过警戒时钟的设定值,可以在适如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入当程序步中加入WDTWDT指令,适时刷新警戒时钟,使程序指令,适时刷新警戒时钟,使程序能顺利执行。能顺利执行。v也可以通过也可以通过MOVMOV指令修改警戒定时器的设定值(指令修改警戒定时器的设定值(D8000D8000的的值)。值)。v可以计算出程序扫描周期的最大值作为警戒时钟的设定可以计算出程序扫描周期的最大值作为警戒时钟的设定值。值。vWDTWDT指令可用在指令可用在FOR-NEXTFOR-NEXT之间。之间。五、警戒定时器指令五、警戒定时器指令 FNC07 WDTDate: 2024/9/22 Page: 20v循环开始循环开始 FNC08 FNC08 FOR FOR v操作数操作数 SS: K,H K,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv循环结束循环结束 FNC09 FNC09 NEXT NEXT 无操作数无操作数v说明说明n n为循环次数,其范围为为循环次数,其范围为1 13276732767有效。如果指定为有效。如果指定为- -32768327680 0,则作,则作n=1n=1处理。处理。循环指令最多可以嵌套循环指令最多可以嵌套5 5级。级。程序中程序中FOR-NEXTFOR-NEXT是成对出现的,是成对出现的,FORFOR在前,在前,NEXTNEXT在后不在后不可倒置,否则出错。可倒置,否则出错。编程时编程时NEXTNEXT应该在应该在FENDFEND或或ENDEND之前,否则出错。之前,否则出错。六、循环指令六、循环指令Date: 2024/9/22 Page: 21第三节第三节 传送和比较指令传送和比较指令一、比较指令一、比较指令 FNC10 FNC10 CMPCMP二、区间比较指令二、区间比较指令 FNC 11 FNC 11 ZCPZCP三、传送指令三、传送指令 FNC 12 FNC 12 MOVMOV四、移位传送指令四、移位传送指令 FNC 13 FNC 13 SMOVSMOV五、取反传送指令五、取反传送指令 FNC 14 FNC 14 CMLCML六、块传送指令六、块传送指令 FNC 15 FNC 15 BMOVBMOV七、多点传送指令七、多点传送指令 FNC 16 FNC 16 FMOVFMOV 八、数据交换指令八、数据交换指令 FNC 17 FNC 17 XCHXCH九、变换指令九、变换指令 FNC 18 FNC 18 BCDBCD FNC 19 FNC 19 BINBINDate: 2024/9/22 Page: 22v操作数操作数 S1S1、S1 S1 : K,H K,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、 V,Z V,ZDD:Y Y、M M、S Sv梯形图梯形图S1K100C10的当前值时,的当前值时,M2 = ONM0M1M2X0S2DCMP K100 C10 M0一、比较指令一、比较指令 FNC10 CMPDate: 2024/9/22 Page: 23v说明说明该指令是将源操作数该指令是将源操作数 S1S1和和 S2S2的中数据进行比较,的中数据进行比较,结果送目标操作数结果送目标操作数 DD中去。中去。 DD由由3 3个元件组成,指令中个元件组成,指令中 DD给出给出首地址首地址,其它两,其它两个为后面的相邻元件。个为后面的相邻元件。当当X0X0由由ONOFFONOFF时,不执行时,不执行CMPCMP指令,指令,M0M0M2M2保持断保持断开前的状态,用复位指令开前的状态,用复位指令RSTRST才能清除比较结果。才能清除比较结果。CMPCMP是进行二进制是进行二进制代数代数比较。比较。可以可以3232位二进制数比较和位二进制数比较和脉冲脉冲执行方式。执行方式。如果指令中指定的操作数不全、元件超出范围、软如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。元件地址不对时,程序出错。一、比较指令一、比较指令 FNC10 CMPDate: 2024/9/22 Page: 24v操作数操作数 S1S1、S1 S1 : K,H K,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、 V,Z V,ZDD:Y Y、M M、S Sv梯形图梯形图K100 C10的当前值的当前值 C10的当前值时,的当前值时,M0 = ONK120 C10的当前值时,的当前值时,M2 = ONM0M1M2X0S2DZCP K100 K120 C10 M0S二、区间比较指令二、区间比较指令 FNC11 ZCPDate: 2024/9/22 Page: 25v说明说明ZCPZCP指令是将源操作数指令是将源操作数 SS的数据和两个源操作数的数据和两个源操作数 S1S1和和 S2S2的数据进行比较,结果送到的数据进行比较,结果送到 DD中,中, DD为三个相邻元件的为三个相邻元件的首地址首地址。ZCPZCP指令为二进制指令为二进制代数代数比较,并且比较,并且 S1S1S2S2,如果如果 S1S1S2S2,则把则把 S1S1视为视为 S2S2处理。处理。当当X0X0由由ONOFFONOFF时,不执行时,不执行ZCPZCP指令,比较结果保持指令,比较结果保持不变,需要用复位指令才能清除。不变,需要用复位指令才能清除。该指令可以进行该指令可以进行16/3216/32位数据处理和连续位数据处理和连续/ /脉冲执行脉冲执行方式。方式。二、区间比较指令二、区间比较指令 FNC11 ZCPDate: 2024/9/22 Page: 26v操作数操作数 S1S1、S1 S1 : K,H K,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、 V,Z V,ZDD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,Z V,Z v梯形图梯形图X0MOVK100D10K100(D10)K100(D10)三、传送指令三、传送指令 FNC12 MOVDate: 2024/9/22 Page: 27v说明说明该指令将源操作数该指令将源操作数 SS中的数据传送到目标操作数中的数据传送到目标操作数 DD中去。中去。MOVMOV指令可以进行(指令可以进行(D D)和(和(P P)操作。操作。如果如果 SS为十进制常数,执行该指令时自动转换成二为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。进制数后进行数据传送。当当X0X0断开时,不执行断开时,不执行MOVMOV指令,数据保持不变。指令,数据保持不变。三、传送指令三、传送指令 FNC12 MOVDate: 2024/9/22 Page: 28v操作数操作数 S1S1、S1 S1 :K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、 V,Z V,ZDD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zm1m1、m2m2、n n:K K、H H v说明说明该指令将源操作数该指令将源操作数 SS的的1616位二进制数自动转换成位二进制数自动转换成4 4位位BCDBCD码,然后从右向左第码,然后从右向左第m1m1位开始向右数位开始向右数m2m2位,位,传送到目标操作数(传送到目标操作数(4 4位位BCDBCD码)的从右向左第码)的从右向左第n n位位开始向右数开始向右数m2m2位的位置上,最后这位的位置上,最后这4 4位位BCDBCD码自动转码自动转换成二进制数后送入目标操作数换成二进制数后送入目标操作数 DD中去。中去。传送中传送中BCDBCD码数值超过码数值超过99999999时程序出错。时程序出错。四、移位传送指令四、移位传送指令 FNC13 SMOVDate: 2024/9/22 Page: 29u梯形图梯形图SX0m1Dm2SMOV D1 K4 K2 D2 K3n310010110210310010110210D1D2b15b15b0b0自动转换自动转换4位BCD码4位BCD码保持保持D1D2二进制二进制从从D1右起第四位右起第四位(m1 = K4)开始的开始的2位位 (m2 = K2) 数,数,移到移到D2 的右起第的右起第 3位位 (n = K3) 和第和第 2位位, D2中的第中的第 1 位和第位和第 4位保位保持不变持不变 , 最后最后 D2 中的数自动变成二中的数自动变成二进制数进制数 .四、移位传送指令四、移位传送指令 FNC13 SMOVDate: 2024/9/22 Page: 30v操作数操作数 SS:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,ZDD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,Z V,Z v说明说明该指令把源操作数该指令把源操作数 SS中的数据各位取反(中的数据各位取反(1010,0101)后传送到目标操作数)后传送到目标操作数 DD中去。中去。该指令可以该指令可以16/3216/32位数据处理和连续位数据处理和连续/ /脉冲执行方式脉冲执行方式五、取反传送指令五、取反传送指令 FNC14 CMLDate: 2024/9/22 Page: 31v梯形图梯形图CML D0 K1Y0X0DS1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0符号位取反传送保持不变Y0Y3(D0) (K1Y0)若源若源操作数中的操作数中的数为十进制常数数为十进制常数时时, ,将自动转换成将自动转换成二进制二进制 . .五、取反传送指令五、取反传送指令 FNC14 CMLDate: 2024/9/22 Page: 32v操作数操作数 SS:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Z D D:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,Z V,Z n n:K K、H H v梯形图梯形图SX0DnBMOV D5 D10 K3D7D6D5D12D11D10六、块传送指令六、块传送指令 FNC15 BMOVDate: 2024/9/22 Page: 33v说明说明 SS为存放被传送的数据块的首地址;为存放被传送的数据块的首地址; DD为存放传送为存放传送来的数据块的首地址;来的数据块的首地址;n n为数据块的长度。为数据块的长度。位元件进行传送时,源和目标操作数要有相同的位数。位元件进行传送时,源和目标操作数要有相同的位数。当传送地址号重叠时,为防止在传送过程中数据丢失当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用再送入数据。如图所示,采用的顺序自动传送。的顺序自动传送。该指令可以连续该指令可以连续/ /脉冲执行方式。脉冲执行方式。六、块传送指令六、块传送指令 FNC15 BMOVDate: 2024/9/22 Page: 34X0BMOV K1M0 K1Y0 K2n = K2M2M1M0M3Y2Y1Y0Y3M6M5M4M7Y6Y5Y4Y7D12D11D10D11D10D9D12D11D10D13D12D11X1BMOV D10 D9 K3X2BMOV D10 D11 K3六、块传送指令六、块传送指令 FNC15 BMOVDate: 2024/9/22 Page: 35v操作数操作数 SS:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Z D D:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D n n: K K、H H v梯形图梯形图SX0DnBMOV K10 D0 K10把把K10传送到传送到D0D9中去中去七、多点传送指令七、多点传送指令 FNC16 FMOVDate: 2024/9/22 Page: 36v操作数操作数 D1D1、D2D2:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv梯形图梯形图D1X0XCH(P) D0 D1 D2(D0) (D1)八、数据交换指令八、数据交换指令 FNC17 XCHv注意注意 交换指令一般要在脉冲方式执行交换指令一般要在脉冲方式执行, ,否则不能正常工作。否则不能正常工作。Date: 2024/9/22 Page: 37v操作数操作数 SS:KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,Z V,Z D D:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv梯形图梯形图SX0BCD D10 K2Y0 DSX1BIN K2Y0 D14D九、变换指令九、变换指令 FNC18 BCD FNC19 BINDate: 2024/9/22 Page: 38第四节第四节 算术与逻辑运算指令算术与逻辑运算指令一、二进制加减运算指令一、二进制加减运算指令 加法加法 FNC20FNC20 ADD ADD 减法减法 FNC21FNC21 SUB SUBv操作数操作数 S1S1、S2S2:K K、H H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,Z V,Z DD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv梯形图梯形图S1X0ADD D0 D2 D4 DS1X1DSUB D10 D12 D14DS2S2(D0)+(D2) (D4)(D11D10)(D13D12) (1D5D14)Date: 2024/9/22 Page: 39v说明说明指令是指令是代数代数加减运算,数据的最高位为加减运算,数据的最高位为符号符号位。位。进行进行1616位加减运算时,数据范围为位加减运算时,数据范围为32768327683276732767;3232位运算时,数据范围为位运算时,数据范围为2147483648214748364821474836472147483647。运算结果为运算结果为0 0时,时,零标志零标志置位(置位(M8020=1M8020=1););运算结果运算结果大于大于3276732767(或(或21474836472147483647)时,)时,进位标志进位标志置位置位(M8022=1M8022=1););运算结果小于运算结果小于3276832768(或(或21474836482147483648)时,)时,借位标志借位标志置位(置位(M8021=1M8021=1)。)。该指令可以进行连续该指令可以进行连续/ /脉冲执行方式。脉冲执行方式。一、二进制加减运算指令一、二进制加减运算指令Date: 2024/9/22 Page: 40 乘法乘法 FNC22FNC22 MUL MUL 减法减法 FNC23FNC23 DIV DIVv操作数操作数 S1S1、S2S2:K K、H H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,Z V,Z DD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv梯形图梯形图S1X0MUL D0 D2 D4 DS1X1DDIV D10 D12 D14DS2S2(D0)(D2) (D5D4)被乘数被乘数 乘数乘数 积积(D11D10)(D13D12) (1D5D14)(D17D16)被除数被除数 除数除数 商商 余数余数二、二进制乘除运算指令二、二进制乘除运算指令Date: 2024/9/22 Page: 41v操作数操作数指令进行二进制运算,数据最高位为符号位。指令进行二进制运算,数据最高位为符号位。可以进行可以进行16/3216/32位乘除运算,位乘除运算,1616位运算时,积为位运算时,积为3232位位数据,商和余数为数据,商和余数为1616位数据;位数据;3232位运算时,积为位运算时,积为6464位位数据,商和余数为数据,商和余数为3232位数据。位数据。0 0作除数时程序出错。被除数和除数中有一个为负数作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。时,商为负数;被除数为负数时,余数也为负数。位元件作为位元件作为3232位乘法运算的目标元件时,只能得到积位乘法运算的目标元件时,只能得到积的低的低3232位数据。位数据。可以进行连续可以进行连续/ /脉冲执行方式。脉冲执行方式。二、二进制乘除运算指令二、二进制乘除运算指令Date: 2024/9/22 Page: 42 加加1 1 FNC24FNC24 INC INC 减减1 1 FNC25FNC25 DEC DECv操作数操作数 DD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv梯形图梯形图X0 INC(P) D10DX1DEC(P) D12 D(D10)+1 (D10)(D12)1 (D12)三、二进制加三、二进制加1减减1指令指令Date: 2024/9/22 Page: 43v说明说明上述指令可以连续上述指令可以连续/ /脉冲脉冲执行方式,应用中要特别注执行方式,应用中要特别注意。意。可以进行可以进行16/3216/32位运算,并且为二进制运算。位运算,并且为二进制运算。如果从如果从+32767+32767(或(或+2147483647+2147483647)再加)再加1 1,则变成,则变成- -3276832768(或(或-2147483648-2147483648);如果从);如果从-32768-32768(或(或- -21474836482147483648)再减)再减1 1,则变成,则变成+32767+32767(或(或+2147483647+2147483647),为),为循环计数循环计数。以上变化时以上变化时标志位标志位不动作,也就是说这两条指令和零不动作,也就是说这两条指令和零标志、借位标志、进位标志无关。标志、借位标志、进位标志无关。三、二进制加三、二进制加1减减1指令指令Date: 2024/9/22 Page: 44 逻辑与逻辑与 FNC26FNC26 WANDWAND 逻辑或逻辑或 FNC27FNC27 WORWOR 逻辑异或逻辑异或 FNC28 FNC28 WXORWXORv操作数操作数S1S1、S2S2:K K、H H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、 V,Z V,Z DD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Z四、逻辑运算指令四、逻辑运算指令Date: 2024/9/22 Page: 45(D0) (D2) (D4)(D10)(D12) (D14) (D20) (D22) (D24)S1X0WAND D0 D2 D4 DWOR D10 D12 D14S2WXOR D20 D22 D24v异或非运算的梯形图异或非运算的梯形图X0WXOR D10 D12 D14 CML D14 D14(D14) (D14)四、逻辑运算指令四、逻辑运算指令v梯形图梯形图 (D10) (D12) (D14)Date: 2024/9/22 Page: 46v说明说明各数据的对应位进行二进制与、或、异或运算。各数据的对应位进行二进制与、或、异或运算。3232位数据运算时,助记符为位数据运算时,助记符为DANDDAND、DORDOR、DXORDXOR。指令运算规则如下:指令运算规则如下:四、逻辑运算指令四、逻辑运算指令逻辑与逻辑与1 1= 11 0= 00 1= 00 0= 0逻辑或逻辑或1 1= 11 0= 00 1= 00 0= 0逻辑异或逻辑异或1 1= 01 0= 10 1= 10 0= 0Date: 2024/9/22 Page: 47v操作数操作数 DD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,ZX0NEG D10D(D10)+ 1 (D10)v说明说明求补指令是把二进制数各位取反再加求补指令是把二进制数各位取反再加1 1后,送入目后,送入目标操作数标操作数 DD中。实际是绝对值不变的变号操作。中。实际是绝对值不变的变号操作。 PLCPLC的负数以二进制的补码形式表示,其绝对值可的负数以二进制的补码形式表示,其绝对值可以通过求补指令求得。以通过求补指令求得。五、求补指令五、求补指令 FNC19 NEGDate: 2024/9/22 Page: 48u功能指令的格式功能指令的格式梯形图格式和指令表格式梯形图格式和指令表格式u功能指令的位长功能指令的位长16位和位和32位位u功能指令的执行方式功能指令的执行方式连续连续和和脉冲脉冲方式方式u4个个位元件组合的位元件组合的BCD码表示码表示一位一位十进制数十进制数u变址寄存器变址寄存器V、Z的应用的应用u功能指令的标志功能指令的标志M8020、M8021、M8022u功能指令的应用功能指令的应用小结小结Date: 2024/9/22 Page: 49
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号