PLC S7-200 - 系列理论课教案 - 图文

更新时间:2023-03-09 20:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一讲 PLC的发展、分类及应用

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 机电一体化技术专业学生 了解PLC的发展、特点、分类、应用、结构和工作原理 PLC的结构和工作原理 工作原理 讲授法、演示法 2学时 《可编程控制器原理及应用》孙平主编 高等教育出版社 2003年1月 教学过程 一.PLC的产生 可编程序逻辑控制器PLC产生于1969年,最初只具备逻辑控制、定时、计数等功能,主要是用来取代继电接触器控制。 现在所说的可编程序控制器PC(Programmable Controller)是1980年以来,美、日、德等国由先前的可编程序逻辑控制器PLC进一步发展而来。 1985年,国际电工委员会IEC对可编程序控制器作了如下规定:可编程序控制器是一种数字运算操作的电子系统,专为工业环境下应用而设计。 二.PLC的发展 1. 发展及现状 2. 发展趋势 (1)与计算机联系密切 (2)发展多样化 (3)模块化 (4)网络与通信能力增强 (5)多样化与标准化 (6)工业软件发展迅速 三.PLC的特点 1. 可靠性高 2. 功能强大 3. 简单方便 四.PLC的分类 1. 从结构上 可编程序控制器从结构上可分为整体式和模块式。 2. 从规模上 按PLC的输入输出点数可分为小型、中型和大型。 五.PLC的应用 1. 工业 1)开关量控制,如逻辑、定时、计数、顺序等; 2)模拟量控制,部分PLC或功能模块具有PID控制功能,可实现过程控制; 3)监控,用PLC可构成数据采集和处理的监控系统; 4)建立工业网络,为适应复杂的控制任务且节省资源,可采用单级网络或多级分布式控制系统。 2. 其他行业 可编程序控制器在其他行业的应用也日益广泛:在国防和民用,如建筑,环保,家用电器等。

六. PLC的结构和工作原理 (一).结构 PLC专为工业场合设计,采用了典型的计算机结构,主要是由CPU、电源、存储器和专门设计的输入输出接口电路等组成。图2.1为一典型PLC结构简图。 1. 中央处理单元 按钮继电器触点输入单元CPU存储器电源部分输出单元接触器电磁阀行程开关指示灯编程器或其他设备 图2.1 结构简中央处理单元(CPU)一般由控制器、运算器和寄存器组成,这些电路都集成在一个芯片上。 CPU的主要功能: 1)从存储器中读取指令 2)执行指令 3)顺序取指令 4)处理中断 2.存储器 1)只读存储器 2)随机存储器RAM 3. 输入输出单元 (1)输入接口电路 (2)输出接口电路 通常PLC的输入类型可以是直流、交流和交直流。输入电路的电源可由外部供给,有的也可由PLC内部提供。图2.2和图2.3分别为一种型号PLC的直流和交流输入接口电路的电路图,采用的是外接电源。 图2.2描述了一个输入点的接口电路。其输入电路的一次电路与二次电路用光耦合器相连,当行程开关闭合时,输入电路和一次电路接通,上面的发光管用于对外显示,同时光耦合器中的发光管使三极管导通,信号进入内部电路,此输入点对应的位由0变为1。即输入映像寄存器的对应位由0变为1。 输入1输入 n内部电路COM

图2.2 直流输入电路图 输入1输入n.内部电路COM 图2.3 交流输入电路图 (二) 工作原理 1. 循环扫描 PLC采用循环扫描工作方式,这个工作过程一般包括五个阶段:内部处理、与编程器等的通信处理、输入扫描、用户程序执行、输出处理,其工作过程如图2.4所示。 开 始内部处理通信处理否RUN方式?是输入扫描执行用户程序输出处理 图2.4 工作原理图 图2.4中当PLC方式开关置于RUN(运行)时,执行所有阶段;当方式开关置于STOP(停止)时,不执行后3个阶段,此时可进行通信处理,如对PLC联机或离线编程。 可编程序控制器的输入处理、执行用户程序和输出处理过程的原理如图2.5所示。 PLC执行的五个阶段,称为一个扫描周期,PLC完成一个周期后,又重新执行上述过程,扫描周而复始地进行。

按钮按钮输入映象寄存器程序执行输出映象寄存器接触器输入电路( )输出电路 图2.5 程序执行原理图 2. 与计算机的异同 相同点: (1)基本结构相同 (2)程序执行原理相同 不同点: 两者的不同点主要体现在工作方式上。 3. 与继电接触器的异同 相同点: 图形结构和逻辑关系相同。 不同点: (1)实现原理不同 (2)工作方式不同 七.技术性能指标 1. 外形尺寸 2. 输入输出点数 3. 机器字长 4. 速度 5. 指令系统 6. 存储器容量 7. 扩展性 8. 通信功能 八.编程语言 1. 梯形图 2. 语句表 3. 逻辑符号图 4. 高级语言 思考题(作业):P27第3和第4题 课后小记:

第二讲 S7-200 系列可编程序控制器基本知识

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 机电一体化技术专业学生 以西门子公司生产的S7-200系列小型可编程序控制器为例,了解可编程序控制器的系统组成,了解PLC扫描周期及工作方式,了解I/O扩展。 S7-200 PLC系统组成 工作方式 讲授法、演示法 2学时 《可编程控制器原理及应用》孙平主编 高等教育出版社 2003年1月 教学过程 一.S7-200 PLC系统基本构成 SIMATIC S7-200系统由硬件和工业软件两大部分构成,如图3.1所示。 图3.1 S7-200 PLC系统组成 系统基本构成: 1. 硬件 (1)基本单元 (2)扩展单元 (3)特殊功能模块 (4)相关设备 2. 工业软件 工业软件是为更好地管理和使用这些设备而开发的与之相配套的程序、文档及其规则的总和,它主要由标准工具、工程工具、运行软件和人机接口等几大类构成。 二.主机结构 1. 各CPU介绍及I/O系统 (1) 主机外形 SIMATIC S7-200系统CPU 22X系列PLC主机(CPU模块)的外形如图3.2所示:

图3.2 S7-200主机外形 (2)基本结构特点 1、输出信号类型 2、电源输出 3、基本I/O 4、存储安全 5、高速反应 6、模拟电位器 7、实时时钟 8、输入输出可扩展性 4种CPU各有晶体管输出和8继电器输出两种类型,具有不同电源电压和控制电压。各类型的型号如表3.1所示。 表3.1 CPU型号 SIMATIC S7-200系统CPU 22X系列PLC主机及I/O特性如表3.2所示。 表3.2 主机及I/O特性 2. 存储系统 (1)存储系统

个人计算机CPU用户程序CPU组态用户程序CPU组态V存储器V 存储器M存储器定时器和计数器当前值存储器卡M存储器EPROMRAM 图3.3 存储系统 表3.3 存储容量 (2)存储器及使用 上装和下装用户程序 定义存储器保持范围 用程序永久保存数据 存储器卡的使用 (3)存储安全 1)主机CPU模块内部配备的EEPROM,上装程序时,可自动装入并永久保存用户程序、数据和CPU的组态数据。 2)用户可以用程序将存储在RAM中的数据备份到EEPROM存储器。 3)主机CPU提供一个超级电容器,可使RAM中的程序和数据在断电后保持几天之久。 4)CPU提供一个可选的电池卡,可在断电后超级电容器中的电量完全耗尽时,继续为内部RAM存储器供电,以延长数据所存的时间。 5)可选的存储器卡可使用户像使用计算机磁盘一样来方便地备份和装载程序和数据。 三.扫描周期及工作方式 1. 扫描周期 (1)输入处理 (2)执行程序 (3)处理通信请求 (4)执行CPU自诊断测试

