1.1 PLC概述
1.1.1 PLC的产生和定义
1.PLC的产生
为了尽可能地减少重新设计和安装的工作量,降低成本,缩短周期,人们于是设想把计算机系统的功能完备、灵活、通用与继电器接触器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,制造一种新型的工业控制装置。为此,美国通用汽车公司在1968年公开招标,要求用新的控制装置取代继电器接触器控制系统。1969年,美国数字设备公司(DEC)研制出了第一台PLC(Programmable Logic Controller),即可编程序逻辑控制器,型号为PDP-14,用它取代传统的继电器接触器控制系统,在美国通用汽车公司的汽车自动装配线上使用,取得了巨大成功。这种新型的工业控制装置以其简单易懂、操作方便、可靠性高、通用灵活、体积小以及使用寿命长等一系列优点,很快在美国其他工业领域推广应用。
随着计算机技术、自动控制技术和通信技术的发展,PLC大致经历了四次更新换代,已经渗透到工业控制的各个领域。
2.PLC的定义
1987年国际电工委员会(IEC)对可编程序控制器定义如下:“可编程序控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等面向用户的指令,并通过数字式和模拟式的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关的外围设备,都按易于与工业系统连成一个整体、易于扩充其功能的原则设计。”
1.1.2 PLC的结构组成
PLC由中央处理单元(CPU)、存储器、输入单元、输出单元、通信单元、电源以及扩展单元有机结合而成,如图1-1所示。根据结构形式不同,PLC可以分为整体式和模块式两类。
图1-1 PLC的基本结构
整体式PLC又称为单元式或箱体式,体积小、价格低及结构紧凑。一般小型PLC采用整体式,如西门子的S7-200系列PLC。整体式PLC将CPU模块、I/O模块和电源装在一个箱体内构成主机。需要时还提供许多I/O扩展模块供用户选用,另外配备许多专用的特殊功能模块,使PLC的功能得到扩展。
模块式PLC又称为组合式PLC,由机架和模块组成,配置灵活。中、大型PLC常采用模块式,如西门子的S7-300和S7-400系列PLC。模块式PLC将组成PLC的多个单元分别做成相应的模块,各模块可以灵活安插在机架上,通过总线相互联系,进行广泛地组合和扩展。
(1)CPU模块
CPU(Central Process Unit)模块是PLC的核心部分,主要由微处理器(CPU芯片)和存储器组成。CPU模块在PLC系统中的作用类似于人的大脑和心脏,其主要任务是:接收输入的用户程序和数据,送入存储器存储;采集现场的输入信号,存入相应的数据区;监控和诊断电源、电路的工作状态和用户程序中的语法错误;执行用户程序,从存储器逐条读取用户指令并完成其功能;根据数据处理的结果刷新系统的输出。PLC采用的CPU芯片随机型不同而异,芯片的性能决定了PLC处理信号的能力和速度。
存储器主要用来存储程序和数据,分为系统程序存储器、用户程序存储器和系统RAM存储区。系统程序存储器用来存放系统管理程序、用户指令解释程序和标准程序模块与系统调用程序,是由生产厂家编写并固化在ROM内的,用户不能直接更改;用户程序存储器用来存放用户根据控制任务编写的控制程序,可以是RAM、EPROM或E2PROM存储器,其内容可以由用户任意修改或删减;系统RAM存储区包括I/O映像区和系统软设备存储区,如逻辑线圈、定时器、计数器、数据寄存器和累加器等。
(2)电源模块
电源模块将输入的交流电转换为CPU、存储器和I/O模块等需要的DC 5V工作电源,是整个PLC的能源供给中心,直接影响到PLC的功能和可靠性。电源模块还向外部提供DC 24V稳压电源,向传感器和其他模块供电。
(3)信号模块
信号模块是PLC与工业现场连接的接口,包括输入(Input)模块和输出(Output)模块,简称为I/O模块。其中开关量输入、输出模块分别称为DI模块和DO模块,模拟量输入、输出模块分别称为AI模块和AO模块。输入模块用来接收和采集现场的输入信号,输出模块用来控制输出负载,同时它们还有电平转换和隔离作用,使不同的过程信号电平和PLC内部的信号电平相匹配。
开关量输入模块用来接收从按钮、数字开关、限位开关以及各种继电器等传送来的开关量输入信号,模拟量输入模块用来接收从电位器、测速发电机和各种变送器提供的连续变化的模拟量电压电流信号。
开关量输出模块用来控制接触器、电磁阀、电磁铁、指示灯、显示和报警装置等输出设备,模拟量输出模块用来控制变频器、电动调节阀等执行器。
(4)功能模块
功能模块主要用于对实时性和存储容量要求高的控制任务,包括计数器模块、电动机定位模块以及闭环控制模块等。
(5)通信处理模块
通信处理模块用于PLC之间、PLC与计算机和其他智能设备之间的通信,可以将PLC接入PROFIBUS-DP、ASI和工业以太网,或用于实现点对点连接等。
(6)编程设备
编程设备包括编程器和编程软件两类。使用编程器可以进行程序的编制、编辑、调试和监控。简易型编程器只能联机编程,并且需要把梯形图转换成指令表才能输入。智能型编程器可以联机也可以脱机编程,可以直接输入梯形图,而且能通过屏幕对话。
使用编程软件可以在计算机上直接生成和编辑用户程序,并且可以实现不同编程语言之间的相互转换。程序被编译后下载到PLC,也可以将PLC中的程序上传到计算机。
1.1.3 PLC的基本原理
PLC是一种工业控制计算机,其工作原理却与计算机有所不同。PLC最初是用于替代传统的继电器控制装置,但与继电器控制系统的工作原理也有很大区别。
1.PLC的工作原理
任何一个继电器控制系统从功能上都可以分为3部分:输入部分(按钮、开关、传感器等)、控制部分(继电器、接触器连接成的控制电路)以及输出部分(被控对象,如电动机、电磁阀、信号灯等)。这种系统是由导线硬连接起来实现控制程序的,称为硬程序。
PLC控制系统也分为3部分:输入部分、控制部分和输出部分,如图1-2所示。输入部分的作用是将现场输入信号送入PLC,再变成CPU能够接收的信号存入输入映像寄存器等待CPU输入采样,然后进入控制部分进行运算;输出部分的作用是将PLC的输出信号转存到输出映像寄存器等待输出刷新,才能驱动被控对象。PLC控制系统与继电器控制系统不同的地方主要是控制部分。
图1-2 PLC的控制系统图
PLC控制系统的内部控制电路是由用户程序形成的,是按照程序规定的逻辑关系,对输入、输出信号的状态进行计算、处理和判断,然后得到相应的输出。PLC在执行用户程序时,根据程序从首地址开始自上而下、从左到右逐行扫描执行,并分别从输入映像寄存器、输出映像寄存器中读出有关元件的状态,根据指令执行相应的逻辑运算,把运算的结果写入对应的元件映像寄存器中保存,同时把输出状态写入对应的输出映像寄存器中保存。
用户程序用触点和线圈实现逻辑运算,基本逻辑电路如图1-3所示,逻辑运算关系表如表1-1所示。
图1-3 基本逻辑电路
a)逻辑与 b)逻辑或 c)逻辑非
表1-1 逻辑运算关系表
2.PLC的工作方式
PLC的工作方式是从0000号存储地址存放的第一条用户程序开始,在无中断或跳转的情况下,按存储地址号递增的方向顺序逐条执行用户程序,直到END指令结束;然后再从头开始,并周而复始地执行整个用户程序,直到停机或从运行(RUN)工作状态切换为停止(STOP)工作状态,这种执行程序的工作方式称为周期循环扫描工作方式。扫描过程如图1-4所示。
图1-4 扫描过程
3.PLC的工作状态
PLC有3种工作状态,即运行(RUN)状态、停止(STOP)状态和终端(TERM)状态。运行状态是执行应用程序的状态,停止状态一般用于程序的编制和修改,不执行用户程序。显然两个不同的工作状态中要完成的扫描任务是不同的。
PLC处于RUN状态时执行用户程序,“RUN”LED亮。将CPU模块上的模式开关置于RUN位置时,PLC上电后自动进入RUN模式。
PC与PLC之间建立起通信连接后,若模式开关在RUN或TERM位置,可用编程软件中的命令改变CPU的工作模式。
PLC在RUN工作状态时,每扫描一次程序所需要的时间称为扫描周期,一般不超过100ms。指令执行所需要的时间与用户程序的长短、指令的种类和CPU执行速度有很大关系。PLC厂家会给出执行每条基本逻辑指令所需要的时间。
PLC处于STOP状态时不执行用户程序,此时用户可将用户程序和硬件设置信息下载到PLC。
终端(TERM)模式与PLC的通信有关。
4.PLC的工作过程
图1-5为PLC的工作过程图。PLC上电或从STOP状态切换到RUN状态后,在系统程序的监控下,周而复始地按一定的顺序对系统内部的各种任务进行查询、判断和执行,这个过程就是按顺序循环扫描的过程。
图1-5 PLC的工作过程图
1)初始化。PLC上电后首先进行系统初始化,包括清除内部存储区、复位定时器等。
2)CPU自诊断。PLC在每个扫描周期都要进入自诊断阶段,对电源、PLC内部电路、用户程序的语法进行检查;定期复位监控定时器等,确保系统的稳定。
3)通信信息处理。在每个通信信息处理扫描阶段,PLC进行PLC之间、PLC与计算机之间的信息交换。
4)与外部设备交换信息。PLC与外部设备连接时,在每个扫描周期都要与外部设备交换信息。这些外部设备有编程器、终端设备、彩色显示器和打印机等。
5)执行用户程序。PLC在运行状态下,每一个扫描周期都要执行用户程序。在执行用户程序时,是以扫描的方式按顺序逐句处理的,扫描一条执行一条,并把运算处理结果存入输出映像区对应的位中。
6)输入、输出信息处理。PLC在运行状态下,每一个扫描周期都要进行输入、输出信息处理,以扫描的方式把外部输入信号的状态存入输入映像区,将运算处理后的结果存入输出映像区,直到传入外部被控设备。
1.1.4 PLC的编程语言
PLC是一种工业计算机,国内外不同厂家,甚至不同型号的PLC都有自己的编程语言。目前,PLC常用的编程语言有梯形图编程语言、指令(语句)表编程语言以及顺序功能图编程语言等。
1.梯形图
梯形图编程语言简称为梯形图。梯形图与继电器控制电路图很相似,很容易被工厂熟悉继电器控制的电气人员掌握,特别适合数字量逻辑控制系统,是在电气控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变而来的,用程序来代替继电器硬件逻辑连接。
梯形图由触点、线圈或指令框组成。触点代表逻辑输入条件,如外部的开关、按钮、传感器和内部条件等输入信号;线圈代表逻辑运算的结果,常用来控制外部的输出信号(如指示灯、交流接触器和电磁阀等)和内部的标志位等;指令框用来表示定时器、计数器和数学运算等功能指令。
梯形图左、右的竖直线称为左右母线。梯形图从左母线开始,经过触点和线圈,终止于右母线。可以把左母线看作是提供能量的母线。触点闭合可以使能量流到下一个元件;触点断开将阻止能量流过,这种能量流称为能流。实际上,梯形图是CPU效仿继电器控制电路图,使来自“电源”的“电流”通过一系列的逻辑控制元件,根据运算结果决定逻辑输出的模拟过程。
梯形图中,每个输出元素可以构成一个梯级,每个梯级由一个或多个支路组成,但最右边的元件只能是输出元件,且只能有一个。每个梯形图由一个或多个梯级组成。
梯形图编程语言形象、直观、实用,逻辑关系明确,是使用最多的PLC编程语言。
虽然PLC的梯形图与继电器控制电路图很相似,但是两种控制系统却有本质的区别,主要表现在以下几点。
1)组成器件不同。继电器控制系统是由许多硬件继电器组成的,而梯形图是由许多所谓的“软继电器”组成。这些“软继电器”实质上是存储器的触发器,“软继电器”的“通”和“断”状态也就是触发器置“0”或置“1”的状态,因此不存在电弧、磨损和接触不良等故障。
2)触点数量不同。硬继电器的触点数量是有限的,而梯形图中“软继电器”触点的通断是由对应的触发器的状态决定的,所以每只“软继电器”供编程使用的触点数是无限制的。
3)控制方法不同。在继电器控制系统中,实现各种逻辑控制关系和连锁关系是通过硬接线来解决的;而PLC是通过梯形图即软件编程解决的。
4)工作方式不同。继电器控制系统采用硬逻辑并行运行的方式,如果某个继电器的线圈通电或断电,无论该继电器的触点在控制系统的哪个位置,也无论是常开触点还是常闭触点,该继电器的所有触点都会立即同时动作。PLC的CPU则采用顺序逻辑扫描用户程序的运行方式,如果一个输出线圈和逻辑线圈被接通或断开,该线圈的所有触点不会立即动作,必须等扫描到该触点时才会动作,所以是串行方式。
2.指令表
指令表编程语言又称为语句表编程语言,它用一系列操作指令(即指令助记符)组成的指令表将控制流程描述出来。不同PLC厂家指令表所使用的指令助记符并不相同。
指令表是由若干条指令组成的程序,指令是程序的最小独立单元。每个操作功能由一条或几条指令来执行。PLC的指令表达形式与计算机的指令表达形式很相似,也是由操作码和操作数两部分组成的。操作码用指令助记符表示,用来说明要执行的功能,告诉CPU应该进行什么操作,如与、或、非等逻辑运算,加、减、乘、除等算术运算,计时、计数、移位等控制功能。操作数一般由标识符和参数组成,标识符表示操作数的类别,如表明输入继电器、输出继电器、定时器、计数器以及数据寄存器等;参数表明操作数的地址或一个预先设定值。
3.顺序功能图
对于一个复杂的控制系统,尤其是顺序控制系统,由于内部的联锁、互动关系极其复杂,用梯形图或指令表编程时梯形图往往数百行。如果在梯形图上不加注释,则梯形图的可读性将会大大降低。
顺序功能图常用来编制复杂的顺序控制类程序,这种功能图也为调试、试运行带来许多方便,它包含步、动作和转换3个要素。先把一个复杂的控制过程分解为一些小的工作状态,即划分为以若干个顺序出现的步;步中包含控制输出的动作,根据一步到另一步的转换条件,再依照一定的顺序控制要求连接成整体的控制程序。
顺序功能图表达的顺序控制过程非常清晰,用于编程和故障诊断时更为有效,使PLC程序的结构更加易懂,特别适合生产制造过程。
1.1.5 PLC的应用和发展
1.PLC的应用
近年来,随着PLC的成本下降和功能大大增强,同时,它也能解决复杂的计算和通信问题,因而应用面也日益增大。目前,PLC在国内外已广泛应用于钢铁、采矿、水泥、石油、化工、电力、机械制造、汽车、装卸、造纸、纺织、环保以及娱乐等行业。PLC的应用领域包括以下几个方面。
(1)逻辑控制
逻辑控制是目前PLC应用最广泛的领域,它取代传统的继电器顺序控制。PLC应用于单机控制、多机群控制和生产自动线控制。例如:注塑机、印刷机械、订书机械、切纸机械、组合机床、磨床、装配生产线、包装生产线、电镀流水线及电梯控制等。
(2)运动控制
PLC制造商目前已经提供了拖动步进电动机或伺服电动机的单轴或多轴位置控制模块。大多数情况下,PLC把描述目标位置的数据送给模块,模块移动一轴或多轴到目标位置。当每个轴移动时,位置控制模块保持适当的速度和加速度,确保运动平滑。
(3)过程控制
PLC能控制大量的物理参数。例如:温度、压力、速度和流量。PID(Proportional-Integral-Derivative)模块的提供使PLC具有了闭环控制的功能,即一个具有PID控制能力的PLC可用于过程控制。
(4)数据处理
在机械加工中,出现了把支持顺序控制的PLC和计算机数值控制(CNC)设备紧密结合的趋向。国外FANUC公司推出的System10、11、12系列,已将CNC控制功能作为PLC的一部分。
(5)工业网络通信
为了适应工厂自动化(FA)系统发展的需要,首先,必须发展PLC之间、PLC和上级计算机之间的通信功能。作为实时控制系统,PLC数据通信速率要求高,而且要考虑出现停电、故障时的对策等。富士电机公司开发的MICREX-F系列就是一例。I/O模块按功能各自放置在生产现场分散控制,然后采用网络联结构成集中管理信息的分布式网络系统。
2.PLC的发展
(1)产品规模向大、小两个方向发展
出现了I/O点数达14336点的超大型PLC,使用32位微处理器,多CPU并行工作并具有大容量存储器,使PLC的扫描速度高速化。如三菱公司的A3H的顺序指令执行速度达到0.2~0.4μs。
小型PLC由整体结构向小型模块结构发展,增加了配置的灵活性。最小配置的I/O点数为8~16点,可以用来代替最小的继电器控制系统,如三菱公司FX系列PLC。
(2)PLC向过程控制渗透与发展
微电子技术的迅速发展,大大加强了PLC的数学运算、数据处理、图形显示及联网通信等功能,使PLC得以向过程控制渗透和发展。
(3)PLC加强了通信功能
为了满足柔性制造单元(FMC)、柔性制造系统(FMS)和工厂自动化(FA)的要求,近年来开发的PLC都加强了通信功能。
(4)新器件和模块不断推出
为了满足工业自动化各种控制系统的需要,近年来,一些工业发达国家利用微电子学、大规模集成电路(LSI)等新技术成果,先后开发了不少新器件和模块。高档的PLC一般都采用多CPU以提高处理速度,用32位微处理器为CPU,使每条指令处理速度达0.5μs的PLC产品已不是少数。
(5)编程工具丰富多样,功能不断提高,编程语言趋向标准化
近年来,用配置相应软件的IBM-PC作为编程器。1984年,西屋公司首先推出以IBM便携式计算机改装成的NLPL-150型程序输入器,用来为该公司的Nema-Logic系列PLC编程。1985年6月,在英国首届PLC会议上,展出了世界上第一台光笔编程器。它可以在屏幕上画出标准的继电器控制电路图,从屏幕下部的菜单中选出元件,再把它移到屏幕的适当部位,画好后程序就编成了,并可转存到可编程序控制器中。
(6)发展容错技术
一些国外公司为了推出高度或绝对可靠的系统,发展容错技术,采用冗余结构和采用热备用或并行工作、多数表决的工作方式。