第五章 PLC的基本指令及程序设计 5.1 PLC的基本逻辑指令及举例 5.2 程序控制指令 5.3 PLC编程指导

Slides:



Advertisements
Similar presentations
实验四 利用中规模芯片设计时序电路(二).
Advertisements

项目4 PLC基本指令的应用.
上海电器科学研究院 VPC系列 PLC应用基础V1.0
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
第8章 继电接触控制系统.
可编程序控制器应用 王如松.
Hadoop I/O By ShiChaojie.
可编程序控制器 主讲:张波.
电气控制及PLC技术 电气工程学院 自动化系 杨霞 2018年1月.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
第4章 基本指令 4.1 位操作类指令 4.2 运算指令 4.3 其他数据处理指令 4.4 表功能指令 4.5 转换指令.
PLC与数控机床电器控制 主讲人:张红 中山职业技术学院 机电工程系.
第3章 S7-200系列PLC的基本指令及应用 3.1 基本逻辑指令 3.2 程序控制指令 3.3 PLC顺序控制程序设计
走进编程 程序的顺序结构(二).
辅导课程六.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第八章 可控制编程器.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第六章 OMRON C系列P型PLC的程序编制
6 S7-200可编程控制器 指令集 2019/1/2 PLC指令集.
课程设计.
S 数控机床故障诊断与维修.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
实验六 积分器、微分器.
CPU结构和功能.
1、 逻辑取及输出线圈(LD/LDI/OUT)
电气控制及PLC技术 电气工程学院 自动化系 杨霞 2018年1月.
14.2 时序逻辑电路的分析 概述 时序逻辑电路是由存储电路和组合逻辑电路共同组成的,它的输出状态不仅与输入有关,还与电路的过去状态有关,即具有存储功能。 输入信号 输出信号 输出方程 驱动方程 描述时序逻辑电路的三个方程 状态方程 存储电路的输入信号 时序逻辑电路构成框图 存储电路的输出信号.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
刘雪雪 课程负责人 无锡机电高等职业技术学校
C语言程序设计 主讲教师:陆幼利.
第2章 PLC的基本知识 2.1 PLC的历史与发展 2.2 PLC的特点及应用领域 2.3 一般构成和基本工作原理 2.4
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
工业机器人技术基础及应用 主讲人:顾老师
模块6 S7-200 PLC基本逻辑指令 项目 6.2 电动机Y-减压起动控制设计 项目 6.2 电动机Y-减压起动控制设计
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
K60入门课程 02 首都师范大学物理系 王甜.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
单元08:子程序的应用 主讲教师:鲁淑叶.
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
PLC与数控机床电器控制 主讲人:张红 中山职业技术学院 机电工程系.
三相异步电动机 正反转控制电路 ——按钮操作接触器触点联锁的 电动机正反转控制电路.
第5章 应用指令 5.1 程序控制类指令 5.2 特殊指令.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
College of Computer Science & Technology
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
项目任务4:功能指令的应用(一) ——传送指令和位取反指令.
HSC高速输出例程 HORNER APG.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第四章 基本逻辑指令 教学提示:PLC中用于一般控制系统的逻辑编程的指令是基本逻辑指令。FX2N的基本逻辑指令有27条,其功能很强,能解决实际生产中一般的继电器—接触器控制问题 教学要求:本章让学生了解FX2N逻辑指令的类别、定义、书写方式和功能;掌握应用基本逻辑指令的功能、编程的规则、方法与步骤;能针对一般的工程控制要求应用基本逻辑指令编写工程控制程序.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
第四章 基本指令 要求: 熟练掌握基本逻辑指令及应用。 掌握梯形图编程规则。.
DSP技术与应用 电子与信息技术系.
Presentation transcript:

第五章 PLC的基本指令及程序设计 5.1 PLC的基本逻辑指令及举例 5.2 程序控制指令 5.3 PLC编程指导 5.2 程序控制指令 5.3 PLC编程指导 5.4 典型的简单电路编程 5.5 PLC程序简单设计法及应用举例

