当前位置:首页 >> 信息与通信 >>

PLC原理与应用


PLC原理与应用

华东理工大学信息学院

董立新

参考书目
? [1]陈建明,电气控制与PLC应用,电子工业

出版社,2006 ? [2]廖常初,PLC编程及应用,机械工业出版 社,2008 第3版 ? [3]李仁,电气控制,机械工业出版社,1990 ? [4] 胡晓朋,电气控制与PLC,机械工业出 版社,2006 ? [5]郭丙君,黄旭峰,深入浅出PLC技术及应 用设计 ,中国电力出版社 ,2008年6月

?

PLC是目前应用越来越广泛的一种工业控制 器,由于它将计算机的编程灵活、功能齐全、 应用面广等优点与继电器系统的控制简单、使 用方便、抗干扰能力强、价格便宜等优点结合 起来,而本身又具有体积小、重量轻、耗电省 等特点,作为工程技术人员很有必要掌握PLC 的基本原理与应用技术。 ? 本课程主要介绍占据工业自动控制装置中 支柱地位的可编程序控制器。包括可编程序控 制器的一般知识、西门子S7-200系列可编程序 控制器的原理、指令系统、编程及相关配套设 备的使用方法,重点内容是掌握它的使用、程 序设计、应用设计和仿真技术。

第 1 章 概述
1.1 可编程控制器的由来 按照实现方式划分,工业控制系统 可以分为以下几类: ? 集散控制系统(DCS)——主要用于大 型流程工业 ? 基于PLC的控制系统——可用于离散工 业或流程工业,在各类企业中应用广泛。 ? 基于PC的控制系统——可用于离散工业 或流程工业,主要使用在中小规模的应 用场合。

可编程控制器(Programmable Controller)是一种以微处理器为核心的 工业控制装置。由于早期的可编程控制 器仅具有顺序控制功能,故被称之为可 编程逻辑控制器(Programmable Logical Controller),可编程控制器的 简称——PLC由此而得名。

根据国际电工委员会(IEC)的定义: 可编程控制器是一种数字运算操作的电 子系统,专为在工业环境下应用而设计。 它采用可编程序的存储器,用来在其内 部存储执行逻辑运算、顺序控制、定时、 记数和算术运算等操作的指令,并通过 数字式、模拟式的输入和输出,控制各 种类型的机械或生产过程。可编程控制 器及其相关设备,都应按易于使工业控 制系统形成一个整体,易于扩充其功能 的原则设计。

从IEC的定义可以看出,可编程控制 器是一种用程序来实现控制功能的工业 控制装置,这是可编程控制器与传统控 制装置的主要区别,并使PLC的性能远 远超出了传统控制装置。

1.2 可编程控制器的特点

1、编程方法简单易学 2、功能强,性能价格比高。 3、硬件配套齐全,用户使用方便,适应性 强。 4、可靠性高,抗干扰能力强。 5、系统的设计、安装、调试工作量少。 6、维护工作量小、维护方便。 7、体积小、能耗低。

1.3 可编程控制器的应用领域 1. 数字逻辑控制 代替继电器实现组合逻辑控制、定 时控制和顺序逻辑控制。

2. 运动控制 对做直线运动或圆周运动的受控对 象实现其位置、速度、和加速度的控制。

3. 过程控制 对温度、压力、液位、流量等连续 变化的模拟量进行闭环控制。主要用于 流程工业。 就应用的广泛性而言,PLC可以应 用于绝大多数领域,尤其是需要分布式 控制的场合。 就应用的伸缩性而言,PLC可以构 成各种规模的系统。从几十个点的微型 系统,到上千个回路的大型系统,都有 应用的实例。

1.4 可编程控制器的发展趋势 1.4.1 向高性能、高速度、大容量发展
? 高性能——除了常规的逻辑控制和PID控

制外,还具有模糊控制、参数自整定功 能,通讯与连网的功能也日趋增强。 ? 高速度——普遍采用了32位微处理器, 运算处理速度更高。 ? 大容量——内存容量、扩展能力有大幅 度提高。

1.4.2 大力发展微型可编程控制器 微型化:开发功能集成、体积小巧、 点数很少、价格便宜的PLC,用于分布 式控制或低端需求的场合。 如:Siemens的LOGO1.

1.4.3 大力开发智能型I/O模块和分布式I/O子系统
? 智能型I/O模块——具有微处理器和存储器的

I/O部件,它可以与PLC的主CPU并行工作, 分散PLC主CPU的工作负荷。
? 分布式I/O子系统——与PLC的主CPU分开安

装,并通过通讯电缆交换数据,通常布置在现 场附近。采用分布式I/O子系统有利于集中监 控,减少现场的工程施工量。

1.4.4 基于个人计算机的编程软件取代手持 编程器
早期的可编程序控制器使用专用编程 器来编程,如:手持式编程器和便携式 编程器。专用编程器只能对某一厂家的 某些产品进行编程,适用范围有限。由 于可编程序控制器的更新换代迅速,导 致专用编程器的使用寿命短、性能 /价格 比不高。

随着计算机的日益普及,用户使用 可编程序控制器厂商提供的基于个人计 算机的编程软件已成为趋势。 与传统的专用编程器相比,基于 PC 编程软件具有明显的优势:
? 编程功能强大—— 编程软件可以对 PLC

控制系统进行硬件组态,编写用户应用 程序,实现不同编程语言的相互转换, 进行程序的下装与上传。

? 调试和监控方便直观 —— 例如,在调试

时可以设置执行用户程序的扫描次数, 可以在调试程序时设置断点,具有采样 跟踪功能。通过与可编程序控制器的通 信,可以在梯形图中显示触点的通断和 线圈的通电情况,查找复杂电路的故障 非常方便。

? 适用范围广 —— 对于不同厂家和不同型

号的可编程序控制器,只需在 PC中安装 相应的编程软件。 ? 性能价格比高 —— 无需购置价格昂贵的 专用编程器,还可以通过编程软件的升 级来适应可编程序控制器的更新换代。 事实上,除了特殊应用场合,可编 程序控制器厂商总是推荐采用基于 PC的 编程软件来实现组态、编程和监控。

1.4.5 可编程控制器编程语言的标准化
与个人计算机相比,可编程序控制 器的硬件、软件的体系结构都是封闭的 而不是开放的。在硬件方面,各厂家的 CPU模块和I/O模块互不通用,通信网络 和通信协议往往也是专用的。各厂家的 可编程序控制器的编程语言和指令系统 的功能和表达方式也不一致,甚至有相 当大的差异,因此各厂家的可编程序控 制器互不兼容。

为了解决这一问题,IEC(国际电工 委员会)制定了可编程序控制器标准(IE C6ll31),其中的第3部分(IEC6ll31-3) 是可编程序控制器的编程语言标准。
在( IEC6ll31-3 )标准中共有五种编程 语言,其中的顺序功能图(SFC)是一种 结构块控制程序流程图,梯形图和功能块 图是两种图形语言,还有两种文字语言 — —指令表和结构文本。

目前已有越来越多的工控产品厂商推 出了符合 IEC6ll31-3 标准的可编程序控制 器指令系统或在 PC(个人计算机)上运 行的软件包(软件 PLC)。如:西门子公 司的 STEP7 Micro/WIN32编程软件给用 户提供了两套指令集,一套符合IEC6ll313 标准,另一套指令集( SIMATIC 指令集) 中的大多数指令也符合IECll31-3标准。 应当指出, IEC6ll31-3标准并不局限 于PLC,而是适用于各类控制系统。某些 DCS也采用了符合 IEC6ll31-3标准的组态 / 编程语言。

