新型的工业自动控制系统正以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统,其具有适应性强、开放性好、易于扩展、比较经济、开发周期短等明显优点。通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。
其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且常在自动控制系统中完成上传下达、组态开发的重要作用。监控层的硬件以工业级的微型计算机和工作站为主,目前更趋向于工业微机。
组态软件:一般英文简称有三种分别为HMI/MMI/SCADA,对应全称为Human and Machine Interface/Man and Machine Interface /Scan Control Alarm Database,中文翻译为:人机界面软件/扫描报警控制数据库软件。指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和I/O产品,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。目前世界上有不少专业厂商包括专业软件公司和硬件/系统厂商生产和提供各种组态软件产品。
一.组态软件的特点
组态软件最突出的特点就是实时多任务。数据的输入输出,数据的处理,显示,存储,及管理等多个任务需在同一个系统中同步快速的运行。
组态软件的用户是自动化工程设计人员,组态软件的目的是让用户迅速开发出适合自己需要的应用系统。因此,组态软件一般具备一下特点:
1.使用简单,用户只需编写少量自己所需要的控制算法代码,甚至可以不写代码。
2.运行可靠,用户在组态软件平台上开发出的应用系统可以长时间的连续可靠运行,运行期间实现免维护。
3.提供数据采集设备的驱动程序,以把控制现场的数据采集到计算机中,并把运算的控制结果送回到控制现场的执行机构。
4.提供自动化应用系统所需的通用监控软件的组件。
5.强大的图形设计工具。
二、组态软件产生的背景
“组态”的概念是伴随着集散型控制系统(DistributedControlSystem简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。在工业控制技术的不断发展和应用过程中,PC(包括工控机)相比以前的专用系统具有的优势日趋明显。这些优势主要体现在:PC技术保持了较快的发展速度,各种相关技术已臻成熟;由PC构建的工业控制系统具有相对较低的拥有成本;PC的软件资源和硬件资丰富,软件之间的互操作性强;基于PC的控制系统易于学习和使用,可以容易地得到技术方面的支持。在PC技术向工业控制领域的渗透中,组态软件占据着非常特殊而且重要的地位。
组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI(人机接口软件,HMI)的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具,或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件的功能,构建一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容。
三、组态软件的系统构成
在组态软件中,通过组态生成的一个目标应用项目在计算机硬盘中占据唯一的物理空间(逻辑空间),可以用唯一的一个名称来标识,就被称为一个应用程序。在同一计算机中可以存储多个应用程序,组态软件通过应用程序的名称来访问其组态内容,打开其组态内容进行修改或将其应用程序装入计算机内存投入实时运行。
组态软件的结构划分有多种标准,这里以使用软件的工作阶段和软件体系的成员构成两种标准讨论其体系结构。
组态软件的结构划分
①以使用软件的工作阶段划分
也可以说是按照系统环境划分,从总体上讲,组态软件是由两大部分构成的:
系统开发环境:是自动化工程设计工程师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。
系统开发环境由若干个组态程序组成,如图形界面组态程序、实时数据库组态程序等。
系统运行环境:在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系统运行环境由若干个运行程序组
成,如图形界面运行程序、实时数据库运行程序等。
组态软件支持在线组态技术,即在不退出系统运行环境的情况下可以直接进入组态环境并修改组态,使修改后的组态直接生效。
自动化工程设计工程师最先接触的一定是系统开发环境,通过一定工作量的系统组态和调试,最终将目标应用程序在系统运行环境投入实时运行,完成一个工程项目。
②按照成员构成划分
组态软件因为其功能强大,而每个功能相对来说又具有一定的独立性,因此其组成形式是一个集成软件平台,由若干程序组件构成。
其中必备的典型组件包括:
·应用程序管理器
应用程序管理器是提供应用程序的搜索、备份、解压缩、建立新应用等功能的专用管理工具。在自动化工程设计工程师应用组态软件进行工程设计时,经常会遇到下面一些烦恼:经常要进行组态数据的备份;经常需要引用以往成功应用项目中的部分组态成果(如画面);经常需要迅速了解计算机中保存了哪些应用项目。虽然这些要求可以用手工方式实现,但效率低下,极易出错。有了应用程序管理器的支持,这些操作将变得非常简单。
·图形界面开发程序
是自动化工程设计工程师为实施其控制方案,在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供图形运行环境运行时使用。
·图形界面运行程序
在系统运行环境下,图形目标应用系统被图形界面运行程序装入计算机内存并投入实时运行。
·实时数据库系统组态程序
有的组态软件只在图形开发环境中增加了简单的数据管理功能,因而不具备完整的实时数据库系统。目前比较先进的组态软件(如力控等)都有独立的实时数据库组件,以提高系统的实时性,增强处理能力。实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据连接、数据类型及相关的各种参数。
·实时数据库系统运行程序
在系统运行环境下,目标实时数据库及其应用系统被实时数据库系统运行程序装入计算机内存并执行预定的各种数据计算、数据处理任务。历史数据的查询、检索、报警的管理都是在实时数据库系统运行程序中完成的。
·I/O驱动程序
这是组态软件中必不可少的组成部分,用于和I/O设备通讯,互相交换数据,DDE和OPC Client是两个通用的标准I/O驱动程序,用来和支持DDE标准和OPC标准的I/O设备通讯。多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中,而OPC Client则多数单独存在。
扩展可选组件包括:
·通用数据库接口(ODBC接口)组态程序
通用数据库接口组件用来完成组态软件的实时数据库与通用数据库(如Oracle、Sybase、Foxpro、DB2、Infomix、SQL Server等)的互联,实现双向数据交换,通用数据库既可以读取实时数据,也可以读取历史数据;实时数据库也可以从通用数据库实时地读入数据。通用数据库接口(ODBC接口)组态环境用于指定要交换的通用数据库的数据库结构、字段名称及属性、时间区段、采样周期、字段与实时数据库数据的对应关系等。
·通用数据库接口(ODBC接口)运行程序
已组态的通用数据库连接被装入计算机内存,按照预先指定的采样周期,对规定时间区段按照组态的数据库结构建立起通用数据库和实时数据库间的数据连接。
·策略(控制方案)编辑组态程序
·策略编辑/生成组件
是以PC为中心实现低成本监控的核心软件,具有很强的逻辑、算术运算能力和丰富的控制算法。策略编辑/生成组件以IEC-1131-3标准为使用者提供标准的编程环境,共有4种编程方式:梯形图、结构化编程语言、指令助记符、模块化功能块。使用者一般都习惯于使用模块化功能块,根据控制方案进行组态,结束后系统将保存组态内容并对组态内容进行语法检查、编译。
编译生成的目标策略代码即可以与图形界面同在一台计算机上运行,也可以下装(Download)到目标设备(如PC/104、Windows CE系统等PC-Based设备)上运行。
·策略运行程序
组态的策略目标系统被装入计算机内存并执行预定的各种数据计算、数据处理任务,同时完成与实时数据库的数据交换。
·实用通讯程序组件
实用通讯程序极大地增强了组态软件的功能,可以实现与第三方程序的数据交换,是组态软件价值的主要表现之一。通讯实用程序具有以下功能:
可以实现操作站的双机冗余热备用;
实现数据的远程访问和传送;
通讯实用程序可以使用以太网、RS485、RS232、PSTN等多种通讯介质或网络实现其功能。实用通讯程序组件可以划分为Server和Client两种类型,Server是数据提供方,Client是数据访问方,一但Server和Client建立起了连接,二者间就可以实现数据的双向传送。
四.组态软件的功能分析
1.丰富的画面显示组态功能
组态软件应提供给用户丰实方便的作图工具.因为大中型控制系统要有大量的图形画面,而这些图形画面对开发人员是费时费力的组态软件应提供大量常用的工业设备图符、仪表图符等还应提供趋势图、历史曲线图等。
2.通信功能与良好的开放性
组态软件向下应能与数采部份硬件通讯,向上应能与高层管理网互联。开放性是指组态软件能与多种通讯协议互连,支持多种硬件设备。组态软件要在冶金、电力、机械等各行各业通用,必须满足不同的测点要求.必须适应各类测控硬件设备。
3.组态软件完善功能多样
组态软件应提供工业标准数学模型库和控制功能库,满足用户所需的测控要求,而不应将固定的模式强加给用户;组态软件应对测控信息进行记录存贮、显示、计算、分析、打印,界面操作应灵活方便,数据要考虑安全性,如设口令等。
4.软件环境的选择
随着面向图形的windows操作系统普及.基于windows环境的组态软件不断出现,极大地丰富了监控系统的显示画面,但实时性、可靠性与多任务存在着矛盾,侧重监视的系统选择windows环境。而基于Dos系统的组态软件图形功能弱,但实时性、可靠性好。
5.汉化性及硬件执行速度
日前,我国大多数企业操作人员要求软件显示汉语易于接受和使用。随着硬件性能提高价格下跌.开发人员应该选择较高档次的计算机和大容量的内存,以适应windows环境,满足控制系统对趋势图、历史曲线图、等方面的工艺要求。
6.测控点规模及性能价格比
测控点的管理数量是衡量组态软件的重要参数。大型测控点系统要求强大的图形工具、丰富的菜单命令、完善的测点管理。大型组态软件用在中小型系统费用高,中小型组态软件满足不了多测点的性能要求。
五.组态软件的发展和现状
在二十世纪80年代后期,由于个人计算机的普及,PC机开始走上工业监控的历史舞台,与此同时开始出现基于PC总线的各种数据I/O板卡,加上软件工业的迅速发展,开始有人研究和开发通用的PC监控软件——组态软件。世界上第一个把组态软件作为商品进行开发,销售的专业软件公司是美国Wonderware公司,它于80年代末率先推出第一个商品化监控组态软件Intouch。此后组态软件得到了迅猛发展。目前世界上的组态软件有几十种之多,国际上较知名的监控组态软件有:Fix,Intouch,Wince,LadView,Citech等。
在当前的工业自动化领域,监控软件是一个热点,据统计,在国内,从事组态软件开发的公司达几十家之多,从事组态软件的工作的人员达两千人之多,而且,这些厂家都在高速的发展,不断的扩大。在工控组态软件行业,真可谓是:百家争鸣,百花齐放。
六、组态软件在我国的发展
组态软件产品于80年代初出现,并在80年代末期进入我国。但在90年代中期之前,组态软件在我国的应用并不普及。究其原因,大致有以下几点:
①国内用户还缺乏对组态软件的认识,项目中没有组态软件的预算,或宁愿投入人力物力针对具体项目做长周期的繁冗的上位机的编程开发,而不采用组态软件;
②在很长时间里,国内用户的软件意识还不强,面对价格不菲的进口软件(早期的组态软件多为国外厂家开发),很少有用户愿意去购买正版。
③当时国内的工业自动化和信息技术应用的水平还不高,组态软件提供了对大规模应用、大量数据进行采集、监控、处理并可以将处理的结果生成管理所需的数据,这些需求并未完全形成。
随着工业控制系统应用的深入,在面临规模更大、控制更复杂的控制系统时,人们逐渐意识到原有的上位机编程的开发方式。对项目来说是费时费力、得不偿失的,同时,MIS(管理信息系统,ManagementInformationSystem)和CIMS(计算机集成制造系统,ComputerIntegratedManufacturingSystem)的大量应用,要求工业现场为企业的生产、经营、决策提供更详细和深入的数据,以便优化企业生产经营中的各个环节。因此,在1995年以后,组态软件在国内的应用逐渐得到了普及。
七、组态软件的功能特点发展方向
目前看到的所有组态软件都能完成类似的功能:比如,几乎所有运行于32位Windows平台的组态软件都采用类似资源浏览器的窗口结构,并且对工业控制系统中的各种资源(设备、标签量、画面等)进行配置和编辑;都提供多种数据驱动程序;都使用脚本语言提供二次开发的功能,等等。但是,从技术上说,各种组态软件提供实现这些功能的方法却各不相同。从这些不同之处,以及PC技术发展的趋势,可以看出组态软件未来发展的方向。
1.数据采集的方式
大多数组态软件提供多种数据采集程序,用户可以进行配置。然而,在这种情况下,驱动程序只能由组态软件开发商提供,或者由用户按照某种组态软件的接口规范编写,这为用户提出了过高的要求。由OPC基金组织提出的OPC规范基于微软的OLE/DCOM技术,提供了在分布式系统下,软件组件交互和共享数据的完整的解决方案。在支持OPC的系统中,数据的提供者作为服务器(Server),数据请求者作为客户(Client),服务器和客户之间通过DCOM接口进行通信,而无需知道对方内部实现的细节。由于COM技术是在二进制代码级实现的,所以服务器和客户可以由不同的厂商提供。在实际应用中,作为服务器的数据采集程序往往由硬件设备制造商随硬件提供,可以发挥硬件的全部效能,而作为客户的组态软件可以通过OPC与各厂家的驱动程序无缝连接,故从根本上解决了以前采用专用格式驱动程序总是滞后于硬件更新的问题。同时,组态软件同样可以作为服务器为其他的应用系统(如MIS等)提供数据。OPC现在已经得到了包括Interllution、Simens、GE、ABB等国外知名厂商的支持。
随着支持OPC的组态软件和硬件设备的普及,使用OPC进行数据采集必将成为组态中更合理的选择。
2.脚本的功能
脚本语言是扩充组态系统功能的重要手段。因此,大多数组态软件提供了脚本语言的支持。具体的实现方式可分为三种:一是内置的类C/Basic语言;二是采用微软的VBA的编程语言;三是有少数组态软件采用面向对象的脚本语言。类C/Basic语言要求用户使用类似高级语言的语句书写脚本,使用系统提供的函数调用组合完成各种系统功能。应该指明的是,多数采用这种方式的国内组态软件,对脚本的支持并不完善,许多组态软件只提供IF…THEN…ELSE的语句结构,不提供循环控制语句,为书写脚本程序带来了一定的困难。微软的VBA是一种相对完备的开发环境,采用VBA的组态软件通常使用微软的VBA环境和组件技术,把组态系统中的对象以组件方式实现,使用VBA的程序对这些对象进行访问。由于VisualBasic是解释执行的,所以VBA程序的一些语法错误可能到执行时才能发现。而面向对象的脚本语言提供了对象访问机制,对系统中的对象可以通过其属性和方法进行访问,比较容易学习、掌握和扩展,但实现比较复杂。
3.组态环境的可扩展性
可扩展性为用户提供了在不改变原有系统的情况下,向系统内增加新功能的能力,这种增加的功能可能来自于组态软件开发商、第三方软件提供商或用户自身。增加功能最常用的手段是ActiveX组件的应用,目前还只有少数组态软件能提供完备的ActiveX组件引入功能及实现引入对象在脚本语言中的访问。
4.组态软件的开放性
随着管理信息系统和计算机集成制造系统的普及,生产现场数据的应用已经不仅仅局限于数据采集和监控。在生产制造过程中,需要现场的大量数据进行流程分析和过程控制,以实现对生产流程的调整和优化。现有的组态软件对大部分这些方面需求还只能以报表的形式提供,或者通过ODBC将数据导出到外部数据库,以供其他的业务系统调用,在绝大多数情况下,仍然需要进行再开发才能实现。随着生产决策活动对信息需求的增加,可以预见,组态软件与管理信息系统或领导信息系统的集成必将更加紧密,并很可能以实现数据分析与决策功能的模块形式在组态软件中出现。
5.对Internet的支持程度
现代企业的生产已经趋向国际化、分布式的生产方式。Internet将是实现分布式生产的基础。组态软件能否从原有的局域网运行方式跨越到支持Internet,是摆在所有组态软件开发商面前的一个重要课题。限于国内目前的网络基础设施和工业控制应用的程度,笔者认为,在较长时间内,以浏览器方式通过Internet对工业现场的监控,将会在大部分应用中停留于监视阶段,而实际控制功能的完成应该通过更稳定的技术,如专用的远程客户端、由专业开发商提供的ActiveX控件或Java技术实现。
6.组态软件的控制功能
随着以工业PC为核心的自动控制集成系统技术的日趋完善和工程技术人员的使用组态软件水平的不断提高,用户对组态软件的要求已不像过去那样主要侧重于画面,而是要考虑一些实质性的应用功能,如软件PLC,先进过程控制策略等。
软PLC产品是基于PC机开放结构的控制装置,它具有硬PLC在功能、可靠性、速度、故障查找等方面的特点,利用软件技术可将标准的工业PC转换成全功能的PLC过程控制器。软PLC综合了计算机和PLC的开关量控制、模拟量控制、数学运算、数值处理、通信网络等功能,通过一个多任务控制内核,提供了强大的指令集、快速而准确的扫描周期、可靠的操作和可连接各种I/O系统及网络的开放式结构。所以可以这样说,软PLC提供了与硬PLC同样的功能,而同时具备了PC环境的各种优点。目前,国际上影响比较大的产品有:法国CJInternational公司的ISaGRAF软件包、PCSoftInternational公司的WinPLC、美国WizdomControlIntellution公司的Paradym-31、美国MooreProcessAutomationSolutions公司ProcessSuite、美国WonderwareControls公司的InControl、SoftPLC公司的SoftPLC等。国内推出软PLC产品的组态软件还不见有,国内组态软件要想全面超过国外的竞争对手,就必须搞创新,推出类似功能的产品。
随着企业提出的高柔性、高效益的要求,以经典控制理论为基础的控制方案已经不能适应,以多变量预测控制为代表的先进控制策略的提出和成功应用之后,先进过程控制受到了过程工业界的普遍关注。先进过程控制(AdvancedProcessControl,APC)是指一类在动态环境中,基于模型、充分借助计算机能力,为工厂获得最大理论而实施的运行和控制策略。先进控制策略主要有:双重控制及阀位控制、纯滞后补偿控制、解耦控制、自适应控制、差拍控制、状态反馈控制、多变量预测控制、推理控制及软测量技术、智能控制(专家控制、模糊控制和神经网络控制)等,尤其智能控制已成为开发和应用的热点。目前,国内许多大企业纷纷投资,在装置自动化系统中实施先进控制。国外许多控制软件公司和DCS厂商都在竞相开发先进控制和优化控制的工程软件包。据资料报道,一个乙烯装置投资163万美元实施先进控制,完成后预期可获得效益600万美元/年。从上可以看出能嵌入先进控制和优化控制策略的组态软件必将受到用户的极大欢迎。
八、结束语
用户的需求促使技术不断进步,在组态软件上这种趋势体现得尤为明显。未来的组态软件将是提供更加强大的分布式环境下的组态功能、全面支持ActiveX、扩展能力强、支持OPC等工业标准、控制功能强、并能通过Internet进行访问的开放式系统。