論用Linux/PC構建電力系統SCADA通用平臺
人氣:3415次發表時間:2013-04-28
1 引言
隨著信息技術、自動化控制技術的飛速發展,電力系統對各種監控系統尤其是變電站綜合自動化系統的要求也越來越高。這意味著在數據采 集、數據通信以及數據處理、存儲等方面都將面臨新的挑戰。在計算機領域,Sun Sparc、HPAlpha等高端計算機系統的價格依然不菲,而從性能上來說,類似Sun Ultra系列的工作站和低端服務器的性能卻并不十分優越。另一方面,商用的Unix系統雖然已經廣泛應用于高端領域,但缺乏這一平臺上的研發與技術支持 人員,很多關鍵技術還依賴于國外,而MSWindows雖然已經被廣泛接受,但它在穩定性、安全性等方面還一直沒有達到相對嚴格的工業控制的要求。實踐表 明,Unix/Sparc、Unix/Alpha這樣的系統技術起點高,成本大,而MSWindows/PC又難以滿足工業控制的要求。同時,Unix、 Windows操作系統依然完全依賴于國外,其核心并不公開,難以滿足發展中的電力信息系統安全的需要。為適應這一要求,本文提出了采用Linux/PC 構建通用平臺的設想和實現方案。
2 電力SCADA對系統平臺的要求
電力系統的發展直接導致變電站復雜程度的增高,而變電站的穩定運行又直接影響到電力系統的安全與穩定,因此,作為變電站監控的系統 平臺就很重要。我國自80年代以來,在500kV變電站綜合自動化領域,一直在努力改變全盤引進的局面,目前已經開始擁有了自主研發的系統。但其計算機平 臺,由于穩定性要求等因素,無論是其硬件還是其操作系統,都還一直依賴于國外。
從歷史和現狀看,500 kV變電站對系統性能指標的要求主要還是在可靠性方面,就發展趨勢而言,在速度上的要求也在逐步提高。
根據現有變電站的實際情況和發展趨勢看,變電站綜合自動化的后臺監控計算機必須滿足的主要條件如下[1]:
(1)平均故障間隔時間(MTBF)不小于2萬h,系統可用率不小于99.9%;
?。?)主機正常負荷率宜低于30%,事故負荷率宜低于50%。
其它如電磁兼容、抗干擾等具體參數可參見相關標準。
3 計算機系統架構———兩種平臺
計算機發展的最重要標志就是其架構(Archi-tecture)與IC工藝的發展。隨著計算機在商業領域的普及,為滿足各種應用 的系統架構不斷出現,對通用的科學計算與數據處理計算機而言,主要可分為精簡指令系統(RISC)和復雜指令系統(CISC)兩種,前者屬高端領域,后者 則是PC的核心。由于設計的目的、應用的領域不同,針對這兩種平臺設計的操作系統也各有千秋,下面對它們分別論述。
3.1 RISC系統與Unix
最初精簡指令系統計算機(RISC)的設計目的是滿足科學計算(軍方)的需要,具有穩定可靠的特點,這個特點傳遞給了在這個平臺上開發的操作 系統和應用軟件。同時,由于其定位在復雜的科學計算,起點較高,也就比較昂貴。它不僅在高端的應用(小型機到巨型機)中成本非常高,即使是在低端的工作 站,價格也不菲。另一方面,由于體系結構的原因,它往往要求其外圍設備(如基本輸入輸出設備)必須自己具備處理數據的能力,這樣才能使CPU集中精力處理 好必要的計算和調度任務,這進一步增加了系統的成本,同時,由于商業化發展,各公司的RISC系統并不兼容,配件也必須來自原廠,所以擴展、維護成本也非 常高。
Unix系統最初設計用來管理龐大的RISC系統,由于其使用者都是專業人士,因此其使用、配置和開發都比較復雜,即使在XWindows出現后,由 于其一貫的作風,要想深入Unix系統,仍然具有較高的難度。另外,隨著Unix/RISC的商業化,各個廠商都推出了各自的版本,相互之間雖然遵循 POSIX標準,但兼容性很差,再加上Unix/RISC系統昂貴的價格,進一步提高了進入該平臺的門檻。
3.2 復雜指令系統與Windows、Linux
Intelx86是CISC系統的代表,其最初的設計目的是為了滿足中小型公司及個人的需要,它追求超出浮點計算范疇的各種處理能力和速度 (如字處理、多媒體處理等),同時要降低成本,使之適合于普通家庭用戶。其體系結構允許CPU承擔所有輸入輸出的處理工作。另一方面,它具有廣泛兼容的系 統總線接口,因此其擴展非常方便。雖然這種系統最初定位很低,而且沒有太多考慮嚴格的工業與科學應用要求。但隨著技術發展,IC制造工藝的不斷提高,以往 僅用于高端系統的RISC領域的技術被越來越多地應用于PC中,使得PC有了更多的層次,逐漸進入高端工業控制與科學計算領域。
復雜指令系統計算機在處理器指令集中包涵了更多的便捷可用的指令,簡化了用戶程序的設計。其主流操作系統從最初的DOS發展到現在的 Win-dowsXP,采取的是一種傻瓜式路線,即降低計算機的使用難度,使非專業人士也能輕松使用。雖然在NT以后的版本中逐步提高了系統的安全性和可 靠性,但其圖形系統被規劃在內核中,缺乏靈活性,系統性能等也大受影響。
90年代出現的Linux改變了Windows一統CISC軟件平臺的天下。Linux不僅繼承并發揚了Unix優點,更多方采納了現代操作系統的各 種技術。如內核模塊動態加載技術等。使得系統內核可靈活配置。另一方面,由于其屬于免費操作系統,并且開放所有源代碼,使用者可以輕松獲得必要的資料,因 而Linux的志愿者也很多,結果不僅大大降低了其技術門檻,而且使系統越來越易于使用,這個系統的應用也因此迅速推廣開來。
3.3 兩種平臺在電力系統中的應用
以上兩種系統架構一直是計算機硬件的兩大主流,以它們為核心構成的不同硬件平臺,其外部總線、存儲設備及其它外部設備都有很大的區別,但隨著技術的發展又慢慢趨于一致,各種技術的揉和,使得PC不僅廉價、高效,而且具備了越來越高的可靠性。
在我國電力系統中,以往高電壓等級的SCADA都采用Unix/RISC系統,應用最為普及的是其代表Solaris/Sparc(通常使用它們的低 端工作站作為平臺,因此通稱為工作站)。而Windows/CISC系統(以Intelx86為代表,稱為Intel Architecture,即IA,也就是常說的PC),往往只作為輔助計算機。造成這種局面 并非完全是由于PC本身的原因,在我國工業領域廣泛應用 的工控機大多數也是Intel架構,主要原因是處理能力、存儲容量、可靠性等指標之間沒有找到一個合適的結合點。
隨著Linux操作系統和PC硬件的不斷完善,現在我們有了另一種選擇,就是Linux/PC平臺。
4 新技術對PC的完善
將PC與工作站相比較,就硬件而言,PC主要還是在性能和穩定可靠兩個方面存在不足。新技術的發展對此進行了完善[2]。
雖然以Intel的x86芯片為核心的PC并不是為嚴格的工業控制設計的,但隨著設計與制造工藝的共同發展,使得它以及它的外圍器件都越來越成熟和穩 定,而Linux操作系統的出現,更是彌補了PC在高端應用中的操作系統空白。這兩者的結合,加上近幾年來各種屬于小型機的高端技術在PC領域的應用,使 我們可以設計一個可滿足不斷發展的電力監控系統后臺要求的通用平臺。
在處理器的性能方面,以PentiumPRO為代表的IA32處理器的誕生標志著PC服務器/工作站進入市場,它支持對稱多處理器(SMP)技術,在 一臺計算機內用多個CPU構成并行處理系統。1998年In-tel推出的PIIXeon處理器更是被業界所推崇。Xeon的設計目的是為了滿足企業級服 務器與工作站的需要,可應用于嚴格要求的商業環境;它支持SMP,與同期的Pentium處理器比較,具有更多更快的二級緩存,從而具有更好的性能。隨著 多級流水線處理技術的采用,尤其是最近64位架構的出現更突破了傳統IA的局限,大大提高了PC的性能。
在總線與接口方面,PC不斷擴展其先進的PCI總線,從32位到64位,從33MHz到66MHz,PCI總線性能不斷提高。為適應嚴格要求的工業控制環境而設計的CompactPCI總線技術在提高PC工控機性能的同時,更進一步提高了PC系統的穩定性。
在最重要的磁盤系統中,SCSI(小型計算機系統接口)在PC上的應用大大提高了PC的數據吞吐能力,尤其是硬盤系統的可靠性(壽命);冗余磁盤陣(RAID)的引入更是大大刺激了PC在數據庫方面的應用[3][4]。 冗余磁盤陣列本是高端服務器的專有技術,但隨著該技術成本的降低,它開始被應用于PC服務器領域。目前的主流RAID卡結合 SCSIUltra160/Ultra 3,采用基本的RAID1或RAID5能達到很好的性能和故障冗余效果,而低成本的IDERAID甚至Linux系統的軟件RAID技術至少在很大程度上 提高了系統數據的安全可靠性。
網絡的性能與故障冗余在工業控制中也很重要,在高端服務器領域,已經有了各種負荷均衡和自動故障冗余措施。這些技術已經被應用到了PC中。以 Intel PRO100+Dual Port Server Adapter為例,它可以在32位PCI總線上提供Team工作模式,這是一種相對簡單的基于數據鏈路層的負荷均衡與故障冗余技術。但可以通過使用該技 術,非常便捷地得到能夠滿足電力系統監控后臺所需要的故障冗余功能,甚至可以利用多塊這樣的網絡適配器進行負荷均衡,以達到提高網絡性能的目的。
其它如雙電源技術,都已經非常成熟。隨著時代的進步,越來越多的RISC系統技術應用到普通PC中,也使得CISC與RISC的差距慢慢縮小,從現有條件看,完全可以在PC平臺上,用最少的投資,構成性能非常不錯的系統。
5 Linux操作系統及其應用
5.1 Linux的現狀與廣泛的支持
Linux從推出至今,不過短短10年時間,在這10年中,它的發展速度超過了以往任何一種操作系統,經過10年的發展,Linux不僅成熟起來,而且得到了非常廣泛的應用。
Linux內核的發展一直掌握在Linus所領導的一個開放小組的統一控制下,這既保證了Linux的穩定發展,也使得各種好的建議能納入新版本的計劃中。
隨著商機的出現,Oracle、IBM、DELL等大型廠商也正式對外宣稱支持Linux,Oracle推出了其著名數據庫Oracle的Linux版本,IBM更是斥資10億美元,放棄其AIX系統的繼續研發,轉而在其所有硬件平臺上采用Linux。
現有被廣泛使用的Linux發行版主要包括我國的RedFlag(紅旗,已經成功應用于銀行———中國農行、嵌入式系統———福利彩票系統、政府機構 以及陜西電力等),北美的RedHat(紅帽子,已經被廣泛應用于各行各業,如電影特效處理等),歐洲的SuSe(德國)等,這些發行版都依據Linux 內核以及桌面系統版本的更新而不斷推出新的版本,每個系統的國際性支持都在不斷提高,目前發行版都可以很好地支持中文輸入與顯示。
在外圍硬件的支持方面,雖然PC的各種配件很多,供應商也非常多,甚至比較雜亂,但都有PC 兼容的標準,隨著Linux的推廣普及,各種常用配件、甚至工業領域的專業配件,也都有了Linux版本的驅動,這個范圍還正在進一步擴大。
5.2 Linux的特色
Linux在PC平臺上出色的性能表現是眾多用戶選用Linux作為他們的商業服務器的主要原因之一,與Windows相比,在多任務、多用戶的網絡環境下,Linux的性能遠遠超過Windows[5],這是Linux先進的進程管理、內存管理以及高性能的文件系統所決定的[6]。
Linux實際上是從Unix發展過來的,應該說是Unix的一種變體。Linux繼承了Unix穩定可靠的特點(通過系統機制來保證),正因為如 此,威脅Win-dows系統、數據安全的各種病毒在Linux下就幾乎不存在。而且,現在每個Linux發行套件中都包涵功能強大的防火墻,可以很好地 限制來自網絡的各種訪問,有效地提高了系統的安全性。
Linux操作系統內核統一,在可移植性方面Linux目前的主流硬件平臺還是PC,但這并不意味著它不能在其它平臺上使用,最新的Linux 2.4.x內核支持包括IA32/IA64/SPARC/ALPHA,甚至幾乎所有大型機、巨型機系統硬件平臺。
由于采用現代內核機制,Linux的內核具有模塊可加載特性,這意味著用戶在不修改內核源程序的情況下就可以根據實際需要定制內核中功能部分,使得系 統更專業,具有更高的效率。與Windows和傳統的Unix相比,這個特點非常突出。Linux系統也正是基于這一系統架構,非常完美地實現了多硬件平 臺、SMP等特性,使得內核的系統性非常強,移植也很方便。
新的Linux 2.4內核版本開始支持日志文件系統,這種文件系統與傳統的FAT、NTFS文件系統比較,關鍵在于對整個文件實現日志管理,不僅能提高了訪問大量小文件 時的效率,而且在文件系統出現問題時,也能夠自動快速恢復,這一方面降低了維護難度,另一方面增加了文件系統的數據可靠性。
Linux最具特色的地方是Open Source,Linux從內核到每一個發行版都包涵幾乎所有應用程序,都是在GPL原則下開放源碼的,這樣,用戶不僅能修改源碼達到定制系統的目的,而 且也能在GPL原則下,重用所有的代碼,來實現自己的功能。Linux的源碼庫是一個寶貴的資源,它不僅為我們提供了學習操作系統的最好環境,而且也為我 們編制自己的應用程序提供了寶貴的源代碼資源和系統思想。另外,Linux下的程序設計語言及平臺非常豐富。值得一提的是Delphi和 C++Builder兩大開發環境的設計商Borland公司最近推出的Kylix 3.0,它不僅提供了Linux平臺下類似Delphi的軟件開發環境,甚至提供了與Delphi兼容的源代碼,這樣一來,我們在 Delphi@Windows下開發的軟件,就能很容易地通過Kylix移植到Linux平臺上運行[7]。
5.3 Linux在商業與軍工各方面的廣泛應用
Linux的商業應用已經非常廣泛,著名電影TA-TANIC中的幾乎所有電腦特技,后期影片處理都是在Linux系統下完成的。目前全世界 的Web服務器有超過60%采用Linux+Apache構建,很多商業數據庫也采用Linux作為系統平臺。實踐表明,在重負荷、大訪問量的網絡服務器 上,采用Windows/服務器不能達到要求,而使用Linux/服務器或Linux/PC-Cluster就能解決這一問題[8]。
Linux在工業控制領域乃至軍用方面也已經越來越廣泛。例如歐洲的AutomationX工業控制軟件就是基于Linux平臺的 (www.mnrcan.com)。我國電力系統對Linux也有嘗試性的使用。而嵌入式Linux更是被廣泛應用于各種場合,例如PDA、彩票機、甚至 照相機中[9][10]。
6 利用Linux/PC構建電力SCADA通用平臺的實現方案
按照電力系統的要求,采用現有的技術條件,完全可以配置一系列性能價格比比較高的、符合電力系統各級別需要的系統平臺,下面給出了一種可能的實現方案。
硬件:PC工控機或PC服務器,可選配置有對稱多處理器(SMP,雙處理器或4處理器)、冗余磁盤陣列(RAID,基于SCSI或IDE硬盤)、自動故障冗余雙口網卡(AFTNIC),以及雙機冗余配置。
軟件系統:Linux(RedHat 7.x或SuSe 7.x~8.x或者RedFlag 3.x)操作系統;基于XWindows的圖形窗口系統(XFree86+OpenMotif桌面管理);MySQL或Oracle數據庫;gcc、 gtk、qt等c/c++開發環境、接口庫;kdevelop、kylix等集成開發環境;IPv4以及IPv6網絡支持;UnixODBC可支持通過 ODBC訪問外部微軟ODBC引擎驅動的商業數據庫系統,如SQLServer等。
對于110kV及以下變電站后臺監控,可以采用簡單PC工控機,開放源碼的高性能MySQL數據庫,配合Linux強大的網絡功能,可以方便快捷地構建一個開發平臺。
對于220kV變電站后臺監控,可采用SMP雙處理器系統,沿用TCP/IP網絡通信,提高系統處理大量IO數據的能力。對穩定性以及數據安全性要求 較高的變電站,可在單機中采用IDERAID,并進行雙機冗余配置。數據庫可采用MySQL或商業數據庫如Oracle等。
對于重要的220kV變電站或500kV樞紐變電站,可以對單機采用SCSIRAID、雙網冗余、雙電源冗余技術,并采用雙機冗余配置。數據可采用商用Oracle數據庫或Sybase、DB2等數據庫。這樣便能使整個系統達到非常高的安全穩定可靠水平。
7 結語
隨著技術的發展,計算機軟硬件平臺也出現了統一的趨勢,事實上,我們今天看到的PC和與之對應的微型機、小型機等都已經遠遠超出了 其最初的定義;各種技術的揉和更使得它們在速度、穩定性等各個方面都越來越接近,PC也開始在很多服務領域取代了以往的高端服務器;而落后于硬件發展的操 作系統在三大實力分割天下的局面形成之后(MSWINDOWS、UNIX、LINUX),又在版權、持續研發費用、以及操作系統本身適應現代操作系統的技 術特性等因素的作用下,也開始出現兩極分化的大趨勢,即逐步淘汰Unix,繼而用Linux取而代之,IBM、Oracle以及HP等大型廠商的支持就是 最好的證明。就現在而言,雖然Linux/PC平臺依然具有其難以克服的弱點(除內核外的很多軟件穩定性較差,尤其是免費的X桌面管理系統,中文支持還不 夠理想等),但采用Linux/PC構建電力SCADA系統通用平臺,無論從技術性、安全性、實用性上看,還是從經濟性方面考慮,都不失為一個好的選擇。 參考文獻
[1] 中華人民共和國電力行業標準.220kV~500kV變電所計算機監控系統設計技術規程(報批稿).中華人民共和國國家經濟貿易委員會發布,2001
[2] Dan Byron.Increasing Availability atthe Cost of Reliability,
http://ftp.us.dell.com/app/1 q02-Byr.pdf,2002.2
[3] Steve Hogge and Bo Zhou.Understanding Server-Based RAID Using Ultra ATATechnology,http://ftp.us.dell.com/app/iq02-Hog,pdf,2002.3
[4] Database Environments,http://ftp.us.dell.com/app/raidma-na.pdf,2001.5
[5] John Kirch.Microsoft Windows NTServer 4.0 versus UNIX.http://kirch.net/unix-nt/,1999.8.
[6] 毛德操,胡希明.Linux內核源代碼情景分析[M].杭州:浙江大學出版社,2001.5.
[7] 喬林.kylix程序設計-類庫參考手冊[M].北京:中國鐵 道出版社,2002.4.
[8] Hewlett-Packard and GSI,Linux PC Clustering.http://hp-linux.cern.ch/,1999.4.
[9] 王學龍.嵌入式Linux系統設計與應用[M].北京:清華大學出版社,2001.8.
[10] 王永福,等.基于Linux的能量管理系統[J].電力系統自動化,2001,(10):55-58.
隨著信息技術、自動化控制技術的飛速發展,電力系統對各種監控系統尤其是變電站綜合自動化系統的要求也越來越高。這意味著在數據采 集、數據通信以及數據處理、存儲等方面都將面臨新的挑戰。在計算機領域,Sun Sparc、HPAlpha等高端計算機系統的價格依然不菲,而從性能上來說,類似Sun Ultra系列的工作站和低端服務器的性能卻并不十分優越。另一方面,商用的Unix系統雖然已經廣泛應用于高端領域,但缺乏這一平臺上的研發與技術支持 人員,很多關鍵技術還依賴于國外,而MSWindows雖然已經被廣泛接受,但它在穩定性、安全性等方面還一直沒有達到相對嚴格的工業控制的要求。實踐表 明,Unix/Sparc、Unix/Alpha這樣的系統技術起點高,成本大,而MSWindows/PC又難以滿足工業控制的要求。同時,Unix、 Windows操作系統依然完全依賴于國外,其核心并不公開,難以滿足發展中的電力信息系統安全的需要。為適應這一要求,本文提出了采用Linux/PC 構建通用平臺的設想和實現方案。
2 電力SCADA對系統平臺的要求
電力系統的發展直接導致變電站復雜程度的增高,而變電站的穩定運行又直接影響到電力系統的安全與穩定,因此,作為變電站監控的系統 平臺就很重要。我國自80年代以來,在500kV變電站綜合自動化領域,一直在努力改變全盤引進的局面,目前已經開始擁有了自主研發的系統。但其計算機平 臺,由于穩定性要求等因素,無論是其硬件還是其操作系統,都還一直依賴于國外。
從歷史和現狀看,500 kV變電站對系統性能指標的要求主要還是在可靠性方面,就發展趨勢而言,在速度上的要求也在逐步提高。
根據現有變電站的實際情況和發展趨勢看,變電站綜合自動化的后臺監控計算機必須滿足的主要條件如下[1]:
(1)平均故障間隔時間(MTBF)不小于2萬h,系統可用率不小于99.9%;
?。?)主機正常負荷率宜低于30%,事故負荷率宜低于50%。
其它如電磁兼容、抗干擾等具體參數可參見相關標準。
3 計算機系統架構———兩種平臺
計算機發展的最重要標志就是其架構(Archi-tecture)與IC工藝的發展。隨著計算機在商業領域的普及,為滿足各種應用 的系統架構不斷出現,對通用的科學計算與數據處理計算機而言,主要可分為精簡指令系統(RISC)和復雜指令系統(CISC)兩種,前者屬高端領域,后者 則是PC的核心。由于設計的目的、應用的領域不同,針對這兩種平臺設計的操作系統也各有千秋,下面對它們分別論述。
3.1 RISC系統與Unix
最初精簡指令系統計算機(RISC)的設計目的是滿足科學計算(軍方)的需要,具有穩定可靠的特點,這個特點傳遞給了在這個平臺上開發的操作 系統和應用軟件。同時,由于其定位在復雜的科學計算,起點較高,也就比較昂貴。它不僅在高端的應用(小型機到巨型機)中成本非常高,即使是在低端的工作 站,價格也不菲。另一方面,由于體系結構的原因,它往往要求其外圍設備(如基本輸入輸出設備)必須自己具備處理數據的能力,這樣才能使CPU集中精力處理 好必要的計算和調度任務,這進一步增加了系統的成本,同時,由于商業化發展,各公司的RISC系統并不兼容,配件也必須來自原廠,所以擴展、維護成本也非 常高。
Unix系統最初設計用來管理龐大的RISC系統,由于其使用者都是專業人士,因此其使用、配置和開發都比較復雜,即使在XWindows出現后,由 于其一貫的作風,要想深入Unix系統,仍然具有較高的難度。另外,隨著Unix/RISC的商業化,各個廠商都推出了各自的版本,相互之間雖然遵循 POSIX標準,但兼容性很差,再加上Unix/RISC系統昂貴的價格,進一步提高了進入該平臺的門檻。
3.2 復雜指令系統與Windows、Linux
Intelx86是CISC系統的代表,其最初的設計目的是為了滿足中小型公司及個人的需要,它追求超出浮點計算范疇的各種處理能力和速度 (如字處理、多媒體處理等),同時要降低成本,使之適合于普通家庭用戶。其體系結構允許CPU承擔所有輸入輸出的處理工作。另一方面,它具有廣泛兼容的系 統總線接口,因此其擴展非常方便。雖然這種系統最初定位很低,而且沒有太多考慮嚴格的工業與科學應用要求。但隨著技術發展,IC制造工藝的不斷提高,以往 僅用于高端系統的RISC領域的技術被越來越多地應用于PC中,使得PC有了更多的層次,逐漸進入高端工業控制與科學計算領域。
復雜指令系統計算機在處理器指令集中包涵了更多的便捷可用的指令,簡化了用戶程序的設計。其主流操作系統從最初的DOS發展到現在的 Win-dowsXP,采取的是一種傻瓜式路線,即降低計算機的使用難度,使非專業人士也能輕松使用。雖然在NT以后的版本中逐步提高了系統的安全性和可 靠性,但其圖形系統被規劃在內核中,缺乏靈活性,系統性能等也大受影響。
90年代出現的Linux改變了Windows一統CISC軟件平臺的天下。Linux不僅繼承并發揚了Unix優點,更多方采納了現代操作系統的各 種技術。如內核模塊動態加載技術等。使得系統內核可靈活配置。另一方面,由于其屬于免費操作系統,并且開放所有源代碼,使用者可以輕松獲得必要的資料,因 而Linux的志愿者也很多,結果不僅大大降低了其技術門檻,而且使系統越來越易于使用,這個系統的應用也因此迅速推廣開來。
3.3 兩種平臺在電力系統中的應用
以上兩種系統架構一直是計算機硬件的兩大主流,以它們為核心構成的不同硬件平臺,其外部總線、存儲設備及其它外部設備都有很大的區別,但隨著技術的發展又慢慢趨于一致,各種技術的揉和,使得PC不僅廉價、高效,而且具備了越來越高的可靠性。
在我國電力系統中,以往高電壓等級的SCADA都采用Unix/RISC系統,應用最為普及的是其代表Solaris/Sparc(通常使用它們的低 端工作站作為平臺,因此通稱為工作站)。而Windows/CISC系統(以Intelx86為代表,稱為Intel Architecture,即IA,也就是常說的PC),往往只作為輔助計算機。造成這種局面 并非完全是由于PC本身的原因,在我國工業領域廣泛應用 的工控機大多數也是Intel架構,主要原因是處理能力、存儲容量、可靠性等指標之間沒有找到一個合適的結合點。
隨著Linux操作系統和PC硬件的不斷完善,現在我們有了另一種選擇,就是Linux/PC平臺。
4 新技術對PC的完善
將PC與工作站相比較,就硬件而言,PC主要還是在性能和穩定可靠兩個方面存在不足。新技術的發展對此進行了完善[2]。
雖然以Intel的x86芯片為核心的PC并不是為嚴格的工業控制設計的,但隨著設計與制造工藝的共同發展,使得它以及它的外圍器件都越來越成熟和穩 定,而Linux操作系統的出現,更是彌補了PC在高端應用中的操作系統空白。這兩者的結合,加上近幾年來各種屬于小型機的高端技術在PC領域的應用,使 我們可以設計一個可滿足不斷發展的電力監控系統后臺要求的通用平臺。
在處理器的性能方面,以PentiumPRO為代表的IA32處理器的誕生標志著PC服務器/工作站進入市場,它支持對稱多處理器(SMP)技術,在 一臺計算機內用多個CPU構成并行處理系統。1998年In-tel推出的PIIXeon處理器更是被業界所推崇。Xeon的設計目的是為了滿足企業級服 務器與工作站的需要,可應用于嚴格要求的商業環境;它支持SMP,與同期的Pentium處理器比較,具有更多更快的二級緩存,從而具有更好的性能。隨著 多級流水線處理技術的采用,尤其是最近64位架構的出現更突破了傳統IA的局限,大大提高了PC的性能。
在總線與接口方面,PC不斷擴展其先進的PCI總線,從32位到64位,從33MHz到66MHz,PCI總線性能不斷提高。為適應嚴格要求的工業控制環境而設計的CompactPCI總線技術在提高PC工控機性能的同時,更進一步提高了PC系統的穩定性。
在最重要的磁盤系統中,SCSI(小型計算機系統接口)在PC上的應用大大提高了PC的數據吞吐能力,尤其是硬盤系統的可靠性(壽命);冗余磁盤陣(RAID)的引入更是大大刺激了PC在數據庫方面的應用[3][4]。 冗余磁盤陣列本是高端服務器的專有技術,但隨著該技術成本的降低,它開始被應用于PC服務器領域。目前的主流RAID卡結合 SCSIUltra160/Ultra 3,采用基本的RAID1或RAID5能達到很好的性能和故障冗余效果,而低成本的IDERAID甚至Linux系統的軟件RAID技術至少在很大程度上 提高了系統數據的安全可靠性。
網絡的性能與故障冗余在工業控制中也很重要,在高端服務器領域,已經有了各種負荷均衡和自動故障冗余措施。這些技術已經被應用到了PC中。以 Intel PRO100+Dual Port Server Adapter為例,它可以在32位PCI總線上提供Team工作模式,這是一種相對簡單的基于數據鏈路層的負荷均衡與故障冗余技術。但可以通過使用該技 術,非常便捷地得到能夠滿足電力系統監控后臺所需要的故障冗余功能,甚至可以利用多塊這樣的網絡適配器進行負荷均衡,以達到提高網絡性能的目的。
其它如雙電源技術,都已經非常成熟。隨著時代的進步,越來越多的RISC系統技術應用到普通PC中,也使得CISC與RISC的差距慢慢縮小,從現有條件看,完全可以在PC平臺上,用最少的投資,構成性能非常不錯的系統。
5 Linux操作系統及其應用
5.1 Linux的現狀與廣泛的支持
Linux從推出至今,不過短短10年時間,在這10年中,它的發展速度超過了以往任何一種操作系統,經過10年的發展,Linux不僅成熟起來,而且得到了非常廣泛的應用。
Linux內核的發展一直掌握在Linus所領導的一個開放小組的統一控制下,這既保證了Linux的穩定發展,也使得各種好的建議能納入新版本的計劃中。
隨著商機的出現,Oracle、IBM、DELL等大型廠商也正式對外宣稱支持Linux,Oracle推出了其著名數據庫Oracle的Linux版本,IBM更是斥資10億美元,放棄其AIX系統的繼續研發,轉而在其所有硬件平臺上采用Linux。
現有被廣泛使用的Linux發行版主要包括我國的RedFlag(紅旗,已經成功應用于銀行———中國農行、嵌入式系統———福利彩票系統、政府機構 以及陜西電力等),北美的RedHat(紅帽子,已經被廣泛應用于各行各業,如電影特效處理等),歐洲的SuSe(德國)等,這些發行版都依據Linux 內核以及桌面系統版本的更新而不斷推出新的版本,每個系統的國際性支持都在不斷提高,目前發行版都可以很好地支持中文輸入與顯示。
在外圍硬件的支持方面,雖然PC的各種配件很多,供應商也非常多,甚至比較雜亂,但都有PC 兼容的標準,隨著Linux的推廣普及,各種常用配件、甚至工業領域的專業配件,也都有了Linux版本的驅動,這個范圍還正在進一步擴大。
5.2 Linux的特色
Linux在PC平臺上出色的性能表現是眾多用戶選用Linux作為他們的商業服務器的主要原因之一,與Windows相比,在多任務、多用戶的網絡環境下,Linux的性能遠遠超過Windows[5],這是Linux先進的進程管理、內存管理以及高性能的文件系統所決定的[6]。
Linux實際上是從Unix發展過來的,應該說是Unix的一種變體。Linux繼承了Unix穩定可靠的特點(通過系統機制來保證),正因為如 此,威脅Win-dows系統、數據安全的各種病毒在Linux下就幾乎不存在。而且,現在每個Linux發行套件中都包涵功能強大的防火墻,可以很好地 限制來自網絡的各種訪問,有效地提高了系統的安全性。
Linux操作系統內核統一,在可移植性方面Linux目前的主流硬件平臺還是PC,但這并不意味著它不能在其它平臺上使用,最新的Linux 2.4.x內核支持包括IA32/IA64/SPARC/ALPHA,甚至幾乎所有大型機、巨型機系統硬件平臺。
由于采用現代內核機制,Linux的內核具有模塊可加載特性,這意味著用戶在不修改內核源程序的情況下就可以根據實際需要定制內核中功能部分,使得系 統更專業,具有更高的效率。與Windows和傳統的Unix相比,這個特點非常突出。Linux系統也正是基于這一系統架構,非常完美地實現了多硬件平 臺、SMP等特性,使得內核的系統性非常強,移植也很方便。
新的Linux 2.4內核版本開始支持日志文件系統,這種文件系統與傳統的FAT、NTFS文件系統比較,關鍵在于對整個文件實現日志管理,不僅能提高了訪問大量小文件 時的效率,而且在文件系統出現問題時,也能夠自動快速恢復,這一方面降低了維護難度,另一方面增加了文件系統的數據可靠性。
Linux最具特色的地方是Open Source,Linux從內核到每一個發行版都包涵幾乎所有應用程序,都是在GPL原則下開放源碼的,這樣,用戶不僅能修改源碼達到定制系統的目的,而 且也能在GPL原則下,重用所有的代碼,來實現自己的功能。Linux的源碼庫是一個寶貴的資源,它不僅為我們提供了學習操作系統的最好環境,而且也為我 們編制自己的應用程序提供了寶貴的源代碼資源和系統思想。另外,Linux下的程序設計語言及平臺非常豐富。值得一提的是Delphi和 C++Builder兩大開發環境的設計商Borland公司最近推出的Kylix 3.0,它不僅提供了Linux平臺下類似Delphi的軟件開發環境,甚至提供了與Delphi兼容的源代碼,這樣一來,我們在 Delphi@Windows下開發的軟件,就能很容易地通過Kylix移植到Linux平臺上運行[7]。
5.3 Linux在商業與軍工各方面的廣泛應用
Linux的商業應用已經非常廣泛,著名電影TA-TANIC中的幾乎所有電腦特技,后期影片處理都是在Linux系統下完成的。目前全世界 的Web服務器有超過60%采用Linux+Apache構建,很多商業數據庫也采用Linux作為系統平臺。實踐表明,在重負荷、大訪問量的網絡服務器 上,采用Windows/服務器不能達到要求,而使用Linux/服務器或Linux/PC-Cluster就能解決這一問題[8]。
Linux在工業控制領域乃至軍用方面也已經越來越廣泛。例如歐洲的AutomationX工業控制軟件就是基于Linux平臺的 (www.mnrcan.com)。我國電力系統對Linux也有嘗試性的使用。而嵌入式Linux更是被廣泛應用于各種場合,例如PDA、彩票機、甚至 照相機中[9][10]。
6 利用Linux/PC構建電力SCADA通用平臺的實現方案
按照電力系統的要求,采用現有的技術條件,完全可以配置一系列性能價格比比較高的、符合電力系統各級別需要的系統平臺,下面給出了一種可能的實現方案。
硬件:PC工控機或PC服務器,可選配置有對稱多處理器(SMP,雙處理器或4處理器)、冗余磁盤陣列(RAID,基于SCSI或IDE硬盤)、自動故障冗余雙口網卡(AFTNIC),以及雙機冗余配置。
軟件系統:Linux(RedHat 7.x或SuSe 7.x~8.x或者RedFlag 3.x)操作系統;基于XWindows的圖形窗口系統(XFree86+OpenMotif桌面管理);MySQL或Oracle數據庫;gcc、 gtk、qt等c/c++開發環境、接口庫;kdevelop、kylix等集成開發環境;IPv4以及IPv6網絡支持;UnixODBC可支持通過 ODBC訪問外部微軟ODBC引擎驅動的商業數據庫系統,如SQLServer等。
對于110kV及以下變電站后臺監控,可以采用簡單PC工控機,開放源碼的高性能MySQL數據庫,配合Linux強大的網絡功能,可以方便快捷地構建一個開發平臺。
對于220kV變電站后臺監控,可采用SMP雙處理器系統,沿用TCP/IP網絡通信,提高系統處理大量IO數據的能力。對穩定性以及數據安全性要求 較高的變電站,可在單機中采用IDERAID,并進行雙機冗余配置。數據庫可采用MySQL或商業數據庫如Oracle等。
對于重要的220kV變電站或500kV樞紐變電站,可以對單機采用SCSIRAID、雙網冗余、雙電源冗余技術,并采用雙機冗余配置。數據可采用商用Oracle數據庫或Sybase、DB2等數據庫。這樣便能使整個系統達到非常高的安全穩定可靠水平。
7 結語
隨著技術的發展,計算機軟硬件平臺也出現了統一的趨勢,事實上,我們今天看到的PC和與之對應的微型機、小型機等都已經遠遠超出了 其最初的定義;各種技術的揉和更使得它們在速度、穩定性等各個方面都越來越接近,PC也開始在很多服務領域取代了以往的高端服務器;而落后于硬件發展的操 作系統在三大實力分割天下的局面形成之后(MSWINDOWS、UNIX、LINUX),又在版權、持續研發費用、以及操作系統本身適應現代操作系統的技 術特性等因素的作用下,也開始出現兩極分化的大趨勢,即逐步淘汰Unix,繼而用Linux取而代之,IBM、Oracle以及HP等大型廠商的支持就是 最好的證明。就現在而言,雖然Linux/PC平臺依然具有其難以克服的弱點(除內核外的很多軟件穩定性較差,尤其是免費的X桌面管理系統,中文支持還不 夠理想等),但采用Linux/PC構建電力SCADA系統通用平臺,無論從技術性、安全性、實用性上看,還是從經濟性方面考慮,都不失為一個好的選擇。 參考文獻
[1] 中華人民共和國電力行業標準.220kV~500kV變電所計算機監控系統設計技術規程(報批稿).中華人民共和國國家經濟貿易委員會發布,2001
[2] Dan Byron.Increasing Availability atthe Cost of Reliability,
http://ftp.us.dell.com/app/1 q02-Byr.pdf,2002.2
[3] Steve Hogge and Bo Zhou.Understanding Server-Based RAID Using Ultra ATATechnology,http://ftp.us.dell.com/app/iq02-Hog,pdf,2002.3
[4] Database Environments,http://ftp.us.dell.com/app/raidma-na.pdf,2001.5
[5] John Kirch.Microsoft Windows NTServer 4.0 versus UNIX.http://kirch.net/unix-nt/,1999.8.
[6] 毛德操,胡希明.Linux內核源代碼情景分析[M].杭州:浙江大學出版社,2001.5.
[7] 喬林.kylix程序設計-類庫參考手冊[M].北京:中國鐵 道出版社,2002.4.
[8] Hewlett-Packard and GSI,Linux PC Clustering.http://hp-linux.cern.ch/,1999.4.
[9] 王學龍.嵌入式Linux系統設計與應用[M].北京:清華大學出版社,2001.8.
[10] 王永福,等.基于Linux的能量管理系統[J].電力系統自動化,2001,(10):55-58.