Date:8/7/2019Page:1第7章功能指令及其应用深圳职业技术学院第7章功能指令及其应用1、PLC的功能指令有没有基本的规则?2、如何根据控制要求应用功能指令来设计PLC的程序?3、与基本逻辑指令步进顺控指令相比又有何优势?。。。。等等,Date:8/7/2019Page:2第7章功能指令及其应用深圳职业技术学院第7章功能指令及其应用7.1功能指令的基本规则7.2常用功能指令介绍实训24数码管循环点亮的PLC控制(2)实训25自动交通灯的PLC控制(2)实训268站小车的呼叫控制Date:8/7/2019Page:3第7章功能指令及其应用深圳职业技术学院7.1功能指令的基本规则7.1.1功能指令的表示形式梯形图格式X0MOVD0D10K3[D][S][n])10(3)2()1()0(DDDD指令表格式步序操作码操作数0LDX01MOVD0D10K38。。。。Date:8/7/2019Page:4第7章功能指令及其应用深圳职业技术学院7.1.1功能指令的表示形式操作码与操作数操作码(指令助记符):表示指令的功能操作数:指明参与操作的对象源操作数S:执行指令后收据不变的操作数,两个或两个以上时为S1、S2。目标操作数D:执行指令后收据被刷新的操作数,两个或两个以上时为D1、D2。其它操作数m、n:补充注释的常数,用K(十进制)和H(十六进制)表示,两个或两个以上时为m1、m2、n1、n2。Date:8/7/2019Page:5第7章功能指令及其应用深圳职业技术学院1.数据长度16位:参与运算的数据默认为16位二进制数据32位:32位数据时在操作码前面加D(Double7.1.2数据长度和指令类型X0MOVD0D1X1DMOVD2D4(D0)→(D1)(D3D2)→(D5D4)Date:8/7/2019Page:6第7章功能指令及其应用深圳职业技术学院2.指令类型连续执行方式:每个扫描周期都重复执行一次脉冲执行方式:只在信号OFF→ON时执行一次,在指令后加P(Pulse)。X0MOVD0D1X1MOVPD2D47.1.2数据长度和指令类型Date:8/7/2019Page:7第7章功能指令及其应用深圳职业技术学院1.位元件和字元件位元件:只处理开关(ON/OFF)信息的元件,如X、Y、M、D、S字元件:处理数据的元件,如D。位元件的组合位元件组合表示数据:4个位元件一组,代表4位BCD码,也表示1位十进制数;用KnMm表示,K为十进制,n为十进制位数,也是位元件的组数,M为位元件,m为位元件的首地址,一般用0结尾的元件。7.1.3操作数Date:8/7/2019Page:8第7章功能指令及其应用深圳职业技术学院Date:8/7/2019Page:9第7章功能指令及其应用深圳职业技术学院7.2常用功能指令介绍1、条件跳转指令FNC00CJ2、子程序指令FNC01CALLFNC02SRET3、中断指令FNC03IRETFNC04EIFNC05DI4、主程序结束指令FNC06FEND5、警戒时钟定时器指令FNC07WDT6、循环指令FNC08FOXFNC09NEXT7.2.1程序流程指令Date:8/7/2019Page:10第7章功能指令及其应用深圳职业技术学院1、条件跳转指令FNC00CJ操作数:指针P0~P63梯形图X10X11…Y1X12P0…CJP0CJP0指令表步序操作码操作数0LDX101CJP0。。。10LDX1111CJP0。。。。20P021LDX1222OUTY1Date:8/7/2019Page:11第7章功能指令及其应用深圳职业技术学院说明CJ指令跳过部分程序,可以缩短程序的运算周期。如果积算型定时器和计数器的RST指令在跳转程序之内,即使跳转程序生效,RST指令仍然有效。该指令可以连续和脉冲执行方式。被跳过去的程序中各元件的状态为Y、M、S保持跳转前状态不变。普通计数器停止计数并保持当前值,高速计数器继续计数。未工作的定时器不动作,已动作的定时器保持当前值。T192~T199跳转时仍然计时。1、条件跳转指令FNC00CJDate:8/7/2019Page:12第7章功能指令及其应用深圳职业技术学院2、子程序指令子程序调用FNC01CALL操作数:指针P0~P62子程序返回FND02SRET无操作数说明子程序应该在主程序结束之后编程。CJ指令的指针与CALL的指针不能重复。主程序允许嵌套,嵌套级别最多为5级。子程序只能用T192~T199和T246~T249作定时器。Date:8/7/2019Page:13第7章功能指令及其应用深圳职业技术学院梯形图X1FENDSRETP8CALLP8Y1X12Y21X11Y30………主程序子程序2、子程序指令Date:8/7/2019Page:14第7章功能指令及其应用深圳职业技术学院无操作数梯形图X1FENDSRETP8CALLP8Y1X12Y21X11Y30………主程序子程序3、主程序结束指令FNC06FENDDate:8/7/2019Page:15第7章功能指令及其应用深圳职业技术学院说明与END指令的功能一样,执行到该指令时程序返回到0步。中断服务子程序和子程序应该写在FEND之后,并且用IRET和SRET返回。如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序3、主程序结束指令FNC06FENDDate:8/7/2019Page:16第7章功能指令及其应用深圳职业技术学院1、比较指令FNC10CMP2、区间比较指令FNC11ZCP3、传送指令FNC12MOV4、移位传送指令FNC13SMOV5、取反传送指令FNC14CML6、块传送指令FNC15BMOV7、多点传送指令FNC16FMOV8、数据交换指令FNC17XCH9、变换指令FNC18BCDFNC19BIN7.2.2传送与比较指令Date:8/7/2019Page:17第7章功能指令及其应用深圳职业技术学院操作数[S1]、[S1]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z[D]:Y、M、S梯形图[S1]K100C10的当前值时,M0=ONK100=C10的当前值时,M1=ONK100C10的当前值时,M2=ONM0M1M2X0[S2][D]CMPK100C10M01、比较指令FNC10CMPDate:8/7/2019Page:18第7章功能指令及其应用深圳职业技术学院说明该指令是将源操作数[S1]和[S2]的中数据进行比较,结果送目标操作数[D]中去。[D]由3个元件组成,指令中[D]给出首地址,其它两个为后面的相邻元件。当X0由ON→OFF时,不执行CMP指令,M0~M2保持断开前的状态,用复位指令RST才能清除比较结果。CMP是进行二进制代数比较。可以32位二进制数比较和脉冲执行方式。如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。1、比较指令FNC10CMPDate:8/7/2019Page:19第7章功能指令及其应用深圳职业技术学院操作数[S1]、[S1]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z[D]:Y、M、S梯形图K100≤C10的当前值120时,M1=ON[S1]K100C10的当前值时,M0=ONK120C10的当前值时,M2=ONM0M1M2X0[S2][D]ZCPK100K120C10M0[S]2、区间比较指令FNC11ZCPDate:8/7/2019Page:20第7章功能指令及其应用深圳职业技术学院说明ZCP指令是将源操作数[S]的数据和两个源操作数[S1]和[S2]的数据进行比较,结果送到[D]中,[D]为三个相邻元件的首地址。ZCP指令为二进制代数比较,并且[S1]<[S2],如果[S1]>[S2],则把[S1]视为[S2]处理。当X0由ON→OFF时,不执行ZCP指令,比较结果保持不变,需要用复位指令才能清除。该指令可以进行16/32位数据处理和连续/脉冲执行方式。2、区间比较指令FNC11ZCPDate:8/7/2019Page:21第7章功能指令及其应用深圳职业技术学院操作数[S1]、[S1]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z[D]:KnY、KnM、KnS、T、C、D、V,Z梯形图X0MOVK100D10K100→(D10)3、传送指令FNC12MOVDate:8/7/2019Page:22第7章功能指令及其应用深圳职业技术学院说明该指令将源操作数[S]中的数据传送到目标操作数[D]中去。MOV指令可以进行(D)和(P)操作。如果[S]为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。当X0断开时,不执行MOV指令,数据保持不变。3、传送指令FNC12MOVDate:8/7/2019Page:23第7章功能指令及其应用深圳职业技术学院1、二进制加减运算指令加法FNC20ADD减法FNC21SUB操作数[S1]、[S2]:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z[D]:KnY、KnM、KnS、T、C、D、V,Z梯形图[S1]X0ADDD0D2D4[D][S1]X1DSUBD10D12D14[D][S2][S2](D0)+(D2)(D4)(D11D10)–(D13D12)(1D5D14)7.2.3算术与逻辑运算指令Date:8/7/2019Page:24第7章功能指令及其应用深圳职业技术学院说明指令是代数加减运算,数据的最高位为符号位。进行16位加减运算时,数据范围为-32768~+32767;32位运算时,数据范围为-2147483648~+2147483647。运算结果为0时,零标志置位(M8020=1);运算结果大于+32767(或+2147483647)时,进位标志置位(M8022=1);运算结果小于-32768(或-2147483648)时,借位标志置位(M8021=1)。该指令可以进行连续/脉冲执行方式。1、二进制加减运算指令Date:8/7/2019Page:25第7章功能指令及其应用深圳职业技术学院乘法FNC22MUL减法FNC23DIV操作数[S1]、[S2]:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z[D]:KnY、KnM、KnS、T、C、D、V,Z梯形图[S1]X0MULD0D2D4[D][S1]X1DDIVD10D12D14[D][S2][S2](D0)×(D2)(D5D4)被乘数乘数积(D11D10)÷(D13D12)(1D5D14)···(D17D16)被除数除数商余数2、二进制乘除运算指令Date:8/7/2019Page:26第7章功能指令及其应用深圳职业技术学院操作数指令进行二进制运算,数据最高位为符号位。可以进行16/32位乘除运算,16位运算时,积为32位数据,商和余数为16位数据;32位运算时,积为64位数据,商和余数为32位数据。0作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。位元件作为32位乘法运算的目标元件时,只能得到积的低32位数据。可以进行连续/脉冲执行方式。2、二进制乘除运算指令Date:8/7/2019Page:27第7章功能指令及其应用深圳职业技术学院加1FNC24INC减1FNC25DEC操作数[D]:KnY、KnM、KnS、T、C、D、V,Z梯形图X0INC(P)D10[D]X1DEC(P)D12[D](D10)+1(D10)(D12)–1(D12)3、二进制加1减1指令Date:8/7/2019Page:28第7章功能指令及其应用深圳职业技术学院说明上述指令可以连续/脉冲执行方式,应用中要特别注意。可以进行16/32位运算,并且为二进制运算。如果从+32767(或+2147483647)再加1,则变成-327