2.3 PLC技术
可编程序控制器(Programmable Logic Controller,PLC)以其结构紧凑、灵活、可靠性高、功能强、体积小巧、价格合理等优点早已经成为工业控制的主流技术,当今PLC在微型化、网络化、集成化和开放化方面已经取得了很大进步。
当今的PLC早已不再是早期那种只能进行开关量逻辑控制的产品,其功能越来越强大,而体积却越来越小。其不仅具有高速计数、斜坡、浮点数运算等能力,还具有PID调节、温度控制、精确定位、步进驱动、报表统计、网络通信等功能。PLC技术与DCS(集散控制系统)技术相互渗透、相互融合、相互竞争,差别正逐步缩小,在过程控制领域中发挥着越来越大的作用。
PLC的网络化技术发展迅速。PLC网络系统已不再是自成体系的封闭系统,它的开放性趋势不可阻挡。PLC与上位计算机管理系统联网,实现信息交互,成为整个信息管理系统的一部分。另外,随着现场总线技术的发展与广泛应用,PLC能够与安装在现场的智能化设备(例如智能化仪表、智能传感器、智能型电磁阀、智能型驱动执行机构等)通过传输介质连接在一起来构成工业控制网络,这种网络与单纯的PLC远程网络相比,配置更灵活,扩容更便捷,造价更低,性价比更好,也更具开放性。
2.3.1 PLC简介
PLC是一种以微处理器为核心的,集计算机技术、自动化技术、通信技术于一体的通用工业控制装置。其定义为PLC是一种数字运算操作的电子系统,专为工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种机械或生产过程。PLC及其有关外部设备,都按易于与工业系统连成一个整体、易于扩充其功能的原则设计。
2-1.PLC在工业控制中的应用
技术的发展和功能的拓展使得当今的PLC用PCC(Programmable Computer Controller,可编程序计算机控制器)来表述更为贴切,但由于人们多年来的称呼习惯,在术语中仍沿用PLC这一缩写。
1.PLC模块
模块化的PLC是最常见的,是当今工业应用的主流,它由电源模块、CPU模块、I/O模块、内存、底板或机架等组成,它属于总线式开放型结构,其I/O能力可按用户需要进行扩展与组合。
(1)电源模块
2-2.X20PLC模块生产线
PLC中的电源模块通常是与CPU模块合二为一的,其主要用途是为PLC的各种模块提供工作电源,有的还为输入电路提供24V的工作电源。电源模块的供电电源为AC 220V或DC 24V。
(2) CPU模块
CPU模块是PLC的核心,它按PLC的系统程序赋予的功能接收并存储用户程序和数据,用扫描的方式采集现场输入信号并存入暂存器中。同时,它诊断电源和PLC内部电路的工作状态、编程中的语法错误、检测PLC的工作状态等。PLC运行时,CPU逐条读取用户程序指令,按指令规定的任务产生控制和输出信号。
(3)存储器
存储器用于存储程序及运行数据,通常采用RAM(随机存取存储器)、EEPROM(电可擦可编程只读存储器)、CF(便携式闪存)卡或SD(安全数字存储器)卡。存放系统软件的存储器称为系统程序存储器,存放应用软件的存储器称为用户程序存储器。
(4)输入/输出(I/O)模块
PLC的I/O模块分为开关量I/O模块和模拟量I/O模块。单台PLC携带I/O模块的最大数受电源模块的供电能力和CPU模块管理能力限制,也受最大底板或机架槽数限制。输入模块直接接收现场信号,输出模块可驱动外部负载,例如指示灯、接触器、继电器、电磁阀、电动机等。
(5)通信模块
现代PLC大多具有网络通信功能,能够实现PLC与PLC之间、PLC与上位机之间、其他智能仪表和智能传感器之间的信息交互,组成DCS。另外,远程I/O系统也需配备相应的通信接口模块。不同的通信模块配备有各种通信接口,例如CAN(控制器局域网总线)、RS232、RS485、RS422、以太网口、USB(通用串行总线)、本地扩展接口、远程扩展接口等。
(6)专家/智能模块
当今的PLC还有一些专用的专家/智能模块,例如PID模块、高速计数模块、温度模块、鼓序列发生器、总线模块、称重控制器模块等。
2.PLC的编程语言
PLC的用户程序是设计人员根据控制系统的控制要求,通过PLC编程语言的编制设计完成的。国际电工委员会制定的标准IEC 61131-3规范了PLC的五种编程语言:梯形图(LD)、语句表(IL)、功能块图(FBD)、顺序功能图(SFC)、结构化文本(ST)。
梯形图编程语言是在电气控制系统中常用的接触器、继电器控制原理图的基础上发展演变而来的,由于它与电气操作控制电路图十分相似,具有直观性和对应性,易学易懂易掌握,早期为广大电气工程师所熟悉和喜爱,是PLC发展初期的主要编程语言,至今仍然广泛使用。
语句表编程语言是一种用与汇编语言类似的助记符号进行编程的编程语言,由操作码和操作数组成,它用一系列操作指令组成的助记符号来描述控制系统的控制顺序和逻辑关系,具有容易记忆、便于掌握和操作的特点,适合在无计算机的场合下采用手持式编程器对用户程序进行编制。通常情况下,语句表编程语言与梯形图编程语言一一对应,在PLC编程软件下可以相互转换。
功能块图编程语言以功能块为单位,用图形的形式表达功能,是近年来多用于DCS等控制系统组态的编程语言。由于它采用图形化方式表示功能块之间的连接关系,分析理解控制方案简单容易,具有直观清晰、易于操作和更改等特点,对规模大、控制逻辑关系复杂的控制系统,由于功能块图能够清楚表达功能关系,使编程调试时间大大减少,而且具有数字逻辑电路知识的设计人员很容易掌握这种编程语言,因而受到过程控制工程界的重视,成为PLC一种重要的编程语言。
结构化文本编程语言是用结构化的描述文本来描述程序的一种编程语言,它采用高级语言编制应用程序,特别适用于对复杂控制系统的描述,主要用于采用其他编程语言较难实现的用户程序编制。在大中型PLC控制系统中,常采用这种结构化文本编程语言来描述控制系统中各个变量的关系,但直观性和操作性较差,需要有一定的计算机高级语言的知识和编程技巧,对编程人员的技能要求较高。大多数PLC采用的结构化文本编程语言与BASIC语言、Pascal语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
顺序功能图编程语言是近20年多来才开发的编程语言,是为了满足顺序逻辑控制而设计的,编程时它将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,即采用步描述控制系统的各个操作状态,一步一步地按照顺序进行控制动作。每个活动步对应于一个控制功能任务,每执行一步,相连接的命令或动作被执行。这种编程语言以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解,避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷,对于复杂控制系统的结构有清晰的描述,易于阅读及维护,可大大减轻编程的工作量,用户程序执行时间短,适用于系统的规模较大、程序关系较复杂的场合,受到用户的欢迎。
当今的PLC普遍还具有与个人计算机相容的高级语言,例如C语言、BASIC语言、C++语言等。各个品牌的PLC有各自的软件编程工具,例如贝加莱公司的Automation Studio,罗克韦尔公司的RSLogic等。
PLC编程语言具有如下特点:
1)多样性:PLC编程语言有文本编程语言、图形编程语言,以及可用于文本编程,也可用于图形编程的顺序功能图编程语言。语言的多样性是PLC软件发展的产物,它为PLC的应用提供了良好的操作环境。
2)易操作性:编程人员根据对编程语言的熟悉程度可柔性选择编程语言,从而缩短程序设计时间和调试时间。
3)灵活性:不同编程语言具有不同特点,不同的工程应用,都有最佳的编程方式。
4)兼容性:PLC标准编程语言不仅能够用于不同制造商生产的PLC,也能够用标准编程语言进行控制系统的组态。标准编程语言不仅能够适用于PLC,还能够适用于DCS、现场总线控制系统(FCS)、数据采集和监视(SCADA)系统、运动控制系统等。PLC标准编程语言的软件模型适应各种工业控制系统,它使用户对硬件的依赖性变得越来越小。
5)开放性:PLC编程语言的标准化使开放性得以实现。标准化PLC编程语言中所使用的变量、数据类型、程序、功能和功能块等都有统一表达方式和性能,这使PLC系统成为开放系统。任何一个制造商的产品,只要符合标准编程语言,就能够使用该编程语言进行编程,并能够获得同样的执行结果。开放性系统能够与其他符合开放系统互联通信模型的其他任何一个系统进行信息交换,系统中开发的软件可方便地移植到任何一个符合标准编程语言的其他系统中。
6)可读性:PLC编程语言与常用编程语言的表达方式类似,特别是高级语言的使用,方便用户对其用法的理解,提高了程序的可读性。
7)安全性:PLC编程语言是常用计算机编程语言的沿用、改进和扩展,又由于这些编程语言是标准的,因此,出错的可能性被控制到最小,保证了编程系统的安全性。另外一方面,PLC编程系统还可以提供出错原因列表,不仅使编程操作变得方便,也使应用程序的安全性大大提高;另一方面,标准的系统函数库在被调用时,只需要设置它的外部接口,而不需要改动其内部的代码,因此,PLC编程系统能够安全正确地被使用。
8)非依赖性:PLC编程语言对硬件的非依赖性体现在编程语言基本级测试可以离线进行,测试程序可以检查编程系统语法。
3.PLC的硬件配置
以PLC为核心的控制系统的硬件配置设计涉及如下九个方面:①PLC机型选择;②估算I/O点数;③I/O模块选用;④估算用户程序存储容量;⑤专用功能模块选用;⑥ I/O分配;⑦编程功能;⑧诊断功能;⑨控制功能。
2-3.工作中的PLC模块
2.3.2 人机界面
人机界面(Human Machine Interface,HMI)是人与机器进行交互的操作方式,是人与计算机之间信息传递的媒介,是人与机器间沟通、传达及接收信息的接口,人与硬件和软件结合构成了人机界面,它包括嵌入式硬件平台、操作系统和组态软件,其核心功能是显示信息。目前,人机界面在软件、数据可视化、集成和连接等技术方面的进步与发展,使得人机界面的功能已从最初的参数显示发展成为人机交互、实时传输、过程分析、系统控制等,它面向不同等级的人员以不同的方式显示信息,并一直延伸到企业决策层。人机界面可以帮助用户提高产生效率、降低成本、改进质量且增强盈利能力,这导致了人机界面在工业自动化领域得到了空前的普及。
2-4.人机界面硬件
人机界面系统与工业控制设备(例如PLC、变频器、直流调速器、工业仪表等工业控制设备)相连,利用显示屏显示,通过输入单元(例如触摸屏、鼠标或键盘)写入工作参数或输入操作指令,实现人与机器的信息交互。
人机界面产品由硬件和软件两部分组成。硬件部分包括处理器、显示单元、输入单元、通信接口、数据存储单元等,其中处理器的性能决定了人机界面产品的性能高低,是人机界面的核心单元。根据人机界面的产品等级不同,处理器可分别选用8位、16位、32位处理器。人机界面软件一般分为两部分,即运行于人机界面硬件中的系统软件和运行于PC的Windows操作系统下的画面组态软件。使用者都必须先使用人机界面的画面组态软件制作“工程文件”,再通过PC和人机界面产品的串行通信口,把编制好的“工程文件”下载到人机界面的处理器中运行。
好的人机界面操作简单、美观易懂,且具有引导功能,使用户感觉愉悦、兴趣浓厚,从而提高使用效率。不同品牌的人机界面系统都具有多种规格可供选择,有多种网络连接能力,支持多种PLC驱动,面板具有防尘防水设计,支持复杂应用程序的动态数据显示,适应于各种工业环境。一些人机界面集成了PLC的所有功能,除了人机界面的显示和操作功能外,还具有I/O扩展、集成运动控制、开放的总线接口等功能。借助集成的软件平台可以同时对控制、显示、运动伺服、通信、安全等编程,使整个控制系统的结构更加紧凑。
工业人机界面一般会配套组态软件,以方便客户的图形化编程。组态软件是一种可视化的图形界面编程工具,一般与厂商的硬件配套使用,不同的工业人机界面硬件一般搭配自己的组态软件,当然,人机界面组态软件也开始向开放式的方向发展。工业人机界面系统软件一般分为人机界面中运行的软件和PC上的画面组态软件,设计人员使用PC上的组态软件制作画面项目下载到人机界面中运行。
人机界面选型的主要指标:①显示屏尺寸、色彩、分辨率;②处理器速度性能;③输入方式:触摸屏或薄膜键盘;④画面存储容量;⑤通信口种类及数量;⑥是否支持打印功能。
2.3.3 分时多任务操作系统与I/O处理
现代工业控制任务需求的日益提高要求PLC通常用于完成比较复杂的项目,例如,PLC用于DCS,不同的PLC模块分别完成管理、控制、现场的数据采集与处理,多个PLC控制从站之间的通信等;另一方面,一个系统在完成之后,常常需要扩容,在不改动原有硬件的基础上,系统硬件以模块方式添加进行扩展,同时,系统的原有软件也不改动,新的软件也以模块方式添入;一个复杂项目下的多个任务同时执行。这些都需要分时多任务操作系统的支持。
控制任务对于操作系统的要求是,模块化结构,在一个精确的时间段内迅速、反复地执行应用程序。
在PLC发展初期和中期,常规的PLC大多依赖于单任务的时钟扫描或监控程序来处理程序本身的逻辑运算指令以及外部I/O通道的状态采集与刷新,整个应用程序采用一个循环周期。但事实上,在一个较复杂的控制系统中,虽然往往有一些数据变量的实时性要求很高,但也有很多大惯性的模拟量对实时的要求并不是太高,如果所有的变量都采用同样的刷新速度,这实质上是对资源的浪费。循环顺序扫描的运行机制直接导致了系统的控制速度严重依赖于应用程序的大小,应用程序一旦复杂庞大,控制速度就必然降低,这无疑是与I/O通道高实时性处理的要求相违背。
PLC引入大型计算机的分时多任务操作系统理念,采用分时多任务的运行机制,使得应用任务的循环周期与程序长短并不是那么紧密相关,设计人员可根据工艺需要自由设定应用程序的优先执行顺序,在CPU运算能力允许的前提下,控制周期按照用户的实际要求设定,从而将应用程序的扫描周期与真正外部的控制周期区别开来,满足了实时控制的要求。
分时多任务操作系统可以分为多个任务层,具有以下优点:
1)模块化、结构化的应用软件:在编制用户程序时,一个完整的复杂项目可以分成多个独立的任务来完成。每个任务都是独立的程序部分,它可以完成许多不同的功能(数字量和模拟量的相互关联、控制、定位等)。合理地分配一个项目,可以使应用项目结构化、模块化。
2)用最适合的编程语言创建任务:结构化的优点是每个任务可以用最合适的编程语言来建立,单个的功能容易编写,并且使功能模块化,单个任务的故障处理也变得简单。
3)用户可以按需要设定每个应用任务的循环时间。
4)对于特殊任务的响应时间不受完整程序循环时间的限制。
5)任务维护非常简单。
当使用分时多任务操作系统时,处理器的能力分在多个任务中,可能导致同时处理多个任务数据,因此分时多任务操作系统必须具有如下性能:
1)并行处理几个控制任务。
2)确定多个任务的处理时间。
3)监控任务时灵活设定循环时间。
4)每个任务级别分配一致的I/O映像。
基于分时多任务操作系统平台,PLC的应用程序可分为多个独立的任务模块,用户可以方便地根据控制项目中各子任务的不同功能要求,如数据采集、报警、PID调节运算、通信控制、数据打印等,开发相应的控制任务模块,在分别编制和调试之后,可一同下载至PLC的用户程序存储器中。控制项目中的各子任务在分时多任务操作系统的调度管理下,并行协同运行。
分时处理各个控制任务给控制项目执行带来的好处是设计人员可以根据不同任务对实时性能的不同需求,指定不同的优先等级,确定不同的循环周期,使得这些任务模块既相互独立运行,数据又保持一定的相互关联,从而实现确定的分时多任务控制,即使是某个任务处于等待状态,其他任务也可继续执行。
分时多任务操作系统的运行机制是源于大型应用软件模块化的设计思想。第一,它带来了项目开发效率上的提高,有着常规PLC无法比拟的灵活性。多任务的设计使得各个任务模块的功能描述更趋清晰简洁。第二,用户可以自行开发自己独有的而又同时具有通用性的独立功能模块,将其封装以便于日后在其他应用项目中重新使用。第三,各个不同的任务还可以由开发小组的不同成员分别编制。不同的开发人员基于共同的约定,可以灵活选用符合IEC 1131-3规范的不同编程语言进行任务编程设计,有利于软件设计可靠性的提高,也有益于开发人员短时间内编制出结构清晰、功能明确的控制程序。
2.3.4 系统维护与管理
设备交付客户使用后,经常会遇到排除故障或技术支持需求。例如,参数或工艺的微调需修改程序,设备的扩展升级,排除出现的各种故障等。为了高效解决问题,减小用户损失,PLC控制系统除提高设备及软件的可靠性和稳定性外,借助于现代多种网络通信技术,系统的远程诊断、维护与管理技术应运而生。
1.公共交换电话网络
借助于公共交换电话网络(PSTN),维护人员与远程设备建立电话线连接完成设备监控维护工作。PSTN远程维护如图2.4所示。
在设备端的硬件上只需一台接入电话网络的调制解调器(Modem)即可与设备控制器的RS232接口连接(有些控制器还自带有可选的Modem模块)。远程维护人员需要一台带有Modem的计算机,建立点对点的电话链路,使用维护软件完成包括控制器内变量监视和故障记录的读取维护服务。
值得注意的是,这种连接的通信质量、通信速率取决于电话距离的长短,只有少量的数据交换需求才可以考虑这种方式。
图2.4 PSTN远程维护
2.移动通信网络
借助于全球移动通信系统(GSM)与远程设备建立连接。GSM远程维护如图2.5所示。
图2.5 GSM远程维护
一台GPRS Modem与设备连接,还需要当地移动通信供应商提供的SIM卡,远端的维护人员拨号接入。这种方式带来的最大好处是远程的维护调试人员无论身处何地,都能通过移动电话实时了解设备的情况。当然,长距离的连接可能会导致通信质量下降,故这种方式只能进行简单的数据交换。另外,目前3G或4G网络的应用大大提高了移动通信的带宽和通信速率,使移动网络能像有线网络那样支持各种互联网通信服务。
3.因特网
随着因特网(Internet)技术在工业自动化领域的深入发展,越来越多的新型控制系统配备了因特网接口。基于因特网的设备连接能够大大提高通信数据传输率。因特网远程维护如图2.6所示。
图2.6 因特网远程维护
因特网大大扩展了远程维护手段和服务内容,除了传统的监控、跟踪、轴测试和故障记录等,还支持VNC(Virtual Network Computing,虚拟网络计算)、OPC(OLE for Process control,用于过程控制的对象连接与嵌入)服务器、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocal,简单邮件传输协议)、Web Server(Web服务器)。
1)VNC:采用TCP/IP通信协议,VNC不依赖于特定的操作系统,可以跨平台使用,允许系统用台式机或便携式计算机进行远程控制。那些功能较强的PLC可以在其内部实现VNC服务器功能,远程操作人员利用互联网VNC客户端登录后,显示事先在控制系统内设定好的操作界面并直接操作设备,完成远程控制和维护。
2)OPC服务器:OPC是一种用于过程控制的工业标准,由OPC基金会管理,会员包括世界上所有主要的从事自动化控制、仪器仪表及过程控制的公司。OPC是包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统,供过程控制和制造自动化的客户端使用,使维护人员能够使用组态软件或者基于Windows的应用程序,远程连接到设备控制器中读取过程变量。OPC访问如图2.7所示。
图2.7 OPC访问
3)FTP:FTP用于因特网上的控制文件的双向传输,这样远程维护人员就能够在计算机和设备控制器之间传输文件,即从远程主机“下载”文件至自己的计算机上,“上传”文件至远程控制器上。
4)SMTP:远程维护人员可以利用控制器通过SMTP直接发送E-mail。
5)Web Server:使维护人员能通过HTML网页方式访问控制器中的变量或数据。