(5)写数字输出 一个扫描周期 读输入 执行程序 执行CPU自诊断 处理通信请求 写输出 图3.4 CPU的扫描周期 2. 工作方式 (1)STOP方式 (2)RUN方式 3. 改变CPU工作方式的方法 1)用PLC上的方式开关来手动切换,方式开关有3个挡位 。 2)用STEP 7-Micro/Win32编程软件,应首先把主机的方式开关置于TERM或RUN位置,然后在此软件平台用鼠标单击STOP和RUN方式按钮即可。 3)在用户程序中用指令由RUN方式转换到STOP方式,前提是程序逻辑允许中断程序的执行。 四.输入输出扩展 1. 设备连接 (a) 面板安装 (b) 标准导轨安装 图3.5 I/O扩展示意图 2. 最大I/O配置的预算 (1)映像寄存器数量 (2)电流提供 各CPU所能提供的最大5VDC电流如表3.4所示。 (3)模块电流 CPU 22X可连接的各扩展模块消耗5VDC电流如表3.5所

3. 输入输出及CPU组态 (1)I/O点数扩展和编址 (2)设置输入滤波 (3)设置脉冲捕捉 (4)输出表配置 (5)定义存储器保持范围 例如,某一控制系统选用CPU 224,系统所需的输入输出点数各为:数字量输入24点、数字量输出20点、模拟量输入6点、模拟量输出2点。 本系统可有多种不同模块的选取组合,表3.6所示为其中的一种可行的系统输入输出组态状况。 若按表3.6的扩展方式,各模块在I/O链中的位置排列方式也可以有多种,图3.6所示为其中的一种模块连接形式。

主机CPU224模块1EM221DI8XDC24V模块2EM222DO8XDC24V模块3EM235AI4/AQ1X12位模块4EM223DI4/DQ4XDC24V/继电器模块5EM235AI4/AQ1X12位 图3.6 扩展连接图 S7-200 CPU为每个主机数字量输入提供了脉冲捕捉功能,它可以使主机能够捕捉小于一个扫描周期的短脉冲,并将其保持到主机读到这个信号,但前提是只有通过滤波器后,脉冲捕捉才有效。此外,在一个给定的扫描周期内如果有不只一个脉冲,则只有第一个脉冲可以被捕捉到,几种情况下的脉冲捕捉波形如图3.7所示。 CPU扫描周 n输入刷新输入 1允许脉冲捕捉输入 2允许脉冲捕捉输入 3允许脉冲捕捉CPU扫描周期 n+1输入刷新 图3.7 脉冲捕捉波形图 思考题(作业):P27第5和第6题 课后小记: 第三讲 STEP7编程软件介绍

教学对象 教学目标 电气自动化技术专业学生 1、编程软件的安装及窗口组件、STEP7编程软件的主要编程功能、程序的调试与监控; 2、项目管理,要求熟悉编程软件的使用 STEP7编程软件的主要编程功能、程序的调试与监控 编程软件的使用 讲授法、演示法 2学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学重点 教学难点 教学方法 授课时间 使用教材 教学过程

一.STEP7概述 S7-200可编程控制器使用STEP7-Micro/WIN32编程软件进行编程。STEP7-Micro/WIN32编程软件是基于Windows的应用软件,功能强大,主要用于开发程序,也可用于适时监控用户程序的执行状态。加上汉化后的程序,可在全汉化的界面下进行操作。 二. STEP7-Mirco/WIN主要编程功能 三.通信 四.程序的调试与监控 五. 项目管理 思考题(作业):P54第1、2、3题 课后小记: 第四讲 S7-200 系列可编程序控制器基本知识

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 练习使用STEP 7-Micro/WIN 32编程软件 程序的输入和编辑方法 程序的编辑 讲授法、演示法、实验法 2学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 一.实训目的 (1)认识S7-200系列可编程控制器及其与PC机的通信。 (2)练习使用STEP 7-Micro/WIN 32编程软件。 (3)学会程序的输入和编辑方法。 (4)初步了解程序调试的方法。 二.内容及指导 (1)PLC认识 (2)开机(打开PC和PLC)并新建一个项目。 (3)检查PLC和运行STEP7-Micro/WIN (4)选择指令集和编辑器。 (5)输入、编辑如图3-29所示梯形图,并转换成语句表指令。 (6)给梯形图加POU注释、网络标题、网络注释。 (7)编写符号表. (8)编译程序。并观察编译结果。 三.结果记录 (1)认真观察PLC基本单元上的输入/输出指示灯的变化,并记录。 (2)总结梯形图输入及修改的操作过程。 (3)写出梯形图添加注释的过程。 四.思考题

1. 如何建立项目? 2. 如何在LAD中输入程序注解? 3. 如何下载程序? 4. 如何在程序编辑器中显示程序状态? 5. 如何建立状态图表? 6. 如何执行有限次数扫描? 7. 如何打开交叉引用表?交叉引用表的作用是什么 课后小记:

第五讲 基本位逻辑指令与应用

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握LD、LDN指令的使用。2、使学生掌握A、AN指令的使用。3、使学生掌握O、ON指令的使用。 梯形图和指令表之间的互换 指令的灵活使用 讲授法、演示法、实验法 2学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 一、逻辑取(装载)及线圈驱动指令 (先介绍基本指令在企业现场中的用途,引起学生的兴趣后引入新课) 利用多媒体教学网络系统教师机对学生的每一台计算机实行广播控制,播放教学软件课件中第四章的第二节内容。边播放边讲解以下内容: 1、讲解逻辑取(装载)及线圈驱动指令定义 2、通过实例讲解逻辑取(装载)及线圈驱动指令格式。 3、逻辑取(装载)及线圈驱动指令使用说明 二、触点串联指令A(And),AN(And not) 1、讲解触点串联指令定义 2、通过实例讲解触点串联指令格式。 3、触点串联指令使用说明 三、3. 触点并联指令:O(OR),ON(OR NOT) 1、讲解触点并联指令定义 2、通过实例讲解触点并联指令格式。 3、触点并联指令使用说明 (三)课堂练习 主要是通过实验来完成 1、把教学软件的“实验实训指导”部分导出来,进入到“实验一 逻辑指令” 2、按“实验实训指导”输入教师给定的程序,验证逻辑关系

3、根据“实验实训指导”的要求,编制并运行程序。 (四)教师小结 本节课的重点、难点(板书) (五)布置作业并提出新的问题 1、布置作业: P100第1、2题 2、提出“如果不是触点与触点的串联(或并联)应该怎么用程序来实现”这么一个新问题,使学生为下一节课作好准备。 课后小记: 第五讲:基本位逻辑指令与应用

教学目的和要求: 初步掌握S7-200可编程序控制器的基本指令 教学重点:S7-200 PLC的基本逻辑指令 学时分配:2学时 教学内容:

一.可编程控制器程序设计语言 1.梯形图程序设计语言 2.语句表程序设计语言 3. 逻辑功能图 4. 高级语言

二.基本位逻辑指令与应用

1. 逻辑取(装载)及线圈驱动指令 2. 触点串联指令A(And),AN(And not) 3. 触点并联指令:O(OR),ON(OR NOT) 4. 逻辑环节(电路块)的串联指令ALD 5. 逻辑环节(电路块)的并联指令OLD 6.逻辑堆栈 指令