1.4.6 可编程控制器通讯的易用化和“傻瓜” 化 可编程序控制器的通信联网功能使 它能与个人计算机和其他智能控制设备 交换数字信息,使系统形成一个统一的 整体,实现分散控制和集中管理。 为了尽量减少用户在通信编程方面 的负担,可编程序控制器厂商做了大量 的工作,使设备之间的通信自动地周期 性地进行,不需要用户为通信编程,用 户的工作只是在组成系统时作一些硬件 或软件上的初始化设置。

1.4.7 可编程控制器的软件化和PC化 个人计算机( PC )的价格便宜,有 很强的数学运算、数据处理、通信和人 机交互的功能。过去个人计算机主要用 作可编程序控制器的编程器、操作站或 人机接口终端,如果用于工业控制现场, 必须使用加固型的工业控制计算机。

目前,已有多家厂商推出了在 PC 上 运行的可实现可编程序控制器功能的软 件包。这种按 IEC6ll31-3标准设计的软 件 PLC,充分利用了计算机技术,为实 现低成本自动化提供了解决方案。 必须指出,采用“软PLC”的控制系 统,属于基于 PC的控制系统。提供这种 解决方案的厂商,不仅包括工控软件的 开发商,也包括传统的可编程序控制器 厂商,如:西门子公司本身就有基于 PC 的控制系统解决方案。

1.4.8 组态软件引发的上位机编程革命 许多控制系统都采用上位计算机加 可编程序控制器的方案,通过串行通信 接口或网络通信模块交换数据信息,以 实现分散控制和集中管理。上位计算机 主要完成数据通信、网络管理、人机界 面( HMI )和数据处理的功能,而数据 的采集和对象的控制由可编程序控制器 完成。

为了简化人机界面的开发以及与控 制器、现场设备的通信,用于工业控制 的组态软件应运而生。国际上比较著名 的组态软件有Intouch.Fix等,国内也涌 现出了组态王、力控等一批组态软件。 有的可编程序控制器厂商也推出了自己 的组态软件,如西门子公司的WINCC和 GE-Fanuc公司的CIMPLICITY等。 组态软件的出现降低了系统集成的 难度,节约了大量的设计时间,提高了 系统的可靠性 。

1.4.9 可编程控制器与现场总线相结合 IEC对现场总线(Fieldbus)的定义 是“安装在制造和过程区域的现场装置 与控制室内的自动控制装置之间的数字 式、串行、多点通信的数据总线称为现 场总线”。它是当前工业自动化的热点 之一。

现场总线以开放的、独立的、全数 字化的双向多变量通信代替0-10mA或4 - 20mA 现场电动仪表信号。现场总线 I//O集检测、数据处理。通信为一体,可 以代替变送器、调节器、记录仪等模拟 仪表。使用现场总线后,自控系统的配 线、安装、调试和维护等方面的费用可 以节约2/3左右,现场总线I/O与可编程 序控制器可以组成低成本的分布式控制 系统。

由于历史的原因,现在有多种现场 总线标准并存,现简介如下: 1. Foundation Fieldbus (基金会现场总 线) 现场总线基金会(FF)是国际公认 的唯一不依附于某个公司或企业集团的 非商业化的国际标准化组织,它致力于 建立国际上统一的现场总线协议。基金 会现场总线( FF )标准无专利许可要求, 可供所有的生产厂家使用,其总线标准、 产品检验等信息全部公开。 FF 得到了世 界上几乎所有的著名仪表或控制系统厂 商的支持。

2.PROFIBUS(过程现场总线) PROFIBUS(Process Field Bus)由 西门子公司开发研制,目前已成为ISO标 准。它由 3个系列组成: ? PROFIBUS - DP 用于分散的外部设备和 自控设备之间的高速数据传输; ? PROFIBUS - FMS 适用于一般自动化的 中速数据传输; ? PROFIBUS - PA 用于过程自动化的低速 数据传输。 PROFIBUS 也得到了世界上众多仪 表或控制系统厂商的支持。

3. LonWorks(局域操作网络) Lonworks(Local Operating Network) 采用符合 ISO / OSI 模型全部 7 层标准的 LonTalk 通 信 协 议 , 它 被 封 装 在 称 为 Neuron(神经元)的芯片中。该芯片有3 个8位的CPU,第一个是介质访问控制处 理器,第二个为网络处理器,第三个是 应用处理器,执行用户程序及其调用的 操作系统服务。 Neuron 芯片还固化了 34 种I/O控制对象,目前已有几千家公司推 出了 LonWorks 产品。尽管 LonWorks 总 线的应用非常广泛,但目前还不是ISO标 准的现场总线。

4. CAN(控制器局域网络) 现场总线领域中,在IEC61158和 IEC62026标准之前,CAN( Controller Area Network)总线是唯一被批准为国 际标准的现场总线。CAN总线的总线规 范已被国际标准化组织(IS)制定为国 际标准ISO11898(通信速率1Mbps)和 ISO11519(通信速率125Kbps)。CAN 总线得到了微处理器芯片商的广泛支持, 推出了各种支持CAN总线通信协议的芯 片。

可编程控制器与现场总线相结合, 可以组成性能 /价格比优良的分布式控制 系统。随着现场总线国际标准的颁布和 现场总线技术的发展,基于现场总线的 PLC控制系统将得到日益广泛的应用。

第 2 章 可编程控制器的硬 件结构与工作原理
2.1可编程控制器的基本结构 2.1.1 基本结构

1. CPU 模块 CPU是PLC的控制中枢,它不断地 读取输入信号,执行用户程序,并刷新 控制输出。 2. I/O模块 输入模块(Input)和输出模块 (Output)简称为I/O模块。 ? 输入模块用来接收和采集输入信号,它 分为数字量输入模块和模拟量输入模块 两类。 ? 输出模块用来输出控制信号,它分为数 字量输出模块和模拟量输出模块两类。

3. 编程装置与编程软件 可编程控制器的编程可以通过两种方 式实现: 使用编程装置或编程软件。

(1)编程装置 编程装置,又称编程器,是用来生 成用户程序,并对它进行编辑、检查、修 改和下载的装置。编程器不能直接输入和 编辑梯形图,只能输入和编辑指令表程序, 一般用于小型可编程控制器的编程或现场 的维护与检修。

(2)编程软件 编程软件安装在PC机上,可以用来 生成梯形图、功能块和指令表等各种类 型的用户程序,并对它进行编辑、检查、 修改和下载。由于PC机的处理能力远大 于编程器,故编程软件+ PC机的编程方 式应用最为广泛。

4. 电源 可编程控制器可以使用220V交流电 源或24V直流电源。电源模块的作用是将 交流电源转换成CPU、I/O模块等所需的 直流电源。在许多应用场合,电源模块 还要为外部传感器提供24V直流电源。

2.1.2 可编程控制器的物理结构 根据硬件结构的不同,可编程控制 器可分为整体式、模块式和混合式三类。 1. 整体式 整体式又称箱体式,通常为小型可 编程控制器所采用。从结构上看,整体 式可编程控制器由两部分组成,即:基 本单元和扩展单元。 基本单元——包括CPU、电源模块和一定 数量的I/O模块。 扩展单元——主要包括各种I/O模块和通信 模块。

2. 模块式 模块式结构通常为大、中型可编程 控制器所采用,具有较强的扩展能力。 从结构上看,模块式可编程控制器由机 架和模块两部分组成,机架上有模块安 装插座,并为模块提供电源和通信连接。

S7-400的结构图参见 图2-3

以下请看西门子公司提供的 小型 PLC——S7-200的介绍。

2.1.3 CPU模块
CPU模块通常由CPU芯片、存储器 和I/O电路组成。 1. CPU芯片 PLC所使用的CPU有以下几类:
? 通用微处理器
? 单片微处理器 ? 位片式微处理器

2. 存储器 按存储的内容划分,PLC中的存储器 可分为: ? 系统程序存储器——用来存放系统程序 (相当于计算机操作系统)。系统程序 由生产厂商设计并固化在ROM里,用户 不能访问,它使PLC具有基本功能。
? 用户程序存储器——用来存放用户程序。

