1.3 组态软件的构成与组态方式
1.3.1 组态软件的系统构成
组态软件的结构划分有多种标准,下面以使用软件的工作阶段和软件体系的成员构成两种标准讨论其体系结构。
1.以使用软件的工作阶段划分
从总体结构上看,组态软件一般都是由系统开发环境(或称组态环境)与系统运行环境两大部分组成。系统开发环境和系统运行环境之间的联系纽带是实时数据库,三者之间的关系如图1-1所示。
图1-1 系统组态环境、系统运行环境和实时数据库三者之间的关系
1)系统开发环境
系统开发环境是自动化工程设计工程师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。
系统开发环境由若干个组态程序组成,如图形界面组态程序、实时数据库组态程序等。
2)系统运行环境
在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系统运行环境由若干个运行程序组成,如图形界面运行程序、实时数据库运行程序等。
组态软件支持在线组态技术,即在不退出系统运行环境的情况下可以直接进入组态环境并修改组态,使修改后的组态直接生效。
自动化工程设计工程师最先接触的一定是系统开发环境,通过一定工作量的系统组态和调试,最终将目标应用程序在系统运行环境投入实时运行,完成一个工程项目。
一般工程应用必须有一套开发环境,也可以有多套运行环境。在本书的例子中,为了方便,我们将开发环境和运行环境放在一起,通过菜单限制编辑修改功能而实现运行环境。
一套好的组态软件应该能够为用户提供快速构建自己的计算机控制系统的手段。例如,对输入信号进行处理的各种模块、各种常见的控制算法模块、构造人机界面的各种图形要素、使用户能够方便地进行二次开发的平台或环境等。如果是通用的组态软件,还应当提供各类工控设备的驱动程序和常见的通信协议。
2.按照成员构成划分
组态软件因为功能强大,而每个功能相对来说又具有一定的独立性,因此其组成形式是一个集成软件平台,由若干程序组件构成。
组态软件必备的功能组件包括如下6个部分。
1)应用程序管理器
应用程序管理器是提供应用程序的搜索、备份、解压缩、建立应用等功能的专用管理工具。在自动化工程设计工程师应用组态软件进行工程设计时,经常会遇到下面一些烦恼:要进行组态数据的备份;需要引用以往成功项目中的部分组态成果(如画面);需要迅速了解计算机中保存了哪些应用项目。虽然这些工作可以用手动方式实现,但效率低下,极易出错。有了应用程序管理器的支持,这些工作将变得非常简单。
2)图形界面开发程序
图形界面开发程序是自动化工程设计人员为实施其控制方案,在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供图形运行环境运行时使用。
3)图形界面运行程序
在系统运行环境下,图形目标应用系统被图形界面运行程序装入计算机内并投入实时运行。
4)实时数据库系统组态程序
有的组态软件只在图形开发环境中增加了简单的数据管理功能,因而不具备完整的实时数据库系统。目前比较先进的组态软件都有独立的实时数据库组件,以提高系统的实时性、增强处理能力,实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据连接、数据类型及相关的各种参数。
5)实时数据库系统运行程序
在系统运行环境下,目标实时数据库及其应用系统被实时数据库运行程序装入计算机内存,并执行预定的各种数据计算、数据处理任务。历史数据的查询、检索、报警的管理都是在实时数据库系统运行程序中完成的。
6)I/O驱动程序
I/O驱动程序是组态软件中必不可少的组成部分,用于I/O设备通信,互相交换数据。DDE和OPC客户端是两个通用的标准I/O驱动程序,用来支持DDE和OPC标准的I/O设备通信,多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中,而OPC客户端则多数单独存在。
1.3.2 常见的组态方式
下面介绍几种常见的组态方式。由于目前有关组态方式的术语还未能统一,因此,本书中所用的术语可能会与一些组态软件所用的有所不同。
1.系统组态
系统组态又称系统管理组态(或系统生成),这是整个组态工作中的第一步,也是最重要的一步。系统组态的主要工作是对系统的结构及构成系统的基本要素进行定义。以DCS的系统组态为例,硬件配置的定义包括:选择什么样的网络层次和类型(如宽带、载波带);选择什么样的工程师站、操作员站和现场控制站(I/O控制站)(如类型、编号、地址、是否为冗余等)及其具体的配置;选择什么样的I/O模块(如类型、编号、地址、是否为冗余等)及其具体的配置。有的DCS的系统组态可以做得非常详细。例如,机柜、机柜中的电源、电缆与其他部件,各类部件在机柜中的槽位,打印机及各站使用的软件等,都可以在系统组态中进行定义。系统组态的过程一般都是用图形加填表的方式。
2.控制组态
控制组态又称控制回路组态,这同样是一种非常重要的组态。为了确保生产工艺的实现,一个计算机控制系统要完成各种复杂的控制任务。例如,各种操作的顺序动作控制,各个变量之间的逻辑控制及对各个关键参量采用各种控制(如PID、前馈、串级、解耦,甚至是更为复杂的多变量预控制、自适应控制)。因此,有必要生成相应的应用程序来实现这些控制。组态软件往往会提供各种不同类型的控制模块,组态的过程就是将控制模块与各个被控变量相联系,并定义控制模块的参数(例如,比例系数、积分时间)。另外,对于一些被监视的变量,也要在信号采集之后对其进行一定的处理,这种处理也是通过软件模块来实现的。因此,也需要将这些被监视的变量与相应的模块相联系,并定义有关的参数。这些工作都是在控制组态中来完成。
由于控制问题往往比较复杂,组态软件提供的各种模块不一定能够满足现场的需要,这就需要用户作进一步的开发,即自己建立符合需要的控制模块。因此,组态软件应该能够给用户提供相应的开发手段。通常可以有两种方法:一是用户自己用高级语言来实现,然后再嵌入系统中;二是由组态软件提供脚本语言。
3.画面组态
画面组态的任务是为计算机控制系统提供一个方便操作员使用的人机界面。显示组态的工作主要包括两个方面:一是画出一幅(或多幅)能够反映被控制的过程概貌的图形,二是将图形中的某些要素(例如,数字、高度、颜色)与现场的变量相联系(又称数据连接或动画连接),当现场的参数发生变化时,就可以及时地在显示器上显示出来,或者是通过在屏幕上改变参数来控制现场的执行机构。
现在的组态软件都会为用户提供丰富的图形库。图形库中包含大量的图形元件,只需在图库中将相应的子图调出,再做少量修改即可。因此,即使是完全不会编程序的人也可以“绘制”出漂亮的图形来。图形又可以分为两种:一种是平面图形,另一种是三维图形。平面图形虽然不是十分美观,但占用内存少,运行速度快。
数据连接分为两种:一种是被动连接,另一种是主动连接。对于被动连接,当现场的参数改变时,屏幕上相应数字量的显示值或图形的某个属性(如高度、颜色等)也会相应改变。对于主动连接方式,当操作人员改变屏幕上显示的某个数字值或某个图形的属性(例如高度、位置等)时,现场的某个参量就会发生相应的改变。显然,利用被动连接就可以实现现场数据的采集与显示,而利用主动连接就可以实现操作人员对现场设备的控制。
4.数据库组态
数据库组态包括实时数据库组态和历史数据库组态。实时数据库组态的内容包括数据库各点(变量)的名称、类型、工位号、工程量转换系数上下限、线性化处理、报警限和报警特性等。历史数据库组态的内容包括定义各个进入历史库数据点的保存周期,有的组态软件将这部分工作放在了历史组态之中,还有的组态软件将数据点与I/O设备的连接放在数据库组态之中。
5.报表组态
一般的计算机控制系统都会带有数据库。因此,可以很轻易地将生产过程形成的实时数据形成对管理工作十分重要的日报、周报或月报。报表组态包括定义报表的数据项、统计项、报表的格式及打印报表的时间等。
6.报警组态
报警功能是计算机控制系统很重要的一项功能,它的作用就是当被控或被监视的某个参数达到一定数值的时候,以声音、光线、闪烁或打印机打印等方式发出报警信号,提醒操作人员注意并采取相应的措施。报警组态的内容包括报警的级别、报警限、报警方式和报警处理方式的定义。有的组态软件没有专门的报警组态,而是将其放在控制组态或显示组态中顺便完成报警组态的任务。
7.历史组态
由于计算机控制系统对实时数据采集的采样周期很短,形成的实时数据很多,这些实时数据不可能也没有必要全部保留,可以通过历史模块将浓缩实时数据形成有用的历史记录。历史组态的作用就是定义历史模块的参数,形成各种浓缩算法。
8.环境组态
由于组态工作十分重要,如果处理不好,就会使计算机控制系统无法正常工作,甚至会造成系统瘫痪。因此,应当严格限制组态的人员。一般的做法是:设置不同的环境,例如,过程工程师环境、软件工程师环境及操作员环境等。只有在过程工程师环境和软件工程师环境中才可以进行组态,而操作员环境就只能进行简单的操作。为此,还引出了环境组态的概念。所谓环境组态,是指通过定义软件参数,建立相应的环境。不同的环境拥有不同的资源,且环境是有密码保护的。还有一个办法就是:不在运行平台上组态,组态完成后再将运行的程序代码安装到运行平台中。