电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用

上传人:E**** 文档编号:89164018 上传时间:2019-05-19 格式:PPT 页数:321 大小:8.23MB
返回 下载 相关 举报
电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用_第1页
第1页 / 共321页
电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用_第2页
第2页 / 共321页
电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用_第3页
第3页 / 共321页
电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用_第4页
第4页 / 共321页
电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用_第5页
第5页 / 共321页
点击查看更多>>
资源描述

《电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用》由会员分享,可在线阅读,更多相关《电器控制与可编程控制器应用技术 教学课件 ppt 作者 张迎辉 等 第6章 功能指令及应用(321页珍藏版)》请在金锄头文库上搜索。

1、第6章 功能指令及应用,1.功能指令的表现形式 2.指令类型 6.1 程序流程类指令 6.2 数据比较指令与数据传送指令(一) 6.3 算术与逻辑运算指令 6.4 循环与移位指令 6.5 数据处理指令(一) 6.6 高速处理指令(一) 6.7 方便指令 6.8 外部设备I/O指令 6.9 外部设备SER指令,第6章 功能指令及应用,6.10 数据传送指令(二) 6.11 浮点运算指令 6.12 数据处理指令(二) 6.13 定位控制指令 6.14 时钟运算指令 6.15 外部设备指令 6.16 其他指令 6.17 数据块处理指令 6.18 字符串处理指令 6.19 数据表处理指令 6.20 比

2、较触点指令,第6章 功能指令及应用,6.21 数据处理指令(三) 6.22 变频器通信指令 6.23 数据传送指令(三) 6.24 高速处理指令(二) 6.25 扩展文件寄存器控制指令 6.26 功能指令使用规则 6.27 功能指令应用 项目二十一 数码管自动/手动控制 项目二十二 十字路口交通灯的控制(二) 项目二十三 8位小车控制 项目二十四 步进电动机控制,第6章 功能指令及应用,表6-1 功能指令分类表,1.功能指令的表现形式,2.指令类型,(1)16位连续型指令 16位连续型指令的所有的操作数均为一个字(16位),操作数数据指定范围为-3276832767,指令在每个扫描周期均被执行

3、,16位连续型指令由助记符+操作数组成,例如“ZRST Y000 Y007”、“INC D0”等。 (2)16为脉冲型指令 16位脉冲型指令的所有的操作数同样为一个字(16位),操作数数据指定范围为-3276832767,但指令只在驱动回路条件满足(ON)时执行一次,要再次执行必须断开驱动回路,重新接通驱动回路。 (3)32位连续型指令 32位连续型指令的操作数为双字(32位),操作数指定的范围为2147483647,指令在每个扫描周期均被执行。,2.指令类型,(4)32位脉冲型指令 32位脉冲型指令的操作数同样为双字(32位),操作数数据指定范围为-21474836482147483647,

4、但指令只在驱动回路条件满足(ON)时执行一次。,6.1 程序流程类指令,表6-2 程序流程类指令,1.条件跳转指令CJ(CONDITIONAL JUMP),表6-2 程序流程类指令,6.1 程序流程类指令,图6-1 CJ(CJP)指令,1)减少扫描时间。 2)使双线圈或多线圈成为可能。,6.1 程序流程类指令,3)两条或多条跳转指令可以使用同一编号的指针。,图6-2 跳转指令与主控程序,6.1 程序流程类指令,4)跳转指令可以往前面跳转。 5)条件跳转指令CJ和子程序调用指令CALL不能同时使用同一指针。 6)跳转指令在主控程序中的动作规则如图6-2所示。 跳过整个主控区:对于跳过整个主控区的

5、跳转不受限制。 从主控区外跳到主控区内:跳转独立于主控操作,如图6-2中CJ P1执行时,不论M0的状态如何,均视为ON。 在主控区内跳转:当主控开关为OFF时,跳转不可能执行;当主控开关为ON时,跳转可以执行。 从主控区内往主控区外跳转:主控开关为OFF时,跳转不能执行;当主控开关为ON时,可以执行跳转,这时MCR被忽略,但不会出错。,6.1 程序流程类指令, 从一个主控区跳转到另一个主控区:如图6-2所示,M1为ON时,跳转可以执行,跳转时不论M2的状态如何,均看作ON,MCR N0被忽略;当M1为OFF时,跳转不能执行。 7)跳转时,其他指令的执行情况 如果Y、M、S被OUT、SET、R