5.1 PLC的基本逻辑指令及举例 PLC的编程语言有梯形图语言、助记符语言、逻辑功能图语言和某些高级语言。其中前两种语言用的最多,要求掌握。 本章以S7-200CPU22*系列PLC的指令系统为对象,用举例的形式来说明PLC的基本指令系统,然后介绍常用典型电路及环节的编程,最后讲解PLC程序的简单设计法。 S7-200PLC用LAD编程时以每个独立的网络块(Network)为单位,所有的网络块组合在一起就是梯形图,这也是S7-200PLC的特点。

梯形图语言编程主要特点及格式有以下几点: 1)梯形图按行从上至下编写,每一行从左至右顺序编写,即PLC程序执行顺序与梯形图的编写顺序一致。 2)梯形图左、右边垂直线分别称为起始母线和终止母线。每一逻辑行必须从起始母线开始画起。(终止母线常可以省略) 3)梯形图中的触点有两种,即常开触点和常闭触点,这些触点可以是PLC的输入触点或输出继电器触点,也可以是内部继电器、定时器/计数器的状态。与传统的继电器控制图一样,每一触点都有自己的特殊标记(编号),以示区别。同一标记的触点可以反复使用,次数不限。这是因为每一触点的状态存入PLC内的存储单元中,可以反复读写。传统继电器控制中的每个开关均对应一个物理实体,故使用次数有限。这是PLC优于传统控制其中的一点。

4)梯形图最右侧必须接输出元素,PLC的输出元素用括号表示,并标出输出变量的代号。同一标号输出变量只能使用一次. 总之,梯形图结构沿用继电器控制原理图的形式,采用了常开触点、常闭触点、线圈等图形语言,对于同一控制电路,继电控制原理与梯形图输入、输出信号基本相同,控制过程等效。

例:

5.1.1 逻辑取及线圈驱动指令 逻辑取及线圈驱动指令为LD、LDN和=。 5.1.1 逻辑取及线圈驱动指令 逻辑取及线圈驱动指令为LD、LDN和=。 LD(Load):取指令。用于网络块逻辑运算开始的常开触点与母线的连接。 LDN(Load Not):取反指令。用于网络块逻辑运算开始的常闭触点与母线的连接。 =(Out):线圈驱动指令。 (b)语句表 (a)梯形图 图5-1 LD、LDN、=指令用法

使用说明: (1)LD、LDN指令不仅用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也要使用LD、LDN指令; (2)并联的=指令可连续使用任意次; (3)在同一程序中不能使用双线圈输出,即同一元器件在同一程序中只使用一次=指令; (4)LD、LDN、=指令的操作数为:I、Q、M、SM、T、C、V、S和L。T、C也作为输出线圈,但在S7-200PLC中输出时不是以使用=指令形式出现。

5.1.2 触点串联指令 触点串联指令为A、AN。 A(And):与指令。用于单个常开触点的串联连接。 5.1.2 触点串联指令 触点串联指令为A、AN。 A(And):与指令。用于单个常开触点的串联连接。 AN(And Not):与反指令。用于单个常闭触点的串联连接。 图5-2 A、AN指令的用法

使用说明: (1)A、AN是单个触点串联连接指令,可连续使用。但在用梯形图编程时会受到打印宽度和屏幕显示的限制。S7-200的编程软件中规定的串联触点数最多为11个。 (2)图5-2中所示连续输出电路,可以反复使用=指令,但次序必须正确,不然就不能连续使用=指令编程了,见5-3图。 (3)A、AN指令的操作数为:I、Q、M、SM、T、C、V、S和L。 图5-3 不可连续使用=指令的电路

5.1.3 触点并联指令 触点并联指令为:O、ON。 O(Or):或指令。用于单个常开触点的并联连接。 5.1.3 触点并联指令 触点并联指令为:O、ON。 O(Or):或指令。用于单个常开触点的并联连接。 ON(Or Not):或反指令。用于单个常闭触点的并联连接。 图5-4 O、ON指令的用法 使用说明:(1)单个触点的O、ON指令可连续使用。 (2)O、ON指令的操作数同前。

