可编程控制器(Programmable Controller)简称PLC,是以微处理器为基础,融合了计算机技术、自动控制技术和通信技术等现代科技而发展起来的一种新型工业自动控制装置。随着计算机技术的发展,可编程控制器作为通用的工业控制计算机,其功能日益强大,性价比越来越高,已经成为工业领域的主流设备。
1.1 PLC的诞生和发展
1)、PLC的发展现状 2)、PLC的发展趋势 随着PLC应用领域日益扩大,PLC技术及其产品结构都在不断改进,功能日益强大,性价比越来越高。
(1)、在产品规模方面,向两极发展。一方面,大力发展速度更快、性价比更高的小型和超小型PLC。以适应单机及小型自动控制的需要。另一方面,向高速度、大容量、技术完善的大型PLC方向发展。随着复杂系统控制的要求越来越高和微处理器与计算机技术的不断发展,人们对PLC的信息处理速度要求也越来越高,要求用户存储器容量也越来越大。 (2)、向通信网络化发展 PLC网络控制是当前控制系统和PLC技术发展的潮流。PLC与PLC之间的联网通信、PLC与上位计算机的联网通信已得到广泛应用。目前,PLC制造商都在发展自己专用的通信模块和通信软件以加强PLC的联网能力。各PLC制造商之间也在协商指定通用的通信标准,以构成更大的网络系统。PLC已成为集散控制系统(DCS)不可缺少的组成部分。 (3)、向模块化、智能化发展 为满足工业自动化各种控制系统的需要,近年来,PLC厂家先后开发了不少新器件和模块,如智能I/O模块、温度控制模块和专门用于检测PLC外部故障的专用智能模块等,这些模块的开发和应用不仅增强了功能,扩展了PLC的应用范围,还提高了系统的可靠性。 (4)、编程语言和编程工具的多样化和标准化 多种编程语言的并存、互补与发展是PLC软件进步的一种趋势。 PLC厂家在使硬件及编程工具换代频繁、丰富多样、功能提高的同时,日益向MAP(制造自动化协议)靠拢,使PLC的基本部件,包括输入输出模块、通信协议、编程语言和编程工具等方面的技术规范化和标准化。 1.2 PLC的分类、特点和应用 1.2.1 PLC可编程控制器的分类 1)按I/O点数分类 PLC所能接受的输入信号个数和输出信号个数分别称为PLC的输入点数和 输出点数。其输入、输出点数的数目之和称为PLC的输入/输出点数,简称I/O点数。I/O点数是选择PLC的重要依据之一。 一般而言,PLC控制系统处理的I/O点数较多时,则控制关系比较复杂,用户要求的程序存储器容量也较大,要求PLC指令及其他功能比较多。按PLC输入、输出点数的多少可将PLC分为以下三类。 (1)小型机 小型PLC输入、输出总点数一般在256点以下,用户程序存储器容量在4K字左右。小型PLC的功能一般以开关量控制为主,适合单机控制和小型控制系统。 (2)中型机 中型PLC的输入、输出总点数在256~2048点之间,用户程序存储器容量达到8K字左右。中型机适用于组成多机系统和大型控制系统。 (3) 大型机 大型PLC的输入、输出总点数载2084点以上,用户程序存储器容量达到16K字以上。大型机适用于组成分布式控制系统和整个工厂的集散控制网络。 上述划分没有一个十分严格的界限,随着PLC技术的飞速发展,一些小型PLC也具备中型或大型PLC的功能,这也是PLC的发展趋势。 2)按结构形式分类 按照PLC的结构特点可分为整体式、模块式两大类。 (1)整体式结构 把PLC的CPU、存储器、输入/输出单元、电源等集成在一个基本单元中,其结构经凑,体积小,成本低,安装方便。基本单元上设有扩展端口,通过电缆与扩展单元相连,可配接特殊功能模块。微型和小型PLC一般为整体式结构,S7-200系列属整体式结构。 (2)模块式结构
模块式结构的PLC由一些模块单元构成,这些标准模块包括CPU模块、输入模块、输出模块、电源模块和各种特殊功能模块等,使用时将这些模块插在标准机架内即可。各模块功能是独立的,外形尺寸是统一的。模块式PLC的硬件组态方便灵活,装配和维修方便,易于扩展。 1.2.2 PLC可编程控制器的特点 1)、可靠性高,抗干扰能力强。工业生产一般对控制设备的可靠性要求很高,并且要有很强的抗干扰能力。PLC能在恶劣的环境中可靠的工作,平均无故障时间达到数万小时以上,已被公认为最可靠的工业控制设备之一。 PLC本身具有较强的自诊断功能,保证硬件核心设备(CPU、存储器、I/O总线等)在正常情况下执行用户程序,一旦出现故障则立即给出出错信号,停止用户程序的执行,切断所有输出信号,等待修复。PLC的主要模块均采用大规模和超大规模集成电路,I/O系统设计有完善的通道保护与信号调理电路。在结构上对耐热、防潮、防尘、抗震等都有精确的考虑,在硬件上采用隔离,屏蔽、滤波、接地等抗干扰措施,在软件上采用数字滤波等措施。与继电器系统和通用计算机相比,PLC更能适应工业现场环境要求。 2) 硬件配套齐全,使用方便,适应性强 PLC是通过执行程序实现控制的。当控制要求发生改变时,只要修改程序即可,最大限度地缩短了工艺更新所需要的时间。PLC的产品已标准化、系列化、模块化,而且PLC及配套产品的模块品种多,用户可以灵活方便地进行系统配置组合成各种不同规模、不同功能的控制系统。在PLC控制系统中,只需在PLC的端子上接入相应的输入/输出信号线即可,不需要进行大量且复杂的硬接线,并且PLC有较强的带负载能力,可以直接驱动一般的电磁阀和交流接触器。 3)、编程直观、易学易会 PLC提供了多种编程语言,其中梯形图使用最普遍。PLC是面向用户的设备,PLC的设计者充分考虑到现场工程技术人员的技能和习惯,因此PLC程序的编制采用梯形图的简单指令形式。梯形图与继电原理图相似,这种编程语言形象直观,易学易懂,不需要专门的计算机知识和语言,现场工程技术人员可在短时间内学会使用。用户在购买PLC后,只需按说明书的提示,做少量的接线和进行简易的用户程序编制工作,就可灵活方便地将PLC应用于生产实践。 4)、系统的设计、安装、调试工作量小,维护方便
PLC用软件取代了继电器控制系统中大量的中间继电器、时间继电器、计数器等器件,使控制柜的设计、安装、接线工作量大为减少。同时PLC的用户程序大部分可以在实验室进行模拟调试,模拟调试好后再将PLC控制系统安装到生产现场,进行联机调试,既安全,又快捷方便。 5)、体积小,能耗低 由于PLC采用了半导体集成电路,其体积小,重量轻,结构紧凑、功耗低、便于安装,是机电一体化的理想控制器。对于复杂的控制系统,采用PLC后,一般可将开关柜的体积缩小到原来的1/10~1/2。
1.2.3 PLC的应用 ● PLC控制系统与继电器控制系统的区别 :
⑴ 组成器件不同:继电器控制线路是许多真正的硬件继电器组成,而梯形图则由许多所谓“软继电器”组成。 1.3 PLC可编程控制器的基本组成 PLC种类繁多,功能虽然多种多样,但其组成结构和工作原理基本相同。PLC的控制系统由硬件和软件两大部分组成,硬件指PLC本身及其外围设备,软件是指管理PLC的系统软件和PLC的应用程序 1.3.1 PLC的硬件系统组成 PLC实质上是一种工业控制计算机,PLC与计算机的组成十分相似。只不过它比一般的计算机具有更强的与工业过程相连接的接口,以及更直接的适应控制要求的编程语言。从硬件结构看,它由CPU、存储器、输入/输出接口、电源等组成。PLC的基本组成框图如图1所示。下面对PLC控制系统的主要硬件部分进行介绍。
图1 PLC的基本组成框图
1)、中央处理器(CPU) 与一般的计算机一样,CPU是整个PLC的控制中枢,它按PLC中系统程序赋予的功能指挥PLC有条不紊的进行工作。CPU主要完成下述工作: (1)接收、存储用户通过编程器等输入设备输入的程序和数据。 (2)用扫描的方式通过I/O部件接收现场信号的状态或数据,并存入输入映像寄存器或数据存储器中。 (3)诊断PLC内部电路的工作故障和编程中的语法错误等。 (4) PLC进入运行状态后,执行用户程序,完成各种数据的处理、传输和存储相应的内部控制信号,以完成用户指令规定的各种操作。 (5)响应各种外围设备(如编程器、打印机等)的请求。 PLC采用的CPU随机型不同而不同, 目前,小型PLC为单CPU系统,中型及大型则采用双CPU甚至多CPU系统。目前,PLC通常采用的微处理器有三种:通用微处理器、单片微处理器(即单片机)、位片式微处理器。 2)、 存储器 PLC系统中的存储器主要用于存放系统程序、用户程序和工作状态数据。PLC的存储器包括系统存储器和用户存储器。 (1)系统存储器 系统存储器用来存放由PLC生产厂家编写的系统程序,并固化在ROM内,用户不能更改。它使PLC具有基本的功能,能够完成PLC设计者规定的各项工作。系统程序质量的好坏很大程度上决定了PLC的性能。 (2)用户存储器
用户存储器包括用户程序存储器(程序区)和数据存储器(数据区)两部分。用户程序存储器用来存放用户针对具体控制任务采用PLC编程语言编写的各种用户程序。用户程序存储器根据所选用的存储器单元类型的不同(可以是RAM、EPROM或EEPROM存储器),其内容可以由用户修改或增删。用户数据存储器可以用来存放(记忆)用户程序中所使用器件的ON/OFF状态和数据等。用户存储器的大小关系到用户程序容量的大小,是反映PLC性能的重要指标之一。 存储器主要有两种:一种是可读/写操作的随机存储器RAM,另一种是只读存储器或可擦除可编程的只读存储器ROM、PROM 、EPROM 和EEPROM。 3)、输入/输出接口 输入/输出接口是PLC与现场I/O设备或其它外部设备之间的连接部件。PLC通过输入接口把外部设备(如开关、按钮、传感器)的状态或信息读入CPU,通过用户程序的运算与操作,把结果通过输出接口传递给执行机构(如电磁阀、继电器、接触器等)。 在输入/输出接口电路中,一般均配有电子变换、光耦合器和阻容滤波等电路,以实现外部现场的各种信号与系统内部统一信号的匹配和信号的正确传递,PLC正是通过了这种接口实现了信号电平的转换。发光二极管(LED)用来显示某一路输入端子是否有信号输入。当系统的I/O点数不够时,可通过PLC的I/O扩展接口对系统进行扩展。 (1)输入接口电路 各种PLC的输入接口电路结构大都相同,按其接口接受的外信号电源划分有两种类型:直流输入接口电路、交流输入接口电路。其作用是把现场的开关量信号变成PLC内部处理的标准信号。PLC的输入接口电路如图2所示。 在输入接口电路中,每一个输入端子可接收一个来自用户设备的离散信号,即外部输入器件可以是无源触点,如按钮、开关、形程开关等,也可以是有源器件,如各类传感器、接近开关、光电开关等。在PLC内部电源容量允许条件下,有源输入器件可以采用PLC输出电源(24V),否则必须外设电源。
在图(a) 直流输入接口电路中,当输入开关闭合时,光敏晶体管接收到光信号,并将接受的信号送入内部状态寄存器。即当现场开关闭合时,对应的输入映像寄存器为“1”状态,同时该输入端的发光二极管(LED)点亮;当现场开关断开时,对应的输入映像寄存器为“0”状态。光电耦合器隔离了输入电路与PLC内部电路的电气连接,使外部信号通过光电耦合变成内部电路能接收的标准信号。 (2)输出接口电路 为适应不同负载需要,各类PLC的输出都有三种类型的接口电路,即继电器输出、晶体管输出、晶闸管输出。其作用是把PLC内部的标淮信号转换成现场执行机构所需的开关量信号,驱动负载。发光二极管(LED)用来显示某一路输出端子是否有信号输出。 图3 PLC的输出接口电路
图(a)继电器输出型接口电路中,当CPU根据用户程序的运算把输出信号送入PLC的输出映像区后,通过内部总线把输出信号送到锁存器中。当输出锁存器的对应位为“1”时,其对应的发光二极管(LED)导通发光,继电器的线圈带电,其触点则把负载和电源连通起来,使得负载获得电流;当输出锁存器的对应位为“0”时,其对应的发光二极管(LED)不导通,线圈不带电,其触点则把负载L和电源隔断,使得负载不会获得电流。 在输出接口电路中,外部负载直接与PLC输出端子相连,负载电源由用户根据负载要求自行配备。在实际应用中,在考虑外驱动电源时,需考虑输出器件的类型,同时PLC输出端子的输出电流不能超出其额定值。 4)、电源部分
PLC内部配有一个专用开关型稳压电源,它将交流/直流供电电源变换成系统内部各单元所需的电源,即为PLC各模块的集成电路提供工作电源。 5)、编程器 编程器是PLC开发应用、监测运行、检查维护不可缺少的器件。它是PLC的外部设备,是人机交互的窗口。可用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。编程器可以是专用编程器,也可以是配有编程软件包的通用计算机系统。专用编程器是由PLC生产厂家,专供该厂家生产的某些PLC产品使用,使用范围有限,价格较高。目前,大多是使用个人计算机为基础的编程器,用户只要购买PLC厂家提供的编程软件和相应的硬件接口装置,就可以得到高性能的PLC程序开发系统。 6)、扩展接口和外设通信接口 (1)外设通信接口 PLC配有多种通信接口,PLC通过这些通信接口可与编程器、打印机、其它PLC、计算机等设备实现通信。可组成多机系统或连成网络,实现更大规模控制。 (2)扩展接口 用于连接I/O扩展单元和特殊功能单元。 通过扩展接口可以扩充开关量 I/O 点数和增加模拟量的I/0端子,也可配接智能单元完成特定的功能,使PLC的配置更加灵活以满足不同控制系统的需要。I/0扩展接口电路采用并行接口和串行接口两种电路形式。 工业控制中,除了用数字量信号来控制外,有时还要用模拟量信号来进行控制。模拟量模块有三种:模拟量输入模块、模拟量输出模块、模拟量输入/输出模块。 (Ⅰ) 模拟量输入模块 模拟量输入模块又称A/D模块,将现场由传感器检测而产生的连续的模拟量信号转换成PLC的CPU可以接收的数字量,一般多为12位二进制数,数字量位数越多的模块,分辨率就越高。 (Ⅱ) 模拟量输出模块 模拟量输出模块又称为D/A模块,把PLC的CPU送往模拟量输出模块的数字量转换成外部设备可以接收的模拟量(电压或电流)。模拟量输出模块所接收的数字信号一般多为12位二进制数,数字量位数越多的模块,分辨率就越高。 1.3.2 PLC的软件组成 PLC控制系统的软件主要包括系统软件和用户程序。系统软件由PLC厂家固化在存储器中,用于控制PLC的运作。用户程序由使用者编制录入,保存在用户存储器中,用于控制外部对象的运行。 1)、系统软件 系统软件包括系统管理程序、用户指令解释程序、标准程序模块及系统调用。整个系统软件是一个整体,它的质量很大程度上影响了PLC的性能。通常情况下,进一步改进和完善系统软件就可以在不增加任何设备条件下大大改善PLC的性能,使其功能越来越强。
2)用户程序 1.4 PLC的工作原理 PLC是一种工业控制计算机,它的工作原理建立在计算机工作原理之上,即通过执行反映控制要求的用户程序来完成。 1.4.1 PLC可编程控制器的基本工作原理 PLC以微处理器为核心,具有微机的许多特点,但它的工作方式却与微机有很大不同。 微机一般采用等待命令的工作方式工作。
PLC是按集中输入、集中输出,周期性循环扫描的方式进行工作的。每一次循环扫描所用的时间称为一个扫描周期。 PLC运行正常时,扫描周期的长短与用户应用程序的长短、CPU的运算速度、I/O点的情况等有关。通常用PLC执行1KB指令所需时间来说明其扫描速度(一般1-10ms/KB)。值得注意的是,不同指令执行时间是不同的,故选用不同指令所用的扫描时间将会不同。若用于高速系统要缩短扫描周期时,可从软硬件上同时考虑。PLC周期性循环扫描工作方式的显著特点是:可靠性高、抗干扰能力强,但响应滞后、速度慢。 1.4.2 PLC的扫描工作过程 PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,PLC的扫描工作过程如图5所示。 (1)输入采样阶段。在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。此时,输入映像寄存器被刷断。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。 (2)程序执行阶段。在执行用户程序过程中,PLC按照梯形图程序扫描原则,一般来说,PLC按从左至右、从上到下的步骤逐个执行程序。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后进行相应的运算,运算结果再存入输出映像寄存器中。对输出映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。 图5 PLC的扫描工作过程 (3)输出刷新阶段。程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合,经过输出端子驱动外部负载。全部输出设备的状态要保持一个扫描周期。 ● 输入/输出滞后问题: 当PLC的输入端输入信号发生变化PLC输出端对该输入变化做出反应需要一段时间,这种现象称为PLC输入/输出响应滞后。 由上述分析可知,扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。由于每一个扫描周期只进行一次I/O刷新,即每一个扫描周期PLC只对输人、输出状态寄存器更新一次,故使系统存在输人、输出滞后现象,这在一定程度上降低了系统的响应速度。工业现场的干扰常常是脉冲式的、短时的,PLC的输入/输出响应滞后,对一般的工业控制要求,是完全允许的,还可以起到增强系统的抗干扰能力。 但是,对于控制时间要求严格、响应速度要求较快的系统,就要采取措施减小输入/输出滞后的不利影响。 1.5 PLC的编程语言 PLC的编程语言与一般计算机语言相比具有明显的特点,它既不同于一般高级语言,也不同于一般汇编语言,它既要易于编写又要易于调试。目前,还没有一种对各厂家产品都能兼容的编程语言。 目前,PLC为用户提供了多种编程语言,以适应编制用户程序的需要,PLC提供的编程语言通常有以下几种:梯形图、指令表、顺序功能图和功能块图 1、梯形图
梯形图编程语言是从继电器控制系统原理图的基础上演变而来的。PLC的梯形图与继电器控制系统梯形图的基本思想是一致的,但是在使用符号和表达式等方面有一定区别。 2、语句表(STL) 语句表是用助记符来表达PLC的各种功能。它类似计算机的汇编语言,但比汇编语言通俗易懂,也是较为广泛应用的一种编程语言。使用语句表编程时,编程设备简单,逻辑紧凑、系统化,连接范围不受限制,但比较抽象。一般可以与梯形图互相转化,互为补充。目前,大多数PLC都有语句表编程功能。 3、顺序功能图(SFC) 顺序功能图编程是一种图形化的编程方法,亦称功能图。它的编程方式采用画工艺流程图的方法编程,只要在每个工艺方框的输入和输出端,标上特定的符号即可。采用顺序功能图编程,可以使具有并发、选择等复杂结构的系统控制程序大为简化。许多PLC都提供了用于SFC编程的指令,它是一种效果显著、深受欢迎的编程语言,目前国际电工委员会(IEC)也正在实施并发展这种语言的编程标准。 4、 功能块图(FBD) 逻辑功能图是一种由逻辑功能符号组成的功能块来表达命令的图形语言,这种编程语言基本上沿用了半导体逻辑电路的逻辑方块图。对每一种功能都使用一个运算方块,其运算功能由方块内的符号确定。对于熟悉逻辑电路和具有逻辑代数基础的人员来说,使用非常方便。 |