用户程序由用户设计,它使PLC具有特 定的功能。

按存储器的特性划分, PLC中的存 储器可分为:
? 随机存取存储器(RAM)——用户可以

对其进行读写操作,一般用来存放数据 和用户程序。 RAM属于易失性存储器, 电源中断后,它存储的信息将会丢失。
? 只读存储器(ROM)——其内容只能读

出,不能写入,一般用来存放系统程序。 ROM属于非易失性存储器,电源中断后, 它存储的信息不会丢失。

? 可电擦除可编程的只读存储器

(EEPROM) ——用来存放用户程序和需要长期保存 的数据。EEPROM属于非易失性存储器, 但其内容可以改变,它兼有ROM和 RAM 的特点。

2.1.4 I/O模块 1. 输入电路 外接触点——外部设备提供的触点,如: 电机运转状态触点、接近开关的触点等。
直流电源——PLC提供的24V直流电源或外 接的24V直流电源 发光二极管——安装在PLC的面板上,用 来反映输入电路的通断状态。

2. 输出模块 按驱动电路的不同,输出模块可以 分成以下三类: ? 大功率晶体管和场效应管型——主要用 于驱动直流负载。 ? 双向晶闸管型——主要用于驱动交流负 载。 ? 小型继电器型——用于驱动交流或直流 负载,输出一个触点信号。
在输出电路中,输出电流的的典型 值为:0.5-2A,负载电源由外部提供。

2. 输出模块 按驱动电路的不同,输出模块可以 分成以下三类: ? 大功率晶体管和场效应管型——主要用 于驱动直流负载。 ? 双向晶闸管型——主要用于驱动交流负 载。 ? 小型继电器型——用于驱动交流或直流 负载,输出一个触点信号。
在输出电路中,输出电流的的典型 值为:0.5-2A,负载电源由外部提供。

图 2-5 a) 继电器输出电路

图 2-5 b) 场效应管输出电路

输出模块的选择: ? 晶体管型(大功率晶体管和场效应管型) 与双向晶闸管型输出模块分别用于驱动 直流负载和交流负载,它们的可靠性高, 反应速度快,寿命长,但过载能力稍差。
? 继电器型输出模块可用于驱动交流或直

流负载,使用电压范围宽,导通压降小, 承受瞬间过电流和过电压的能力较强, 但动作速度较慢,寿命有一定限制。 在大多数应用场合,选择继电器型 输出模块可以满足使用要求。

2.1.5 可编程控制器的外部接线

对于输入端:
? 1M和2M——两组输入点内部电路的信

号公共端
? L+和M——输出模块提供的24V直流电

源的正、负极。 L+ 通过外接触点接至两 组输入点,M与1M和2M连通。

对于输出端:
? 1L和2L——两组输出点内部电路的信号

公共端,连接外部电源的正极,而外部 电源的负极通过负载接至两组输出点。
? L1和N——交流电源的相线和零线 ? PE——保护接地

2.2 可编程控制器的工作原理 2.2.1 用触点和线圈实现逻辑运算
PLC的主要应用之一是取代继电器 控制电路实现数字量逻辑控制。实际上, PLC根据输入的状态信号,通过其内部 的逻辑运算得出控制决策,并输出到执 行元器件上。

在数字量逻辑控制系统中,变量仅 有两种不同的工作状态,即:1状态和0 状态,它们分别用来表征高电平和低电 平、继电器的通电与断电、触点的接通 与断开等物理状态。

在PLC的梯形图语言中,位操作元 件与继电器控制电路中的物理元件有极 大的相似性。例如,继电器控制电路中 的常开触点、常闭触点、线圈等都有相 应的位操作元件,使用这些位操作元件 可以实现复杂的逻辑运算。

例:异步电动机的控制电路

图中: M——电动机 SB1——启动按纽,常开触点。 SB2——停止按纽,常闭触点。 KM——交流接触器的线圈,并表示异步 电动机主电路中的3对常开触点以及控制 电路中的辅助常开触点。 FR——热继电器,用于过载保护。过载后, FR的常闭触点断开,使KM断电,电动 机停转。

工作原理: ? 按下启动按钮SB1后,电流经过触点SB1、 SB2和FR使交流接触器的线圈KM上电;
? 主电路中KM的3对常开触点以及控制电

路中KM的辅助常开触点闭合,接通电动 机M的3相电源,电动机开始运行;
? 松开启动按钮SB1后,电流仍可经过辅助

常开触点和SB2保持KM的线圈上电,电 动机继续运行,这就是辅助常开触点的 自锁功能;

工作原理(续): ? 按下停止按钮SB2后,线圈KM失电;
? 主电路中KM的3对常开触点以及控制电

路中KM的辅助常开触点断开,切断电动 机M的3相电源,电动机停止运行;
? 松开停止按钮SB2后,由于SB1和KM的

辅助常开触点保持断开,线圈KM仍然失 电,电动机保持停止状态。

图2-8所示的继电器控制电路所实现的 逻辑运算为:

KM ? ( SB1 ? KM ) ? SB 2 ? FR

这一逻辑关系可以用PLC方便地实现。 (参见编程的例子)

2.2.2 可编程控制器的工作方式 1. 工作方式 可编程控制器主要有两种工作方式, 即: ? RUN(运行)方式 ? STOP(停止)方式。
在RUN(运行)方式下,PLC执 行用户程序,实现控制功能。在PLC面 板上,用“RUN” LED表示相应的工作 方式。

STOP(停止)方式下,PLC不执行 用户程序。此时,可以用编程软件创建 和编辑用户程序,设置PLC的硬件功能, 并将用户程序和硬件设置信息下载到 PLC中。 当通过方式开关选择STOP状态时, 只进行内部处理和通信服务等内容.对 PLC进行联机或离线编程。

2. 工作方式的切换 (1)用方式开关改变工作方式 当CPU模块上的方式开关在STOP 位置时,将停止用户程序的运行;当 CPU模块上的方式开关在RUN位置时, 将启动用户程序的运行; PLC通电后的初始工作方式也与方 式开关的位置有关。当方式开关在STOP 位置时, CPU 自动进入STOP 方式;当 方式开关在RUN位置时, CPU 自动进入 RUN 方式;

(2)用STEP 7-Micro/WIN32编程软件改 变工作方式 在使用编程软件控制CPU的工作方 式之前,应先建立编程软件与PLC之间 的通信连接,并将方式开关置于STOP或 TERM位置。在编程软件中,单击工具 条上的运行按纽即可进入运行方式;单 击工具条上的停止按纽即可进入停止方 式。选择“PLC→运行”或“PLC→停 止”菜单命令亦可实现工作方式的改变。

(3)用STEP 7-Micro/WIN32编程软件改 变工作方式 在使用编程软件控制CPU的工作方 式之前,应先建立编程软件与PLC之间 的通信连接,并将方式开关置于STOP或 TERM位置。在编程软件中,单击工具 条上的运行按纽即可进入运行方式;单 击工具条上的停止按纽即可进入停止方 式。选择“PLC→运行”或“PLC→停 止”菜单命令亦可实现工作方式的改变。

2.2.3 可编程控制器的工作原理 PLC的工作状态可分为两种:
? 初始化工作状态——PLC通电后进行硬、

软件的初始化工作。
? 循环扫描工作状态——初始化后循环处

理各种不同的任务,这是一个周而复始 的过程。

在循环扫描工作状态下,PLC 周而复始的执行一系列任务,任务 循环执行一次称为一个扫描周期。 每一个扫描周期要经历以下阶段:
1. 读取输入 在读取输入阶段,PLC将物理 输入点的状态读入输入映像寄存器。

