企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题电力调度自动化系统中数据库和人机界面的设计与实现
技术领域工业以太网
行业
简介针对电力调度自动化系统的特点,分析了数据库和人机界面的特点。运用SQL Server和Delphi开发了调度自动化系统的数据库及友好直观操作简单的人机界面。并就Delphi中数据库的中数据库的配置和操作问题给予了重点说明。
内容

 

0 引言

    电力调度自动化系统(Power Dispatching Automation System)可对电网运行进行合理的管理、调度、控制等,使电力系统实现最优运行,是电力生产自动化和管理现代化的重要基础,高速实时的数据库和友好直观的人机界面是优秀调度系统的前提。

1 数据库设计

    在调度自动化系统中,数据库系统是实现有组织、动态地存储大量电网数据、方便多用户访问的由计算机软硬件资源组成的系统。不论是传统的SCADA系统所具有的数据采集和处理程序,还是各种高级应用程序,或是各类MIS系统,其功能的最终操作对象都是数据,就此意义而言,数据库系统是调度自动化系统的核心。它采用分布式结构和客户/服务器模式,将数据库存放于服务器上,其他用户节点(包括MIS系统)或应用程序作为客户通过通用数据访问接口和DBMS提供的数据访问方式来实现对数据的操作。

1.1 调度自动化系统中数据库设计

    调度自动化系统的特点是实时性强,信息量大。为增强系统的处理能力,提高反应速度,在系统的数据库服务器中开设三个数据库――实时数据库、历史数据库、报警数据库来保存数据。系统采用扫描方式工作,采集实时数据,添加到实时数据库的相应表中,然后对数据进行判断,看其是否超过表中各列所设的阈值,若超过,则将该值复制并添加到报警数据库中相应位置;若该值为开关量,则与上一记录比较看其是否发生跳变,若是则将其复制并添加到报警数据库中。比较完毕后,对数据进行功率因数、视在功率、取最值等运算。然后,判断实时数据库中各表的容量是否已达到设定值,如达到就将首记录导出至历史数据库中相应位置。数据库部分的工作流程如图1。

                              图1 数据库工作流程图

    本文选用Microsoft公司的Microsoft SQL Server数据库,它使用Transact-SQL语句在服务器和客户机之间传送请求,客户机环境可以是 Windows  NT、Windows 2000 Server、Windows 9x、Windows 3.x、MS-DOS、第三方平台和 Internet 浏览器。数据库分布的信息是由系统开发人员在设计之初作为数据库模式的一部分予以定义的,并且保存在数据字典中。本系统通过SQL Server提供的企业管理器和SQL命令编辑器等工具来实现此功能。当用户访问数据库时,由系统根据数据字典进行解释,并决定是否将命令传送到另一节点上。本系统具有各种类型的实时数据,分布在不同的网络节点上并且备有同一实时数据的备份。

    当实时数据库里的数据到达一定容量或一定时间,要对实时实据库中的数据进行存盘,以提高实时数据库接收数据的能力。在SQL Server中开辟历史数据库,将实时数据库中的数据导出到历史数据库中。为方便数据的添加、导出,实时数据库和历史数据库的结构相同。由于历史数据库保存的是电网运行的历史数据,对后续分析十分重要,所以历史数据库的容量要设计的大一些,最好能单独存放于一个磁盘,容量只受磁盘大小的约束。实时显示如图2所示。

                             图2 实时显示界面

    越警数据存入报警数据库中,这一功能通过在表中编写触发器来实现。调度员通过查询报警数据库,可以及时了解电网运行可能存在的隐患。各数据表中以采集时间(Collect_time)为主键,方便查询。报警显示如图3,查询界面如图4。

                            图3 报警显示界面

                            图4 查询界面

1.2 数据库访问 

    开放式数据库访问开放式数据库互连(ODBC)为应用程序提供了一套调用层接口(CLI)函数和基于动态链接库的运行支持环境,具有很好的适应性和可移植性,而且具备同时访问多种数据库系统的能力。客户端在使用ODBC访问数据库之前,必须确保本机已安装了ODBC驱动程序管理器(ODBC32.EXE或ODBC.EXE),然后,由ODBC驱动程序管理器根据已建立的ODBC数据源或应用程序所提供的ODBC调用参数,将客户的连接和操作请求交给相应的数据库ODBC驱动程序。实时数据库访问技术本系统采用Windows NT的动态链接库和内存映射技术,在各个网络节点间建立起一条“数据通道”,即软总线技术,既实现了数据库的分布,又保证了数据的实时性。

    数据库结构和模式调度自动化系统中最主要的公用数据是SCADA数据库,主要是对各厂站、各RTU以及网络等对象的运行情况的反映。因此,本系统在保留表格这一关系型DBMS的基本数据结构的基础上,引入层次和面向对象的概念,根据面向对象不同对其分别进行描述并建立联系。首先将数据按其实时性特征归为实时数据和历史数据两类,以便应用程序分开处理;其次,对于面向调度对象、RTU等设备、网络通信的数据,分别按厂站结构、RTU结构、计算机通信结构予以描述定义,以便监视;再次,按数据类型将遥测、遥信各类数据存放在不同的表中。而在同一表中又按数据点的ID号排列,并以厂站名、RTU名分类,统一数据的定义。同时,为大部分表定义时标、ID等主键和索引,优化了查询能力,提高了数据访问处理效率。除了在SQL Server服务器上直接定义数据模式外,本系统还为用户在客户端定义数据模式开发了专门的应用程序。它具有全图形交互式模式定义界面,可允许用户方便地添加/删除/修改库、表、记录、字段及其属性,定义关键字、索引。