6、ST指令驱动,则跳转期间即使Y、M、S的驱动条件改变了,它们仍保持跳转发生前的状态,因为跳转期间根本不执行这些程序。 如果通用定时器或计数器被驱动后发生跳转,则暂停计时和计数,并保留当前值,跳转指令不执行时定时或计数继续进行。 积算定时器T246T255和高速计数器C235C255如被驱动后再发生跳转,则即使该段程序被跳过,计时和计数仍然继续,其延时触点也能动作。,6.1 程序流程类指令,8)指针P63为跳转到END步指针,程序中不用标记 2.子程序调用指令CALL和子程序返回指令SRET(SUBROUTINE CALL指令是子程序调用指令;SRET是子程序返回指令,不需要驱动触点的单独指令,

7、无操作数。CALL指令和SRET指令的表现形式如图63所示。,表格,表格,6.1 程序流程类指令,图6-3 CALL和SRET指令, 调用指令可以调用同一指针的子程序,但指针不能重复标记。 调用指令可以嵌套,但最多不能超过4层。 用CALL指令,必须对应SRET指令。 不能与CJ指令使用同一指针标签。,6.1 程序流程类指令,3.中断返回指令IRET、中断允许指令EI和中断结束指令DI IRET指令写在中断子程序末尾,当执行完中断子程序后,IRET指令使程序指针返回到主程序(中断前指针下一步);EI为中断允许,只有中断被允许才可以执行中断;DI是中断禁止,如果在程序中设置了中断允许,在某一区域

8、设置中断禁止,则需要用EI和DI指令进行设置,如图64所示。,表格,6.1 程序流程类指令,图6-4 IRET、EI、DI指令,4.主程序结束指令FEND(FIRST END),6.1 程序流程类指令,FEND指令表示主程序结束,为单独指令,不需要触点驱动。此指令与END的作用相同,即执行输入处理、输出处理、警戒时钟刷新、向第0步程序返回,FEND指令执行的过程如图65、图66所示。,表格,6.1 程序流程类指令,图6-5 FEND指令在跳转程序中的执行过程,6.1 程序流程类指令,图6-6 FEND指令在调用程序中的执行过程,5.警戒时钟指令WDT(WATCHDOG TIMER),6.1 程

9、序流程类指令,WDT指令是对看门狗定时器进行操作的指令。当系统中连接较多特殊扩展设备(模拟量模块、通信模块、定位模块等)时,缓冲存储区的初始化时间将会变长,且同时执行多个FROM/TO指令也会造成运算时间延长;此外执行高速计数时,运算时间也会延长。这可能会出现看门狗定时器出错,因此在这些情况下需要对看门狗定时器进行刷新。,表格,(1)更改看门狗定时器 通过改写D8000(看门狗定时器)的值,可以更改看门狗定时器的检测时间,程序如图6-7所示。,6.1 程序流程类指令,图6-7 看门狗定时器值改写程序,(2)运算周期长处理 图6-8a是一个300ms的程序,如果不进行看门狗定时器处理,程序将会出

10、错,处理的方法如图6-8b所示。,6.1 程序流程类指令,图6-8 看门狗定时器刷新处理程序,6.循环开始指令FOR和循环结束指令NEXT,6.1 程序流程类指令,Kn、T、C、D、(R、U,表格,6.1 程序流程类指令,表格,图6-9 FOR、NEXT指令,6.1 程序流程类指令,图6-10 FOR、NEXT嵌套循环,6.1 程序流程类指令,图6-11 FOR、NEXT嵌套并行循环,6.2 数据比较指令与数据传送指令(一),表6-3 数据比较指令与数据传送指令,1.比较指令CMP(COMPARE),6.2 数据比较指令与数据传送指令(一),表6-3 数据比较指令与数据传送指令,图6-12 比

11、较指令, 当S1.S2.时,D.为ON。,6.2 数据比较指令与数据传送指令(一), 当S1.=S2.时,D.+1为ON。 当S1.S2.时,D.+2为ON。 2.区间比较指令ZCP(ZONE COMPARE) KnX KnY KnM KnS T C D(R,表格,6.2 数据比较指令与数据传送指令(一),图6-13 区间比较指令ZCP, 当S1.S.时,D.为ON。 当S1.S.S2.时,D.+1为ON。 当S.S2.时,D.+2为ON。 3.传送指令MOV(MOVE),6.2 数据比较指令与数据传送指令(一),KnX KnY KnM KnS T C D,表格,图6-14 MOV指令,图6-

12、15 定时器当前值传送,6.2 数据比较指令与数据传送指令(一),图6-16 32位数据传送,4.位移动传送指令SMOV(SHIFT MOVE) KnX KnY KnM KnS T C D,表格,6.2 数据比较指令与数据传送指令(一),图6-17 SMOV指令,5.取反传送指令CML(COMPLEMENT) KnX KnY KnM KnS T C D,6.2 数据比较指令与数据传送指令(一),表格,6.2 数据比较指令与数据传送指令(一),图6-18 CML指令,6.成批传送指令BMOV(BLOCK MOVE) KnX KnY KnM KnS T C D,6.2 数据比较指令与数据传送指令(

13、一),表格,6.2 数据比较指令与数据传送指令(一),图6-19 BMOV指令,7.多点传送指令FMOV(FILL MOVE) KnX KnY KnM KnS T C D,6.2 数据比较指令与数据传送指令(一),表格,6.2 数据比较指令与数据传送指令(一),图6-20 FMOV指令,8.数据交换指令XCH(EXCHANGE) KnY KnM KnS T C D,6.2 数据比较指令与数据传送指令(一),表格,6.2 数据比较指令与数据传送指令(一),图6-21 XCH指令,9.转换指令BCD和BIN(BINARY CODE TO DECIMAL,BINARY) KnX KnY KnM Kn

14、S T C D,6.2 数据比较指令与数据传送指令(一),表格,6.2 数据比较指令与数据传送指令(一),图6-22 BCD指令,6.2 数据比较指令与数据传送指令(一),图6-23 BIN指令,6.3 算术与逻辑运算指令,表6-4 算术与逻辑指令,1.BIN加法运算指令ADD(ADDITION),表6-4 算术与逻辑指令,6.3 算术与逻辑运算指令,图6-24 ADD指令,2. BIN减法运算指令SUB(SUBTRACTION) KnX KnY KnM KnS T C D,表格,6.3 算术与逻辑运算指令,图6-25 SUB指令,3. BIN乘法运算指令MUL(MULTIPLICATION)

15、 KnX KnY KnM KnS T C D,表格,6.3 算术与逻辑运算指令,图6-26 MUL指令,图6-27 32位MUL运算,4. BIN除法运算指令DIV(DIVISION) KnX KnY KnM KnS T C D,6.3 算术与逻辑运算指令,表格,图6-28 DIV指令,图6-29 32位DIV运算,5. BIN加1运算指令INC和BIN减1运算指令DEC(INCREMENT,DECREMENT),6.3 算术与逻辑运算指令,KnY KnM KnS T C D,表格,图6-30 INC指令,图6-31 DEC指令,6.逻辑与指令WAND、逻辑或指令WOR、逻辑异或指令WXOR(

16、WORD KnX KnY KnM KnS T C D,6.3 算术与逻辑运算指令,表格,图6-32 WAND指令,图6-33 WOR指令,6.3 算术与逻辑运算指令,图6-34 WXOR指令,7.求补码指令NEG(NEGATION) KnY KnM KnS T C D,表格,6.3 算术与逻辑运算指令,图6-35 NEG指令,6.4 循环与移位指令,表6-5 循环与移位指令,1.右循环移位指令ROR和左循环移位指令ROL(ROTATION RIGHT,ROTATION LEFT),表6-5 循环与移位指令,6.4 循环与移位指令,图6-36 ROR和ROL循环移位指令,2.带进位的右循环指令RCR和带进位的左循环指令RCL(ROTATION KnY KnM KnS T C D,6.4 循环与移位指令,表格,6.4 循环与移位指令,图6-37 RCL和RCR循环移位指令,3.位右移

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号