可编程控制器及其应用 项目四 功能指令应用 任务 LED数码显示控制.

Slides:



Advertisements
Similar presentations
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
Advertisements

PLC基础及应用 郝 坤 淮南职业技术学院 煤矿机电系.
主讲人:王辰 1997年毕业于清华大学土木工程系 复旦大学EMBA 1999年4月加入寿险行业 2001年加入太平人寿
实验四 利用中规模芯片设计时序电路(二).
臧振霞、马俊红、宫苗苗、王丽云、赵凤军、张璐璐、文双梅
第5章 状态转移图及编程方法 5.1 状态转移图及状态功能 5.2 单流程状态转移图的编程 5.3 选择性分支与汇合的编程
第4章 指令系统 4.1 概述 4.2 基本指令 4.3 常用的应用指令 4.4 数据传送和比较指令 4.5 数据移位和数据转换指令 4.6
功能指令 第一节 功能指令的基本知识 第二节 程序流控制(FNC00~FNC09) 第三节 传送和比较指令(FNC10~FNC19)
PLC与数控机床电器控制 主讲人:何梦佳 中山职业技术学院 机电工程学院.
走进编程 程序的顺序结构(二).
第6章 FX2N PLC功能指令及应用 6.1 功能指令使用要素 6.2 程序流程控制(FNC00~FNC09)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
7.1 功能指令通则 1.功能指令的表现形式 功能号:FNC00~FNC99 助记符:如MOV等 操作数:
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第六章 FX2N功能指令 教学提示:FX2N系列PLC除了基本逻辑指令、步进指令外,还有200多条功能指令(也称为功能指令)。功能指令实际上是许多功能不同的子程序。与基本逻辑指令只能完成一个特定动作不同,功能指令能完成实际控制中的许多不同类型的操作 FX2N系列PLC的200多条功能指令按功能不同可分为程序流向控制指令、数据传递与比较指令、算术与逻辑运算指令、数据移位与循环指令、数据处理指令、高速处理指令、方便指令指令、外部设备通信(I/O模块、功能模块等)指令、浮点运算指令、定位运算指令、时钟运算指令、
实验四 组合逻辑电路的设计与测试 一.实验目的 1.掌握组合逻辑电路的设计 方法 2.学会对组合逻辑电路的测 试方法.
大作业要求 1、按照选题要求设计电路,并仿真、下载,实现电路。 2、撰写综合报告.
S 数控机床故障诊断与维修.
S 数控机床故障诊断与维修.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
第二章 Java语言基础.
CPU结构和功能.
电气控制及PLC技术 电气工程学院 自动化系 杨霞 2018年1月.
永宏PLC --FB-PLC【基礎功能篇 】
認識勞動基準法 報 告 人: 黃振聲 臺鐵局人事室主任 中 華 民 國 98 年 7月 31 日.
FX2N系列可编程控制器功能指令 及其应用.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
推广自动化技术;普及工控知识 TTPLC天天自动化
工业机器人技术基础及应用 主讲人:顾老师
模块6 S7-200 PLC基本逻辑指令 项目 6.2 电动机Y-减压起动控制设计 项目 6.2 电动机Y-减压起动控制设计
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
K60入门课程 02 首都师范大学物理系 王甜.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
项目一 功能指令的基础.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
组合逻辑电路 ——中规模组合逻辑集成电路.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
单元08:子程序的应用 主讲教师:鲁淑叶.
项目任务6:功能指令的应用(三) ——程序流程控制指令.
iSIGHT 基本培训 使用 Excel的栅栏问题
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
College of Computer Science & Technology
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
项目任务4:功能指令的应用(一) ——传送指令和位取反指令.
HSC高速输出例程 HORNER APG.
项目六 小灯跑马点亮效果的PLC控制 任务一 小灯跑马点亮效果的PLC 控制.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
《维修电工技师 》 培训教程 编著:宁红星 TEL: QQ: 广州市创星教育培训中心
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
循环程序设计 在程序中包含重复执行的程序段称为循环程序设计。循环程序可以使程序结构性强、可读性好,从而大大提高了程序质量。
第二章 PLC的编程语言.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
数据表示 第 2 讲.
第五单元 数据处理类应用指令 任务一 用PLC应用指令实现电动机的Y-△启动控制 任务二 用PLC实现闪光灯的闪光频率控制 任务三 密码锁
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
可编程序控制器(PLC)应用技术 第 4 部分 小型PLC及其指令系统(FX系列).
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
任务5-3 比较指令及应用 1、掌握各个指令使用注意事项; 2、能够利用指令完成密码锁、交通灯设计;
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
第四章 基本指令 要求: 熟练掌握基本逻辑指令及应用。 掌握梯形图编程规则。.
DSP技术与应用 电子与信息技术系.
第八章 第二部分 PLC控制组态软件 综合仿真实验
Presentation transcript:

可编程控制器及其应用 项目四 功能指令应用 任务 LED数码显示控制

