1、Date:2022-7-24 Page:1CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用Date:2022-7-24 Page:2CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用一、基本格式一、基本格式v 梯形图格式梯形图格式)10(3)2()1()0(DDDDv 指令表格式指令表格式步序步序 操作码操作码 操作数操作数 0 LD X00 LD X0 1 1 MEANMEAN D0 D0 D10 D10 K3 K3 8 8 。又称应用指令,用于数据的又称
2、应用指令,用于数据的传送、运算、变换及程序控传送、运算、变换及程序控制等功能。具有制等功能。具有128种种298条条X0MEAND0D10K3DSnDate:2022-7-24 Page:3CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作码与操作数操作码与操作数 操作码(指令助记符):表示指令的功能操作码(指令助记符):表示指令的功能 操作数:指明参与操作的对象操作数:指明参与操作的对象源操作数源操作数S S:执行指令后数据不变的操作数,两个或:执行指令后数据不变的操作数,两个或 两个以上时为两个以上时为S1S1、S
3、2S2。目标操作数目标操作数D D:执行指令后数据被刷新的操作数,两:执行指令后数据被刷新的操作数,两 个或两个以上时为个或两个以上时为D1D1、D2D2。如果可使用变址功能,。如果可使用变址功能,用用SS 和和DD 表示。表示。其它操作数其它操作数m m、n n:补充注释的常数,用:补充注释的常数,用K K(十进制)(十进制)和和H H(十六进制)表示,作为源和目标操作数的补充(十六进制)表示,作为源和目标操作数的补充说明,两个或两个以上时为说明,两个或两个以上时为m1m1、m2m2、n1n1、n2n2。指令步数指令步数 指令步数为执行该指令所需的程序步数。应用指令的指令编指令步数为执行该指
4、令所需的程序步数。应用指令的指令编 号和指令助记符占一个程序步,每个操作数占号和指令助记符占一个程序步,每个操作数占2 2个或个或4 4个程序步(个程序步(1616位操作位操作 数和数和3232位操作数分别占位操作数分别占2 2个和个和4 4个程序步)。因此,一般个程序步)。因此,一般1616位指令为位指令为7 7个程个程 序步,序步,3232位指令为位指令为1313个程序步个程序步Date:2022-7-24 Page:4CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 数据长度数据长度1616位:参与运算的数据默认为位
5、:参与运算的数据默认为1616位二进制数据位二进制数据3232位:位:3232位数据时在操作码前面加位数据时在操作码前面加D D(Double)Double)X0MOVD0D1X1DMOVD2D4(D0)(D1)(D0)(D1)(D3D2)(D5D4)(D3D2)(D5D4)对于对于3232位功能指令,其助记位功能指令,其助记符在符在1616位指令助记符上添加位指令助记符上添加符号符号D D。Date:2022-7-24 Page:5CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 执行方式执行方式连续执行方式:每个扫描周
6、期都重复执行一次连续执行方式:每个扫描周期都重复执行一次,操,操作数的内容每个扫描周期都变化。作数的内容每个扫描周期都变化。脉冲执行方式:只在信号脉冲执行方式:只在信号OFFOFFONON时执行一次,在时执行一次,在指令后加指令后加P P(PulsePulse)。)。X0MOVD0D1X1MOVPD2D4Date:2022-7-24 Page:6CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 功能指令执行结果的标志功能指令执行结果的标志M8020M8020:零标志:零标志M8021M8021:借位标志:借位标志M8022
7、M8022:进位标志:进位标志M8029M8029:执行:执行结束结束标志标志M8064M8064:参数出错标志:参数出错标志M8065M8065:语法出错标志:语法出错标志M8066M8066:电路出错标志:电路出错标志M8067M8067:运算出错标志:运算出错标志Date:2022-7-24 Page:7CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用 在在FX系列系列PLC内部,数据是以二进制(内部,数据是以二进制(BIN)补码的形式存)补码的形式存储,所有的四则运算都使用二进制数。储,所有的四则运算都使用二进制数。
8、二进制补码的最高位为符号位,正数符号位为二进制补码的最高位为符号位,正数符号位为0,负数符号位,负数符号位为为1。为更精确地进行运算,可采用浮点数运算。在为更精确地进行运算,可采用浮点数运算。在FX系列系列PLC中中提供了二进制浮点运算和十进制浮点运算提供了二进制浮点运算和十进制浮点运算。Date:2022-7-24 Page:8CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用一、条件跳转指令一、条件跳转指令 FNC00 FNC00 CJCJ二、子程序指令二、子程序指令 FNC 01 FNC 01 CALLCALL FNC
9、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:2022-7-24 Page:9CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控
10、制与PLCPLC应用应用v 操作数:指针操作数:指针 P0P0P127P127v 梯形图梯形图P0v 指令表指令表步序步序 操作码操作码 操作数操作数 0 LD X100 LD X10 1 1 CJCJ P0 P0 。10 LD X1110 LD X11 11 11 CJCJ P0 P0 。20 20 P0P0 21 LD X12 21 LD X12 22 OUT Y1 22 OUT Y1 Date:2022-7-24 Page:10CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 说明说明 CJCJ指令跳过部分程序,可以
11、缩短程序的指令跳过部分程序,可以缩短程序的扫描周期扫描周期。一个指针只能出现一次。一个指针只能出现一次。如果积算型定时器和计数器的如果积算型定时器和计数器的RSTRST指令在跳转程序之内,即使跳指令在跳转程序之内,即使跳转程序生效,转程序生效,RSTRST指令仍然有效。指令仍然有效。该指令可以连续和脉冲执行方式。该指令可以连续和脉冲执行方式。被跳过去的程序中各元件的状态为被跳过去的程序中各元件的状态为Y Y、M M、S S保持跳转前状态不变。保持跳转前状态不变。定时器定时器T T和计数器和计数器C C如果被如果被CJCJ指令跳过,跳转期间它们的当前指令跳过,跳转期间它们的当前值将被保存。如果在
12、跳转开始时定时器和计数器正在工作,值将被保存。如果在跳转开始时定时器和计数器正在工作,在跳转期间它们将停止定时和计数。在跳转期间它们将停止定时和计数。T192T192T199T199和高速计数器和高速计数器C235C235C255C255如果在驱动后跳转,则如果在驱动后跳转,则继续工作,输出触点也会动作。继续工作,输出触点也会动作。Date:2022-7-24 Page:11CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用如图,如图,X000为为ON时,时,程序跳到指针程序跳到指针P8处。处。X000为为OFF时,时,不执行
13、跳转,程序按原顺序执行。不执行跳转,程序按原顺序执行。如果用如果用M8000的常开触点驱动的常开触点驱动CJ指令,相当于无条指令,相当于无条 件跳转指令,因为运行时件跳转指令,因为运行时特殊辅助寄存器特殊辅助寄存器M8000总总 是是ON。Date:2022-7-24 Page:12CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 子程序调用子程序调用 FNC01 CALL FNC01 CALL(Sub-Routine CallSub-Routine Call)操作数:指针操作数:指针P0P0P127 P127 v 子程序
14、返回子程序返回 FND02 SRET FND02 SRET(Sub-Routine ReturnSub-Routine Return)无操作数无操作数v 说明说明子程序应该在主程序结束之后编程。子程序应该在主程序结束之后编程。同一指针只能出现一次同一指针只能出现一次CJCJ指令的指针与指令的指针与CALLCALL的指针不能重复。的指针不能重复。子程序允许嵌套,嵌套级别最多为子程序允许嵌套,嵌套级别最多为5 5级。级。子程序只能用子程序只能用T192T192T199T199和和T246T246T249T249作定时器。作定时器。Date:2022-7-24 Page:13CH5CH5 FXFX系
15、列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 梯形图梯形图 P8主程序主程序子程序子程序Date:2022-7-24 Page:14CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 中断返回中断返回 FNC03 IRETFNC03 IRET(Interruption ReturnInterruption Return)开中断开中断 FNC04 EIFNC04 EI(Interruption EnableInterruption Enable)关中断关中断 FNC05 DI
16、FNC05 DI(Interruption DisableInterruption Disable)v 均无操作数均无操作数v 梯形图梯形图开中断范围开中断范围X0I100X10FENDIRETEIDIIRETI101中断子程序中断子程序2 2中断子程序中断子程序1 1Date:2022-7-24 Page:15CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 说明说明在执行某个中断子程序时,禁止其它中断请求。在执行某个中断子程序时,禁止其它中断请求。用于中断的用于中断的指针指针用来指明某一中断源的中断程序用来指明某一中断
17、源的中断程序的入口。的入口。中断程序允许嵌套,嵌套级别为中断程序允许嵌套,嵌套级别为2 2级。级。中断指针共有中断指针共有1515个:输入中断个:输入中断6 6个,定时器中断个,定时器中断3 3个,个,计数器中断计数器中断6 6个。个。中断程序用中断程序用T192T192T199T199和和T246T246T249T249作定时器。作定时器。中断的优先级别中断的优先级别多个中断信号不同时产生时,按先后顺序中断。多个中断信号不同时产生时,按先后顺序中断。多个中断信号同时产生时,按指针大小中断。多个中断信号同时产生时,按指针大小中断。Date:2022-7-24 Page:16CH5CH5 FXF
18、X系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用输入中断输入中断用来接收特定的输入地址号的输入信号,用来接收特定的输入地址号的输入信号,输入中断输入中断指针指针I I0 0。最高位。最高位与与X000X000X005X005的元件号相对应,单元的元件号相对应,单元的输入号为的输入号为0 05 5(从(从X000X000X005X005输入)。最低位输入)。最低位为为0 0时表示时表示下降沿中断,反之为上升沿中断。下降沿中断,反之为上升沿中断。定时器中断指针定时器中断指针为为I6I6I8I8,低两位是以,低两位是以msms为单位定为单位定时时间(
19、时时间(1 199ms99ms)。)。M8056M8056M5058M5058为为ONON时,将分别禁止定时时,将分别禁止定时中断中断0 02 2。计数器中断指针计数器中断指针为为I0I00 0(1 16 6)。计数器中断与)。计数器中断与HSCSHSCS(高速计数器比较置位)指令配合使用,根据高速计数器的(高速计数器比较置位)指令配合使用,根据高速计数器的计数当前值与计数设定值的关系来确定是否执行相应的中断计数当前值与计数设定值的关系来确定是否执行相应的中断服务程序。服务程序。Date:2022-7-24 Page:17CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指
20、令系统电气控制与电气控制与PLCPLC应用应用v 无操作数无操作数v 梯形图梯形图P8主程序主程序子程序子程序Date:2022-7-24 Page:18CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 说明说明与与ENDEND指令的功能一样,执行到该指令时程序返回到指令的功能一样,执行到该指令时程序返回到0 0步。步。中断服务子程序和子程序应该写在中断服务子程序和子程序应该写在FENDFEND之后,并且之后,并且用用IRETIRET和和SRETSRET返回。返回。如果多次使用如果多次使用FENDFEND指令,在最后的指令
21、,在最后的FENDFEND和和ENDEND之间编之间编写子程序或中断子程序写子程序或中断子程序Date:2022-7-24 Page:19CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 无操作数无操作数v 警戒定时器是一个专用定时器,其设定值存放在特殊警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器的数据寄存器D8000D8000中,并以中,并以msms为计时单位。为计时单位。v 当当PLCPLC一上电,则对警戒定时器进行初始化,将一上电,则对警戒定时器进行初始化,将K100K100(设定值为(设定值为100m
22、s100ms)装入)装入D8000D8000中,每个扫描周期结束中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使时,马上刷新警戒定时器的当前值,使PLCPLC能正常运能正常运行。行。v 当扫描周期大于当扫描周期大于100ms100ms时,即超过了警戒定时器的设时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,定值,警戒定时器的逻辑线圈被接通,CPUCPU立即停止立即停止执行用户程序,同时切断全部输出,并且报警显示。执行用户程序,同时切断全部输出,并且报警显示。Date:2022-7-24 Page:20CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系
23、统电气控制与电气控制与PLCPLC应用应用v 如果正常的扫描周期超过警戒时钟的设定值,可以在适如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入当程序步中加入WDTWDT指令,适时刷新警戒时钟,使程序指令,适时刷新警戒时钟,使程序能顺利执行。能顺利执行。v 也可以通过也可以通过MOVMOV指令修改警戒定时器的设定值(指令修改警戒定时器的设定值(D8000D8000的的值)。值)。v 可以计算出程序扫描周期的最大值作为警戒时钟的设定可以计算出程序扫描周期的最大值作为警戒时钟的设定值。值。v WDTWDT指令可用在指令可用在FOR-NEXTFOR-NEXT之间。之间。警戒定时器指令的应
24、用警戒定时器指令的应用Date:2022-7-24 Page:21CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 循环开始循环开始 FNC08 FNC08 FOR FOR v 操作数操作数SS:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv 循环结束循环结束 FNC09 FNC09 NEXT NEXT 无操作数无操作数v 说明说明 n n为循环次数,其范围为为循环次数,其范围为1 13276732767有效。如果指定为有效。如果指定为-32768327680
25、0,则作,则作n=1n=1处理。处理。循环指令最多可以嵌套循环指令最多可以嵌套5 5级。级。程序中程序中FOR-NEXTFOR-NEXT是成对出现的,是成对出现的,FORFOR在前,在前,NEXTNEXT在后不在后不可倒置,否则出错。可倒置,否则出错。编程时编程时NEXTNEXT应该在应该在FENDFEND或或ENDEND之前,否则出错。之前,否则出错。Date:2022-7-24 Page:22CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用循环指令使用说明循环指令使用说明图中图中,外层循环程序,外层循环程序A嵌套了内层循
26、环嵌套了内层循环B,循环,循环A执行执行5次,次,每执行一次循环每执行一次循环A,就要执行,就要执行10次循环次循环B,因此循环,因此循环B一共一共要执行要执行50次。利用循环中的次。利用循环中的CJ指令可以跳出指令可以跳出FORNEXT之间的循环区。之间的循环区。Date:2022-7-24 Page:23CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用一、比较指令一、比较指令 FNC10 FNC10 CMPCMP二、区间比较指令二、区间比较指令 FNC 11 FNC 11 ZCPZCP三、传送指令三、传送指令 FNC 1
27、2 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:2022-7-24 Page:24CH5CH5 FXFX系列系列PLCP
28、LC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数S1S1、S1 S1:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,ZDD:Y Y、M M、S Sv 梯形图梯形图S1K100C10的当前值时,的当前值时,M2=ONM0M1M2X0S2DCMP K100 C10 M0(Compare)Date:2022-7-24 Page:25CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 说明说明该指令是将源操作数该指令是将源操作数
29、S1S1和和S2S2的中数据进行比较,的中数据进行比较,结果送目标操作数结果送目标操作数DD中去。中去。DD由由3 3个元件组成,指令中个元件组成,指令中DD给出给出首地址首地址,其它两,其它两个为后面的相邻元件。个为后面的相邻元件。当当X0X0由由ONOFFONOFF时,不执行时,不执行CMPCMP指令,指令,M0M0M2M2保持断保持断开前的状态,用复位指令开前的状态,用复位指令RSTRST才能清除比较结果。才能清除比较结果。CMPCMP是进行二进制是进行二进制代数代数比较。比较。可以可以3232位二进制数比较和位二进制数比较和脉冲脉冲执行方式。执行方式。如果指令中指定的操作数不全、元件超
30、出范围、软如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。元件地址不对时,程序出错。Date:2022-7-24 Page:26CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数S1S1、S1 S1:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,ZDD:Y Y、M M、S Sv 梯形图梯形图K100 C10的当前值的当前值 C10的当前值时,的当前值时,M0=ONK120 C10的当前值时,的当前值时,M2=ONM0M1M2X0S2
31、DZCP K100 K120 C10 M0S(Zone Compare)Date:2022-7-24 Page:27CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 说明说明ZCPZCP指令是将源操作数指令是将源操作数SS的数据和两个源操作数的数据和两个源操作数S1S1和和S2S2的数据进行比较,结果送到的数据进行比较,结果送到DD中,中,DD为三为三个相邻元件的个相邻元件的首地址首地址。ZCPZCP指令为二进制指令为二进制代数代数比较,并且比较,并且S1S1S2S2,如果,如果S1S1S2S2,则把,则把S1S1视为视为
32、S2S2处理。处理。当当X0X0由由ONOFFONOFF时,不执行时,不执行ZCPZCP指令,指令,M0M0M2M2状态保状态保持不变,需要用复位指令才能清除比较结果。持不变,需要用复位指令才能清除比较结果。该指令可以进行该指令可以进行16/3216/32位数据处理和连续位数据处理和连续/脉冲执行脉冲执行方式。方式。Date:2022-7-24 Page:28CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用FNC12FNC12该指令的功能是将源数据传送到指定的目标。该指令的功能是将源数据传送到指定的目标。v 操作数操作数S1
33、S1:所有数据类型所有数据类型DD:KnY、KnM、KnS、T、C、D、V、Z。v 梯形图梯形图Date:2022-7-24 Page:29CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v说明说明该指令将源操作数该指令将源操作数SS中的数据传送到目标操作数中的数据传送到目标操作数DD中去。中去。MOVMOV指令可以进行(指令可以进行(D D)和()和(P P)操作。)操作。如果如果SS为十进制常数,执行该指令时自动转换成二为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。进制数后进行数据传送。当当X0X0断开时,
34、不执行断开时,不执行MOVMOV指令,数据保持不变。指令,数据保持不变。Date:2022-7-24 Page:30CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数S1S1、S1 S1: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,ZV,Zm1m1、m2m2、n n:K K、H H v 说明说明该指令将源操作数该指令将源操作数SS的的1616位二进制数自动转换成位二进制数自动
35、转换成4 4位位BCDBCD码,然后从右向左第码,然后从右向左第m1m1位开始向右数位开始向右数m2m2位,位,传送到目标操作数(传送到目标操作数(4 4位位BCDBCD码)的从右向左第码)的从右向左第n n位位开始向右数开始向右数m2m2位的位置上,最后这位的位置上,最后这4 4位位BCDBCD码自动转码自动转换成二进制数后送入目标操作数换成二进制数后送入目标操作数DD中去。中去。传送中传送中BCDBCD码数值超过码数值超过99999999时程序出错。时程序出错。(Shift Move)Date:2022-7-24 Page:31CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编
36、程元件及指令系统电气控制与电气控制与PLCPLC应用应用u梯形图梯形图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 中的数自动变成二中的数自动变成二进制数进制数 .Date:2022-7-24 Page:32CH5CH5
37、 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数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位数据处理和连续位数据处理和连续/脉冲执行方式脉冲执行方式(Complement
38、 Move)Date:2022-7-24 Page:33CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 梯形图梯形图CML D0 K1Y0X0DS1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1符号位取反传送保持不变Y0Y3(D0)(K1Y0)若源操作数中的若源操作数中的数为十进制常数数为十进制常数时时,将自动转换将自动转换成二进制成二进制 .Date:2022-7-24 Page:34CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCP
39、LC应用应用v 操作数操作数 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(Block Move)Date:2022-7-24 Page:35CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 说明说明SS为存放被传送的数据块的首地址;为存放被传送的数据块的首地
40、址;DD为存放传为存放传送来的数据块的首地址;送来的数据块的首地址;n n为数据块的长度。为数据块的长度。位元件进行传送时,源和目标操作数要有相同的位位元件进行传送时,源和目标操作数要有相同的位数。数。当传送地址号重叠时,为防止在传送过程中数据丢当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用然后再送入数据。如图所示,采用的顺序自的顺序自动传送。动传送。该指令可以连续该指令可以连续/脉冲执行方式。脉冲执行方式。Date:2022-7-24 Page:36CH5CH5 FXFX系列系
41、列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用X0BMOV K1M0 K1Y0 K2n=K2M2M1M0M3Y2Y1Y0Y3M6M5M4M7Y6Y5Y4Y7X1BMOV D10 D9 K3X2BMOV D10 D11 K3D12D11D10D11D10D9D12D11D10D13D12D11Date:2022-7-24 Page:37CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数 SS:K,HK,H、KnXKnX、KnYKnY、KnMKnM、KnSKnS、T T、
42、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 梯形图梯形图SX0DnFMOV K10 D0 K10X0为为ON时把常数时把常数10传送到传送到D0D9中去中去(Fill Move)Date:2022-7-24 Page:38CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数 D1D1、D2D2:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv 梯形图梯形图D1X0XCH(P)D0 D1 D2(D
43、0)(D1)(Exchange)v 注意注意 交换指令一般要在脉冲方式执行交换指令一般要在脉冲方式执行,否则不能正常工作。否则不能正常工作。Date:2022-7-24 Page:39CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用v 操作数操作数 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(Bina
44、ry Code to DecimalBinary Code to Decimal)二进制数转换成)二进制数转换成BCDBCD码并传码并传送到指定目标元件中。送到指定目标元件中。(BinaryBinary)BCDBCD码转换为二进制数并传送到指定目标元码转换为二进制数并传送到指定目标元件中。件中。Date:2022-7-24 Page:40CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用一、二进制加减运算指令一、二进制加减运算指令 加法加法 FNC20FNC20 ADD ADD(Addition)减法减法 FNC21FNC21
45、 SUB SUB(Subtraction)v 操作数操作数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:2022-7-24 Page:41CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCP
46、LC应用应用v 说明说明指令是指令是代数代数加减运算,数据的最高位为加减运算,数据的最高位为符号符号位。位。进行进行1616位加减运算时,数据范围为位加减运算时,数据范围为32768327683276732767;3232位运算时,数据范围为位运算时,数据范围为2147483648214748364821474836472147483647。运算结果为运算结果为0 0时,时,零标志零标志置位(置位(M8020=1M8020=1);运算结);运算结果大于果大于3276732767(或(或21474836472147483647)时,)时,进位标志进位标志置置位(位(M8022=1M8022=1)
47、;运算结果小于);运算结果小于3276832768(或(或21474836482147483648)时,)时,借位标志借位标志置位(置位(M8021=1M8021=1)。)。该指令可以进行连续该指令可以进行连续/脉冲执行方式。脉冲执行方式。Date:2022-7-24 Page:42CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用 乘法乘法 FNC22FNC22 MUL MUL(Multiplication)除法除法 FNC23FNC23 DIV DIV(Division)v 操作数操作数S1S1、S2S2:K K、H H、
48、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:2022-7-24 Page:43CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应
49、用v 操作数操作数指令进行二进制运算,数据最高位为符号位。指令进行二进制运算,数据最高位为符号位。可以进行可以进行16/3216/32位乘除运算,位乘除运算,1616位运算时,积为位运算时,积为3232位位数据,商和余数为数据,商和余数为1616位数据;位数据;3232位运算时,积为位运算时,积为6464位数据,商和余数为位数据,商和余数为3232位数据。位数据。0 0作除数时程序出错。被除数和除数中有一个为负数作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。时,商为负数;被除数为负数时,余数也为负数。位元件作为位元件作为3232位乘法运算的目标元件时,
50、只能得到位乘法运算的目标元件时,只能得到积的低积的低3232位数据。位数据。可以进行连续可以进行连续/脉冲执行方式。脉冲执行方式。Date:2022-7-24 Page:44CH5CH5 FXFX系列系列PLCPLC编程元件及指令系统编程元件及指令系统电气控制与电气控制与PLCPLC应用应用 加加1 FNC241 FNC24 INC INC(Increment)减减1 FNC251 FNC25 DEC DEC(Decrement)v 操作数操作数DD:KnYKnY、KnMKnM、KnSKnS、T T、C C、D D、V,ZV,Zv 梯形图梯形图X0 INC(P)D10DX1DEC(P)D12