5.1.4 串联电路块的并联连接指令 两个以上触点串联形成的支路叫串联电路块。 5.1.4 串联电路块的并联连接指令 两个以上触点串联形成的支路叫串联电路块。 OLD(Or Load):或块指令。用于串联电路块的并联连接。 图5-5 OLD指令的用法 使用说明:(1)在块电路的开始也要使用LD、LDN指令。 (2)每完成一次块电路的并联时要写上OLD指令。 (3)OLD指令无操作数。

5.1.5 并联电路块的串联连接指令 两条以上支路并联形成的电路叫并联电路块。 5.1.5 并联电路块的串联连接指令 两条以上支路并联形成的电路叫并联电路块。 ALD(And Load):与块指令。用于并联电路块的串联连接。 图5-6 ALD指令的用法 使用说明: (1)在块电路开始时要使用LD、LDN指令。 (2)在每完成一次块电路的串联连接后要写上ALD指令。 (3)ALD指令无操作数。

5.1.6 置位和复位指令 S(Set):置位指令 、R(Reset):复位指令 置位即置1,复位即置0。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。 这两条指令在使用时需指明三点:操作性质、开始位和位的数量。 (1)S,置位指令 将位存储区的指定位(位bit)开始的N个同类存储器位置位。 用法: S bit, N 例: S Q0.0, 1 (2)R,复位指令 将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位指令时,如果是对定时器T位或计数器C位进行复位,则定时器位或计数器位被复位,同时,定时器或计数器的当前值被清零。 用法: R bit, N 例: R Q0.2, 3

图5-7 置位复位指令的用法

本程序对应的时序图如图5-8所示。 图5-8 时序图

例:写出如下梯形图的语句表。

5.1.7 立即指令 立即指令是为了提高PLC对输入/输出的响应速度而设置的,它不受PLC循环扫描工作方式的影响,允许对输入输出点进行快速直接存取。立即指令的名称和类型如下: (1)立即触点指令 (立即取、取反、或、或反、与、与反) (2)=I,立即输出指令 (3)SI,立即置位指令 (4)RI,立即复位指令

(1)立即触点指令 在每个标准触点指令的后面加“I”。指令执行时,立即读取物理输入点的值,但是不刷新对应映像寄存器的值。 这类指令包括:LDI、LDNI、AI、ANI、OI和ONI。 用法: LDI bit 例: LDI I0.2 注意:bit只能是I类型。 (2)=I,立即输出指令 用立即指令访问输出点时,把栈顶值立即复制到指令所指出的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。 用法:=I bit 例: =I Q0.2 注意:bit只能是Q类型。

(3)SI,立即置位指令 (4)RI,立即复位指令 用立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位,同时,相应的输出映像寄存器的内容也被刷新。 用法:SI bit, N 例: SI Q0.0, 2 注意:bit只能是Q类型。 (4)RI,立即复位指令 用立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像寄存器的内容也被刷新。 用法:RI bit, N 例: RI Q0.0, 1

图5-9 立即指令的用法

图5-10 时序图

上图5-10中,t为执行到输出点处程序所用的时间,Q0. 0、Q0. 1、Q0. 2的输入逻辑是I0. 0的普通常开触点。Q0 上图5-10中,t为执行到输出点处程序所用的时间,Q0.0、Q0.1、Q0.2的输入逻辑是I0.0的普通常开触点。Q0.0为普通输出,在程序执行到它时,它的映像寄存器的状态会随着本扫描周期采集到的I0.0状态的改变而改变,而它的物理触点要等到本扫描周期的输出刷新阶段才改变;Q0.1、Q0.2为立即输出,在程序执行到它们时,它们的物理触点和输出映像寄存器同时改变;而对Q0.3来说,它的输入逻辑是I0.0的立即触点,所以在程序执行到它时,Q0.3的映像寄存器的状态会随着I0.0即时状态的改变而立即改变,而它的物理触点要等到本扫描周期的输出刷新阶段才改变。