学习目标 1、知识目标 1)了解LED数码管的显示原理; 2)了解功能指令的基本格式和组成; 3)掌握PLC常用的功能指令的编程 5)掌握该系统的编程调试方法。 2、能力目标 1)能正确I/O的分配和电路的接线,实现LED的数码显示; 2)能利用常用的功能指令进行编程。 3、感情目标 会在教师引导下开展自主学习或与同伴协作学习,从而产生爱学习、 爱工作、爱同伴的积极情感。 4、职业素养目标 养成良好的职业道德、认真负责的工作态度及严谨细致的工作作风。

教学过程实施 项目引入 1 知识准备 2 3 项目学习 4 项目设计与实施 5 拓展项目

1、项目引入 七段LED数码管 1、红绿灯路口的时间显示 2、数码电子钟 3、各种家电的数字显示

1、项目引入 七段LED数码管 思考数字0~9与各段LED导通对应关系? 6与9有两种显示方式。

在交通灯、电梯、抢答器等系统的控制中都融入了数码管显示。那我们怎么来控制LED数码管呢 1、项目引入 技能与我们的生活能否结合? 在交通灯、电梯、抢答器等系统的控制中都融入了数码管显示。那我们怎么来控制LED数码管呢

1、项目引入 PLC实验台上的LED数码显示控制面板 项目:按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示,先是一段段显示,显示次序是A、B、C、D、E、F、G、H。随后显示十六进制数0~F,显示次序是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,再返回初始显示,并循环不止。断开开关,系统停止。

2、知识准备 功能指令 基本指令和步进指令已经能满足开关量控制要求。为适应控制系统的其它控制要求,功能指令可大大拓宽了PLC的应用范围,功能指令表示格式与基本指令不同。功能指令用编号FNC00~FNC246表示,并给出对应的助记符(大多用英文名简称或缩写表示)。例如FNC20的助记符是ADD,功能是二进制加法。若使用简易编程器时键入FNC20,若采用智能编程器或在计算机上编程时也可键入助记符ADD。由于功能指令太多,这里只简单介绍部分常用功能指令。

FX2N系列PLC 应用指令类型 1、程序控制 2、传送与比较 4、循环移位 7、便利指令 9、浮点操作 5、数据处理 6、高速处理 2、知识准备 Use this space for overall reminders or special tips linked to the slide or occassion. Simply select this text and replace it with your own reminders. 1、程序控制 2、传送与比较 3、四则与逻辑运算 4、循环移位 7、便利指令 8、外部设备I/O处理 9、浮点操作 10、时钟运算 格雷码转换 触点比较 FX2N系列PLC 应用指令类型 5、数据处理 6、高速处理 Summary Heading. Text.

2、知识准备 1、FX系列可编程控制器功能指令基本知识 功能指令的通用表达形式 数据长度 执行方式 位元件和字元件

功能指令的通用表达形式 功能指令的表达形式如下表所示: 功能指令按功能号FNC00~FNC246编排。每条功能指令都有一个指令助记符。 2、知识准备 功能指令的通用表达形式 功能指令的表达形式如下表所示: 功能指令按功能号FNC00~FNC246编排。每条功能指令都有一个指令助记符。

功能指令一般有功能编号的同时还需要操作元件,操作元件由1-4个操作数组成 2、知识准备 操作数 功能指令一般有功能编号的同时还需要操作元件,操作元件由1-4个操作数组成 源操作数S:执行指令后数据不变的操作数,两个或 两个以上时为S1、S2。 目标操作数D:执行指令后数据被刷新的操作数,两 个或两个以上时为D1、D2。 其它操作数m、n:补充注释的常数,用K(十进制) 和H(十六进制)表示,两个或 两个以上时为m1、m2、n1、n2。 X0 MOV D0 D1 (D0)→(D1)

数据长度 16位:参与运算的数据默认为16位二进制数据 2、知识准备 数据长度 16位:参与运算的数据默认为16位二进制数据 32位:32位数据时在操作码前面加D(Double),表示用元件号相邻的两元件组成元件对。元件对的首地址用奇数、偶数均可,但通常用偶数编号。 X0 MOV D0 D1 X1 DMOV D2 D4 (D0)→(D1) (D3D2)→(D5D4)

执行方式 连续执行方式:每个扫描周期都重复执行一次 脉冲执行方式:只在信号OFF→ON时执行一次,在指令后加P(Pulse)。 X0 MOV 2、知识准备 执行方式 连续执行方式:每个扫描周期都重复执行一次 脉冲执行方式:只在信号OFF→ON时执行一次,在指令后加P(Pulse)。 X0 MOV D0 D1 X1 MOVP D2 D4

位元件和字元件 、 位元件:只处理开关(ON/OFF)信息的元件,如X、Y、M、D、S 字元件:处理数据的元件,如D。 位元件的组合 2、知识准备 位元件和字元件 、 位元件:只处理开关(ON/OFF)信息的元件,如X、Y、M、D、S 字元件:处理数据的元件,如D。 位元件的组合 位元件组合表示数据:4个位元件一组,代表4位BCD码,也表示1位十进制数; 用KnMm表示,K为十进制,n为十进制位数,也是位元件的组数,M为位元件,m为位元件的首地址,一般用0结尾的元件。如K2X0 对应:X0~X7; K3X0 对应:X0~X13; K4X0 对应:X0~X17

