1 引言
近年来,随着中央处理器(CPU)制造技术和工艺的飞速发展,CPU的性能得到很大的提高 。基于Intel X86 CPU芯片和自由软件组织(GNU)发展起来的Linux操作系统不仅使PC机能够达到和超过Unix工作站的性能,更使PC具有这些商用工作站所无法比拟的性能价格比。PC/Linux越来越受到人们的重视,它在很多领域中得到了广泛的应用。世界上一些大的高能物理实验室,如CERN、费米实验室等都在尝试着用微机代替工作站进行大型数据分析工作,并取得了良好的效果。
为了提高调度自动化系统的数据分析能力,清华大学电机系调度自动化研究室从1997年开始尝试PC/Linux系统,从1998年起就着手进行把原来在Sun和Alpha工作站上运行的TH-EMS/DTS(V3.0版本)一体化系统移植到PC/Linux平台上的工作,并在此基础上对TH-EMS/DTS一体化系统的软件环境进行了全面的移植与改进,使之能在PC/Linux平台上运行。从1999年起就以PC/Linux为开发平台,构建新版的TH-2100 EMS/DTS一体化系统,并且成功地移植到Sun/Solaris和Compaq/Tru64的平台上,被多个地区级电网采用,得到了良好的评价。
2 自由软件与Linux
近年来以Linux为代表的自由软件在计算机界掀起了一场革命。Linux是一种可以运行在多种计算机上的免费的类Unix操作系统。自从Linux的源程序在Internet上公开后,就以惊人的速度成为发展最快的操作系统。现在Linux已经成为一个功能强大、稳定可靠的操作系统,与传统Unix和微软的Windows成三足鼎立之势。Linux的开发及其源代码在GPL(GeneralPublic License)的保护下对任何人完全免费,用户可以通过Internet下载或购买相当于光盘成本的CD-ROM。除GNU组织和世界各地的自由软件高手外,很多商业化公司提供完整的Linux发行版(Distribution),内含功能丰富的自由软件。Linux在大型机、高端服务器、低端工作站、PC微机、移动通信和嵌入式系统方面都有广泛的应用。
Linux之所以被如此广泛的应用,是因为它具有如下的优点:
(1)安全可靠:源代码公开,开发商无法在操作系统中预留安全隐患。
(2)硬件开放性好:支持PC、Alpha、Sun、Pow-erPC等多种机型;支持绝大多数的外设硬件;支持多网卡和双网结构;支持许多老、旧硬件。
(3)软件开放性好:支持POSIX接口,具有全部Unix特征,在Linux上开发的程序只需少量修改就可以移植到其他Unix系统上。
(4)网络性好:支持TCP/IP、Netware、PPP、SLIP、Samba、AppleTalk、RPC、NFS等多种协议,可与Windows、Netware、VMS和各种Unix系统互联。
(5)安全性好:象大多数Unix一样达到C2级标准,在Internet网络服务器应用最多。
(6)支持高性能数据库:包括Oracle、Sybase、DB2、Informix等大型数据库,和MySQL、Post-greSQL等小型数据库,支持C/C++、ODBC、JDBC、Perl、PHP接口。
(7)图形化用户界面(GUI):X-Windows下支持OSF/Motif和OpenGL。
(8)面向对象的开发:支持C/C++、Java、Fortran、汇编、Perl、PHP、Awk、Tcl/Tk等多种语言,具有功能齐全、免费易用的开发工具和集成化的开发环境。
(9)支持背景雄厚:已经有多家大型IT行业厂商宣布支持Linux,包括IBM、HP、Compaq、Intel、Sun、SGI、Apple、SCO、Novell、Oracle、Informix、Sybase、CA、Lotus、Corel、Netscape、Borland、Motorola等。
(10)汉化:比较成熟的中文版Linux有红旗Linux、Turbo Linux、Xteam Linux和Blue PointLinux。
我国有多年使用Linux的历史,也有丰富的Linux相关技术讨论站点,越来越多的大学生和技术人员掌握了自由软件的知识,成为将自由软件应用于工业企业中的坚实基础。从1999年“Linux未来发展”高层研讨会起,国家信息产业部大力全面推动Linux在中国的普及和应用,为将以Linux为代表的自由软件应用到工业领域起到了非常重要的促进作用。
3 应用自由软件的可行性研究
由于PC微机和工作站的中央处理器不同,Unix和Linux平台下的软件支持程序也有所不同,人们担心这些可能的差别会导致同样的数据在U-nix工作站和Linux微机两个平台上分别进行分析计算后得到的结果不一致;或者担心PC/Linux的速度无法满足调度自动化系统的要求。另一方面,由于PC/Linux的价格低廉,可能会怀疑其工作的可靠性和寿命。
为了能从实际应用的方面来回答这些问题,笔者对这些平台工作的可靠性、稳定性进行了测试研究,并将在PC/Linux上与在工作站上进行的数据处理结果的一致性作了研究对比 。
3.1 PC/Linux系统配置
笔者使用的PC/Linux系统由9台PC微机组成,CPU为Intel公司产品,从PII233到PIII50 0不等。它们直接连接在100 MB/s高速以太网上,彼此可以共享硬件和软件的资源。这些微机上安装了目前较为流行的RedHat 6.2和Turbo Linux 6.1操作系统,辅以一系列应用、管理和开发方面的自由软件,构成了全方位的开发环境,成为功能强大的Linux系统。
3.2 EMS/DTS一体化系统的移植
作为SCADA上的高级分析软件,EMS对于调度决策起关键的辅助作用;作为电网的模拟器和培训调度员的有力工具,DTS对电网稳定运行也是非常重要的。清华大学所开发的TH-2100 EMS/DTS一体化系统是在支撑平台、功能模块、数据结构和应用程序级三个层次上的一体化系统。
为了使该系统既能在Unix上又能在Linux上运行,需要对程序进行移植。在不同的机器中,系统提供的函数是不尽相同的,数据结构也是不一致的。在移植过程中,需要建立针对不同平台的预编译宏,编写不同的系统访问函数,提高程序的可移植性,使其能在各种平台上运行,从而保证程序在不同平台上运行都能得到相同的结果。
3.3 用网络分析软件对两类平台的测试
3.3.1 结果一致性的测试
为了检验PC/Linux对电网实时数据的处理能力,随机选取南方某大型地区电网的某个实时数据断面,分别在PC/Linux、Sun Ultra10/Solaris和Compaq Alpha/Tru64工作站上进行分析。通过对断面的分析得到状态估计和在线潮流结果。比较两类平台的计算结果后看到,即使精确到小数点后3~4位,三台机器上的结果也是完全一致的。采用不同断面进行分析的结果也相同,说明计算结果准确。
3.3.2 CPU数据处理能力对比
同样以该地区电网为例,在Alpha 600au/Tru64工作站上进行一次状态估计平均需要1.1 s,在SunUltra10/Solaris 7(双CPU)工作站上进行一次状态估计平均需要1.3 s,而在PIII500微机上同样进行一次状态估计平均需要0.4 s。PIII500微机与Alpha600au工作站相比,前者的估计速度是后者的2.7倍,是Sun Ultra10工作站的3.0倍。在线潮流的计算速度比较结果也是类似的。更详细的对比参见表1。
为了测试PC/Linux系统处理进程调度和网络通信的能力,分别使用这几台微机和工作站运行同样的EMS/DTS一体化系统。在这种情况下,PC/Linux工作站的空闲率在60%左右,而工作站的空闲率为30%左右。
研究结果表明,在进行电网实时数据分析方面,PC/Linux完全具有商用Unix工作站的性能,并且运算速度遥遥领先。在现有的硬件配置和软件环境下,一台PIII500微机的计算能力是Sun Ultra10和Alpha 600au工作站的2~3倍。而PC的价格远远低于工作站(仅为相同能力的Sun工作站价格的5%~10%)。
经过近一年的开发和测试,发现该系统不但在运算速度和价格上占有很大优势,而且运行稳定、可靠。因此笔者认为选择PC/Linux平台用于电网调度自动化系统的数据分析是可行的、经济的。
3.4 两类平台上的开发效率比较
传统UNIX工作站的开发环境非常简陋,通常只有cc、vi和dbx之类文本模式的工具。远远不能满足开发调度自动化系统这样的大型软件的需要,严重制约了开发效率的提高。
PC/Linux平台相对于工作站平台来说,具有更多功能强大的开发工具,如最快的编译器gcc,丰富的类库资源glibc、Qt、Gdk,优秀的图形化集成开发环境Source Navigator和KDevelopment,强大的调试工具DDD,完善的数据库支持,以及各种各样丰富的自由软件,为高效率的开发奠定了基础。
虽然PC/Linux平台具有明显的开发优势,但是其最大的弱点是开发工具的汉化程度不够,尤其是在稳定的中文Linux系统上现阶段还无法提供优秀的支持中文的开发工具,本文的绝大多数开发工作都是在英文或半中文环境中实现的。这样就必须进行后期的汉化工作,延长了开发周期,也为系统移植带来了麻烦。随着中文自由软件的增多,这个问题将会逐步得到解决。
4 应用实例
2000年初,广西玉林地区电网投运了清华大学开发的国内第一套PC/Linux平台的一体化TH-EMS/DTS系统。
广西玉林电网的一体化EMS/DTS由两台PII-233微机(Turbo Linux 4.0)和两台Sun Solaris工作站(一台Sparc20,一台Ultra1)组成,系统结构如图1所示。
其中两台PII233微机分别作为EMS工作站和DTS教员台/服务器,相对Sun工作站来说负担更重。但是PC/Linux微机在系统运行期间工作正常,顺利通过鉴定和实用化验收,证明了其可靠性和稳定性。
在一体化TH-EMS/DTSV3.0系统的基础上,以PC/Linux为平台,清华大学开发了新一代的EMS/DTS一体化系统TH-2100,在嘉兴电网投运,并且移植到Sun Ultra/Solaris和Compaq Alpha/Tru64等平台上,应用于深圳、长春、南昌等多个电网。
研究和应用成果表明,将PC/Linux应用到电网调度自动化主站系统中是可行的、经济的,对于中小型电网尤其具有特殊意义。
5 应用前景的探讨
Linux在嵌入式系统中也有广泛的应用。嵌入式系统通常是指内部包含智能控制器的设备,如作为将电视机和Internet联接的机顶盒、路由器、交换机、PDA等。嵌入式系统是计算机技术的重要应用领域,具有广阔的市场前景。RTLinux(RealTimeLinux)是Linux面向处理实时任务的扩展版本。在RTLinux中,更小的实时内核与标准Linux共享处理器,这样系统就能在作为标准Linux工作站的同时,处理数据采集、控制和机器人操作等应用。
前置机和RTU作为调度自动化系统数据流的咽喉,地位非常重要。长期以来,数据采集部分的通信部件的非标准化、非商业化不仅严重阻碍跟踪国际先进技术;也大大降低了分布系统的重组能力,并使先进技术在数据采集部分不能共享。专有软硬件技术的不可互换性、技术依赖性和黑匣子特征对其维护造成众所周知的脆弱性,必将威胁对用户投资的长期保护 。其发展方向,必然是向开放式的标准化部件靠拢。
从SCADA数据采集部件的发展趋势和RTLinux的特点可以看出,RTLinux在SCADA数据采集部件标准化中可以发挥重要的作用。因此,对以Linux为代表的自由软件在电网控制和分析中应用的研究也就具重要的意义。
6 结论
本文通过对Linux代表的自由软件应用于电网调度自动化系统进行了较为深入的可行性研究,并通过若干实际系统的运行得出结论:
(1)PC/Linux系统应用于调度自动化领域是可靠和稳定的;
(2)在电网SCADA数据采集部件的标准化中,Linux将能发挥重要的作用。
自由软件由于具有免费、公开、开放的特点,必将在电网分析和控制中有广阔的应用前景。