5.1.8 脉冲生成指令 脉冲生成指令为EU(Edge Up)、ED(Edge Down).下表为脉冲生成指令使用说明

图5-11 时序图 EU指令对其之前的逻辑运算结果的上升沿产生一个宽度为一个扫描周期的脉冲,如图中的M0.0;ED指令对其逻辑运算结果的下降沿产生一个宽度为一个扫描周期的脉冲,如图中的M0.1。脉冲指令常用于启动及关断条件的判定以及配合功能指令完成一些逻辑控制任务。

图5-12 跳变应用

5.1.9 逻辑堆栈操作指令 S7-200系列PLC使用一个9层堆栈来处理所有逻辑操作。堆栈是一组能够存储和取出数据的暂存单元,其特点是“先进后出”。每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一次进行出栈操作,栈顶值弹出,栈底值补进随机数。逻辑堆栈指令主要用来完成对触点进行的复杂连接。 S7-200中把ALD、OLD、LPS、LRD、LPP指令都归纳为栈操作指令。

1. 栈装载与指令 ALD,栈装载与指令(与块)。在梯形图中用于将并联电路块进行串联连接。 在语句表中指令ALD执行情况如表所示。

2. 栈装载或指令 OLD,栈装载或指令(或块)。在梯形图中用于将串联电路块进行并联连接。 在语句表中指令OLD执行情况如下表所示。

3. 逻辑入栈指令 LPS,逻辑推入栈指令(分支或主控指令)。在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块,完整的从逻辑行从此处开始。 注意:使用LPS指令时,本指令为分支的开始,以后必须有分支结束指令LPP。即LPS与LPP指令必须成对出现。

4. 逻辑出栈指令 LPP,逻辑弹出栈指令(分支结束或主控复位指令)。在梯形图中的分支结构中,用于将LPS指令生成一条新的母线进行恢复。 注意:使用LPP指令时,必须出现在LPS的后面,与LPS成对出现。 在语句表中指令LPP执行情况如下表所示。

5. 逻辑读栈指令 LRD,逻辑读栈指令。在梯形图中的分支结构中,当左侧为主控逻辑块时,开始第二个后边更多的从逻辑块的编程。

LPS、LRD、LPP指令使用举例1 5-13 LPS、LRD、LPP指令使用举例1

5-14 LPS、LRD、LPP指令使用举例2

使用说明:(1)由于受堆栈空间的限制(9层),LPS、LPP指 令连续使用时应少于9次。 5-15 LPS、LRD、LPP指令使用举例3 使用说明:(1)由于受堆栈空间的限制(9层),LPS、LPP指 令连续使用时应少于9次。 (2)LPS和LPP指令必须成对使用,它们之间可以使用LRD命令。 (3)LPS、LRD、LPP指令无操作数。

LPS、LRD、LPP指令使用举例4

图5-16 复杂逻辑控制指令应用示例5 LD I0.0 //装入常开触点 O I2.2 //或常开触点 LD I0.1 //被串的块开始 A I2.1 // OLD //栈装载或,并路结束 ALD //栈装载与,串路结束 = Q5.0 LD I0.0 // LPS //逻辑推入栈,主控 A I0.5 // = Q7.0 // LRD //逻辑读栈,新母线 LD I2.1 // O I1.3 // ALD //栈装载与 = Q6.0 // LPP //逻辑弹出栈,母线复原 LD I3.1 // O I2.0 // ALD // = Q1.3 // 图5-16 复杂逻辑控制指令应用示例5

5.1.10 定时器指令 1.几个基本概念 (1)种类:系统提供3种类型定时器:TON、TONR和TOF。 (2)分辨率与定时时间的计算精度等级: 单位时间的时间增量称为分辨率S。有3个等级:1ms、10ms和100ms,定时器定时时间T的计算:T=PT×S。 (3)定时器的编号:用名称和常数编号(最大255)

2.定时器指令使用说明 (1)接通延时定时器TON 接通延时定时器指令用于单一间隔的定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位OFF,当前值为0。 指令格式: TON Txxx,PT 例: TON T120,8

