基于多平台电力监控组态软件的开发.pdf
《基于多平台电力监控组态软件的开发.pdf》由会员分享,可在线阅读,更多相关《基于多平台电力监控组态软件的开发.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3 4 卷第1 期5 82 0 0 6 年1 月1 日继电器R E L A YV 0 1 3 4N o 1J a n 1 2 0 0 6基于多平台电力监控组态软件的开发周启文,游大海,邓鹏(华中科技大学电气与电子工程学院,湖北武汉4 3 0 0 7 4)摘要:在未来一段时间内电力系统自动化仍将是多平台共存的现象,能够兼容多种操作系统平台是组态软件发展的方向之一。该文通过介绍Q t 这种新的开发工具包,将其应用到电力自动化软件设计开发中,从而实现应用程序跨平台的能力。关键词:电力系统;S C A D A;跨平台;Q t;组态软件;F L A S H中图分类号:T M 7 6 9文献标识码:A文
2、章编号:1 0 0 3 _ 4 8 9 7(2 0 0 6)0 1J D 0 5 8 _ 0 40引言随着工业自动化水平的迅速提高,计算机在电力领域的广泛应用,人们对电力自动化的要求越来越高,种类繁多的控制设备和过程监控装置在电力领域的应用,使得传统的电力控制软件已无法满足用户的各种需求。通用电力自动化组态软件的出现提供了一种崭新的方法,使用户能根据自己的控制对象和控制目的的任意组态,完成最终的自动化控制工程。组态(C o n f i g u r a t i o n)为模块化任意组合。通用组态软件主要特点有:1)延续性和可扩充性。用通用组态软件开发的应用程序,当现场(包括硬件设备或系统结构)或
3、用户需求发生改变时,不需作很多修改而方便地完成软件的更新和升级;2)封装性(易学易用),通用组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户,不需掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能;3)通用性,每个用户根据工程实际情况,利用通用组态软件提供的底层设备(P L C、智能仪表、智能模块、板卡、变频器等)的I OD r i v e r、开放式的数据库和画面制作工具,就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和网络功能的工程,不受行业限制。1。最早开发的通用组态软件是D 0 s 环境下的组态软件,其
4、特点是具有简单的人机界面(M M I)、图库、绘图工具箱等基本功能。随着w i n d o w s 的广泛应用,w i n d o w s 环境下的组态软件成为主流。与D 0 s 环境下的组态软件相比,其最突出的特点是图形功能有了很大的增强。目前在我国电力自动化系统中各工控机、服务器使用的操作系统相当复杂,从W i n d o w s N T,W i n d o w s 2 0 0 0 至0S u nS o l a r i s,C o m p a qT m 6 4u N I x。而随着L i n u x 操作系统的日益成熟,在未来的一段时间内电力自动化将是u N I x、w i n d o w
5、 s、L i n u x 三大主流操作系统长期并存的局面。而针对不同的操作系统开发相关的变电站监控软件也将是未来面临的一个问题。虽然目前我国变电站监控系统已经相当成熟,在w i n d o w s 和U N I x 平台下都有很多产品出现。但是大部分都是同一系统在不同平台下分别开发,真正实现跨平台的软件很少,而且界面风格,运行操作差别很大,对于开发人员和现场操作人员来说都不是很方便。另外由于u N I x 下的软件开发技术起点较高,开发成本较大,对于中小企业来说面临一定风险。如果能够开发一套在三大平台都能使用的真正跨平台的监控系统,那么无疑是有很大吸引力的。本文将就此问题提出一套解决方案。1系
6、统结构与分析1 1系统结构先对系统结构进行简单介绍,其系统接口结构(如图1 所示),其核心模块是主监控程序。其基本功能包括数据的采集(S C A D A 功能)、图形显示、报表打印、远程控制、实时数据与历史数据查询等1 3。1 2系统分析我们知道由于不同的操作系统的原理差别很大,因此同一种功能在不同系统上实现的方式也不一样,这也是跨平台软件设计的难点之一。另外目前大部分组态软件所采用的v i s u a lc+及其M F C 类库在u N I x 以及L i n u x 上无用武之地。同样,在U N I x 万方数据周启文,等基于多平台电力监控组态软件的开发5 9图1系统接口结构图F i g
7、1S y s t e mi n t e 如c es t m c t u r e上用M o t i f 开发的程序也无法在w i n d o w s 上使用。为了解决这个工具,我们经过综合比较分析,最后选择了Q t 作为开发工具。Q t 是一个跨平台的C+图形用户界面库,由挪威T r 0 1 l T e c h 公司出品,目前包括Q t、基于F r a m e b u f f e r 的Q tE m b e d d e d、快速开发工具Q tD e s 培n e r、国际化工具Q tL i n g u i s t 等部分。Q t 支持所有U n i x 系统,当然也包括L i n u x,还支持
8、W i n N T W i n 2 k、W i n 9 5 9 8 平台o。基本上,Q t 同x W i n d o w 上的M o t i f、0 p e n w i n、G T K 等图形界面库和w i n d o w s 平台上的M F C、0 w L、V c L、A T L 是同类型的东西,但是Q t 具有下列优点:1)优良的跨平台特性Q t 支持下列操作系统:M i c r o s o f tW i n d o w s9 5 9 8 N T 2 0 0 0,L i n u x,S o l a r i s,S u n O S,H P U X,D i g i t a lU N I X(O
9、 S F 1,T r u 6 4),I r i x,F r e e B S D,B S D 0 s,S c 0,A I x,0 s 3 9 0,Q N x 等等。2)面向对象Q t 的良好封装机制使得Q t 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Q t 提供了一种称为s 培n a l s s l o c s 的安全类型来替代c a l l b a c k,这使得各个元件之间的协同工作变得十分简单。3)丰富的A P IQ t 包括多达2 5 0 个以上的C+类,还提供基于模板的c o l l e c t i o n s,s e r i a l i z a t i o n
10、,f i l e,L 0d e v i c e,d i r e c t o r ym a n a g e m e n t,d a t e t i m e 类。甚至还包括正则表达式的处理功能。4)支持2 D 3 D 图形渲染,支持o p e n G L。5)x M L 支持Q t 最大的优点就是其跨平台的特性,在一个平台下写好程序代码之后拿到另外一个平台上基本无需做任何修改就可以重新编译为该平台下的可执行程序。虽然相对于J A V A 来说它并不是真正的与平台无关的语言,但是由于其采用c+语言,执行速度要大大超过J A V A 程序,对于电力s c A D A 系统这种对实时性要求较高的场合是比
11、较有利的。另外Q t 的界面开发工具Q tD e s i g n e r 与V B 界面相似,对于有一定w i n d o w s 程序开发经验的人员来说很容易适应。Q t 下应用程序开发流程如图2 所示。仟意支持的平台下编译 玉亘垂亟二)=令应用程序 二亘互 二=令应用程序 二互亘亟二 o 应用程序图2Q t 程序开发流程图F i g 2Q ts o f c w a r ed e v e l o p i n gn o wc h a r t由上图可知,程序代码写好后只需拿到其它平台上进行编译即可生成该平台下的应用程序,而且界面几乎完全一致,这对于开发人员的维护以及现场人员的使用都很方便。Q t
12、 良好的封装性掩盖了操作系统底层的差别,这样程序开发人员不用过多地考虑针对不同系统的特殊要求而是把主要精力放在监控系统主要功能的设计上。Q t 在数据库、网络通讯、图形用户界面(G u I)等方面都提供了便利的功能,电力自动化监控系统设计所涉及的内容基本都涵盖其中。2系统设计2 1 数据库设计数据库的设计是一切工作的基础,设计结构良好的数据库对今后组态软件的稳定性、可靠性、可扩展性有着重要影响。根据我国电力系统自动化的实际情况,对电力系统数据库总的功能需求是:存储和 万方数据继电器处理复杂的对象实体,这些对象不仅内部结果复杂,很难用普通的关系结构来表示,而且相互之间的联系复杂多样;支持复杂的数
13、据类型,包括抽象数据类型、无结构的超长数据、时间和版本数据等,还要具备支持用户自定义类型的可扩展能力;具有广泛包容性和通用性的电力系统数据模型,为应用软件的“插人式兼容”奠定基础;数据库的安全性和完整性,数据的完整和安全是电力系统数据库的重要需求,完整性指的是数据的正确性和一致性,安全性意味着对数据访问的授权和控制;数据库管理系统能够提供连续而不间断运行和高可靠性的能力,以适应电力系统安全性运行的要求;将数据库技术与w e b 技术紧密结合,实现数字电站管理系统的I n t e 卜n e t 整体解决方案。根据以上数据库要求,对电力系统对象进行抽象处理,以便在程序设计中使用面向对象的方法对其进
14、行处理,其结构如图3 所示。图3 电力对象的树形图F i g 3P o w e rs y s t e mo b j e c tt r e ec h a r t2 2 模块设计2 2 1通信模块由图1 可知本系统将与大量外部设备进行数据交互,而与此对应的通信规约也种类繁多,在此采用针对每种规约设计一个驱动程序,这样修改其中一个不会影响到其它设备的通信,而且便于扩充新的设备。已经实现的通信规约包括c D T、d n p、1 0 1、1 0 4等常用规约。通信采用R s 2 3 2,R S 4 8 5 等串口通信技术,同时也可以进行以太网通信,底层采用T c P I P 协议。2 2 2人机交互模块
15、(H M I:H u m a nM a c h i n eI n t e r _f a c e lH M I 是跨平台方案的重点和难点,因为涉及到图形界面,而W i n d o w s 与x w i d o w s 是两种不同风格的显示模式,幸好Q t 解决了这个问题,Q t 中提供的Q c a n v a s 系列类可以很方便地进行图形操作,其图形处理能力相当强大,利用其2 D 3 D 绘图函数可以很容易编写组态软件的图形包,电力各种元器件如开关、刀闸、变压器、母线等均以组件方式提供,另外用户可以自定义特殊元件,而且用户可以查看实时曲线、历史曲线,本系统支持图形打印,还提供较强的报表打印功能
16、。2 2 3数据库管理模块(D B M s:D a t a b a s eM a n a g e rS y s t e m)本系统提供强大的数据库管理功能,可以方便地插入、修改、删除数据,而且提供丰富的查询方法。Q t 提供的Q s q l 系列类封装了数据库的操作,对任何支持的数据库(M S S Q L,0 r a c l e,s y b a s e,M y s Q L)操作完全一致,不必针对不同的数据库作特殊处理,原理类似于0 D B c(O p e nD a t a b a s eC o n n e c t i v i t y,开放数据库互连),但其访问数据库的速度更快。2 2 4 其它
17、模块其它模块包括实时数据库、历史数据库、事故报警等等,这些模块的设计原理与普通w i n d o w s 下组态软件设计大同小异,在此不再赘述。2 3W e b 访问随着互联网技术的飞速发展,通过w e b 查询电力系统状态信息是未来的发展趋势之一,也是多平台组态软件需要解决的问题之一。在目前w e b 下的图形编程一般有两种方式,一种是采用A c t i v e x控件,另外一种是采用J A V A 的a p p l e t。前者仅适用于w i n d o w s 操作系统,而后者在速度方面有一定缺陷。在此这里引入M a c r o m e d i a 公司的F L A S H 软件来实现w
18、 e b 下的图形效果,譬如半实时的动态显示电网主接线图以及一些状态信息。在一般人看来F L A s H 只是做动画电影的工具,但其实F L A s H 在图形与数据交互方面的能力相当强大,而且通过其自带的脚本语言(A c t i o n s c r i p t)可以很方便地与后台进行数据处理,该语言语法简单,对于其他编程人员来说很容易掌握。相对而言,F L A s H 具有文件体积小、显示速度快、编程功能强大、跨平台等特点,而且随着F I A s H 的普及,几乎所有浏览器上都安装了F L A S H 控件,不用担心无法显示的问题。6o。3系统实现在完成系统分析后,我们开始着手对系统各个模块
19、进行实现。由几个人同步进行分工合作,分别做图形界面工具的开发、数据库的搭建以及相关查询工具的开发、网络通信模块的开发,最后由一个人主管全局,并负责各个模块的衔接以及公共函数库 万方数据周启文,等基于多平台电力监控组态软件的开发6 1的编写。根据电力系统自动化软件的一般设计方法,我们仍然采用图模一体化的设计结构,对通信协议以及规约采用插件的方式实现,便于扩展和维护。因为是基于多平台的系统,因此平台兼容性测试是一个不可忽略的步骤,虽然Q t 本身已经将平台特性封装得很好,但是在不同平台下面编译、运行以及界面显示仍会有些小的差别。整个开发过程如图4 所示。圈 圈嚣l 圆l 裂圈l 剧在以上系统主体结
20、构设计实现完成以后,我们将做附加功能的实现,譬如w e b 状态下的远程浏览、状态显示以及查询等等。基于以上分析,我们选择W i n d o w s 2 0 0 0,R e d h a tL i n u x9 作为开发测试平台,M y s Q L 4 作为数据库(在实用阶段将改用0 r a c l e 9 i),Q t 3 2 1 为开发工具。由于W i n d o w s 下开发测试比较方便,因此程序代码在w i n d o w s 上完成,然后移植到L i n u x 上重新进行编译。另外由于Q t 在L i n u x 下的版本是免费的,因此L i n u x+M y s Q L+Q t
21、 开发组态软件成本相当低廉,对于小型系统来说经济适用。4结论w i n d o w s 系统虽然易于使用,但是可靠性、安全性不高,容易受到病毒以及网络攻击;U N I X 虽然稳定可靠,但是不容易使用,而且主机和操作系统成本较高;而L i n u x 介于二者之问。因此在未来很长一段时期内电力系统自动化仍将是多平台共存的现象,能够兼容多种操作系统平台是组态软件发展的方向之一。采用Q t 作为跨平台开发工具对于开发变电站组态软件乃至电网调度主站系统是完全可行的,也是最为经济适用的方案之一。但是Q t 作为一种比较新的技术,目前在国内使用得还不是很广泛,参考资料不多,中文资料更是少之又少。另外Q
22、t 作为专为跨平台设计的图形用户界面库是一柄双刃剑,所付出的代价就是失去了各个平台特有的一些优秀特性,许多专为特定平台设计的组件、代码我们无法借用。另外Q t 相对于M F c 等商业图形界面库也有一些不足之处。参考文献:1 王亚民,陈青,等组态软件设计与开发 M 西安:西安电子科技大学出版社,2 0 0 3 W A N GY a m i n,C H E NQ i n g,e ta 1 C o n f i g u r a t i o nS o f t w a r eD e s i g na n dD e v e l o p m e n t M x i a n:x i d i a nu n i
23、v e r-s i t yP r e s s,2 0 0 3 2 X t e a m(中国)软件技术有限公司Q t 程序设计 M 北京:清华大学出版社,2 0 0 2 X t e a m(C h i n a)S o f tC o m p a n y Q tP r o g r a m m i n gD e s i g n M B e i j i n g:T s i n g h u au n i v e r s i t yP r e s s,2 0 0 2 3 冯永红,吉吟东,朱善君电力调度系统组态软件的设计与实现 J 计算机工程与应用,2 0 0 2,(7):2 2 6 2 2 8 F E N
24、GY o n g h o n g,J IY i n d o n g,Z H US h a n-j u n T h eD e s i g na n dI m p l e m e n t a t i o no ft h eC o n f i g u r a t i o nS o f t w a r ei nP o w e rs y s t e m J c o m p u t e rE n g i n e e r i n ga n dA p p l i c a t i o n,2 0 0 2,(7):2 2 6-2 2 8 4 s t e v e n swR u N I x 环境高级编程 M 北京:
25、机械工业出版社,2 0 0 0 S t e v e n sWR A d v a n c e dP r o g m m m i n gi nt h eU N I XE n v i m n m e n t M B e i j i n g:c h i n aM a c h i n eP r e s s,2 0 0 2 5 Q t 中文参考文档 E B O L h t p:w w w q i l i a n g n e L q t h t m l 6 颜金桫,等F l a s h M)(2 0 0 4A c t i o n s c r i p t 2 0 与R I A 应用程序开发 M 北京:电子工业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 平台 电力 监控 组态 软件 开发
限制150内