1.3 数据库安全管理

    有关用户的所有信息将被保存在系统数据库中,由数据库管理员统一管理。至于客户端,只要用户的身份或登录标识与其口令一致, SQL Server就允许该用户连接到数据库服务器上,向服务器传递SQL 语句来访问数据库,再根据该用户对于数据库的访问权限来进一步确定用户的访问和操作范围。

2 人机界面设计

    人机界面MMI(Man Machine Interface)作为认与计算机之间传递、交换信息的媒介,是用户使用计算机系统的综合操作环境。

    电力调度自动化系统收集、处理电网运行实时信息,通过人机界面把电网运行状况集中而有选择的显示出来,实现对电网有关设备的监控,并完成经济调度和安全分析,调度自动化系统的人机界面系统中,不同应用的界面往往没有通用性,画面量大类多。

2.1 开发工具

    Delphi是Borland公司的软件产品,是一个优秀的可视化软件开发环境,并已广泛用于数据库软件的开发。在Delphi C/S版环境中,结合其优化的数据库操作,以及Borland Database Engine(即:BDE,数据库引擎),对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径。Delphi有很多优点,如快速应用程序开发,可视化的组件库与面向对象的架构,加速程序编写和减少语法错误,数据库架构等。

2.2 Delphi中数据库的配置及操作

    在SQL Server已经设置完成的情况下,在Delphi进行配置以实现对SQL Server数据库的操作。

    第一步,注册ODBC数据源。这是至关重要的一步,否则就无法实现对数据库的访问。在系统中,我们定义可访问SQL服务器上BJ数据库的数据源test。首先,选择SQL Server类型的数据库,进入“ODBC SQL Server Setup”窗口。然后,定义数据源名称为“test”;定义Server为“SQL Server”;以及网络路径为“\\SQL Server”;最后,按option命令按钮选择访问的数据库为BJ即可。

    第二步,配置BDE。它是Delphi专用的数据库引擎。既可以从Delphi程序组里启动,也可以从Delphi程序项的Tools菜单下启动。Delphi首先调用BDE中的别名,别名再通过BDE中的ODBC Driver直接访问ODBC数据源实现的。而在BDE的ODBC Driver中还可以定义其他ODBC属性,例如语言驱动程序或打开模式等等。首先,在Drivers标记页中,按“New ODBC Driver”添加新的驱动程序。在添加窗口中有三栏需要填写。第一栏SQL Link Driver可任取一名,如:ODBC―test;第二栏Default ODBC Driver中选择SQL Server;在第三栏default Data Source Name中选择刚才注册的数据源test。按OK确认后就增加了一个名为ODBC―test的Delphi ODBC驱动程序。在其右侧的参数表中,还可以设置打开模式OPENMODE、查询模式SQL QRYMODE、SQL语句执行模式SQLPASSTHRUMODE以及语言驱动程序LANGDRIVER等。接下来,在Aliases标记页中,按“New Alias”命令按钮增加一个新的别名。在增加新别名窗口中有两栏需要填写。第一栏为New alias name,可任取一个名字,如:BJ;这个别名就是我们要在Table控件中直接调用的数据库名字。第二栏Alias type选择刚才在Drivers标记页中定义的ODBC―test,最后按OK确认,就增加了一个名为BJ的别名。这样,Table控件可以通过别名BJ,别名BJ通过Delphi的ODBC Drivers(即:ODBC―test),ODBC―test再通过ODBC数据源BJ就可连接到SQL Server服务器上的BJ数据库了。以上相当于完成了在BDE中的注册,接下来就可以进行控件的属性设置了。

    第三步,设置Data Access控件属性以实现与数据库的连接。DataSource1对象就与test数据库的某个表建立了联系。以后,只要对DataSource1对象访问,就可以实现对该表的操作了。设置Data Controls控件属性以实现对数据库的操作。一旦Data Access类的控件被成功打开,处于窗口中的Data Controls标记页的控件就可以使用了。这些控件有DBGrid、DBNavigator、DBText、DBEdit、DBMemo、DBImage、DBListBox、DBComboBox、DBCheckBox以及DBRadioGroup等。这些控件只要设定它们的DataSource和DataFields属性就可以实现对表的读写操作。

3 结论

    调度自动化系统是电力生产自动化和管理现代化的重要基础,本文运用SQL Server 设计实现了调度自动化系统中的客户/服务器式的数据库,运用Delphi开发了人机界面部分功能,并详细介绍了Delphi环境中数据库的配置和应用问题。