(2)有记忆接通延时定时器TONR TONR,有记忆接通延时定时器指令。用于对许多间隔的累计定时。上电周期或首次扫描,定时器位OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767。 TONR定时器只能用复位指令进行复位操作。 指令格式:TONR Txxx,PT 例:TONR T20,63

(3)断开延时定时器TOF TOF,断开延时定时器指令。用于断开后的单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位OFF,当前值等于预设值,停止计数。 TOF复位后,如果使能输入再有从ON到OFF的负跳变,则可实现再次启动。 指令格式:TOF Txxx,PT 例:TOF T35,6

3. 应用举例 例1 图5-17 定时器特性

本梯形图程序中输入输出执行时序关系如图5-18所示。 图5-18 定时器时序

例2: 图5-19是用TON构造TOF作用的触点。其时序图与TOF完全相同。 图5-19 定时器应用

例3:图5-20是利用常开触点实现通电和断电都延时的触点作用。 本程序实现的功能是:用输入端I0. 0控制输出端Q0. 0,当I0 例3:图5-20是利用常开触点实现通电和断电都延时的触点作用。 本程序实现的功能是:用输入端I0.0控制输出端Q0.0,当I0.0接通后,过3个时间单位Q0.0端输出接通,当I0.0断开后,过6个时间单位Q0.0断开。 图5-20 定时器应用

例4:电机顺序起动梯形图 图5-21 电机顺序起动

4.定时器的刷新方式和正确使用 (1)定时器的刷新方式 ①1ms定时器:由系统每隔1ms刷新一次,与扫描周期及程序处理无关。它采用中断刷新方式。 ②10ms定时器:由系统在每个扫描周期开始时自动刷新。在一个扫描周期内定时器位和定时器的当前值保持不变。 ③100ms定时器:在定时器指令执行时被刷新。它仅用在定时器指令在每个扫描周期执行一次的程序中。 (2)定时器的正确使用 图5-22为正确使用定时器的一个例子。它用来在定时器计时时间到时产生一个宽度为一个扫描周期的脉冲。

错误使用方法 正确使用方法 图5-22 定时器的正确使用举例

5.1.11 计数器指令 计数器用来累计输入脉冲的次数,在实际应用中用来对产品进行计数或完成复杂的逻辑控制任务。 1.几个基本概念 5.1.11 计数器指令 计数器用来累计输入脉冲的次数,在实际应用中用来对产品进行计数或完成复杂的逻辑控制任务。 1.几个基本概念 (1)种类:计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。 (2)编号:计数器的编号用计数器名称和数字(最大255)组成。 计数器的编号包含两方面信息:计数器的位和计数器当前值。 计数器位:计数器位和继电器一样是个开关量,表示计数器是否发生动作的状态,当计数器的当前值达到设定值时,该位被置位为ON。 计数器当前值:其值是个存储单元,用来存储计数器当前所累计的脉冲个数,用16位符号整数表示,最大数值为32767。

2. 计数器指令使用说明 (1)增计数器CTU 首次扫描,计数器位OFF,当前值为0。脉冲输入CU的每个上升沿,计数器计数1次,当前值增加1个单位,当前值达到预设值时,计数器位ON,当前值继续计数到32767停止计数。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值为0。 指令格式:CTU Cxxx,PV 例: CTU C20,3 程序实例: 图5.23为增计数器的程序片断和时序图。

图5-23 增计数器用法举例

图5-24 增计数时序

(2) 增减计数器 CTUD,增减计数器指令。有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。 指令格式:CTUD Cxxx,PV 例:CTUD C30,5 程序实例:如图5-25所示为增减计数器的程序片断和时序图。

图5-25 增减计数程序及时序

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

图5-26 减计数程序及时序

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

5 .1.2 NOT及NOP指令 1.取反指令NOT 2.空操作指令NOP(No Operation) 图5-27 计数器应用举例 5 .1.2 NOT及NOP指令 1.取反指令NOT 将复杂逻辑结果取反,为用户使用反逻辑提供方便。该指令无操作数。 指令形式:NOT 2.空操作指令NOP(No Operation) 该指令很少使用,易出错。 指令形式:NOP N N的范围:0∼255