7. 置位/复位指令 S/R 8.脉冲生成指令 EU/ED 思考题(作业): 课后小记:

第六讲 逻辑块指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握OLD、ALD指令的使用。2、使学生掌握OLD、ALD指令的使用。 梯形图和指令表之间的互换 指令的灵活使用 讲授法、演示法、实验法 4学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 一、ALD指令 功能:实现多个指令块的“与”运算。

例:如图3.6所示表示了ALD指令的使用。 图3.6 ALD指令的使用 表示Q0.0=(I0.0+I0.1)(I0.2+I0.3)每个指令块以初始加载(LD)指令开始。 ALD指令使用说明: ①分支电路(并联电路块)与前面电路串联连接时,使用ALD指令。分支的起始点用LD、LDN指令,并联电路块结束后,使用ALD指令与前面电路串联。 ②如果有多个并联电路块串联,顺次以ALD指令与前面支路连接,支路数量没有限制。 ③ALD指令无操作数。 ALD执行情况见表3.3 指令 表3.3 指令ALD执行情况 名称 STACK0 STACK1 STACK2 STACK3 STACK4 STACK5 STACK6 STACK7 STACK8 执行前 1 0 S2 S3 S4 S5 S6 S7 S8 执行后 0 S2 S3 S4 S5 S6 S7 S8 X 说明 假设执行前,S0=1,S1=0 本指令对堆栈中的第一层S0和第二层S1的值进行逻辑与运算,结果放回栈顶。 即:S0=S0*S1=1*0=0执行完本指令后堆栈串行上行1格,深度减1 二、OLD指令 功能:实现多个指令块的“或”运算。 程序如图3.7所示 图3.7 OLD指令的使用 OLD指令使用说明: ①几个串联想支路并联连接时,其支路的起点以LD、LDN开始,支路终点用OLD指令。 ②如需将多个支路并联,从第二条支路开始,在每一支路后面加OLD指令。用这种方法编程,对并

联支路的个数没有限制。 ③OLD指令无操作数。 指令OLD的执行情况见表3.4 表3.4指令OLD的执行情况 名称 STACK0 STACK1 STACK2 STACK3 STACK4 STACK5 STACK6 STACK7 STACK8 执行前 1 0 S2 S3 S4 S5 S6 S7 S8 执行后 10 S2 S3 S4 S5 S6 S7 S8 X 说明 假设执行前,S0=1,S1=0 .本指令对堆栈中的第一层S0和第二层S1的值进行逻辑或运算,结果放回栈顶。 即:S0=S0+S1=1+0=0执行完本指令后堆栈串行上行1格,深度减1 实验部分 一、实验目的 1、加深对逻辑指令的理解。 2、进一步熟悉V3.2 STEP 7 MicroWIN SP2软件的使用方法。 二、实验设备 1、计算机一台; 2、S7-200 PLC一台; 3、适配器一根。 三、实验内容与操作 1、输入练习程序1 将下图1的梯形图程序在计算机中输入并传到PLC中,让PLC运行并观察现象。 图1 简单逻辑指令程序及时序图 操作及运行结果:把方式选择开关拨至“RUN”,则可运行程序,这时可观察到以下现象: 1)当“I0.0”,“I0.1”输入开关都断开时,Q0.0灭,Q0.1亮。 2)将“I0.0”输入开关闭合,“I0.1”输入开关打开,主机上输入显示灯“I0.1”亮,Q0.0,Q0.1均保持原状。 3)将“I0.0”输入开关闭合,“I0.1”输入开关也闭合。主机上输入显示灯“I0.0”和“I0.1”亮,同时Q0.0亮,Q0.1灭。 4)只要“I0.0”和“I0.1”中任何一个断开,Q0.0灭,Q0.1亮。 2、输入练习程序2 将图2中的程序输入PLC中,观察并描述运行结果。

图2 块逻辑指令程序 3、编制并运行程序 按图3所示的时序要求,编制程序并运行程序,将观察的结果记录下来。 图3 时序图 课后小结: 课堂小结: 第七讲 置位/复位和脉冲微分指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握置位/复位指令的使用。2、使学生掌握脉冲微分指令的应用。 梯形图和指令表之间的互换 指令的灵活使用 讲授法、演示法、实验法 2学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程

一、S/R(置位/复位)指令 S:置“1”(置位指令),强制的将位存储区的指定位开始的N个同类存储位置位。 R:置“0”指令(复位指令),强制的将位存储区的指定位开始的N个同类存储位复位。程序举例见图3.10和3.11: 图3.10 置位复位指令的使用(1)

图3.11 置位复位指令的使用(2) 注意:对同一元件可以多次使用S/R指令(与=指令不同)。但是由于扫描工作方式,故写在后面的指令优先权。在存储区的一位或多位被置位(复位)后,不能自己恢复,必须用复位(置位)指令由“1”(“0”)跳回到“0”(“1”)。它们的操作数见表3.8所示。 表3.8置位和复位操作数 操作数 位bit 数量N 范围 I,Q,M,SM,TC,V,S,L VB.IB,QB,MB,SMB,LB,SB,AC,VD,AC,LD ※※※类型 BOOL型 BYTE型 二、EU/ED指令 这两个指令在梯形图中以触点形式使用。用于检测脉冲的正跳变(上升沿)或负跳变(下降沿)的指令。这两条指令都没有操作数。 EU:正跳变微分指令,正跳变触点检测到脉冲的每一次正跳变后,使指定继电器接通一个扫描周期,然后复位。 ED:负跳变微分指令,负跳变触点检测到脉冲的每一次负跳变后,使指定继电器接通一个扫描周期,然后复位。 梯形、语句表及程序的时序波形图如下图3.12所示:

图3.12 微分指令的应用 当检测到I0.0上升沿时,M0.0仅ON一个扫描周期。当检测到I0.1的下降沿时,M0.1仅ON一个扫描周期。 课后思考题:P101第6题 课堂小结: 第八讲 定时器指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握定时器指令的使用。2、使学生掌握定时器指令的应用。 定时器指令的应用 指令的灵活使用 讲授法、演示法、实验法 5学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月

教学过程 一、S7-200系列PLC按工作方式分有三大类定时器:通电延时定时器TON、保持型通电延时定时器TONR、断电延时定时器TOF。 指令操作数有3个:编号、预设值和使能输入。 S7-200定时器的精度(时间增量/时间单位/分辨率)有3个等级:1ms、10ms、100ms精度等级和定时器号关系如表3.10所示。 表3.10 定时器精度与编号 定时器类型 TON TOF TONR 精度等级(ms) 1 10 100 1 10 100 最大当前值(s) 32.767 327.67 3276.7 32.767 327.67 3276.7 定时器号 T32,T96 T33-T36,T97-T100 T37-T63,T101-T225 T0,T64 T1-T4,T65-T68 T5-T31,T69-T95 定时时间的计算:T=PT×S(T为实际定时时间,PT为预设值,S为精度等级) 例如:TON指令用定时器T37,预设值为150,则实际定时时间为T=150×100=15000ms=15s。 二、接通延时定时器 TON,接通延时定时器指令。用于单一间隔的定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位OFF,当前值为0。 指令格式:TON Txxx,PT 例:TON T120,8 图3.15为通电延时定时器指令应用示例。

