PLC教学课件9PLC功能指令_第1页
PLC教学课件9PLC功能指令_第2页
PLC教学课件9PLC功能指令_第3页
PLC教学课件9PLC功能指令_第4页
PLC教学课件9PLC功能指令_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章 功能指令 第一节 功能指令的基本知识第二节 程序流控制(FNC00FNC09)第三节 传送和比较指令(FNC10FNC19)第四节 算术和逻辑运算指令(FNC20FNC29)第五节 循环移位指令(FNC30FNC39)第六节 数据处理指令(FNC40FNC49)第七节 高速处理指令(FNC50FNC59)第1页,共49页。第一节 功能指令的基本知识一、基本格式梯形图格式X0MOVD0D10K3DSn指令表格式步序 操作码 操作数 0 LD X0 1 MOV D0 D10 K3 8 。 第2页,共49页。一、基本格式操作码与操作数操作码(指令助记符):表示指令的功能操作数:指明参与操作的

2、对象源操作数S:执行指令后收据不变的操作数,两个或 两个以上时为S1、S2。目标操作数D:执行指令后收据被刷新的操作数,两 个或两个以上时为D1、D2。其它操作数m、n:补充注释的常数,用K(十进制) 和H(十六进制)表示,两个或 两个以上时为m1、m2、n1、n2。第3页,共49页。软元件位软元件:只处理开关(ON/OFF)信息的元件,如X、Y、M、D、S字软元件:处理数据的元件,如D。位软元件的组合位软元件组合表示数据:4个位元件一组,代表4位BCD码,也表示1位十进制数;用KnMm表示,K为十进制,n为十进制位数,也是位元件的组数,M为位元件,m为位元件的首地址,一般用0结尾的元件。二、