5.2 程序控制指令 程序控制类指令使程序结构灵活,合理使用该类指令可以优化程序结构,增强程序功能。这类指令主要包括:结束、暂停、看门狗、跳转、子程序、循环和顺序控制等指令。 5.2.1 结束指令 结束指令分为有条件结束指令END和无条件结束指令MEND。两条指令在梯形图中以线圈形式编程。指令不含操作数。执行完结束指令后,系统结束主程序,返回到主程序起点。 使用说明: (1)结束指令只能用在主程序中,不能在子程序和中断程序中使用。 (2)在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。 (3)可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。 (4)使用Micro/Win32编程时,不需手工输入无条件结束指令,该软件自动在内部加上一条无条件结束指令到主程序的结尾。

5.2.2 停止指令STOP STOP指令有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。 STOP指令可以用在主程序、子程序和中断程序中。 STOP和END指令通常在程序中用来对突发紧急事件进行处理,以避免实际生产中的重大损失。用法见图5-28所示。 图5-28 结束、停止指令的用法

建立子程序 可用编程软件Edit菜单中的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。 子程序调用:图示的程序实现用外部控制条件分别调用两个子程序。 图 子程序调用举例

5.3 PLC初步编程指导 5.3.1 梯形图编程的基本规则 (1)PLC内部元器件触点的使用次数是无限制的。 (2)梯形图的每一行都是从左边母线开始,然后是各种触点的逻辑连接,最后以线圈或指令盒结束。触点不能放在线圈的右边,如图所示: (3)线圈和指令盒一般不能直接连接在左边的母线上。

(4)在同一程序中,同一编号的线圈使用两次及两次以上称为双线圈输出。双线圈输出非常容易引起误动作,应避免使用。 S7-200PLC中不允许双线圈输出。 (5)在手工编写梯形图时,触点应画在水平线上,不要画在垂直线上。 (6)应把串联多的电路块尽量放在最上边,把并联多的电路块尽量放在最左边,可节省指令。

(7)不包含触点的分支线条应放在垂直方向,不要放在水平方向,便于读图直观。 (8)梯形图的推荐画法如图所示:

5.3.2 LAD和STL编程形式的关系 利用梯形图编程时,可以把整个梯形图程序看成由许多网络块组成,每个网络块均起始于母线,所有的网络块组合在一起就是梯形图程序。LAD程序可以通过编程软件直接转换为STL形式。S7-200PLC用STL编程时,如果也以每个独立的网络块为单位,则STL程序和LAD程序基本上是一一对应的,且两者可通过编程软件相互转换;如果不以每个独立的网络块为单位编程,而是连续编写,则STL程序和LAD程序不能通过编程软件相互转换。

5.4 典型的简单电路编程 5.4.1 分频电路: 以二分频为例说明PLC分频电路的实现。要求见时序图: 图5-29 二分频电路

工作过程: 当输入I0.1第一次接通时,在M0.0上产生单脉冲。因输出线圈Q0.0并未得电,其对应的常开触点处于断开状态,所以扫描到第三行时,尽管M0.0得电,M0.2也不可能得电。扫描至第4行时,Q0.0得电并自锁。Q0.0对应的常开触点闭合,为M0.2的得电做好准备。 等到I0.1输入第二个脉冲到来时。M0.0上再次产生单脉冲。因此,在扫描第三行时,M0.2条件满足得电,M0.2对应的常闭触点断开。执行第4行程序时,输出线圈Q0.0失电。以后虽然I0.1继续存在,由于M0.0是单脉冲信号,虽多次扫描第4行,输出线圈Q0.0也不可能得电。

5.4.2 闪烁电路(振荡电路) 图5-30 闪烁电路