具体而言:
? 当外部输入电路闭合时,相应的输入映

像寄存器为“1”状态。此时,在梯形图 中,表征外部物理触点的常开触点的逻 辑状态为ON或常闭触点的逻辑状态为 OFF。 ? 当外部输入电路断开时,相应的输入映 像寄存器为“0”状态。此时,在梯形图 中,表征外部物理触点的常开触点的逻 辑状态为OFF或常闭触点的逻辑状态为 ON。

2. 执行用户程序 在执行用户程序阶段,PLC逐条执 行指令,并将运算结果存储在相应的映 象寄存中。
具体而言: ? 程序顺序执行,除非遇到跳转指令。
? 运算结果写入到相应的映象寄存器中。
? 输入映象寄存器的状态不更新

3. 通信处理 在通信处理阶段,PLC处理通信端 口或智能I/O模块的通信服务请求。 4. CPU自诊断测试 在CPU自诊断测试阶段,PLC将检 测CPU、存储区和扩展模块的状态是否 正常。 5. 修改输出 在该阶段中,CPU把存储在输出映 象寄存器中的数据写到相应的物理输出 点。

中断程序与立即I/O的处理: ? 如果在程序使用了中断,则与中断事件 相关的中断服务程序作为程序的一部分 被存储。中断程序并不作为正常扫描周 期的一部分来执行,而是在中断事件发 生时才执行(可以在扫描周期的任意 点)。
? 在程序和中断服务程序中,可以使用立

即I/O指令对I/O点直接存取,不受执行 用户程序阶段的限制。

2.2.4 输入/输出时间滞后
输入/输出滞后时间又称系统响应 时间,是指可编程序控制器的外部输入 信号发生变化的时刻至它控制的有关外 部输出信号发生变化的时刻之间的时间 间隔,它由输入电路滤波时间、输出电 路的滞后时间和因扫描工作方式产生的 滞后时间三部分组成。

? 输入模块的RC滤波电路用来滤除由输入

端引入的干扰噪声,滤波电路的时间常 数决定了输入滤波时间的长短,在某些 PLC中输入滤波时间可以设置。
? 输出模块的滞后时间与模块的类型有关,

继电器型输出电路的滞后时间一般在 10ms左右;双向晶闸管型输出电路在负 载接通时的滞后时间约为1mS,负载由 导通到断开时的最大滞后时间为10ms; 晶体管型输出电路的滞后时间小于1ms。

? 由扫描工作方式引起的滞后时间最长可

达两个多扫描周期。

可编程序控制器总的响应延迟时间一 般只有几十毫秒,对于一般的系统是无 关紧要的。
要求输入和输出信号之间的滞后时 间尽量短的系统,可以选用扫描速度快 的可编程序控制器或采取其他措施。

2.3 S7-200系列可编程控制器性能简介
西门子公司的 SIMATIC S7-200系 列属于小型可编程序控制器,可用于代 替继电器的简单控制场合,也可以用于 复杂的自动化控制系统。由于它有极强 的通信功能,在大型网络控制系统中也 能充分发挥其作用。

S7-200系列可编程控制器的主要特点是: (1)功能强大的指令集 S7-200可用梯形图、语句表(即 指令表)和功能块图3种语言来编程。它 的指令丰富,指令功能强,易于掌握、 操作方便。指令集包括位逻辑指令、计 数器、定时器、复杂数学运算指令、PID 指令、字符串指令、时钟指令、通讯指 令以及和智能模块配合的专用指令等。

(2)丰富的通讯手段 S7-200提供了近10种通讯方式以 满足不同的应用需求。从简单的S7-200 之间的通讯,到S7-200通过Profibus- DP现场总线的通讯,甚至到通过以太网 的通讯都可实现。在联网需求已日益成 为必需的今天,丰富的通讯手段无疑会 大大增强S7-200功能。可以说,S7- 200的通讯功能已经远远超出了小型PLC 的整体通讯水平。

(3)编程软件的易用性 与S7-200系列可编程控制器配套使 用的Step7-Micro/WIN32编程软件为 用户提供了开发、编辑和监控的良 好编程环境。友好的操作界面、丰富的 帮助信息、Windows的界面风格以及直 观的编程向导,能使用户快速进入状态, 掌握编程的方法

2.3.1 CPU模块 S7-200系列PLC有5种CPU模块:
? CPU221——S7-200系列的入门级产品,

无扩展能力,仅有数字量I/O点。
? CPU222——可以带2个扩展模块,可以

有模拟量I/O点。
? CPU224——可以带7个扩展模块,具有

较强的处理能力。

? CPU226——可以带7个扩展模块,具有

更强的处理能力和较大的存储器容量。
? CPU226XM——可以带7个扩展模块,与

CPU226 的处理能力相似,但存储器容 量更大,是S7-200系列PLC 中的高端产 品。
参见表2-2,3,45,6

2.3.2 数字量扩展模块 数字量扩展模块可以提供本机之外 的数字量I/O点,以满足不同的控制需求, 节约投资费用。 S7-200 的数字量扩展模 块包括 EM221 , EM222 和 EM223 三种类 型。
? EM221——数字量输入扩展模块 ? EM222——数字量输出扩展模块

? EM223——数字量输入/输出扩展模块

2.3.3 模拟量输入输出扩展模块 模拟量 I/O 的主要功能是实现 A/D 和 D/A 转 换,以实现过程变量(如:温度、压力、流量 和液位等)检测与控制。 S7-200的模拟量扩展 模块包括EM231,EM232和EM235三种类型。
? EM231——模拟量输入扩展模块,4路输入
? EM232——模拟量输出扩展模块,2路输出 ? EM235——模拟量输入 / 输出扩展模块, 4 路输

入,1路输出。

2.3.4 温度测量扩展模块
温度测量扩展模块是模拟量 I/O 扩展 模块的特殊形式,包括热电偶输入模块和 热电阻输入模块两类,它们均有冷端补偿 功能。
? EM231 TC——热电偶模块可用于J、K、

E 、 N 、 S 、 T 和 R 型热电偶,用户用模块 下方的DIP开关来选择热电偶的类型。

? EM231 RTD——热电阻输入模块,热电

阻的接线方式有2线、3线和4线3种。4线 方式的精度最高,2线方式的精度最低。 EM231热电阻模块可通过DIP开关来选 择热电阻的类型、接线方式、测量单位 和开路故障的方向,而连接到同一个扩 展模块上的热电阻必须是相同类型的。

2.3.5 通信扩展模块 S7-200 提供了以下几种通信模块, 以适应不同的通信方式。
? EM277——Profibus-DP 从站模块,支持

Profibus-DP 现场总线通信协议,用来实 现 S7-200 与 Profibus-DP 现场总线上 PLC 之间的通信。此外, EM277也支持MPI 的通信方式。 ? EM241—— 调制解调器( Modem )通信 模块,用来实现远程拨号通信。

? CP243-1——工业以太网通信模块,用来

实现PLC与PC机之间,PLC之间的以太 网通信。
? CP243-1 IT——工业以太网通信模块,

用来实现PLC与PC机之间,PLC之间的 以太网通信,同时提供对Web/E-mail等 应用的支持。
? CP243-2——AS-i主站模块,最多可连接

31个(62个)AS-i从站。通过AS-i网络可 以增加数字量输入/输出的点数。

2. 4 可编程序控制器的安装 2.4.1 模块的安装与拆卸 1.模块的安装与拆卸 ? S7 - 200PLC 可以安装在 DIN 导轨上,亦 可安装在面板上。 ? CPU 与扩展模块、扩展模块之间通过扩 展连接电缆连接。 2. 可拆卸的端子连接器 现场接线固定在端子连接器上,端 子连接器可整体拆装,以方便模块的更 换。