控制要求: 任务一:应用跳转指令实现手动/自动控制 1、手动程序—X001输入5个脉冲,Y000有输出; 3、项目学习 任务一:应用跳转指令实现手动/自动控制 控制要求: 1、手动程序—X001输入5个脉冲,Y000有输出; 2、自动程序—Y001为观察秒脉冲的输出,C1对秒脉冲(M8013)计数,计满10个则Y002输出。 3、计数器的复位; 4、X010为手/自动切换开关——跳转指令

知识学习:程序流程控制 条件跳转指令 FNC00 CJ 子程序指令 FNC 01 CALL FNC 02 SRET 3、项目学习 知识学习:程序流程控制 条件跳转指令 FNC00 CJ 子程序指令 FNC 01 CALL FNC 02 SRET 中断指令 FNC 03 IRET FNC 04 EI FNC 05 DI 主程序结束指令 FNC 06 FEND 警戒时钟定时器指令 FNC 07 WDT 循环指令 FNC 08 FOR FNC 09 NEXT 三菱FX2N型PLC的功能指令有两种形式,一种是采用功能号FNC00~FNC246表示,另一种是采用助记符表示其功能意义。例如:传送指令的助记符为MOV,对应的功能号为FNC12,其指令的功能为数据传送。

该指令的代码、助记符、操作数和程序步如表8-3所示。 3、项目学习 程序流程控制 条件跳转指令 FNC00 CJ 该指令的代码、助记符、操作数和程序步如表8-3所示。 CJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。

… 程序流程控制 操作数:指针 P0~P127,末指针为END所在步 梯形图 指令表 0 LD X10 1 CJ P0 4 。。。 3、项目学习 程序流程控制 操作数:指针 P0~P127,末指针为END所在步 梯形图 指令表 步序 操作码 操作数 0 LD X10 1 CJ P0 4 。。。 10 LD X11 11 CJ P0 。。。。 20 P0 21 LD X12 22 OUT Y1 X10 X11 … Y1 X12 P0 CJ 操作数为指针标号P0~P127 其中P63为 END所在步序,不需标记。 指针标号允许用变址寄存器修改。 CJ占3个程序步,指针标号占1步

3、项目学习 程序流程控制 跳转指令的应用及实例 跳转指令可用来选择执行一定的程序段,在工业控制中经常使用。比如,同一套设备在不同的条件下,有两种工作方式,需运行二套不同的程序时可使用跳转指令。 举例1:图1-1即为一段手动、自动程序选择的梯形图和指令表。图中输入X025接的是手动/自动转换开关。 当X025置1时,执行自动工作方式,置0时执行手动工作方式。 图1-1 手动/自动转换程序

子程序指令 程序流程控制 子程序调用 FNC01 CALL 操作数:指针P0~P62 子程序返回 FND02 SRET 无操作数 说明 3、项目学习 程序流程控制 子程序指令 子程序调用 FNC01 CALL 操作数:指针P0~P62 子程序返回 FND02 SRET 无操作数 说明 子程序应该在主程序结束之后编程。 CJ指令的指针与CALL的指针不能重复。 主程序允许嵌套,嵌套级别最多为5级。 子程序只能用T192~T199和T246~T249作定时器。

某化工反应装置需要完成多液体物料的化合工作,连续生产。使用PLC完成物料的比例投入及送出,并完成反应装置温度的控制工作。 3、项目学习 程序流程控制 子程序应用实例1 某化工反应装置需要完成多液体物料的化合工作,连续生产。使用PLC完成物料的比例投入及送出,并完成反应装置温度的控制工作。 反应物料的比例投入可根据装置内酸硷度,经运算控制有关阀门的开度来实现,反应物的送出依进入物料的量,经运算控制出料阀门的开启程度实现。 温度控制使用加温及降温设备。温度需维持在一个区间内。 在设计程序的总体结构时,将运算为主的程序内容做为主程序。将加温及降温等逻辑控制为主的程序作为子程序。 X010及X011作为子程序的执行条件,它们与温度高低限继电器连接。图3-2为该程序结构示意图。

3、项目学习 程序流程控制 在设计程序的总体结构时,将运算为主的程序内容做为主程序。将加温及降温等逻辑控制为主的程序作为子程序。 X010及X011作为子程序的执行条件,它们与温度高低限继电器连接。 图1- 温度控制子程序结构图

3、项目学习 程序流程控制 编程举例 例5-1 报警电路。要求起动之后,灯闪,亮0.5S,灭0.5S,蜂鸣器响。灯闪烁30次之后,灯灭,蜂鸣器停,间歇5S。如此进行三次,自动熄灭。试用调用子程序方法编写。