5.4.3 报警电路 要求:当故障发生时,报警指示灯闪烁,报警电铃或蜂鸣器响。操作人员知道故障发生后,按消铃按钮,把电铃关掉,报警指示灯从闪烁变为常亮。故障消失后,报警灯熄灭。另外还应设置试灯、试铃按钮,用于平时检测报警指示灯和电铃的好坏。 设计:该系统输入、输出信号的地址分配如下: 输入信号:I0.0为故障信号;I0.1为消铃按钮;I0.2为试灯、试铃按钮。 输出信号:Q0.0为报警灯;Q0.1为报警电铃(蜂鸣器)

图5-31 报警电路梯形图、语句表和时序图

5.4.4 长延时电路 图5-32 长延时电路

上图中:T37每一分钟产生一个脉冲,所以是分钟计时器。C21每一小时产生一个脉冲,故C21为小时计时器。当10小时计时到时,C22为ON,这时,C23再计时30分钟,则总的定时时间为10小时30分,Q0.0置位成ON。 在该例的计数器复位逻辑中,有初始化脉冲SM0.1和外部复位按钮I0.1。初始化脉冲完成在PLC上电时对计数器的复位操作。另外,图中的C21有自复位功能。

5.4.5 计数器的扩展 1.扩展 图5-33 计数器扩展电路

5.5 PLC程序的简单设计法及应用举例 5.5.1 PLC程序的简单设计法 PLC程序简单设计法的一般步骤和要求如下: (1)设计主电路(同继电控制系统); (2)设计控制电路: a) 首先把系统的输入/输出点找出来,分配好对应PLC的I/O地址(或画出PLC主机接线图); b)按要求设计梯形图或指令语句。 (3)对程序进行全面检查和修改。

5.5.2 应用举例 例1:具有电气联锁的电动机正反转控制。 主电路:同前。接触器KM1控制M1、KM2控制M2。 5.5.2 应用举例 例1:具有电气联锁的电动机正反转控制。 主电路:同前。接触器KM1控制M1、KM2控制M2。 输入点分配:停车按钮接I0.0,正向启动按钮I0.1、反向启动按钮I0.2,热继电器过载保护接I0.3。 输出点分配:Q0.1控制KM1的线圈、Q0.2控制KM2的线圈。 图5-35 带电气互锁的电动机正反转控制

例2:电机顺序启/停电路。仍以第二章的例子为例,说明PLC程序设计的灵活和方便。 要求:3台电机按启动按钮后,M1、M2、M3正序启动;按停止按钮后,逆序停止,且要有一定时间间隔。 分析:主电路同第二章。KM1控制M1、KM2控制M2、KM3控制M3。 控制电路设计:该题有两个输入点,即启动按钮I0.0,停止按钮I0.1;有3个输出点,即控制KM1线圈的Q0.0、控制KM2线圈的Q0.1和控制KM3线圈的Q0.2。

图5-36 电机顺序启、停程序

例3、定子串电阻减压起动控制线路 5-37 图(a)主电路 5-37图(b)PLC主机接线

5-37 图(c)梯形图及指令语句表

例4: 星-三角减压起动自动控制 5-38 图b PLC主机接线 5-38 图a 主电路

5-38图c 梯形图及指令语句表

例5:送料车自动循环控制 送料车工作示意图如图a)示:车子由电动机拖动,电动机正转车子前进,电动机反转车子后退。对送料车自动循环控制的要求为:第一次按动送料车按钮,预先装满料的车子前进送料,到达卸料处自动停下卸料,经过卸料所需时间60秒后,车子自动返回到装料处,经过装料所需设定时间90秒后,车子自动再次前进送料,卸完料后又自动返回装料,如此自动循环,按下停车按钮过程停止。

5-39图 自动循环控制程序

本章小结 1.本章重点讲了S7-200PLC的基本指令,这些指令是编程的基础,要求熟练掌握基本指令的梯形图及语句指令的使用方法及两种语言之间的相互转换。 2.熟练掌握PLC的编程规则以及典型环节的PLC程序。要求能分析出由基本指令编制程序的时序图。 3.学会用PLC的基本指令设计一些简单的应用程序