2.4.2 本机I/O与扩展I/O PLC的每个I/O点都要有相应的地址, 以供程序执行时进行寻址。不同类型的 I/O点在内存中有不同的存储区域,从而 有不同的地址表示方式(后续章节会详 细介绍)。 简单而言: ? 数字量I/O模块的地址以字节为单位进行 分配,每点占1位。 例如:I0.0表示一个数字量输入点, 占数字量输入存储区的 0 字节的第 1 位, Q1.3 表示一个数字量输出点,占数字量 输出存储区的1字节的第3位。

? 模拟量I/O模块的地址以字(2字节)为单

位进行分配,每点占1个字。 例如: AIW8 表示一个模拟量输入点, 占模拟量输入存储区的 8 、 9 两个字节, AQW2 表示一个模拟量输出点,占模拟 量输出存储区的2、3两个字节。

I/O地址的分配原则: (1)按模块的类型进行地址分配
(2)同类模块按位置排列地址。从CPU开 始,地址从左至右增加。

( 3 )对于数字量 I/O 模块而言,如果模块 中的点未用完分配的字节,剩余的位也 不会分配给后续模块。

举例(参见上图): (1)主机I/O点(数字量14入/10出) 数字量输入:I0.0-I0.7,I1.0-I1.5 数字量输出:Q0.0-Q0.7,Q1.0-Q1.1 (2)模块0(数字量4入/4出) 数字量输入:I2.0-I2.3 数字量输出:Q2.0-Q2.3 (3)模块1(数字量8入) 数字量输入:I3.0-I3.7

(4)模块2(模拟量4入/1出) 模 拟 量 输 入 : AIW0 、 AIW2 、 AIW4 、 AIW6 模拟量输出:AQW0 (5)模块3(数字量8出) 数字量输出:Q3.0-Q3.7 (6)模块4(模拟量4入/1出) 模拟量输入: AIW8 、 AIW10 、 AIW12 、 AIW14 模拟量输出:AQW2

2.4.3 控制系统的接线 1. 现场接线要求
? 导线种类 0.5-1.5 mm2。

? 与动力线分开敷设。

2. 接地与信号参考点 控制系统中有三种接地: ? 信号地(信号参考点) —— 信号回路的 电压参考点。
? 安全地(保护地) —— 机壳或机柜的安

全接地。
? 防雷接地 —— 建筑物和重要设备的防雷

保护接地

控制系统中接地的要求:
? 不同类型的接地要使用不同的接地网,

因接地电阻的要求不同。
? 信号地(信号参考点)只能有一个。

3. 交流电源系统的外部接线

4. 直流电源系统的外部接线

第 3 章

可编程控制器 程序设计基础

3.1 可编程控制器的编程语言与程序结构 3.1.1可编程控制器编程语言的国际标准 可编程控制器标准——IEC61131, 由IEC(国际电工委员会)于1994年5月 公布,它鼓励可编程控制器制造商提供 在外观和操作上相似的指令。

IEC61131由通用信息、设备与测试要求、 编程语言、用户指南和通信5部分组成,其中 的第三部分( IEC61131 —3)为可编程控制器 的编程语言标准。
IEC61131 —3详细说明了句法、语义和五 种编程语言的表达方式,这五种编程语言是:
? ? ? ? ?

顺序功能图(Sequential Function Chart) 梯形图(Ladder Diagram) 功能块图( Function Block Diagram ) 指令表(Instruction List) 结构文本(Structured Text)

上述5种语言,可以分为三种类型:
? 图形语言——梯形图(LD)和功能块图(FBD)

? 文字语言——指令表(IL)和结构文本(ST)
? 结构块控制程序流程图——顺序功能图(SFC)

1、梯形图(LD) 主要特点:与继电器控制系统的电路图相似,直 观易懂,尤其适用于开关量逻辑控制。 编程元件:触点、线圈和功能块
? 触点——表示逻辑输入条件,对应于外部的开

关、按钮等。 ? 线圈——表示逻辑输出结果,对应于外部的指 示灯、接触器等。 ? 功能块——用来表示定时器、计数器、数学运 算等。

2、功能块图( FBD ) 主要特点:与数字逻辑门电路相似,有数字电路 基础的人易于掌握。 编程元件:类似于与门、或门的方框。
? 方框左侧为逻辑运算的输入变量 ? 方框右侧为逻辑运算的输出变量

? 方框表示逻辑运算关系

3、语句表(STL) 在西门子的S7系列可编程控制器中,指令 表(IL)被称为语句表(STL),这是一种与 汇编语言类似的指令体系。
主要特点:适合于比较熟悉可编程控制器和逻 辑程序设计的人员,可以实现某些其它语言 (如:梯形图、功能块图)难以实现的功能。

4、结构文本(ST) 结构文本(ST)是为IEC61131-3标准创建 的一种高级编程语言,它能实现复杂的数学运 算,使用结构文本(ST)编写的程序非常简洁 和紧凑。
5、顺序功能图(SFC) 这是一种位于其它编程语言之上的图形语 言,它提供了一种组织程序的图形方法。在顺 序功能图,可以用别的语言嵌套编程。

3.1.2 SIMATIC指令集与IEC61131-3指令集 供S7-200使用的编程软件——STEP7Micro/WIN32提供了两种指令集:
SIMATIC指令集——由西门子公司提供,包括 梯形图、功能块图和语句表。 SIMATIC指令集 的执行时间短,但其中的某些指令不是 IEC61131-3的标准指令。 IEC761131-3指令集——只包括梯形图和功能 块图语言。 IEC61131-3指令集符合国际标准, 但指令的数量较少,执行速度也相对慢些。此 外, SIMATIC指令集中的某些指令,可以作为 IEC61131-3指令集中的非标准扩展使用。

3.1.3 可编程控制器的程序结构 S7-200中的用户应用程序由主程序、子程 序和中断程序三部分组成 。 1、主程序 主程序是程序的主体,每一个项目都必须 且只能有一个主程序。在S7-200的编程项目中, 主程序用OB1来表示。
主程序的作用:通过指令控制整个应用程序的 执行。在主程序中,可以直接执行指令,也可 以调用子程序和中断程序。 主程序的调用:每次CPU扫描都要执行一次主 程序。

2、子程序
子程序是一个可选的指令集,仅在被其它 程序调用时执行。 子程序的作用: ? 简化程序代码 ? 减少扫描时间 ? 便于移植

3、中断程序
中断程序也是一个可选的指令集,中断程 序不是由主程序调用的,而是在中断事件发生 时由操作系统调用的。

中断程序的作用: 用来处理预先规定的中断事件。

3.2 存储器的数据类型与寻址方式 3.2.1 数据长度与地址表示 1. 位、字节、字和双字
位(Bit)——二进制位,有0和1两种取值,表示 两种不同的状态。 字节(Byte)——由8个二进制位组成,第0位为 最低位,第7位为最高位。 字(Word)——由两个字节组成。

双字(Double Word)——由两个字组成。

2. 地址表示 (1)位存储单元的地址 位存储单元的地址 =区域标识符+字节地址+位地址
如:I3.2 I——区域标识符,表示输入映象寄存器。 3——字节地址 1——位地址 又如:Q0.1 Q——区域标识符,表示输出映象寄存器。 0——字节地址 1——位地址

(2)字节、字和双字存储单元的地址 字节、字和双字存储单元的地址 =区域标识符+数据长度+起始字节地址 例: VB50表示一个字节的数据 V——变量存储区 B——字节 50——起始字节 VW100表示一个字的数据 V——变量存储区 W——字 100——起始字节

(3)常数的表示方法与范围 常数值可以是字节、字和双字,CPU以二 进制方式存储常数,常数亦可用十进制、十六 进制、ASCII码或浮点数来表示。
参见P34表3-3