图3.15 通电延时定时器的应用 在图3.15所示例子中,当10.0接通时,即驱动T33开始计时(数时基脉冲);计时到设定值PT时,T33状态bit置1,其常开触点接通,驱动Q0.0有输出;其后当前值仍增加,但不影响bit。当I0.0分断时,T33复位,当前值清0,状态bit也清0,即回复原始状态。若I0.0接通时间未到设定值就断开,则T33跟随复位,Q0.0不会有输出。 三、有记忆接通延时定时器 TONR,有记忆接通延时定时器指令。用于对许多间隔的累计定时。上电周期或首次扫描,定时器位OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767。TONR定时器只能用复位指令进行复位操作。 指令格式:TONR Txxx,PT 例:TONR T20,63 对于保持型通电延时定时器,则当输入IN为“1”时,定时器计时(数时基脉冲);当IN为“0”时,其当前值保持(不象TON一样复位)下次IN再为1时,Txxx当前值从原保持值开始再往上加,将当前值与设定值PT作比较,当前值大于等于设定值时,则定时器状态bit置“1”,以后即使IN再为“0”也不会使定时器复位,要令定时器复位必须用复位指令。其程序及时序图见图3.16所示。

图3.16 保持型通电延时定时器的应用 对于断电延时定时器则用于断开后的单一间隔定时。当使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时定时器开始计数,当前值达到预设值时,定时器位OFF。当前值等于预设值,停止计数。 四、断开延时定时器 TOF,断开延时定时器指令。用于断开后的单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位OFF,当前值等于预设值,停止计数。 TOF复位后,如果使能输入再有从ON到OFF的负跳变,则可实现再次启动。 指令格式:TOF Txxx,PT 例:TOF T35,6 五、应用举例 例1:图3.17是介绍3种定时器的工作特性的程序片断,其中T35为通电延时定时器,T2为有记忆通电延时定时器,T36为断电延时定时器。

图3.17定时器特性 上面梯形图程序中输入输出执行时序关系如图3.18所示。 图3.18定时器时序图 例2:用TON构造各种类型的时间继电器触点。 有的厂商的PLC只有TON定时器,因此,在这种情况下可以利用TON来构造断电延时型的各种触点。 图3.19是用TON构造TOF作用的触点。其时序图与TOF的时序完全相同。 图3.20用通电延时定时器与输出继电器组成带瞬动触点的定时器。 图3.21是利用常开触点实现通电和断电都延时的触点作用。 本程序实现的功能是:用输入端I0.0控制输出端Q0.0,当I0.0接通后,过3个时间单位Q0.0端输出接通,当I0.0断开后,过6个时间单位Q0.0断开

图3.19用TON构成TOF定时器的应用 图3.20 TON定时器应用 图3.21 定时器应用 用定时器来实现电机顺序顺序起动控制,控制要求:三台电机按顺序起动。电机M1先起动,运行20S后,M2起动,再经30S后,M3起动。则程序见图3.22所示,图中三台电机M1、M2、M3分别受Q0.1、Q0.2、Q0.3控制。

图3.22 电机顺序起动控制程序 定时器指令实验 一、实验目的 1、熟悉定时指令。 2、掌握定时指令的基本应用。 二、实验设备 1、计算机一台。 2、S7-200 PLC一台 3、适配器一根 4、螺丝刀几个、连接导线若干 三、实验内容与操作 1、输入程序 将下图4的梯形图程序输入PLC中,观察并记录运行结果。 图4 定时器指令学习程序 2、定时器指令的应用

(1)任务 1)利用TON指令编程,产生连续方波信号输出,其周期设为3s,占空比为2:1。 2)设某工件加工过程分为四道工序完成,共需30s,其时序要求如图5所示。I0.1为运行控制开关,I0.1=ON时,启动和运行;I0.1=OFF时停机。而且每次启动均从第一道工序开始。利用TON指令实现上述分级定时控制,并观察T1-T4通断情况以及定时器经过值的变化情况。 图5 定时器设计要求时序图 (2)编程提示 1)任务1可通过定时器互锁轮流导通,再由其中一个定时器控制输出。 2)任务2可用两种方法来实现: ①用4个定时器分别设置4道工序的时间,通过程序依次启动之。 ②用一个定时器设置全过程的时间,再用若干条比较指令来判断和启动各道工序。 3)用比较指令时要注意,TON是通电延时型定时器。 课后练习:P100第5题;P101第10题 课后小结: 第九讲 计数器指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握计数器指令的使用。2、使学生掌握计数器指令的应用。 计数器指令的应用 指令的灵活使用 讲授法、演示法、实验法 5学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 计数器用来累计输入脉冲的次数。计数器也是由集成电路构成,是应用非常广泛的编程元件,经常用来对产品进行计数。 计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。

指令操作数有4方面:编号、预设值、脉冲输入和复位输入。 一、增计数器 CTU,增计数器指令。首次扫描,定时器位OFF,当前值为0。脉冲输入的每个上升沿,计数器计数1次,当前值增加1个单位,当前值达到预设值时,计数器位ON,当前值继续计数到32767停止计数。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值为0。 指令格式:CTU Cxxx,PV 例:CTU C20,3 程序实例:图3.23为增计数器的程序片断和时序图 图3.23 增计数器程序 二、增减计数器 CTUD,增减计数器指令。有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。 指令格式:CTUD Cxxx,PV 例: CTUD C30,5 程序实例:如图3.24所示为增减计数器的程序片断和时序图

图3.24 增减计数程序及时序 三、减计数器 CTD,增减计数器指令。脉冲输入端CD用于递减计数。首次扫描,定时器位OFF,当前值为等于预设值PV。计数器检测到CD输入的每个上升沿时,计数器当前值减小1个单位,当前值减到0时,计数器位ON。 复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值复位为预设值,而不是0。 指令格式:CTD Cxxx,PV 例: CTD C40,4 程序实例:图3.25为减计数器的程序片断和时序图

图3.25减计数程序及时序 四、应用举例 1)循环计数。 以上三种类型的计数器如果在使用时,将计数器位的常开触点作为复位输入信号,则可以实现循环计数。 2)用计数器和定时器配合增加延时时间,如图3.26所示。试分析以下程序中实际延时为多长时间。

图3.26 计数器应用例 计 数 器 指 令 实 验 一、实验目的 1)熟悉计数器指令。 2)掌握计数器指令的基本应用。 二、实验设备 1、计算机一台。 2、S7-200 PLC一台 3、适配器一根 三、实验内容与操作 1、输入练习程序 将图6中的程序输入PLC中,观察并记录运行结果。

图6计数器指令实验程序 2、计数指令的应用 (1)任务 1)用CTU指令代替TON指令实现图5所示的加工工序要求。 2)用一个按扭开关(I0.2)控制三个灯(Q0.1,Q0.2,Q0.3),按扭一动作则1#灯亮,按三下2#灯亮,1#灯灭。再按三下3#灯亮,2#灯灭。再按三下是3#灯灭。再按一下又重复前面的工作。时序图如图7所示以此反复。 图7 时序图 3)用计数指令实现下述控制过程,其动作时序如图8所示: 图8 时序图 当I0.2=ON从1#灯亮到3#灯亮,每灯亮3S。当3#灯亮完达到1S后又从1#灯亮到3#灯亮如此循环下去。 (2)编程提示 1)CTU为加1计数器,应先预置数。计数脉冲可以是内部继电器提供(如任务1)中用PLC内部标准脉冲继电器),也可以是外部开关提供(如任务2)中用I0.2开关)。当复位信号到来时,CTU重新装入预置数,CTU加到预置值时,该继电器为ON。 2)在任务2)中,为了使各个灯能从亮一直可靠地维持到按下一组三下的最后一下之后再灭,可引用置位和复位指令。