编写时,将重复的动作,即灯闪(Y0)、蜂鸣器(Y1)响作为子程序,放在FEND之后。而调用子程序CALL放在主程序之中。 3、项目学习 程序流程控制 编写时,将重复的动作,即灯闪(Y0)、蜂鸣器(Y1)响作为子程序,放在FEND之后。而调用子程序CALL放在主程序之中。

中断指令 程序流程控制 中断是指PLC在执行主程序的过程中,根据中断条件自动转去执行中断子程序。 中断返回 FNC03 IRET 3、项目学习 程序流程控制 中断指令 中断是指PLC在执行主程序的过程中,根据中断条件自动转去执行中断子程序。 开中断范围 X0 I100 X10 FEND IRET EI DI I101 中断子程序2 中断子程序1 中断返回 FNC03 IRET 开中断 FNC04 EI 关中断 FNC05 DI 均无操作数 梯形图

某化工设备设有外应急输入信号X020,用以封锁全部输出口,以保证设备安全。试用中断方法设计相关梯形图。 3、项目学习 程序流程控制 中断指令的课堂练习: 某化工设备设有外应急输入信号X020,用以封锁全部输出口,以保证设备安全。试用中断方法设计相关梯形图。 提示:M8050=ON,I001禁止中断;M8034:全输出禁止

程序流程控制 M8050 X020 M8050=off,允许执行输入中断子程序 M8034 M8000 I001 3、项目学习 程序流程控制 FNC 04 EI M8050 X020 M8050=off,允许执行输入中断子程序 FNC 05 DI FNC 06 FEND M8034 M8000 I001 X000时,M8034使输出全部禁止 FNC 03 IRET END

主程序结束指令 FNC06 FEND … 程序流程控制 无操作数 表示主程序的结束,子程序的开始 梯形图 主程序 子程序 CALL X1 3、项目学习 程序流程控制 主程序结束指令 FNC06 FEND 无操作数 表示主程序的结束,子程序的开始 梯形图 X1 FEND SRET P8 CALL Y1 X12 Y21 X11 Y30 … 主程序 子程序

与END指令的功能一样,执行到该指令时程序返回到0步。 3、项目学习 程序流程控制 说明 与END指令的功能一样,执行到该指令时程序返回到0步。 中断服务子程序和子程序应该写在FEND之后,并且用IRET和SRET返回。 如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序

监视定时器刷新指令 WDT 程序流程控制 PLC警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器D8000中,并以ms为计时单位。 3、项目学习 程序流程控制 监视定时器刷新指令 WDT PLC警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器D8000中,并以ms为计时单位。 当PLC一上电,则对警戒定时器进行初始化,将K200(设定值为200ms)装入D8000中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使PLC能正常运行。 当扫描周期大于200ms时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,CPU立即停止执行用户程序,同时切断全部输出,并且报警显示。

3、项目学习 程序流程控制 在这种情况之下,应将WDT指令插到合适的程序步(扫描时间不超过200ms)中刷新监视定时器。将程序一分为二,前后都在200ms以下,程序可以继续正常运行。

[S]: K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z 3、项目学习 程序流程控制 循环指令 循环开始 FNC08 FOR 操作数 [S]: K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z 循环结束 FNC09 NEXT 无操作数 说明 n为循环次数,其范围为1~32767有效。如果指定为-32768~0,则作n=1处理。 循环指令最多可以嵌套5级。 程序中FOR-NEXT是成对出现的,FOR在前,NEXT在后不可倒置,否则出错。 编程时NEXT应该在FEND或END之前,否则出错。

任务一实施 (1)手动程序—X001输入5个脉冲,Y000有输出; 3、项目学习 任务一实施 (1)手动程序—X001输入5个脉冲,Y000有输出; (2)自动程序—Y001为观察秒脉冲的输出,C1对秒脉冲(M8013)计数,计满10个则Y002输出。 (3)对计数器清零处理 C0 K5 Y000 X001 M8013 Y001 Y002 C1 K10 RST C0 C1 M8002

任务一实施 LD M8002 OR C0 OR C1 RST C0 RST C1 LD X010 CJ P5 LD X001 3、项目学习 任务一实施 LD M8002 OR C0 OR C1 RST C0 RST C1 LD X010 CJ P5 LD X001 OUT C0 K5 LD C0 OUT Y000 LDI X010 CJ P6 P5 LDI M8013 OUT Y001 OUT C1 K10 LD C1 OUT Y002 P6 END RST C0 C1 M8002 X010 FNC00 CJ P5 C0 K5 Y000 P6 Y001 Y002 END C1 K10 M8013 X001 转自动程序 手动程序 自动程序

3、项目学习 任务二:小车自动选向自动定位控制