3.2.2 存储区域 1. 输入映象寄存器(I) 输入映象寄存器存储外部输入信号的状 态,外部输入电路接通时对应的映象寄存器 状态为“1”,反之亦然。
? 标识符——I ? 范围——I0.0-I15.7

2.输出映象寄存器(Q) 输出映象寄存器存储逻辑运算的结果状态, 当输出映象寄存器中的数据传送到输出模块后, 再由后者驱动外部负载。 ? 标识符——Q ? 范围——Q0.0-Q15.7
3. 变量存储区(V)寻址 变量存储器在程序执行过程中存放中间结 果或用来保存与工序、任务有关的其它数据。 ? 标识符——V; ? 可以按位、字节、字和双字来存取

4.位存储区(M) 用来保存中间操作状态和其他控制信息。 ? 标识符——M ? 范围——M0.0-M31.7 ? 可以按位存取,也可按字节、字和双字来存取。 5. 特殊存储器(SM) 特殊存储器为CPU与用户程序之间交换信 息提供了手段,可以用SM位来选择和控制 CPU的某些特殊功能。 ? 标识符——SM; ? 可以按位、字节、字和双字来存取。

6.局部存储器(L) S7-200有64个字节的局部存储器,其中60个 字节可作为暂时存储器或给子程序传递参数, 建议不要使用最后4个字节。 ? 标识符——L ? 范围——L0.0-L63.7 ? 可以按位存取,也可按字节、字和双字来存取。 7. 定时器存储区(T) 定时器可用于时间累计,相当于时间继电器。 每个定时器有两个数据存储的位置。 ? 当前值寄存器——十六位有符号整数,存储定 时器所累计的时间; ? 定时器位——按照当前值和预置值的比较结果 来置位或复位。

8.计数器存储区(C) 计数器可用于累计其输入端脉冲电平由低 到高变化的次数。每个计数器有两个数据存储 的位置。
? 当前值寄存器——十六位有符号整数,存储累

计值; ? 计数器位——按照当前值和预置值的比较结果 来置位或复位。

9. 顺序控制继电器存储区(S)
顺序控制继电器(SCR)用于组织机器的 顺序操作,提供控制程序的逻辑分段。

10. 模拟量输入存储区(AI)
在S7-200中,输入的模拟量被转换成1个 字长的数据。
? 标识符——AI ? 起始字节为偶数 ? 模拟量输入值为只读数据

如:AIW2,AIW4等

11. 模拟量输出存储区(AQ)
在S7-200中, 1个字长的数据可以被转换 成模拟量输出。
? 标识符——AQ ? 起始字节为偶数 ? 模拟量输出值用户不能读取

如:AQW2,AQW4等

12. 累加器存储区(AC)
累加器是可以像存储器那样使用的读/写单 元。CPU提供了4个32位累加器,可以按字节 、字和双字来存取累加器中的数据。 ? 标识符——AC ? 存取的数据长度由所使用的指令决定 ? 字节和字只能存取累加器的低8位或低16位, 双字存取全部32位。 如: AC0-AC3

13. 高速计数器存储区(HC)
高速计数器用来对高速事件进行计数,它 独立于CPU的扫描周期。
? 标识符——HC ? 当前值和设定值为32位有符号整数 ? 当前值为只读数据

如:HC1,HC2等

3.2.3 寻址方式 1.直接寻址
? 直接寻址使用存储器地址进行存取操作; ? 需要指明存储区域、数据长度和存放位置。

直接寻址是最为常用的寻址方式之一

2.间接寻址
? 间接寻址使用指针进行存取操作 ? 对存储区域有限制,可以对I、Q、V、M、S、

T(仅当前值)和C (仅当前值)区域进行间 接寻址,但不能对独立的位(Bit)或模拟量进 行间接寻址。 (1)指针的建立 ? 指针为一个双字; ? 只可使用V、L存储区域或累加器AC1、AC2和 AC3作为指针。 见P39例

(2)指针的使用 用指针来存取数据时,在操作数前加*号; 参见P39例
(3)指针的修改 ? 指针为32位数据,故应使用双字指令来修改指 针(ADDD或I指令); ? 存取字节,指针加1,存取字,指针加2,存取 双字,指针加4。

3.2.4 绝对地址与符号地址 绝对地址——使用区域标识符加位、字节或字位 置表示的地址(在3.2.1中介绍过)。最为常用, 但不便于记忆。 符号地址——使用由字母与数字组成的符号表示 的地址,它与绝对地址有一一对应的关系,且 需要事先定义。符号地址也是常用的地址表示 方式。
举例: ? I0.0,绝对地址,SIMATIC程序编辑器使用; ? %I0.0,绝对地址,IEC程序编辑器使用; ? #INPUT1,符号地址,#号表示为局部变量; ? “INPUT1” ,符号地址,“”号表示为全局变

3.3 位逻辑指令 3.3.1 触点指令 1.标准触点指令 指令功能:
? 常开触点

当常开触点对应的输入映象寄存器 位(bit)为1时,触点闭合; ? 常闭触点 当常闭触点对应的输入映象寄存器 位(bit)为0时,触点闭合;

指令格式: 在不同的编程语言中, 有不同的表示方式。 在LAD中: 用触点表示
在FBD中: 用指令方框(盒)的输入 来表示,而具体的运算功 能由触点间的相互连接方 式决定。

在SIL中: 常开触点用LD,A,O 等指令表示; 常闭触点用LDN,AN,ON 等指令表示;

2.立即触点 指令功能: 立即触点不是根据CPU的扫描周期 来进行修改,而是立即修改。当立即触 点指令执行时,读取物理输入,但不修 改输入映象寄存器。 ? 常开触点 当常开触点对应的物理地址位(bit) 为1时,触点闭合; ? 常闭触点 当常闭触点对应的输入映象寄存器 地址位(bit)为0时,触点闭合;

在不同的编程语言中,有不同的表示方式。
在LAD中: 用加立即标识的触点表示 在FBD中: 用操作数前加立即标识的 功能框的输入表示

在SIL中: 常开触点用LDI,AI,OI 等指令表示; 常闭触点用LDNI,ANI,ONI

3.堆栈及STL的运算指令 S7-200拥有一个9位的堆栈 栈顶:用来存储逻辑运算的结果 其余各位:用来存储中间运算的结果
(1)LD类(装载)指令 ? LD——用于常开触点,将位值装入栈顶; ? LDN——用于常闭触点,将位值装入栈顶; ? LDI——用于常开立即触点,将位值装入栈顶; ? LDNI——用于常闭立即触点,将位值装入栈 顶

(2)A类(与)指令 ? A——AND(与)操作,用于常开触点,结果 送入栈顶; ? AN——AND(与)操作,用于常闭触点,结 果送入栈顶; ? AI——AND(与)操作,用于常开立即触点, 结果送入栈顶; ? ANI——AND(与)操作,用于常闭立即触点, 结果送入栈顶;

(3)O类(或)指令 ? O——OR(或)操作,用于常开触点,结果送 入栈顶; ? ON——OR(或)操作,用于常闭触点,结果 送入栈顶; ? OI——OR(或)操作,用于常开立即触点, 结果送入栈顶; ? ONI——OR(或)操作,用于常闭立即触点, 结果送入栈顶;

(4)堆栈操作类指令 ? ALD (装载与)——对堆栈第1、2层的数据进 行AND(与)操作,运算结果送入栈顶,堆栈 深度减1; ? OLD (装载或)——对堆栈第1、2层的数据进 行OR(或)操作,运算结果送入栈顶,堆栈 深度减1 ; ? LPS(入栈)——复制栈顶的数据,并将其压 入堆栈,栈中原有数据依次下移一层,栈底数 据被推出; ? LRD (读栈)——将堆栈中第2层的数据复制 到栈顶,原栈顶数据消失,其余各层数据不变; ? LDS——将堆栈中第n层的数据复制到栈顶, 原栈顶数据消失,栈中原有数据依次下移一层, 栈底数据被推出;