3)CTUD为加/减可逆计数器,其加1或减1的功能转换由加/减输入为ON 或OFF来决定。当计数到预置值时,该继电器为ON;当复位信号到来时,重新置入预置值。 课后小结: 第十讲 算术、逻辑运算指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握算术、逻辑运算指令的使用。2、使学生掌握算术、逻辑运算指令的应用。 算术、逻辑运算指令的应用 指令的灵活使用 讲授法、演示法、实验法 6学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 一、加法 1、整数加法 +I,整数加法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相加,产生一个16位整数结果OUT。 在LAD中,以指令盒形式编程,执行结果:IN1+IN2=OUT 在STL中,执行结果:IN1+OUT=OUT。 指令格式:+I IN1, OUT 例: 图3.27整数加法例 图3.27例中实现的功能是VW0+VW4=VW4。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。 2、双整数加法 +D,双整数加法指令。使能输入有效时,将两个双字长(32位)的符号双整数IN1和IN2相加,产生一个32位双整数结果OUT。 在LAD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。 在STL中,执行结果:IN1+OUT=OUT。 指令格式:+D IN1, OUT 例: +D VD0,VD4 表3.11 两双整数相加例

操作数 IN1 IN2 OUT 地址单元 VD0 VD4 VD4 单元长度(n字节) 4 4 4 运算前值 120000 30281 30281 运算结果值 120000 150281 150281 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。 3、实数加法 +R,实数加法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相加,产生一个32位实数结果OUT。 在LAD以指令盒形式编程,执行结果:IN1+IN2=OUT。 指令格式:+R IN1, OUT 例: +R VD0,VD4 表3.12实数相加例 操作数 IN1 IN2 OUT 地址单元 VD0 VD4 VD4 单元长度(n字节) 4 4 4 运算前值 200.03 302.815 302.815 运算结果值 200.03 502.815 502.815 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。 二、 减法 减法指令是对有符号数进行相减操作。包括:整数减法、双整数减法和实数减法。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。 在LAD中以指令盒形式编程,执行结果:IN1-IN2=OUT。 在STL中,执行结果:OUT-IN2=OUT。 指令格式:-I IN2, OUT (整数减法) -D IN2, OUT(双整数减法) -R IN2, OUT (实数减法) 例: -I AC0, VW4 表3.12整数减法 操作数 IN1 IN2 OUT 地址单元 VW4 AC0 VW4 单元长度(n字节) 2 2 2 运算前值 3000 2000 3000 运算结果值 1000 2000 1000 三、乘法 1、整数乘法 *I,整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个16位整数结果OUT。 指令格式:*I IN1,OUT

例: *I VW0,AC0 2、完全整数乘法 MUL,完全整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。 在LAD以指令盒形式编程,执行结果:IN1*IN2=OUT。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。 指令格式: MUL IN1,OUT 例: MUL AC0,VD10 3、双整数乘法 *D,双整数乘法指令。使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。 在LAD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。 在STL中,执行结果:IN1*OUT=OUT。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。 指令格式: *D IN1,OUT 例: *D VD0,AC0 4、实数乘法 *R,实数乘法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相乘,产生一个32位实数结果OUT。 在LAD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。 在STL中,执行结果:IN1*OUT=OUT。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。 指令格式: *R IN1,OUT 例: *R VD0,AC0 以上乘法指令盒如下图所示 四、 除法 在LAD中,以指令盒形式编程,执行结果:IN1/IN2=OUT。 在STL中,执行结果: OUT/ IN2=OUT。 指令格式:/I IN2, OUT (整数除法) DIV IN2, OUT (整数完全除法)

/D IN2, OUT (双整数除法) /R IN2, OUT (实数除法) 指令盒如下图所示 例:DIV VW10, VD100 /I VW20, VW200 两条指令的编程及执行情况比较如图3.28所示。 图3.28除法指令应用 具体程序运行如下表所示3.13和3.14所示。 表3.13 完全除法指令 操作数 IN1 IN2 OUT 表3.14 对于除法指令 操作数 IN1 IN2 OUT

地址单元 VW102 VW10 VD100 单元长度(n字节) 2 2 4 运算前值 2003 40 203 运算结果值 50 40 VW100 VW102 3 50 地址单元 VW200 VW20 VW200 单元长度(n字节) 2 2 2 运算前值 2003 40 2003 运算结果值 50 40 50

五、 数学函数指令 1、平方根 SQRT,平方根指令。把一个双字长(32位)的实数IN开平方,得到32位的实数结果。 在LAD中,以指令盒形式编程,执行结果:SQRT(IN)=OUT。 在STL中,执行结果:SQRT(IN)=OUT。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出和非法值);SM1.2(负)。 指令格式: SQRT IN,OUT 例: SQRT VD0,AC0 2、自然对数 LN,自然对数指令。将一个双字长(32位)的实数IN取自然对数,得到32位的实数结果。 应用实例: 求以10为底的50(存于VD0)的常用对数,结果放到AC0。 本运算程序如图3.29所示。 图3.29自然对数的应用 3、指数 XP,指数指令。将一个双字长(32位)的实数IN取以为底的指数,得到32位的实数结果OUT。 在LAD和FBD中,以指令盒形式编程,执行结果:XP(IN)=OUT。 在STL中,执行结果:XP(IN)=OUT。 指令格式: XP IN, OUT

例: XP VD0, AC0 4. 正弦、余弦、正切 SIN、COS、TAN,即正弦、余弦、正切指令。将一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果。 如果已知输入值为角度,要先将角度值转化为弧度值,方法:使用(*R)MUL_R指令用角度值乘以π/180°即可。 例:TAN VD0, AC0 应用实例:求COS160°的值。程序如下图3.30所示。 图3.30三角函数应用例 六、增减 1.、字节增和字节减 INCB,字节增指令。使能输入有效时,把一字节长的无符号输入数(IN)加1,得到一 字节的无符号输出结果OUT。 DCB,字节减指令。使能输入有效时,把一字节长的无符号输入数(IN)减1,得到一字节的无符号输出结果OUT。 2、字增和字减

INCW,字增指令。使能输入有效时,把一字长的无符号输入数(IN)加1,得到一个32位的有符号输出结果OUT。 DECW,字减指令。使能输入有效时,把一字长的无符号输入数(IN)减1,得到一个32位的有符号输出结果OUT。 3、双字增和双字减 INCD,双字增指令。使能输入有效时,把双字长(32位)的有符号输入数(IN)加1,得到双字长的有符号输出结果OUT。 DCD,双字减指令。使能输入有效时,把双字长的有符号输入数(IN)减1,得到双字长的有符号输出结果OUT 4、应用实例 控制要求: 食品加工厂对饮料生产线上的盒装饮料进行计数,每24盒为一箱,要求能记录生产的箱数。 程序如图3.31所示。 图3.31增减指令的应用 七、 逻辑运算 1、字节逻辑运算 字节逻辑运算包括字节与、字节或、字节异或、字节取反。 ANDB,字节与指令。使能输入有效时,把两个1字节长的输入逻辑数按位相与,得到1字节的逻辑数输出结果OUT。 ORB,字节或指令。使能输入有效时,把两个1字节长的输入逻辑数按位相或,得到1字节的逻辑数输出结果OUT。