3、软元件第4页,共49页。数据长度16位:参与运算的数据默认为16位二进制数据32位:32位数据时在操作码前面加D(Double三、数据长度及执行方式X0MOVD0D1X1DMOVD2D4(D0)(D1)(D3D2)(D5D4)第5页,共49页。执行方式连续执行方式:每个扫描周期都重复执行一次脉冲执行方式:只在信号OFFON时执行一次,在指令后加P(Pulse)。X0MOVD0D1X1MOVPD2D4三、数据长度及执行方式第6页,共49页。变址:改变操作数的地址变址寄存器的作用:存放改变地址的数据实际地址=当前地址+变址数据32位运算时V和Z组合使用,V为高16位,Z为低16位。X0MOVK8V

4、X1MOVK4ZMOVD0VD10ZX2V=(8)Z=(4)(D8)(D14)四、变址寄存器V、Z第7页,共49页。五、常用特殊辅助继电器功能指令执行结果的标志M8020:零标志M8021:借位标志M8022:进位标志M8029:执行完毕标志M8064:参数出错标志M8065:语法出错标志M8066:电路出错标志M8067:运算出错标志第8页,共49页。第二节 程序流控制一、条件跳转指令 FNC00 CJ二、子程序指令 FNC 01 CALL FNC 02 SRET三、中断指令 FNC 03 IRET FNC 04 EI FNC 05 DI四、主程序结束指令 FNC 06 FEND 五、警戒时

5、钟定时器指令 FNC 07 WDT六、循环指令 FNC 08 FOX FNC 09 NEXT第9页,共49页。一、条件跳转指令 FNC00 CJ操作数:指针 P0P63梯形图X10X11Y1X12P0CJP0CJP0指令表步序 操作码 操作数 0 LD X10 1 CJ P0 。 10 LD X11 11 CJ P0 。 20 P0 21 LD X12 22 OUT Y1 第10页,共49页。说明CJ指令跳过部分程序,可以缩短程序的运算周期。如果积算型定时器和计数器的RST指令在跳转程序之内,即使跳转程序生效,RST指令仍然有效。该指令可以连续和脉冲执行方式。被跳过去的程序中各元件的状态为Y、

6、M、S保持跳转前状态不变。普通计数器停止计数并保持当前值,高速计数器继续计数。未工作的定时器不动作,已动作的定时器保持当前值。T192T199跳转时仍然计时。一、比较指令 FNC10 CMP第11页,共49页。二、子程序指令子程序调用 FNC01 CALL 操作数:指针P0P62 子程序返回 FND02 SRET 无操作数说明子程序应该在主程序结束之后编程。CJ指令的指针与CALL的指针不能重复。主程序允许嵌套,嵌套级别最多为5级。子程序只能用T192T199和T246T249作定时器。第12页,共49页。梯形图 X1FENDSRETP8CALLP8Y1X12Y21X11Y30主程序子程序二、

7、子程序指令第13页,共49页。三、中断指令中断返回 FNC03 IRET 开中断 FNC04 EI 关中断 FNC05 DI均无操作数梯形图开中断范围X0I100X10FENDIRETEIDIIRETI101中断子程序2中断子程序1第14页,共49页。说明在执行某个中断子程序时,禁止其它中断请求。中断程序允许嵌套,嵌套级别为2级。中断指针共有15个:输入中断6个,定时器中断3个,计数器中断6个。中断程序用T192T199和T246T249作定时器。中断的优先级别多个中断信号不同时产生时,按先后顺序中断。多个中断信号同时产生时,按指针大小中断。三、中断指令第15页,共49页。无操作数梯形图X1F

8、ENDSRETP8CALLP8Y1X12Y21X11Y30主程序子程序四、主程序结束指令 FNC06 FEND第16页,共49页。说明与END指令的功能一样,执行到该指令时程序返回到0步。中断服务子程序和子程序应该写在FEND之后,并且用IRET和SRET返回。如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序四、主程序结束指令 FNC06 FEND第17页,共49页。无操作数警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器D8000中,并以ms为计时单位。当PLC一上电,则对警戒定时器进行初始化,将K100(设定值为100ms)装入D8000中,每个扫描周

9、期结束时,马上刷新警戒定时器的当前值,使PLC能正常运行。当扫描周期大于100ms时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,CPU立即停止执行用户程序,同时切断全部输出,并且报警显示。五、警戒定时器指令 FNC07 WDT第18页,共49页。如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入WDT指令,适时刷新警戒时钟,使程序能顺利执行。也可以通过MOV指令修改警戒定时器的设定值(D8000的值)。可以计算出程序扫描周期的最大值作为警戒时钟的设定值。WDT指令可用在FOR-NEXT之间。五、警戒定时器指令 FNC07 WDT第19页,共49页。循环开始 FNC08

10、 FOR 操作数S: K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z循环结束 FNC09 NEXT 无操作数说明n为循环次数,其范围为132767有效。如果指定为-327680,则作n=1处理。循环指令最多可以嵌套5级。程序中FOR-NEXT是成对出现的,FOR在前,NEXT在后不可倒置,否则出错。编程时NEXT应该在FEND或END之前,否则出错。六、循环指令第20页,共49页。第三节 传送和比较指令一、比较指令 FNC10 CMP二、区间比较指令 FNC 11 ZCP三、传送指令 FNC 12 MOV四、移位传送指令 FNC 13 SMOV五、取反传送指令 FNC 14 CML

11、六、块传送指令 FNC 15 BMOV七、多点传送指令 FNC 16 FMOV 八、数据交换指令 FNC 17 XCH九、变换指令 FNC 18 BCD FNC 19 BIN第21页,共49页。操作数S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:Y、M、S梯形图S1K100C10的当前值时,M2 = ONM0M1M2X0S2DCMP K100 C10 M0一、比较指令 FNC10 CMP第22页,共49页。说明该指令是将源操作数S1和S2的中数据进行比较,结果送目标操作数D中去。D由3个元件组成,指令中D给出首地址,其它两个为后面的相邻元件。当X0由ONOFF

12、时,不执行CMP指令,M0M2保持断开前的状态,用复位指令RST才能清除比较结果。CMP是进行二进制代数比较。可以32位二进制数比较和脉冲执行方式。如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。一、比较指令 FNC10 CMP第23页,共49页。操作数S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:Y、M、S梯形图K100 C10的当前值 C10的当前值时,M0 = ONK120 C10的当前值时,M2 = ONM0M1M2X0S2DZCP K100 K120 C10 M0S二、区间比较指令 FNC11 ZCP第24页,共49页。说明ZC

13、P指令是将源操作数S的数据和两个源操作数S1和S2的数据进行比较,结果送到D中,D为三个相邻元件的首地址。ZCP指令为二进制代数比较,并且S1S2,如果S1S2,则把S1视为S2处理。当X0由ONOFF时,不执行ZCP指令,比较结果保持不变,需要用复位指令才能清除。该指令可以进行16/32位数据处理和连续/脉冲执行方式。二、区间比较指令 FNC11 ZCP第25页,共49页。操作数S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:KnY、KnM、KnS、T、C、D、V,Z 梯形图X0MOVK100D10K100(D10)三、传送指令 FNC12 MOV第26页,共

14、49页。说明该指令将源操作数S中的数据传送到目标操作数D中去。MOV指令可以进行(D)和(P)操作。如果S为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。当X0断开时,不执行MOV指令,数据保持不变。三、传送指令 FNC12 MOV第27页,共49页。操作数S1、S1 :K,H、KnX、KnY、KnM、KnS、T、C、D、 V,ZD:KnY、KnM、KnS、T、C、D、V,Zm1、m2、n:K、H 说明该指令将源操作数S的16位二进制数自动转换成4位BCD码,然后从右向左第m1位开始向右数m2位,传送到目标操作数(4位BCD码)的从右向左第n位开始向右数m2位的位置上,最后这4位B

15、CD码自动转换成二进制数后送入目标操作数D中去。传送中BCD码数值超过9999时程序出错。四、移位传送指令 FNC13 SMOV第28页,共49页。梯形图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 SMOV

16、第29页,共49页。操作数S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:KnY、KnM、KnS、T、C、D、V,Z 说明该指令把源操作数S中的数据各位取反(10,01)后传送到目标操作数D中去。该指令可以16/32位数据处理和连续/脉冲执行方式五、取反传送指令 FNC14 CML第30页,共49页。梯形图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 CML第31页,共49页。操作

17、数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z n:K、H 梯形图SX0DnBMOV D5 D10 K3D7D6D5D12D11D10六、块传送指令 FNC15 BMOV第32页,共49页。说明S为存放被传送的数据块的首地址;D为存放传送来的数据块的首地址;n为数据块的长度。位元件进行传送时,源和目标操作数要有相同的位数。当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用的顺序自动传送。该指令可以连续/脉冲执行方式。六、块传送指令 FNC15 BMOV第33页

18、,共49页。X0BMOV K1M0 K1Y0 K2n = K2M2M1M0M3Y2Y1Y0Y3M6M5M4M7Y6Y5Y4Y7D12D11D10D11D10D9D12D11D10D13D12D11X1BMOV D10 D9 K3X2BMOV D10 D11 K3六、块传送指令 FNC15 BMOV第34页,共49页。操作数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D n: K、H 梯形图SX0DnBMOV K10 D0 K10把K10传送到D0D9中去七、多点传送指令 FNC16 FMOV第35页,共49页。操作数 D1、D2:KnY

19、、KnM、KnS、T、C、D、V,Z梯形图D1X0XCH(P) D0 D1 D2(D0) (D1)八、数据交换指令 FNC17 XCH注意 交换指令一般要在脉冲方式执行,否则不能正常工作。第36页,共49页。操作数 S:KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形图SX0BCD D10 K2Y0 DSX1BIN K2Y0 D14D九、变换指令 FNC18 BCD FNC19 BIN第37页,共49页。第四节 算术与逻辑运算指令一、二进制加减运算指令 加法 FNC20 ADD 减法 FNC21 SUB操作数S1、S2:K、H、KnX、Kn

20、Y、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形图S1X0ADD D0 D2 D4 DS1X1DSUB D10 D12 D14DS2S2(D0)+(D2) (D4)(D11D10)(D13D12) (1D5D14)第38页,共49页。说明指令是代数加减运算,数据的最高位为符号位。进行16位加减运算时,数据范围为3276832767;32位运算时,数据范围为21474836482147483647。运算结果为0时,零标志置位(M8020=1);运算结果大于32767(或2147483647)时,进位标志置位(M8022=1);运算结果小于32768(或2

21、147483648)时,借位标志置位(M8021=1)。该指令可以进行连续/脉冲执行方式。一、二进制加减运算指令第39页,共49页。 乘法 FNC22 MUL 减法 FNC23 DIV操作数S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z梯形图S1X0MUL D0 D2 D4 DS1X1DDIV D10 D12 D14DS2S2(D0)(D2) (D5D4)被乘数 乘数 积(D11D10)(D13D12) (1D5D14)(D17D16)被除数 除数 商 余数二、二进制乘除运算指令第40页,共49页。操作数指令进行二进制运算

22、,数据最高位为符号位。可以进行16/32位乘除运算,16位运算时,积为32位数据,商和余数为16位数据;32位运算时,积为64位数据,商和余数为32位数据。0作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。位元件作为32位乘法运算的目标元件时,只能得到积的低32位数据。可以进行连续/脉冲执行方式。二、二进制乘除运算指令第41页,共49页。 加1 FNC24 INC 减1 FNC25 DEC操作数D:KnY、KnM、KnS、T、C、D、V,Z梯形图X0 INC(P) D10DX1DEC(P) D12 D(D10)+1 (D10)(D12)1 (D12)三、二进制加1减1指令第42页,共49页。说明上述指令可以连续/脉冲执行方式,应用中要特别注意。可以进行16/32位运算,并且为二进制运算。如果从+32767(或+2147483647)再加1,则变成-32768(或-2147483648);如果从-32768(或-2147483648)再减1,则变成+32767(或+2147483647),为循环计数。以上变化时标志位不动作,也就是说这两条指令和零标志、借位标志、进位标志无关。三、二进制加1减1指令第43页,共49页。 逻辑与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论