3.3.2 输出指令 1.输出 在LAD中: 输出指令与线圈相对应, 驱动线圈的触点电路接通后, 线圈流过“能流”,指定输出位 的映象寄存器状态为1。 在FCB中: 输出指令与功能框的输出 相对应(多输入)或者与“=” 号功能框相对应(单输入)。 在STL中: 输出指令与“=”号相对应。

2.立即输出 在执行立即输出指令时, 将新的输出值同时写入相应 的物理位和输出映象寄存器。

在LAD中: 立即输出指令与带“I”标识 的线圈相对应。

在FCB中: 立即输出指令与带“I”标识 的“=”号功能框相对应。

在STL中: 输出指令与带“I”标识的 “=”号相对应。

3.置位与复位 置位指令(set)—— 置位从指定位地址开始的 N个点的映象寄存器(将其状 态置为1)。

复位指令(reset)—— 复位从指定位地址开始的 N个点的映象寄存器(将其状 态置为0)。 N为1~255

在LAD中: 置位指令与带“S”标识的线 圈相对应;复位指令与带“R” 标识的线圈相对应 。 在FCB中: 置位指令与带“S”标识的功 能框相对应;复位指令与带“R” 标识的功能框相对应 。 在STL中: 置位指令为 S bit,N 复位指令为 R bit,N

4.立即置位与立即复位 立即置位指令 (Set Immediate)—— 置位从指定位地址开始的 N个物理点以及相应的映象寄 存器(将其状态置为1)。 立即复位指令 (Reset Immediate)—— 复位从指定位地址开始的 N个物理点以及相应的映象寄 存器(将其状态置为0)。 N为1~128,且只能用于输出量。

在LAD中: 立即置位指令与带“SI”标识 的线圈相对应;立即复位指令与带 “RI” 标识的线圈相对应 。 在FCB中: 立即置位指令与带“SI”标识的 功能框相对应;立即复位指令与带 “RI” 标识的功能框相对应 。 在STL中: 立即置位指令为 SI bit,N 立即复位指令为 RI bit,N

3.3.3 其他指令 1.取反(NOT) 取反指令将其左侧元件的逻辑运算结果取 反。当能流到达NOT(非)接点时即停止。当 能流未到达NOT(非)接点时,则供给能流。

2. 跳变触点 正跳变(EU)触点检测到一次正跳变时, 驱动其右侧的元件。负跳变(ED)触点检测 到一次负跳变时,驱动其右侧的元件。

3. 空操作指令 空操作(NOP)指令对用户程序执行无效。 在FBD模式中不可使用该指令。操作数N为数 字0至255。

3.4 定时器与计数器指令 3.4.1 定时器指令

定时器按照一定的时间间隔进行计 时操作,当定时器的计时值(当前值) 达到预置时间后,定时器的状态位发生 改变。该状态位可以在程序中引用,实 现与时间相关的控制。

在S7-200的CPU提供了256个定时器, 这些定时器分为三种类型:
? 通电延时定时器TON ? 断电延时定时器TONF ? 保持型通电延时定时器TONR

定时器的特性:
? 分辨率(时基)——定时器的计时单位 ? 定时范围——最大定时值,它等于最大

预置时间与时基的乘积。
? 定时器号——T0-T255,不同的定时器号

代表不同的定时器类型。如:T37表示一 个通电延时定时器(TON),其分辨率 为100ms,定时范围是3276.7秒。

定时器的操作数:

IN——定时器的使能输入端,用来启动与 停止定时器的计时,数据类型为BOOL。
PT——定时器的预置时间,数据类型为 INT。定时器的实际定时值等于预置时 间与时基的乘积。

Txxx——定时器的当前值,数据类型为 WORD。应当指出,定时器号不仅代表 不同的定时器类型,还代表定时器当前 值以及定时器位的状态。 定时器位——定时器的输出状态,数据类 型为BOOL,可以在程序中引用。

1.通电延时定时器指令 在LAD和FBD中: 用功能框表示。

在STL中: 用指令表示。 如:TON T37, 50

指令的工作过程: ? 当使能输入IN置为ON时,定时器开始计 时;
? 当定时器当前值大于或等于预置时间时,

定时器位为ON;
? 达到预置时间后,当前值仍继续计时,

直至达到最大定时值。
? 当使能输入IN为OFF时, 定时器停止计

时,定时器位为OFF,当前值被清零;

2.断电延时定时器指令 在LAD和FBD中: 用功能框表示。

在STL中: 用指令表示。 如:TOF T33, 50

指令的工作过程: ? 当使能输入IN为ON时,定时器位置为 ON,当前值被清零;
? 当使能输入IN产生从ON到OFF的负跳变

时, 定时器开始计时;
? 当定时器当前值大于或等于预置时间时,

定时器位置为OFF,当前值保持不变;

? 如果当前值达到预置时间之前,使能输

入IN从OFF变到ON ,定时器位保持为 ON,当前值被清零。

3.保持型通电延时定时器指令 在LAD和FBD中: 用功能框表示。

在STL中: 用指令表示。 如:TONR T66, 50

指令的工作过程:
? 当使能输入IN置为ON时,定时器开始计

时;
? 当定时器当前值大于或等于预置时间时,

定时器位为ON;

? 达到预置时间后,当前值仍继续计时,

直至达到最大定时值。
? 当使能输入IN为OFF时, 定时器停止计

时,定时器位和当前值保持不变;
? 可用复位(R)指令复位定时器,使当前

值清零,定时器位为OFF。

3.4.2 计数器指令

S7-200的CPU提供了256个计数器, 这些计数器分为三种类型:
? 加计数器CTU ? 减计数器CTD ? 加减计数器CTUD

计数器的特性:
? 计数范围——32767。 ? 计数器号——C0-C255 。

计数器的操作数:

CU——加计数脉冲输入端,用于递增计数, 数据类型为BOOL。

CD——减计数脉冲输入端,用于递减计数, 数据类型为BOOL。 R——复位输入,数据类型为BOOL。 LD——装载输入,数据类型为BOOL。

PV——计数器的预置值,数据类型为INT。

Cxxx——计数器的当前值,数据类型为 WORD。应当指出,计数器号不仅用来标 识一个的计数器,还代表计数器当前值以 及计数器位的状态。 计数器位——计数器的输出状态,数据类型 为BOOL,可以在程序中引用。

1. 加计数器CTU 在LAD和FBD中: 用功能框表示。

在STL中: 用指令表示。 如:CTU C66, 5

指令的工作过程: ? 当复位输入R为OFF时,若加计数脉冲输 入CU由OFF变为ON(信号的上升沿), 则计数器的当前值加1,直至计数最大值 32767;
? 当计数器的当前值大于或等于预置值PV

时,计数器位被置为ON;
? 当复位输入为ON时,计数器位被置为

OFF。

2. 减计数器CTD 在LAD和FBD中: 用功能框表示。

在STL中: 用指令表示。 如:CTD C66, 5

指令的工作过程: ? 若减计数脉冲输入CD由OFF变为ON (信号的上升沿),则计数器的当前值 减1,直至为0;
? 当计数器的当前值等于0时,计数器位被

置为ON;
? 当装载输入LD为ON时,计数器位被置

为OFF,并将预置值PV装入当前值。

3. 加减计数器CTUD 在LAD和FBD中: 用功能框表示。

在STL中: 用指令表示。 如:CTUD C66, 5

指令的工作过程: ? 若加计数脉冲输入CU由OFF变为ON (信号的上升沿),则计数器的当前值 加1,若减计数脉冲输入CD由OFF变为 ON(信号的上升沿),则计数器的当前 值减1。计数器当前值的具体取值决定于 加、减计数脉冲输入之差。
? 当计数器的当前值大于或等于预置值时,