3、项目学习 控制要求: 某车间有 4个工作台,送料车往返于工作台之间送料,如下图所示。每个工作台设有一个到位开关( SQ )和一个呼吸按扭( SB )。具体控制要求如下: ( 1 )送料车初始应能停留在 4 个工作台中任意一个到位开关的位置上。 ( 2 )设送料车现暂停于 m 号工作台( SQ m动作)处,这时 n 号工作台呼叫( SQ n 动作 ),若: (a) m>n ,送料车左行,直至 SQ n 动作,到位停车。即送料车所停位置 SQ 的编号大于呼叫按扭 SB 的编号时,送料车往左行运行至呼叫位置后停止。 (b) m<n ,送料车右行,直至 SQ n 动作,到位停车。即送料车所停位置 SQ 的编号小于呼叫按扭 SB 的编号时,送料车往右运行至呼叫位置后停止。 (c) m=n ,送料车原位不动。即送料车所停位置 SQ 的编号与呼叫按扭 SB 的编号相同时,送料车不动。

知识学习:传送和比较指令 比较指令 FNC10 CMP 区间比较指令 FNC 11 ZCP 传送指令 FNC 12 MOV 3、项目学习 知识学习:传送和比较指令 比较指令 FNC10 CMP 区间比较指令 FNC 11 ZCP 传送指令 FNC 12 MOV 移位传送指令 FNC 13 SMOV 块传送指令 FNC 15 BMOV 多点传送指令 FNC 16 FMOV 数据交换指令 FNC 17 XCH 变换指令 FNC 18 BCD FNC 19 BIN

比较指令 FNC10 CMP 传送和比较指令 操作数 [S1]、[S1] : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z 3、项目学习 传送和比较指令 比较指令 FNC10 CMP 操作数 [S1]、[S1] : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z [D]:Y、M、S 梯形图 [S1] C10<k100时,M0 = ON C10=K100时,M1 = ON C10>k100时,M2 = ON M0 M1 M2 X0 [S2] [D] CMP K100 C10 M0

该指令是将源操作数[S1]和[S2]的中数据进行比较,结果送目标操作数[D]中去。 3、项目学习 传送和比较指令 说明 该指令是将源操作数[S1]和[S2]的中数据进行比较,结果送目标操作数[D]中去。 [D]由3个元件组成,指令中[D]给出首地址,其它两个为后面的相邻元件。 当X0由ON→OFF时,不执行CMP指令,M0~M2保持断开前的状态,用复位指令RST才能清除比较结果。 CMP是进行二进制代数比较。 可以32位二进制数比较和脉冲执行方式。 如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。

3、项目学习 传送和比较指令

目标软元件在使用比较指令前应清零或要清除其比较结果时,要采用复位指令RST或批复位指令ZRST。如图 3、项目学习 传送和比较指令 目标软元件在使用比较指令前应清零或要清除其比较结果时,要采用复位指令RST或批复位指令ZRST。如图 比较结果复位

例1:根据程序画波形: 传送和比较指令 S1>S2: C1>K5 S1=S2: C1=K5 S1<S2: C1<K5 3、项目学习 传送和比较指令 例1:根据程序画波形: S1>S2: C1>K5 S1=S2: C1=K5 S1<S2: C1<K5

3、项目学习 传送和比较指令 区间比较指令 ZCP 该指令可以实现S1≤S≤S2区间的比较,该指令是将S(·)数据与上、下两个源数据S1(·)和S2(·)间的数据进行代数比较(即带符号比较)。要求源数据S1(·)≤S2(·),若S1(·)>S2(·),则S2(·)则被看作与S1(·)一样大,例如在S1(·)=K100,S2(·)=K90时,则S2(·)当作K100进行运算。

在X000断开时,ZCP指令不执行,M3~M5保持X000断开前的原状态。使用区间比较指令前对目标操作数指定的软元件清零或复位。 3、项目学习 传送和比较指令 在X000断开时,ZCP指令不执行,M3~M5保持X000断开前的原状态。使用区间比较指令前对目标操作数指定的软元件清零或复位。 区间比较指令的使用说明

例1:根据X0、 X1的状态变化,画出Y0、Y1、Y2的状态变化。 3、项目学习 传送和比较指令 例1:根据X0、 X1的状态变化,画出Y0、Y1、Y2的状态变化。 Y0、Y1、Y2的状态变化如下图所示。

3、项目学习 传送和比较指令 最后一行可以不用并M14了。

传送指令 MOV 传送和比较指令 操作数 [S1]、[S1] : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z 3、项目学习 传送和比较指令 传送指令 MOV 操作数 [S1]、[S1] : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z [D]:KnY、KnM、KnS、T、C、D、V,Z 梯形图 X0 MOV K100 D10 K100→(D10)

说明 传送和比较指令 该指令将源操作数[S]中的数据传送到目标操作数[D]中去。 MOV指令可以进行(D)和(P)操作。 3、项目学习 传送和比较指令 说明 该指令将源操作数[S]中的数据传送到目标操作数[D]中去。 MOV指令可以进行(D)和(P)操作。 如果[S]为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。 当X0断开时,不执行MOV指令,数据保持不变。

3、项目学习 传送和比较指令

3、项目学习 传送和比较指令

3、项目学习 传送和比较指令

3、项目学习 传送和比较指令 例:电动机Y-△降压启动控制线路与程序 图 Y-△降压启动控制线路

传送和比较指令 表 Y-△降压启动过程和传送控制数据表 操 作 元 件 状 态 输 入 端 口 输出端口/负载 传 送 数 据 Y3/KM3 3、项目学习 传送和比较指令 表 Y-△降压启动过程和传送控制数据表 操 作 元 件 状 态 输 入 端 口 输出端口/负载 传 送 数 据 Y3/KM3 Y2/KM2 Y1/KM1 Y0/HL SB2 形启动 T0延时10s X2 1 K7 T0延时到 T1延时1s K3 T1延时到 △形运转 K10 SB1 停止 X1 K0 KH 过载保护 X0 K1

3、项目学习 传送和比较指令 图 Y-△降压启动程序梯形图

3、项目学习 传送和比较指令 移位传送指令SMOV (P) m1:从哪一位开始移动 m2:移动多少位

3、项目学习 传送和比较指令 例1:如图所示为BCD码合成的一个例子。 位传送指令应用举例(BCD码合成)

块传送指令BMOV (P) 传送和比较指令 操作数 [S]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z 3、项目学习 传送和比较指令 块传送指令BMOV (P) 操作数 [S]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z [D]:KnY、KnM、KnS、T、C、D、V,Z n:K、H 梯形图 D7 D6 D5 D12 D11 D10 [S] X0 D n BMOV D5 D10 K3

[S]为存放被传送的数据块的首地址;[D]为存放传送来的数据块的首地址;n为数据块的长度。 3、项目学习 传送和比较指令 说明 [S]为存放被传送的数据块的首地址;[D]为存放传送来的数据块的首地址;n为数据块的长度。 位元件进行传送时,源和目标操作数要有相同的位数。 当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用①~③的顺序自动传送。 该指令可以连续/脉冲执行方式。

传送和比较指令 X1 X0 X2 BMOV D10 D9 K3 BMOV D10 D11 K3 BMOV K1M0 K1Y0 K2 3、项目学习 传送和比较指令 X1 BMOV D10 D9 K3 X2 BMOV D10 D11 K3 X0 BMOV K1M0 K1Y0 K2 n = K2 M2 M1 M0 M3 Y2 Y1 Y0 Y3 M6 M5 M4 M7 Y6 Y5 Y4 Y7 ① D12 D11 D10 D9 ② ③ ③ D12 D11 D10 D13 ② ①

例1,具有位组合的位元件的场合,源与目标要具有相同的位数。 3、项目学习 传送和比较指令 例1,具有位组合的位元件的场合,源与目标要具有相同的位数。 M0 Y2 ;M8 Y12 M1 Y3 ;M9 Y13 M2 Y4 ;M10 Y14 M3 Y5 ;M11 Y15 M4 Y6 ;M12 Y16 M5 Y7 ;M13 Y17 M 6 Y10;M14 Y20 M7 Y11;M15 Y21

多点传送指令FMOV 传送和比较指令 操作数 [S]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z 3、项目学习 传送和比较指令 多点传送指令FMOV 操作数 [S]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z [D]:KnY、KnM、KnS、T、C、D n: K、H 梯形图 [S] X0 D n BMOV K10 D0 K10 把K10传送到D0~D9中去 多点传送指令FMOV是将源操作数中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。

3、项目学习 传送和比较指令 例:将S10~S41清零,将M32~M63置1

数据交换指令 XCH 传送和比较指令 操作数 [D1]、[D2]:KnY、KnM、KnS、T、C、D、V,Z 梯形图 注意 3、项目学习 传送和比较指令 数据交换指令 XCH 操作数 [D1]、[D2]:KnY、KnM、KnS、T、C、D、V,Z 梯形图 [D1] X0 XCH(P) D0 D1 [D2] (D0) (D1) 注意 交换指令一般要在脉冲方式执行,否则不能正常工作。

例,如图所示的梯形图程序,当X0合上, X1断开时,分析Y0的工作情况。当X0断开,X1合上时,分析Y0的工作情况。 3、项目学习 传送和比较指令 例,如图所示的梯形图程序,当X0合上, X1断开时,分析Y0的工作情况。当X0断开,X1合上时,分析Y0的工作情况。

数据变换指令 BCD、BIN 传送和比较指令 3、项目学习 传送和比较指令 数据变换指令 BCD、BIN BCD指令可以将源元件中的二进制数转换成BCD码送到目标元件。 BIN是将源元件中的BCD数据转换成二进制数据送到目标元件中 。 操作数 [S]:KnX、KnY、KnM、KnS、T、C、D、V,Z [D]:KnY、KnM、KnS、T、C、D、V,Z 梯形图 [S] X0 BCD D10 K2Y0 [D] X1 BIN K2Y0 D14