XORB,字节异或指令。使能输入有效时,把两个1字节长的输入逻辑数按位相求异或,得到1字节的逻辑数输出结果OUT。 INVB,字节取反指令。使能输入有效时,把一个1字节长的输入逻辑数按位求反,得到1字节的逻辑数输出结果OUT。指令盒见下图。 例:1)ANDB VB0,AC0 2)ORB VB0,AC0 3)XORB VB0,AC2 4)INVB VB10 执行情况下表3.15 表3.15 指令执行情况表 例 1) 2) 3) 4) 操作数 IN1 IN2(OUT) IN1 IN2(OUT) IN1 IN2(OUT) IN(OUT) 地址单元 VB0 AC1 VB0 AC0 VB0 AC2 VB10 单元长度(n字节) 1 1 1 1 1 1 1 运算前值 01010011 11110001 01010011 00110110 01010011 11011010 01010011 运算结果值 01010011 01010001 01010011 01110111 01010011 10001001 10101100 2、字逻辑运算 字逻辑运算包括字与、字或、字异或、字取反。 ANDW,字与指令。使能输入有效时,把两个1字长的输入逻辑数按位相与,得到1字长的逻辑数输出结果OUT。 ORW,字或指令。使能输入有效时,把两个1字长的输入逻辑数按位相或,得到1字长的逻辑数输出结果OUT。 XORW,字异或指令。使能输入有效时,把两个1字长的输入逻辑数按位相求异或,得到1字长的逻辑数输出结果OUT。 INVW,字取反指令。使能输入有效时,把一个1字长的输入逻辑数按位求反,得到1字长的逻辑数输出结果OUT。指令盒见下图。

3、双字逻辑运算 双字逻辑运算包括双字与、双字或、双字异或、双字取反。 ANDD,字与指令。使能输入有效时,把两个2字长的输入逻辑数按位相与,得到2字长的逻辑数输出结果OUT。 ORD,字或指令。使能输入有效时,把两个2字长的输入逻辑数按位相或,得到2字长的逻辑数输出结果OUT。 XORD,字异或指令。使能输入有效时,把两个2字长的输入逻辑数按位相求异或,得到2字长的逻辑数输出结果OUT。 INVD,字取反指令。使能输入有效时,把一个2字长的输入逻辑数按位求反,得到2字长的逻辑数输出结果OUT。指令盒见下图。 实验四 算术运算指令 一、实验目的 1) 加深理解算术运算指令的功能。 2) 掌握算术运算指令的应用。 二、实验设备 1、计算机一台。 2、S7-200 PLC一台 3、适配器一根 三、实验内容 1、任务 用算术运算指令完成下式的计算: [(1234+4321)×123-4565]/1234

要求: 当I0.4 =ON时进行计算,当I0.5 =ON时全清零。 2、编程提示 1)本程序在传送的过程中,需要注意双字、字和字节之间的关系。 2)运算的过程中要注意变量存储器的使用。 四、编程练习 若要将运算结果与正确答案进行比较,当结果等于550且没有余数时,Q0.0=ON;否则Q0.1=ON。这时程序将如何修改变? 课后练习:P131第1、2题 课后小结: 第十一讲 数据处理指令(一)

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握数据处理指令的使用。2、使学生掌握数据处理指令的应用。 数据指令的应用 指令的灵活使用 讲授法、演示法、实验法 3学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 一、传送类指令 1、单一传送 (1)MOVB,字节传送指令 使能输入有效时,把一个单字节无符号数据由IN传送到OUT所指的字节存储单元。 IN的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常数。 OUT的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。 指令格式:MOVB IN1, OUT 例: MOVB VB0, QB0 (2)MOVW,字传送指令 使能输入有效时,把一个1字长有符号整数由IN传送到OUT所指的字存储单元。 (3)MOVD双字传送指令 使能输入有效时,把一个双字长有符号整数由IN传送到OUT所指的双字存储单元。 (4)MOVR,实数传送指令 使能输入有效时,把一个32位实数由IN传送到OUT所指的双字存储单元。

指令盒如下图所示: 2、块传送 指令可用来进行一次多个(最多255个)数据的传送,数据块类型可以是字节块、字块、双字块。 三条指令中N的寻址范围都是:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC*LD和常数。 (1)BMB,字节块传送指令 使能输入有效时,把从输入字节IN开始的N个字节型数据传送到从OUT开始的N个字节存储单元中。 IN、OUT的寻址范围:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD。 指令格式:BMB IN1, OUT,N (2)BMW,字块传送指令 使能输入有效时,把从输入字IN开始的N个字型数据传送到从OUT开始的N个字存储单元中。 IN的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C*VD、*AC、*LD。 OUT的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AQW、T、C*VD、*AC、*LD。 指令格式:BMW IN1, OUT,N (3)BMD,字块传送指令 使能输入有效时,把从输入双字IN开始的N个双字型数据传送到从OUT开始的N个双字存储单元中。 IN的寻址范围:VD、ID、QD、MD、SD、SMD、LD、*VD、*AC、*LD。 OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、*VD、*AC、*LD。 指令格式:BMD IN1,OUT,N 传送指令实验 一、实验目的 1)深入理解传送指令的功能。 2)掌握传送指令的应用。 二、实验设备 1、计算机一台。 2、S7-200 PLC一台 3、适配器一根 三、实验内容 1、任务 1)用传送指令实现I0.0=ON时,将“1949,10,1”这组数据分别送入VW0、VW2、VW4中,I0.1=ON时又可全清零且清零优先。 思考题:若在上述任务的基础上增加如下功能:I0.2=ON时,可将VB0~VB2的内容拷贝到以VB3为首地址的区域内,请问程序又将如何修改?

2)用传送指令实现输入开关对输出灯亮多少的控制: I0.3=OFF时 Q0.n=ON→输出端n个灯亮,其余灭 I0.3=ON时 Q0.n=ON→输出端n个灯灭,其余亮 其中n=0~6,自左向右排序。 2、编程提示 在编写任务2)的程序时,为了使运行过程中输出总是反映控制开关的动作结果,需先把Q0.n 闭合时显示的结果译为十六进制数,再以正微分(上升沿)形式送入同一变量存储器(设为VB10)中。若I0.3=OFF,VB10内容直接传给;若I0.3=ON时,VB10内容求反传给 课后练习:P131第2题 小结 第十二讲 数据处理指令(二)

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握数据处理指令的使用。2、使学生掌握数据处理指令的应用。 数据指令的应用 指令的灵活使用 讲授法、演示法、实验法 3学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 移位指令 1、左移和右移 移位特点: 移位数据存储单元的移出端与SM1.1(溢出)相连,所以最后被移出的位被放到SM1.1位存储单元。 移位时,移出位进入SM1.1,另一端自动补0。例如在右移时,移位数据的最右端位移入SM1.1,左端每次补0。SM1.1始终存放最后一次被移出的位。 移位次数与移位数据的长度有关,如果所需移位次数大于移位热气的位数,则超出的次数无效。如字左移时,若移位次数设定为20,则指令实际执行结果只能移位16次,而不是设定值20次。 如果移位操作使数据变为0,则零存储器位(SM1.0)自动置位。 移位指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出)。 (1)字节左移和字节右移 SLB和SRB,字节左移和字节右移。使能输入有效时,把字节型输入数据IN左移或右移N位后,再将结果输出到OUT所指的字节存储单元。最大实际可移位次数为8。

指令格式: SLB OUT,N (字节左移) SRB OUT,N (字节右移) 例:SLB MB0,2 SRB LB0,3 以第一条指令为例,指令执行情况如表3.16所示。 表3.16 指令SLB执行结果 移位次数 0 1 2 地址 MB0 MB0 MB0 单元内容 10110101 01101010 11010100 位SM1.1 X 1 0 说明 移位前 数左移,移出位1进入SM1.1,右端补0 数左移,移出位0进入SM1.1,右端补0 (2)字左移和字右移 SLW和SRW,字左移和字右移。指令盒与字节移位比较,只有名称变为SHR_W和SHR_W。使能输入有效时,把字型输入数据IN左移或右移N位后,再将结果输出到OUT所指的字存储单元。最大实际可移位次数为16。 指令格式:SLW OUT, N(字左移) SRW OUT, N(字右移) 例: SLW MW0, 2 SRW LW0, 3 以第二条指令为例,指令执行情况如表3.17所示。 表3.17 指令SRW执行结果 移位次数 0 1 2 3 地址 LW0 LW0 LW0 LW0 单元内容 1011010100110011 0101101010011001 0010110101001100 0001011010100110 位SM1.1 X 1 1 0 说明 移位前 数右移,1进入SM1.1,左端补0 数右移,1进入SM1.1,左端补0 数右移,0进入SM1.1,左端补0 (3)双字左移和双字右移 SLD和SRD,双字左移和双字右移。指令盒与字节移位比较,只有名称变为SHL_DW和SHR_DW,其他部分完全相同。使能输入有效时,把双字型输入数据IN左移或右移N位后,再将结果输出到OUT所指的双字存储单元。最大实际可移位次数为32。 指令格式: SLD OUT, N (双字左移) SRD OUT, N (双字右移) 例: SLD MD0, 2 SRD LD0, 3 2、循环左移、循环右移 循环左移和循环右移根据所循环移位的数的长度分别又可分为字节型、字型、双字型。 循环移位特点: 移位数据存储单元的移出端与另一端相连,同时又与SM1.1(溢出)相连,所以最后被移出的位被移到另一端的同时,也被放到SM1.1位存储单元。例如在循环右移时,移位数据的最右端位移入最左端,同时又进入SM1.1。SM1.1始终存放最后一次被移出的位。

循环移位的类型 (1)字节循环左移和字节循环右移 指令格式:RLB OUT,N (字节循环左移) RRB OUT,N (字节循环右移) (2)字循环左移和字循环右移 指令格式:RLW OUT,N (字循环左移) RRW OUT,N (字循环右移) (3)双字循环左移和双字循环右移 指令格式:RLD OUT,N (双字循环左移) RRD OUT,N (双字循环右移) 例:RLD MD0,2 (双字循环左移) RRD LD0,3 以指令RRW LW0,3为例,指令执行情况如表3.18所示。 表3.18指令RRW执行结果 移位次数 0 1 2 3 地址 LW0 LW0 LW0 LW0 单元内容 1011010100110011 0101101010011001 0010110101001100 0001011010100110 位SM1.1 X 1 1 0 说明 移位前 数右移,1进入SM1.1,左端补0 数右移,1进入SM1.1,左端补0 数右移,0进入SM1.1,左端补0 3、寄存器移位 SHRB,寄存器移位指令。 该指令在梯形图中有3个数据输入端:DATA为数值输入, 将该位的值移入移位寄存器;S_BIT为移位寄存器的最低位端;N指定移位寄存器的长度。每次使能输入有效时,整个移位寄存器移动1位。 移位特点: 移位寄存器长度在指令中指定,没有字节型、字型、双字型之分。可指定的最大长度为64位,可正也可负。 指令格式:SHRB DATA,S_BIT, SHRB I0.5,V20.0,5 以本条指令为例,指令执行情况如表3.19所示。

表3.19 指令SHRB执行结果 脉冲数 0 1 2 3 I0.5值 1 1 0 0 VB20内容 10110101 10101011 10110111 10101110 位SM1.1 X 1 0 1 说明 移位前。移位时,从VB20.4移出 1移入,I0.5的脉冲前值进入右端 0移入,I0.5的脉冲前值进入右端 1移入,I0.5的脉冲前值进入右端 数据移位指令实验 一、实验目的 1)加深理解数据移位指令的功能。 2)掌握数据移位指令的应用。 二、实验设备 1、计算机一台。 2、S7-200 PLC一台 3、适配器一根 三、实验内容 实现以下任务 1)利用移位指令左移和右移(SLW、SRW)指令使输出的8个灯从左至右依次亮1S;当灯全亮后再从左至右依次灭。如此反复运行。 2)利用移位指令,使一个亮灯以0.2s的速度自左向右移动,到达最右侧后,再自右向左返回最左侧。如此反复。I0.2=ON移位开始,I0.2=OFF,清零。 课后练习:P101第3、7题 课后小结: 第十三讲 子程序调用及子程序返回指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握子程序调用及子程序返回指令的使用。2、使学生掌握子程序调用及子程序返回指令的应用。 子程序调用及子程序返回指令的应用 指令的灵活使用 讲授法、演示法、实验法 2学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程

一.程序控制类指令 程序控制类指令用于程序运行状态的控制,主要包括系统控制、跳转、循环、子程序调用,顺序控制等指令。 一)END、STOP、WDR指令 二)循环、跳转指令 二.子程序调用及子程序返回指令 1. 建立子程序 可采用下列一种方法建立子程序: 1从“编辑”菜单,选择插入(Insert)/ 子程序(Subroutine) 2从“指令树”,用鼠标右键单击“程序块”图标,并从弹出菜单选择插入(Insert)→子程序(Subroutine) 3从“程序编辑器”窗口,用鼠标右键单击,并从弹出菜单选择插入(Insert)→ 子程序(Subroutine)。 程序编辑器从先前的POU显示更改为新的子程序。程序编辑器底部会出现一个新标签,代表新的子程序。此时,可以对新的子程序编程。 用右键双击指令树中的子程序图标,在弹出的菜单中选择/重新命名,可修改子程序的名称。如果为子程序指定一个符号名,例如USR_NAME,该符号名会出现在指令树的“子例行程序”文件夹中。 2. 在子程序局部变量表中定义参数 可以使用子程序的局部变量表为子程序定义参数。注意:程序中每个POU都有一个独立的局部变量表,必须在选择该子程序标签后出现的局部变量表中为该子程序定义局部变量。编辑局部变量表时,必须确保已选择适当的标签。每个子程序最多可以定义16个输入/输出参数。 3. 子程序调用及子程序返回指令的指令格式 子程序有子程序调用和子程序返回两大类指令 ,子程序返回又分为条件返回和无条件返回。指令格式如图4-1所示: 图4-1子程序调用及子程序返回指令格式 CALL SBRn:子程序调用指令。在梯形图中为指令盒的形式。子程序的编号n从0开始,随着子程序个数的增加自动生成。操作数:n:0~63。 CRET:子程序条件返回指令,条件成立时结束该子程序,返回原调用处的指令 CALL的下一条指令。 RET:子程序无条件返回指令,子程序必须以本指令作结束。由编程软件自动生成。 需要说明的是: (1)子程序可以多次被调用,也可以嵌套(最多8层)还可以自己调自己。 (2)子程序调用指令用在主程序和其它调用子程序的程序中,子程序的无条件返指令在子程序的最后网络段,梯形图指令系统能够自动生成子程序的无条件返回指令,用户无须输入。 4. 带参数的子程序调用指令 (1)带参数的子程序的概念及用途 子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。如果子程序仅用要传递的参数和局部变量,则为带参数的子程序(可移动子程序)。为了移动子程序,应避免使用任何全局变量/符号(I、Q、M、SM、AI、AQ、V、T、C、S、AC内存中的绝对地址),这样可以导出子程序并将其导入另一个项目。子程序中的参数必须有一个符号名(最多为23个字符)、一个变量类型和一个数据类型。子程序最多可传递16 个参数。传递的参

数在子程序局部变量表中定义。如表4-1所示。 表4-1 局部变量表 (2)变量的类型 局部变量表中的变量有IN、OUT、IN/OUT和TEMP等4种类型。 IN(输入)型:将指定位置的参数传入子程序。如果参数是直接寻址(例如VB10),在指定位置的数值被传入子程序。如果参数是间接寻址,(例如*AC1),地址指针指定地址的数值被传入子程序。如果参数是数据常量(16#1234)或地址(&VB100),常量或地址数值被传入子程序。 IN_OUT(输入-输出)型:将指定参数位置的数值被传入子程序,并将子程序的执行结果的数值返回至相同的位置。输入/输出型的参数不允许使用常量(例如16#1234)和地址(例如&VB100)。 OUT(输出)型:将子程序的结果数值返回至指定的参数位置。常量(例如16#1234)和地址(例如&VB100)不允许用作输出参数。 在子程序中可以使用IN,IN/OUT,OUT类型的变量和调用子程序POU之间传递参数。 TEMP型:是局部存储变量,只能用于子程序内部暂时存储中间运算结果,不能用来传递参数。 (3)数据类型 局部变量表中的数据类型包括:能流、布尔(位)、字节、字、双字、整数、双整数和实数型。 能流:能流仅用于位(布尔)输入。能流输入必须用在局部变量表中其他类型输入之前。只有输入参数允许使用。在梯形图中表达形式为用触点(位输入)将左侧母线和子程序的指令盒连接起来。如图4-2中的使能输入(EN)和IN1输入使用布尔逻辑。 布尔:该数据类型用于位输入和输出。如图4-2中的IN3是布尔输入。

图4-2 带参数子程序调用 字节、字、双字:这些数据类型分别用于1、2或4个字节不带符号的输入或输出参数。 整数、双整数:这些数据类型分别用于2或4个字节带符号的输入或输出参数。 实数:该数据类型用于单精度(4个字节)IEEE浮点数值。 (4)建立带参数子程序的局部变量表 局部变量表隐藏在程序显示区,将梯形图显示区向下拖动,可以露出局部变量表,在局部变量表输入变量名称、变量类型、数据类型等参数以后,双击指令树中子程序(或选择点击方框快捷按钮F9,在弹出的菜单中选择子程序项),在梯形图显示区显示出带参数的子程序调用指令盒。 局部变量表变量类型的修改方法:用光标选中变量类型区,点击鼠标右键得到一个下拉菜单,点击选中的类型,在变量类型区光标所在处可以得到选中的类型。 子程序传递的参数放在子程序的局部存储器(L)中,局部变量表最左列是系统指定的每个被传递参数的局部存储器地址。 (5)带参数子程序调用指令格式 对于梯形图程序,在子程序局部变量表中为该子程序定义参数后(如表4-1),将生成客户化的调用指令块(如图4-2),指令块中自动包含子程序的输入参数和输出参数。在LAD程序的POU中插入调用指令:第一步,打开程序编辑器窗口中所需的POU,光标滚动至调用子程序的网络处。第二步,在指令树中,打开 “子程序”文件夹然后双击。第三步,为调用指令参数指定有效的操作数。有效操作数为:存储器的地址、常量、全局变量以及调用指令所在的POU中的局部变量(并非被调用子程序中的局部变量)。 注意:1如果在使用子程序调用指令后,然后修改该子程序的局部变量表,调用指令则无效。必须删除无效调用,并用反映正确参数的最新调用指令代替该调用。2子程序和调用程序共用累加器。不会因使用子程序对累加器执行保存或恢复操作。 带参数子程序调用的LAD指令格式如图4-2所示。图4-2中的STL主程序是由编程软件STEP-7 Micro/WIN32从LAD程序建立的STL代码。注意:系统保留局部变量存储器L内存的4个字节(LB60-LB63),用于调用参数。图4-2中,L内存(如L60,L63.7)被用于保存布尔输入参数,此类参数在LAD中被显示为能流输入。图4-2的由Micro/WIN从LAD图形建立的STL代码,可在STL视图中显示。 若用STL编辑器输入与图4-2相同的子程序,语句表编程的调用程序为: LD I0.0 CALL SBR_0 I0.1, VB10, I1.0 ,&VB100, *AC1 ,VD200 需要说明的是:该程序只能在STL编辑器中显示,因为用作能流输入的布尔参数,未在L内存中保存。 子程序调用时,输入参数被拷贝到局部存储器。子程序完成时,从局部存储器拷贝输出参数到指令的输出参数地址。 STL主程序 LD I0.0 = L60.0 LD I0.1 = L63.7 LD L60.0 CALL SBR_0 L63.7 VB10 I1.0 &VB100 *AC1 VD200 在带参数的“调用子程序”指令中,参数必须与子程序局部变量表中定义的变量完全匹配。参数顺序必须以输入参数开始,其次是输入/输出参数,然后是输出参数。位于指令树中的子程序名称的

工具将显示每个参数的名称。 调用带参数子程序使ENO=0的错误条件是:0008(子程序嵌套超界),SM4.3(运行时间)。 课后练习:P164第4题 课后小结: 第十四讲 步进顺序控制指令

教学对象 教学目标 教学重点 教学难点 教学方法 授课时间 使用教材 电气自动化技术专业学生 1、使学生掌握步进顺序控制指令的使用。2、使学生掌握步进顺序控制指令的应用。 子程序调用及子程序返回指令的应用 指令的灵活使用 讲授法、演示法、实验法 2学时 《可编程控制器原理及应用》田淑珍 机械工业出版社 2005年9月 教学过程 一.功能流程图简介 功能流程图是按照顺序控制的思想根据工艺过程,根据输出量的状态变化,将一个工作周期划分为若干顺序相连的步,在任何一步内,各输出量ON/OFF状态不变,但是相邻两步输出量的状态是不同的。所以,可以将程序的执行分成各个程序步,通常用顺序控制继电器的位S0.0~S31.7代表程序的状态步。使系统由当前步进入下一步的信号称为转换条件,又称步进条件。转换条件可以是外部的输入信号,如按钮,指令开关,限位开关的接通/断开等;也可以是程序运行中产生的信号,如定时器、计数器的常开触点的接通等;转换条件还可能是若干个信号的逻辑运算的组合。一个三步循环步进的功能流程图如图4-3所示,功能流程图中的每个方框代表一个状态步,如图中1、2、3分别代表程序3步状态。与控制过程的初始状态相对应的步称为初始步,用双线框表示。可以分别用S0.0,S0.1,S0.2表示上述的三个状态步,程序执行到某步时,该步状态位置1,其余为0。如执行第一步时,S0.0=1,而S0.1,S0.2全为0。每步所驱动的负载,称为步动作,用方框中的文字或符号表示,并用线将该方框和相应的步相连。状态步之间用有向连线连接,表示状态步转移的方向,有向连线上没有箭头标注时,方向为自上而下,自左而右。有向连线上的短线表示状态步的转换条件。

本文来源:https://www.bwwdw.com/article/fd8a.html

Top