计数器位被置为ON;

? 当复位输入R为ON时,计数器位被置为

OFF,计数器的当前值被置为0。

? 在当前值为最大值32767时,加计数脉冲

输入CU的下一个上升沿将使当前值变为 最小值-32768 ;
? 在当前值为最小值-32768时,减计数脉

冲输入DU的下一个上升沿将使当前值变 为最大值32767 ;

第6章 可编程控制器 的功能指令
6.1 S7-200的指令规约与数据类型检查 6.1.1 STEP7-Micro/WIN 32 编程的概念和规约 1. 指令的表示与“能流” 在Simatic指令系统中, 方框——表示功能指令,其输入端在左侧,输出 端在右侧。 左侧垂直母线——提供“能流” “能流”——梯形图中逻辑信号传递的图解表示

2.网络 在梯形图中, 网络——独立的程序段,由触点、线圈和方框组 成。
网络的相关要素—— ? 网络有编号 ? 在网络中,能流只能从左至右流动。 ? 允许以网络为单位添加注释

3.指令的输入与输出
条件输入指令——必须有能流输入才能执行的指 令,它们不能直接连接到左侧母线上。 无条件输入指令——指令的执行与能流无关才能 指令,应将它们直接连接到左侧母线上。

6.1.2

6.2 程序控制指令 6.2.1 循环指令(FOR/NEXT) 指令的主要功能: 当驱动FOR指令的逻辑条件满足时,执行 FOR与NEXT之间的指令,以实现重复执行若 干次同样任务的需求。
指令的主要参数: ? INDX——当前循环次数计数器 ? INIT——起始值 ? FINAL——结束值

指令的执行过程: ? 当驱动FOR指令的逻辑条件满足时,执行FOR 与NEXT之间的指令 ? 每次执行FOR与NEXT之间指令后, INDX的值 加1; ? 将INDX的值与结束值比较,如果INDX的值大 于结束值,则循环终止。
使用该指令的注意事项: ? 在循环的执行过程中可以改变循环的参数; ? 每次启动循环时, 初始值INIT被传送到指针 INDX中 ; ? FOR/NEXT允许嵌套,最多为8层。

6.2.2 跳转与标号指令 指令的主要功能: 当条件满足时,跳转指令(JMP)使程序 流程转到对应的标号处。 标号指令( LBL )用来指示跳转指令的 目的位置。
使用该指令的注意事项: ? JMP与 LBL指令中的操作数n为0~255之间的常 数; ? JMP与 LBL指令必须在同一程序块中。

6.2.3 停止指令(STOP) 指令的主要功能: 使PLC从运行模式进入停止模式,终止程序 的执行。
指令的执行过程: 如果在中断程序中执行STOP,则中断程序立即 终止,忽略全部等待执行的中断,继续执行主 程序的剩余部分,在主程序结束处完成从运行 模式到停止模式的转换。 6.2.4 监控定时器复位指令

6.2.3 停止指令(STOP) 指令的主要功能: 使PLC从运行模式进入停止模式,终止程序 的执行。
指令的执行过程: 如果在中断程序中执行STOP,则中断程序立即 终止,忽略全部等待执行的中断,继续执行主 程序的剩余部分,在主程序结束处完成从运行 模式到停止模式的转换。 6.2.4 监控定时器复位指令

6.2.4 监控定时器复位指令(WDR) 监控定时器又称看门狗(Watchdog),它 的定时时间是300ms,其作用是在扫描周期超 过300ms时停止执行用户程序。 在以下正常情况下,扫描周期也可能超过 300ms: ? 用户程序很长; ? 出现中断事件,执行中断程序的时间较长; ? 循环指令使扫描时间延长。
指令的主要功能: 将监控定时器复位,以防止在正常情况下 监控定时器动作,终止用户程序。 注意WDR指令对某些操作的影响

6.3 局部变量表与子程序 6.3.1 局部变量表 1.局部变量与全局变量 局部变量——只在它被创建的POU(程序组织单 元)中有效的变量。在每个 POU中都拥有64字 节的、基于L存储器的局部变量表。 全局变量——在各个POU中有效的变量,只能在 符号表/全局变量表中定义。
局部变量的适用场合: ? 在子程序中使用局部变量,可以提高子程序的 可移植性; ? 如果使用临时变量(TEMP),同一物理存储 器可以在不同的程序中重复使用。

2.局部变量的类型

TEMP(临时变量)——暂时保存在局部数据区 中的变量,只有在执行该POU时,定义的临时 变量才被使用,POU执行完后不再使用。 在主 程序或中断程序中,局部变量表只包含TEMP 变量。

子程序中可使用的局部变量——在子程序的局部 变量表中还可包含以下3种变量:
? IN(输入变量),由调用它的POU提供输入参

数; ? OUT(输出变量),返回给调用它的POU的输 出参数; ? IN_OUT(输入/输出变量),其初始值由调用 它的POU提供,被子程序修改后返回给调用它 的POU。

3. 局部变量的赋值
在局部变量表赋值时,只需指定局部变量 的类型(TEMP,IN,OUT,IN_OUT)和数 据类型,但不指定存储器地址,程序编辑器将 自动地在L存储区中为所有局部变量指定存储 位置。

4. 在局部变量表中增加新的变量
在主程序和中断程序中


相关文章:
《可编程PLC原理与应用》课程教案
教案2013~2014 学年第 一 学期课程名称 可编程 PLC 原理与应用 工信系 工信系 电计教研室 苏波 讲师 电信 1231 班 开课系(部) 所在系(部) 教研室 任...
PLC原理与应用试题答案及复习要点(完整版)
PLC原理与应用试题答案及复习要点(完整版)_工学_高等教育_教育专区。、填空(每空 0.5 分,共 30 分) 1、低压电器是指工作电压在_直流 1500V__或_交流 ...
PLC原理及应用自测试题
PLC原理应用自测试题_工学_高等教育_教育专区。PLC原理应用期末考试试题 《PLC 原理应用》自测试题一一、填空题: 1. PLC 是一种工业控制计算机, 它的...
!《PLC原理及应用》试卷-
!《PLC原理应用》试卷- - 最常见PLC的考试试题,加一套完整答案... !《PLC原理应用》试卷-_电力/水利_工程科技_专业资料。最常见PLC的考试试题,加一套完整答...
最新PLC原理与应用课程教案
最新PLC原理与应用课程教案 - PLC 原理与应用 教案 学年第 一 学期 主讲教师 课程名称 本次课标题 授课班级 及时间 PLC 原理与应用 PLC 技术概述 年年年月月...
PLC原理及应用
PLC原理应用_电子/电路_工程科技_专业资料。河北工业大学函授生考试试卷课程 PLC 原理应用 班级 14 级电气 教师 王力 2015/2016 学年 第 1 学期 姓名___...
PLC原理及应用参考答案
PLC原理应用参考答案_工学_高等教育_教育专区。电气控制与 PLC 参考答案 一.判断题 1.对极不均匀电场气隙,湿度越小则击穿电压越低。 (对) 2.均匀电场气隙,...
PLC原理及应用实验讲义
PLC原理应用实验讲义 - 《PLC 原理应用》实验讲义 编程软件介绍 GX Developer 编程软件的应用 (一)概述 1. GX Developer 是三菱 PLC 的编程软件。...
PLC原理及应用自测试题
PLC原理应用自测试题 - 《PLC 原理应用》自测试题一 一、填空题: 1. PLC 是一种工业控制计算机,它的基本结构是由 路 CPU 、 输入输出电 、存储器和 ...
《PLC原理及应用》教学大纲
PLC 原理应用》教学大纲一、课程的性质与任务 1.课程性质:PLC (可编程序控制器)应用技术课程主要研究 PLC 的结构原理及在逻辑量、模拟量控制方面的应用,是...
更多相关标签: