SCADA系统连载之三——SCADA主站系统(中)

2.3. 系统软件构成

系统软件庞大而复杂,其软件划分有时候类似于盲人摸象,怎么看都有其道理。软件划分的目的是为了软件的编制和维护。一个好的软件架构超过一堆程序员的辛苦努力。软件划分的方法一般分为模块方法,把软件划成很多的模块,软件通过模块通讯的方法进行耦合,对于简单的程序一般采用模块法。模块间的接口只要定义清楚,修改一个模块不会影响到其它模块的功能。

还有一种划分方法是层次法,把软件分为很多层,软件是按照层次关系进行操作,比如对于操作系统就必须按照层次进行分析,层次法的好处对于某一层不满意,只有层间的关系划分得很合理,就可以重新编写一个层替换原来的层,而不需要修改其它代码。

而实际上对于复杂的软件系统一般采用的是模块层次的划分方法,既要按照层的概念定义操作的层次关系,又要按照模块的方法划分同层间的模块关系。

监控系统的层次构成如下,但实际为了软件编制的方便和软件的效率,也未必完全按照这个层次模型进行划分和编写,因为完全模块化和层次化后系统的效率可能很低,影响性能,允许跨层次的访问,一般不允许跨模块的访问。

 

 

 

上层应用软件          

数据挖掘软件

状态分析软件

WEB发表

图形界面

图形工具

报警

历史数据

其它应用

实时数据库

数据库服务器/GIS服务器

规约接口

OPC

OLE

其它接口

操作系统

硬件驱动

图形接口

文件系统

网络系统

 

2.3.1.    规约接口模块

从软件划分的角度看规约接口模块是整个监控软件直接和控制设备打交道的,从监控系统的数据来源来看它是最底层的数据提供者,它所服务的对象是实时数据库。它是系统数据的来源,也是系统操作执行的输出模块。

一般按照规约不同,进行模块的划分,不同的规约采用不同的模块实现,OPCOLE由专门的模块实现,不同的OPCOLE采用不同的模块实现。

规约的实现有的是没有层次的,很多也是有层次的。具有层次的规约好处在于在一种通讯模式下的规约很容易在其它通讯模式下实现。规约的调度可以采用单线程或者多线程的方式,单线程实现简单,容易管理,但是效率低。多线程的优点在于效率高,缺点是编写复杂管理复杂。

所有的规约都可以用有限状态机模型进行描述,采用状态机,画出状态转移图后,编写程序时,可以非常清楚状态间的转移和转移条件,避免进入死状态或者出现饿死的状态。

其实规约很多都是有其层次结构的,一般包括物理层、链路层和应用层(不可能采用七层模型,那样太复杂效率太低,软件编写业太复杂),实现时也按照层次实现。协议的分层是指协议报文的头和内容的关系,下层一般把上层的数据作为载荷使用。

规约接口模块可以由软件在前置系统实现,也可以通过硬件(网关设备)实现。所有的数据都写入实时数据库。

现在SCADA系统的规约很多,关于规约的问题在其它章节阐述。

2.3.2.    实时数据库

先进的监控组态软件都有一个实时数据库作为整个系统数据处理、数据组织和管理的核心。也有人称其为数据词典。实时数据库与基于传统数据库技术的数据库(如:关系数据库)在原理、实现技术、功能和系统性能方面有很大的不同。集成了实时数据库功能的组态软件的应用范围更为广阔,尤其是在时间关键型应用中。

但实时数据库并不是数据库技术和实时系统两者的简单结合,它在概念、理论、技术、方法和机制方面具备自身特点。如:数据库的结构与组织;数据处理的优先级控制、调度和并发控制协议与算法;数据和事务特性的语义及其与一致性、正确性的关系;数据查询/事务处理算法与优化;I/O调度、恢复、通信的协议与算法,等等,这些问题之间彼此高度相关。

实时数据库无缝地集成了数据库与定时性,在对数据库能力和实时处理技术两者均有要求的各种领域有着极其广泛的应用前景,集成了实时数据库的监控组态软件,对多种工程或过程及时间关键型应用更是必要而迫切的,为国家的现代化尤其是自动化建设及国民经济的发展提供有力的、必不可少的支持,在信息技术、信息高速公路及信息产业的建设中起到重大作用。

利用实时数据库可以完成以下应用:

1. 记录实时过程的历史数据,用于过程存档、历史数据查询、事故分析、系统建模等。

2. 连接各种类型的自控设备(如:DCSPLC、智能模块、板卡、智能仪表、控制器、变频器等),配以监控界面,实现自动监控。

3. 通过数据库网络通讯功能构建分布式应用系统。

4. 运行在控制系统(包括DCS大型控制系统或其它中小控制系统)的上位机中,在数据库上运行先进控制软件、优化控制软件和其它用户应用程序,在客户机上运行各种界面监控软件,快捷方便地实现可扩展的先进控制或优化控制的目标。

5. 连接多种控制系统和设备,实现车间级、分厂级及总厂级实时数据综合利用和管理。

6. 配合关系数据库管理系统,构建生产指挥调度系统及其它管控一体化系统。

7. 通过数据的Web功能,利用Internet/Intranet资源,在浏览器上访问生产过程数据。

8. 完全的开放功能,以实时数据库为平台进行再次开发。

2.3.3.    图形界面

指将采集的数据,用各种计算机图形技术展示给使用者而提供给使用者的界面。

主要包括图和动画连接。图指展示给用户的图形,动画链接是指让图随着数据的改变而发生变化。比如在图上存在一个指示灯,与实时数据库内的一个离散变量X进行动画连接,那么当X=0时至少灯为绿色,X=1时指示灯为红色。不同的软件对动画连接的叫法不一样,动画连接的词最早见于组态软件。

为了方便用户根据需要产生各种方便的图形,一般主站软件给用户提供了很多类型的图元供用户使用。图元大体可以分为:

基本图元如点、线、矩形、圆形、文字等,这些图元的形状、颜色、填充、文字等在动画连接后可以随着变量的改变而改变。

复杂图元可以是综合了很多基本图元而生成的图元,它的属性更多,更为复杂,比如X-Y曲线,圆饼图,指示仪表。

对象图元更为复杂,也更利于用户的使用,比如可以把一个炉子定义成一个对象图元,把一个管道定义为对象图元。

结合GIS系统,可以对数据进行多个层面多维度的展现。在很多的SCADA系统中需要了解采集控制对象和地理分布的关系,这就需要强大的GIS系统的支持。目前的主站软件把这二者结合的不是很多。

2.3.4.