任务二实施 一、 PLC 硬件的实现 1 、 I/O 的分配 表1 系统I/O资源配置表 序号 元件名 设备名 作用 输入 X0 SB1 3、项目学习 任务二实施 一、 PLC 硬件的实现 1 、 I/O 的分配 表1 系统I/O资源配置表 序号 元件名 设备名 作用 输入 X0 SB1 1号站呼叫按钮开关 X1 SB2 2号站呼叫按钮开关 X2 SB3 3号站呼叫按钮开关 X3 SB4 4号站呼叫按钮开关 X4 SQ1 1号站限位开关 X5 SQ2 2号站限位开关 X6 SQ3 3号站限位开关 X7 SQ4 4号站限位开关 X10 SB 启动按钮 输出 Y0 KM1 小车左行接触器 Y1 KM2 小车右行接触器

3、项目学习 任务二实施 2 、 I/O 的外部接线

3、项目学习 任务二实施 二、PLC 程序的编写

3、项目学习 任务三:四则运算 控制要求: 四则运算作为计算机的基本功能,可编程序控制的核心是单片机,可编程控制器当然也就具备四则运算的能力,如某控制程序中要进行以下算式的运算: Y=38X/27+2 式中X—用输入端口K2X000送入,用X020作为启停开关。本任务要求用PLC完成上式的加、乘,除运算。运算结果用接在K2Y0口的信号灯来显示。

4、算术与逻辑运算指令 二进制加减运算指令 加法 FNC20 ADD 减法 FNC21 SUB 算术与逻辑运算指令 梯形图 [S1] X0 3、项目学习 算术与逻辑运算指令 4、算术与逻辑运算指令 二进制加减运算指令 加法 FNC20 ADD 减法 FNC21 SUB 梯形图 [S1] X0 ADD D0 D2 D4 [D] X1 DSUB D10 D12 D14 [S2] (D0)+(D2) (D4) (D11D10)–(D13D12) (D15D14)

指令是代数加减运算,数据的最高位为符号位。 3、项目学习 算术与逻辑运算指令 说明 指令是代数加减运算,数据的最高位为符号位。 进行16位加减运算时,数据范围为-32768~+32767;32位运算时,数据范围为-2147483648~+2147483647。 运算结果为0时,零标志置位(M8020=1);运算结果大于+32767(或+2147483647)时,进位标志置位(M8022=1);运算结果小于-32768(或-2147483648)时,借位标志置位(M8021=1)。 该指令可以进行连续/脉冲执行方式。

算术与逻辑运算指令 例1,X0合上,Y0工作的情况。 3、项目学习 算术与逻辑运算指令 例1,X0合上,Y0工作的情况。 X0合上,T2线圈得电,开始计时,2.5秒后其常开触点闭合,Y0得电,同时T1线圈得电,开始计时,2.5秒后其常闭触点断开,T2失电,Y0断开。

二进制乘除运算指令 乘法 FNC22 MUL 除法 FNC23 DIV 算术与逻辑运算指令 3、项目学习 算术与逻辑运算指令 二进制乘除运算指令 乘法 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 梯形图 (D0)×(D2) (D5D4) 被乘数 乘数 积 [S1] X0 MUL D0 D2 D4 [D] X1 DDIV D10 D12 D14 [S2] (D11D10)÷(D13D12) (1D5D14)···(D17D16) 被除数 除数 商 余数

二进制乘除运算指令 算术与逻辑运算指令 操作数 指令进行二进制运算,数据最高位为符号位。 3、项目学习 算术与逻辑运算指令 二进制乘除运算指令 操作数 指令进行二进制运算,数据最高位为符号位。 可以进行16/32位乘除运算,16位运算时,积为32位数据,商和余数为16位数据;32位运算时,积为64位数据,商和余数为32位数据。 0作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。 位元件作为32位乘法运算的目标元件时,只能得到积的低32位数据。 可以进行连续/脉冲执行方式。

3、项目学习 算术与逻辑运算指令 例2,运算表达式10X/300+30,X值由K2X0以BCD码送到内存中。 程序如下:

二进制加1减1指令 加1 FNC24 INC 减1 FNC25 DEC 算术与逻辑运算指令 操作数 3、项目学习 算术与逻辑运算指令 二进制加1减1指令 加1 FNC24 INC 减1 FNC25 DEC 操作数 [D]:KnY、KnM、KnS、T、C、D、V,Z 梯形图 X0 INC(P) D10 [D] X1 DEC(P) D12 (D10)+1 (D10) (D12)–1 (D12)

上述指令可以连续/脉冲执行方式,应用中要特别注意。 可以进行16/32位运算,并且为二进制运算。 3、项目学习 算术与逻辑运算指令 说明 上述指令可以连续/脉冲执行方式,应用中要特别注意。 可以进行16/32位运算,并且为二进制运算。 如果从+32767(或+2147483647)再加1,则变成-32768(或-2147483648);如果从-32768(或-2147483648)再减1,则变成+32767(或+2147483647),为循环计数。 以上变化时标志位不动作,也就是说这两条指令和零标志、借位标志、进位标志无关。

例3,分析程序,根据X11、X12、X13的情况,画出T10的时序。 3、项目学习 算术与逻辑运算指令 例3,分析程序,根据X11、X12、X13的情况,画出T10的时序。

例4,利用乘、除法实现移位控制:有一组灯15盏,接于输出点Y0~Y16上(Y0~Y7,Y10~Y16),要求灯每隔1s单个移动,并循环。 3、项目学习 算术与逻辑运算指令 例4,利用乘、除法实现移位控制:有一组灯15盏,接于输出点Y0~Y16上(Y0~Y7,Y10~Y16),要求灯每隔1s单个移动,并循环。 图3.4 灯组移位控制

梯形图设计 I/O分配表 任务3实施 输入 输出 输入继电器 作用 输出继电器 X000~X007 输入二进制数 Y000~Y007 3、项目学习 任务3实施 梯形图设计 I/O分配表 输入 输出 输入继电器 作用 输出继电器 X000~X007 输入二进制数 Y000~Y007 运算结果 X020 启停开关

3、项目学习 任务四:流水灯光控制 控制要求: 利用PLC实现流水灯控制。某灯光招牌有L1-L8八盏灯灯,要求按下启动按钮时,灯先以正序每1s间隔轮流点亮,L8亮后,停5s;然后以反序每隔1s轮流点亮,当L1再亮后,停5s,重复上述过程。当按下停止按钮时,停止工作。试设计流水灯光的控制。

知识学习:程序循环与移位指令 循环右移 FNC 30 ROR 循环左移 FNC 31 ROL 位右移 FNC 34 SFTR 3、项目学习 知识学习:程序循环与移位指令 循环右移 FNC 30 ROR 循环左移 FNC 31 ROL 位右移 FNC 34 SFTR 位左移 FNC 35 SFTL

3、项目学习 程序循环与移位指令 1.程序循环指令 a、循环右移指令 图4-1 循环右移指令的使用

例1,循环右移指令ROR的应用举例如下图所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。 3、项目学习 程序循环与移位指令 例1,循环右移指令ROR的应用举例如下图所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。

3、项目学习 程序循环与移位指令 表1 例1各位状态的变化

3、项目学习 程序循环与移位指令 b、循环左移指令 图4-2 循环左移指令的使用

例2,循环左移指令ROL的应用举例如图5.49所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。 3、项目学习 程序循环与移位指令 例2,循环左移指令ROL的应用举例如图5.49所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。

3、项目学习 程序循环与移位指令 表2 例2中各位状态的变化

3、项目学习 程序循环与移位指令 8只彩灯循环闪亮的PLC控制程序 技 能 训 练

3、项目学习 程序循环与移位指令 2.位移位指令 位右移和位左移指令 图4-3 位右移 图4-4 位左移

例1,当启动按钮合上,分析Y0~Y17工作起情况? 3、项目学习 程序循环与移位指令 例1,当启动按钮合上,分析Y0~Y17工作起情况?

拓展知识 4.6.6 区间复位(ZRST) 1.区间复位命令的助记符和功能如表5-25所示: 3. 说明: 3、项目学习 拓展知识 4.6.6 区间复位(ZRST) 1.区间复位命令的助记符和功能如表5-25所示: 3. 说明: 当X0闭合,使从目标(D1.)C0到目标(D2.)C3成批软元件复位为零。当X1闭合,使从目标(D1.)M10到目标(D2.)M25成批软元件复位。应用复位指令时,操作数(D1.)、(D2.)必须为同一类型元件。

3、项目学习 拓展训练 某机器的生产过程由电动机M1、M2、M3、M4控制方式如下:按起动按钮,电动机M台起动,延时3S,M1停止,同时电动机M2起动。机器前进碰行程开关SQ1,M2停止,M3起动。前迸又碰行程开关SQ2,M3停止,M4起动。M4运行3S后,M1、M2、M3、M4同时工作,又延时3S后全部停止。试用SFTL指令编程。

3、项目学习 拓展训练 I/O分配与梯形图

项目设计与实施 方案制定 LED显示十位学号 步骤1:I/O分配及硬件连接 步骤2:显示对应的段码状态表。 步骤3:程序设计

七段码译码表 源 七段组合数字 目 标 输 出 16进制数 位组合格式 B7 B6 B5 B4 B3 B2 B1 B0 0000 1 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111

任务实施 七、系统安装调试 1、设计元件布置图,检查元器件的好坏,按照图的要求,正确安装元件。 2、根据PLC外部接线图完成PLC的输入输出接线,并检查有无断路及短路现象。 3、给PLC上电,用GX软件输入状态转移图程序并下载到PLC。 4、将运行模式选择开关拨到“RUN”位置,使PLC进入运行方式,按下启动开关,观察各个红绿灯是否按要求动作。

项目作业 任务:如图1所示,是一个数据条码的图形编辑器,要求能够进行条码增/减修改,修改后的数据保存,在修改过程中能反映条码的当前值。 图 1

谢谢!