李超,孫鋒
(南京國(guó)電南自風(fēng)電自動(dòng)化技術(shù)有限公司,南京 210032)
ExtJS技術(shù)與傳統(tǒng)的Web前端開(kāi)發(fā)技術(shù)相比,是一個(gè)使用JavaScript編寫的且與后臺(tái)技術(shù)無(wú)關(guān)的Ajax框架。該框架具有較高的可擴(kuò)展性,可以制作出功能豐富、界面友好的客戶端應(yīng)用。作為富客戶端(RIA)開(kāi)發(fā)技術(shù)的ExtJS技術(shù)越來(lái)越多被應(yīng)用到Web服務(wù)器應(yīng)用開(kāi)發(fā)過(guò)程中。ExtJS技術(shù)的用戶界面(UI)組件模型和開(kāi)發(fā)理念繼承了Yahoo用戶組件庫(kù)YUI和Java平臺(tái)上的Swing,它為開(kāi)發(fā)者屏蔽了大量的Web UI組件庫(kù)操作以及跨瀏覽器方面的處理,將操作方式向傳統(tǒng)桌面的應(yīng)用程序進(jìn)行了轉(zhuǎn)換,最大限度地消除這種差異。ExtJS技術(shù)要比開(kāi)發(fā)人員直接針對(duì)DOM和W3C對(duì)象模型開(kāi)發(fā)的Web UI組件庫(kù)快速而且輕松許多,從根本上提升了用戶的使用體驗(yàn)。ExtJS技術(shù)的異步交互機(jī)制使得Web界面顯示與業(yè)務(wù)邏輯相分離,提高了系統(tǒng)的反應(yīng)速度,同時(shí)減少了網(wǎng)絡(luò)負(fù)荷。無(wú)論是從Web UI組件庫(kù)界面美觀豐富方面看,還是從功能強(qiáng)大完善方面來(lái)看,ExtJS技術(shù)都可以算得上是Web UI組件庫(kù)方面的佼佼者。基于以上因素,作者設(shè)計(jì)并實(shí)現(xiàn)了基于Ext JS技術(shù)的風(fēng)力發(fā)電機(jī)在線監(jiān)控系統(tǒng)。
ExtJS技術(shù)主要用來(lái)開(kāi)發(fā)RIA應(yīng)用。RIA具有桌面應(yīng)用程序的特點(diǎn),其中包括:在消息確認(rèn)和格式編排方面提供互動(dòng)用戶界面;在無(wú)刷新頁(yè)面之下提供快捷的界面響應(yīng);提供通用的用戶界面特性(如拖放式以及在線和離線操作能力)。RIA具有Web應(yīng)用程序的特點(diǎn),其中包括立即部署、跨平臺(tái)、采用逐步下載來(lái)檢索內(nèi)容和數(shù)據(jù)以及可以充分利用被廣泛采納的互聯(lián)網(wǎng)標(biāo)準(zhǔn)等,而且RIA具有實(shí)時(shí)互動(dòng)的聲音和圖形。
在實(shí)現(xiàn)RIA的技術(shù)方面,現(xiàn)在也形成了2個(gè)分支,一種是以ExtJS技術(shù)為代表的利用超文本標(biāo)記語(yǔ)言(HTML)、級(jí)聯(lián)樣式表(CSS)和客戶端腳本語(yǔ)言(JavaScript)等實(shí)現(xiàn)的富客戶端技術(shù);另一種是以Flex插件和Sliver Light插件為代表的運(yùn)行于瀏覽器插件中的RIA應(yīng)用。
(1)Flex插件。Flex插件是Adobe公司發(fā)布的presentation server(展現(xiàn)服務(wù)),它是java web container或者.net server的一個(gè)應(yīng)用,根據(jù).mxml文件(純粹的XML描述文件和ActionScript腳本語(yǔ)言)產(chǎn)生相應(yīng)的.swf文件,傳送到客戶端,由客戶端的Flash Player解釋執(zhí)行,給用戶以豐富的用戶體驗(yàn)。
(2)Silver Light插件。Silver Light插件是一種新的Web程序技術(shù),能在各種平臺(tái)上運(yùn)行。借助該技術(shù)將擁有內(nèi)容豐富、視覺(jué)效果絢麗的交互式體驗(yàn),無(wú)論是在瀏覽器內(nèi)、多個(gè)設(shè)備上還是桌面操作系統(tǒng)中,都可以獲得這種體驗(yàn)。Silver Light插件包含XAML頁(yè)面布局語(yǔ)言,為WPF的子集合,配合客戶端腳本語(yǔ)言(JavaScript),可跨平臺(tái)利用計(jì)算機(jī)應(yīng)用程序(plug-in),可應(yīng)用于各種網(wǎng)頁(yè)瀏覽器上,包括Internet Explorer,Mozilla Firefox,Safari和Netscape等。
(3)GWT(Google Web Toolkit)控件。GWT是Google開(kāi)發(fā)Ajax應(yīng)用的框架,它支持用Java開(kāi)發(fā)和調(diào)試Ajax應(yīng)用。Ajax技術(shù)是當(dāng)前開(kāi)發(fā)Web應(yīng)用非常熱門的技術(shù),也是Web 2.0的一個(gè)重要的組成部分。如果用傳統(tǒng)方式使用JavaScript進(jìn)行Ajax開(kāi)發(fā)的話,就會(huì)使得應(yīng)用程序非常難以調(diào)試,從而降低生產(chǎn)效率。Google推出的GWT控件有望解決這個(gè)難題,GWT控件是一個(gè)開(kāi)發(fā)Ajax應(yīng)用的框架,它使程序員能用Java同時(shí)開(kāi)發(fā)客戶端和服務(wù)器端的代碼。GWT控件的編譯器會(huì)把用于開(kāi)發(fā)客戶端的Java代碼轉(zhuǎn)換成JavaScript和HTML,而程序員不用關(guān)心這一轉(zhuǎn)換過(guò)程。這樣,程序員就可以在自己喜歡的Java IDE里面開(kāi)發(fā)自己的Ajax應(yīng)用程序。
ExtJS技術(shù)的開(kāi)發(fā)理念來(lái)源于傳統(tǒng)的桌面軟件開(kāi)發(fā)。對(duì)于桌面軟件開(kāi)發(fā)來(lái)說(shuō),空白的窗體是其開(kāi)發(fā)的對(duì)象,在空白窗體中組合放置各種Windows UI組件,從而最終形成常見(jiàn)的Windows界面。對(duì)于Web應(yīng)用來(lái)說(shuō),空白的Web頁(yè)也是開(kāi)發(fā)的對(duì)象,這里沒(méi)有組件,只有HTML,JavaScript,CSS和圖片文件,利用這些元素,最終形成Web應(yīng)用界面。在2種開(kāi)發(fā)方式中,桌面軟件的組件化和標(biāo)準(zhǔn)化是區(qū)別于Web應(yīng)用的最大標(biāo)志。而Web應(yīng)用卻是以零散與自由為特點(diǎn),所有元素開(kāi)發(fā)者都必須事無(wú)巨細(xì)地照顧到,并最終像美工一樣將各種元素匯集在一起,形成一個(gè)用戶可以接受的用戶界面。
引入了ExtJS技術(shù)庫(kù),有了一套完整的UI組件可以使用,因此,可以在空白的Web頁(yè)面上組合放置ExtJS技術(shù)庫(kù)的各種UI組件,與開(kāi)發(fā)桌面軟件放置Windows UI組件一樣。運(yùn)行時(shí),ExtJS技術(shù)庫(kù)會(huì)自動(dòng)生成界面的HTML,JavaScript,CSS和圖片等元素,并最終在瀏覽器上渲染出ExtJS的Web UI。在這個(gè)過(guò)程中,開(kāi)發(fā)者不再需要直接面向HTML,JavaScript,CSS和圖片等基礎(chǔ)元素,也無(wú)需去管理這些元素?zé)┈嵉姆胖媒M合,這一切都由ExtJS技術(shù)庫(kù)來(lái)代勞;開(kāi)發(fā)者要面對(duì)的是UI組件,只要按照組件的開(kāi)發(fā)規(guī)則進(jìn)行開(kāi)發(fā)即可。操作組件相對(duì)于操作HTML等元素來(lái)說(shuō),操作起來(lái)更為容易。
ExtJS 4.0組件對(duì)框架進(jìn)行了重構(gòu),其中最重要的是形成了一個(gè)結(jié)構(gòu)及層次分明的組件體系,由這些組件形成了Ext的控件。Ext組件由Component類定義,每種組件都有指定的xtype屬性值,通過(guò)該值可以得到一個(gè)組件的類型或者是定義一個(gè)指定類型的組件。ExtJS 4.0的組件體系有4大類約100種組件,即容器類組件、工具欄及菜單欄組件、表單及元素組件和其他組件。其中,容器類組件是構(gòu)成Web UI的主體組件,豐富了傳統(tǒng)Web UI的表現(xiàn),是ExtJS 技術(shù)改善Web UI的重要體現(xiàn)。工具欄和菜單欄組件經(jīng)常配合使用,其在Web上的表示和功能與桌面軟件效果一樣。在傳統(tǒng)Web UI組件庫(kù)中,表單是最重要的界面元素。ExtJS 技術(shù)的表單組件對(duì)普通HTML的表單進(jìn)行了封裝,不僅提供了更靚麗的外觀表現(xiàn),同時(shí)也擴(kuò)充了功能。其他組件主要包括了圖表組件、視圖組件、編輯組件和按鈕組件等。
事實(shí)證明,ExtJS技術(shù)的開(kāi)發(fā)方式正在成為開(kāi)發(fā)RIA應(yīng)用事實(shí)上的UI標(biāo)準(zhǔn),版本從2.0,3.0到4.0,其性能得到越來(lái)越多的認(rèn)可,其業(yè)務(wù)領(lǐng)域也越來(lái)越寬。隨著4.0版本的發(fā)布,大量的新特性也成為業(yè)內(nèi)關(guān)注的焦點(diǎn)。
(1)動(dòng)態(tài)加載和新的類系統(tǒng)。JavaScript沒(méi)有真正面向?qū)ο蟮念愊到y(tǒng),因而對(duì)主流的熟悉面向?qū)ο笳Z(yǔ)言的開(kāi)發(fā)者來(lái)說(shuō)存在著技術(shù)障礙,ExtJS技術(shù)通過(guò)提供自己的類系統(tǒng),從而讓開(kāi)發(fā)者可以編寫一個(gè)更傳統(tǒng)的面向?qū)ο蟮拇a。ExtJS 4.0對(duì)舊的類系統(tǒng)進(jìn)行了全面的更新,提供了一個(gè)全新的類系統(tǒng),從而讓系統(tǒng)開(kāi)發(fā)更簡(jiǎn)單、更靈活。
(2)圖形和圖表。瀏覽器客戶端繪圖一直沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)。ExtJS 4.0提供了純JavaScript實(shí)現(xiàn)的Ext.draw繪圖包,它可以適應(yīng)不同的繪圖引擎,自動(dòng)選擇VML和SVG,并且提供了統(tǒng)一的繪圖應(yīng)用編程接口(API)。ExtJS 4.0還提供了豐富的圖表組件,其中包括:柱狀圖、折線圖、面積圖、雷達(dá)圖等,并將圖表與數(shù)據(jù)模型無(wú)縫地整合在一起,圖表可以直接從Store中獲取數(shù)據(jù)。
(3)數(shù)據(jù)包。ExtJS 4.0對(duì)數(shù)據(jù)包進(jìn)行了全面的重構(gòu),并加強(qiáng)擴(kuò)展到了43個(gè)類,Ext.data.Model類取代Ext.data.Record類對(duì)象成為數(shù)據(jù)包的核心,在Model中可以直接定義Proxies,不需要通過(guò)存儲(chǔ)(Store)就可以直接在模型中加載和保存數(shù)據(jù)。同時(shí)Store的功能也得到了加強(qiáng),它不但支持本地排序、篩選和分組,也支持遠(yuǎn)程排序、篩選和分組,標(biāo)準(zhǔn)的Store中就可以實(shí)現(xiàn)多列排序、篩選和分組功能。ExtJS 4.0提供了關(guān)聯(lián)API,可以通過(guò)關(guān)聯(lián)API將模型關(guān)聯(lián)起來(lái)。大多數(shù)應(yīng)用程序會(huì)處理許多不同的模型,而且模型之間是相關(guān)的。每一個(gè)模型不但可以擁有許多關(guān)聯(lián)模型,而且與它們的定義順序無(wú)關(guān)。一旦有一個(gè)模型實(shí)例,可以很容易地遍歷相關(guān)數(shù)據(jù)。
風(fēng)力發(fā)電機(jī)在線監(jiān)測(cè)系統(tǒng)的界面按功能可分為導(dǎo)航區(qū)域、數(shù)據(jù)顯示區(qū)域和圖形顯示區(qū)域。其中,導(dǎo)航區(qū)域分為風(fēng)場(chǎng)導(dǎo)航、風(fēng)力發(fā)電機(jī)導(dǎo)航和功能導(dǎo)航,導(dǎo)航區(qū)域位于頁(yè)面的右側(cè)和下面,右側(cè)為風(fēng)力發(fā)電機(jī)之間的導(dǎo)航,點(diǎn)擊相應(yīng)的按鈕可以切換到相應(yīng)的風(fēng)力發(fā)電機(jī)頁(yè)面。下側(cè)為功能導(dǎo)航和風(fēng)場(chǎng)導(dǎo)航,可以進(jìn)行功能頁(yè)面的跳轉(zhuǎn)和各個(gè)風(fēng)場(chǎng)之間的切換。
數(shù)據(jù)顯示區(qū)域和圖形顯示區(qū)域分別位于界面中間的左右部分。數(shù)據(jù)顯示區(qū)域以列表的形式動(dòng)態(tài)地顯示風(fēng)力發(fā)電機(jī)各個(gè)監(jiān)測(cè)點(diǎn)數(shù)據(jù)的實(shí)時(shí)變化,圖形顯示區(qū)域會(huì)將各個(gè)測(cè)點(diǎn)數(shù)據(jù)的變化以圖形的方式(如棒圖,曲線圖等)進(jìn)行更加直觀的顯示。
圖2 風(fēng)場(chǎng)地理分布
風(fēng)力發(fā)電機(jī)在線監(jiān)測(cè)系統(tǒng)采用SCADACOM5平臺(tái)作為整個(gè)系統(tǒng)的服務(wù)器平臺(tái),SYBASE作為數(shù)據(jù)庫(kù)管理系統(tǒng)。前端用戶界面使用ExtJS 4.0組件進(jìn)行開(kāi)發(fā)。系統(tǒng)前、后臺(tái)代碼分離,前、后臺(tái)的聯(lián)系體現(xiàn)在數(shù)據(jù)的交互上,要求前、后臺(tái)使用的數(shù)據(jù)表達(dá)格式一致。
整個(gè)系統(tǒng)分為3層,最上層是風(fēng)場(chǎng)地理分布模塊,第2層為單個(gè)風(fēng)場(chǎng)信息展示模塊,最下層為風(fēng)力發(fā)電機(jī)數(shù)據(jù)總貌模塊、風(fēng)力發(fā)電機(jī)數(shù)據(jù)棒圖模塊和多通道波形模塊。系統(tǒng)分層如圖1所示。
圖1 系統(tǒng)功能分層示意圖
2.2.1 風(fēng)場(chǎng)地理分布模塊
風(fēng)場(chǎng)地理分布圖(如圖2所示)顯示了區(qū)域內(nèi)各風(fēng)場(chǎng)的地理位置和風(fēng)場(chǎng)的一些基本信息。風(fēng)場(chǎng)模型由6臺(tái)風(fēng)力發(fā)電機(jī)模型組成。當(dāng)某個(gè)風(fēng)場(chǎng)中的風(fēng)力發(fā)電機(jī)運(yùn)行正常時(shí),6臺(tái)風(fēng)力發(fā)電機(jī)模型正常轉(zhuǎn)動(dòng);當(dāng)風(fēng)場(chǎng)中的風(fēng)力發(fā)電機(jī)運(yùn)行異常時(shí),風(fēng)力發(fā)電機(jī)模型停止轉(zhuǎn)動(dòng)并將其進(jìn)行紅色標(biāo)記。這種處理使運(yùn)行、維護(hù)人員可以對(duì)于故障風(fēng)場(chǎng)的確認(rèn)更加容易,大大提高了工作效率。
風(fēng)力發(fā)電機(jī)模型使用ExtJS技術(shù)編寫,每臺(tái)風(fēng)力發(fā)電機(jī)模型關(guān)聯(lián)了風(fēng)力發(fā)電機(jī)的測(cè)點(diǎn),并使用計(jì)算法(Calculation)進(jìn)行運(yùn)算,當(dāng)某個(gè)測(cè)點(diǎn)出現(xiàn)異常時(shí),即可反映在風(fēng)力發(fā)電機(jī)模型上。風(fēng)力發(fā)電機(jī)轉(zhuǎn)動(dòng)動(dòng)畫的實(shí)現(xiàn)使用多線程技術(shù),將轉(zhuǎn)動(dòng)的代碼都寫到animate子線程里,每隔0.5 s就讓風(fēng)力發(fā)電機(jī)葉片模型轉(zhuǎn)動(dòng)一個(gè)固定角度。部分代碼如下所示:
animate : function () {
var me = this;
console.log(me.rotateOrNot);
if( me.rotateOrNot === true){
if( me.rotateNumber == 1){
me. getByKey("fanLeaf").setAttributes({
"rotate" : {
"x" : 260,
"y" : 222.3628,
"de grees" : 0,
}
}, true);
me. getByKey("fanLeaf1").setAttributes({
"rotate" : {
"x" : 260,
"y" : 222.362 8,
"d egrees" : 0,
}
}, true);
me. getByKey("fanLeaf2").setAttributes({
"rotate" : {
"x" : 260,
"y" : 222.362 8,
圖3 單個(gè)風(fēng)場(chǎng)信息顯示
圖4 風(fēng)力發(fā)電機(jī)總貌圖
"d egrees" : 0,
}
}, true);
2.2.2 單個(gè)風(fēng)場(chǎng)信息顯示模塊
單個(gè)風(fēng)場(chǎng)信息顯示界面由風(fēng)力發(fā)電機(jī)矩陣圖和導(dǎo)航按鈕組成,風(fēng)力發(fā)電機(jī)矩陣圖由所在風(fēng)場(chǎng)的所有風(fēng)力發(fā)電機(jī)矩形狀態(tài)圖組成,依次對(duì)應(yīng)了風(fēng)場(chǎng)中所有的風(fēng)力發(fā)電機(jī)。1個(gè)風(fēng)力發(fā)電機(jī)矩形狀態(tài)圖上半部分顯示了1臺(tái)風(fēng)力發(fā)電機(jī)模型,它和風(fēng)場(chǎng)地理分布界面一樣,當(dāng)這臺(tái)風(fēng)力發(fā)電機(jī)正常運(yùn)行時(shí),風(fēng)力發(fā)電機(jī)模型會(huì)一直轉(zhuǎn)動(dòng),當(dāng)這臺(tái)風(fēng)力發(fā)電機(jī)運(yùn)行異常時(shí),風(fēng)力發(fā)電機(jī)模型停止轉(zhuǎn)動(dòng)并由紅色高亮顯示。風(fēng)力發(fā)電機(jī)模型關(guān)聯(lián)了這臺(tái)風(fēng)力發(fā)電機(jī)的所有測(cè)點(diǎn),當(dāng)有1個(gè)測(cè)點(diǎn)出現(xiàn)異常時(shí),將會(huì)顯示在風(fēng)力發(fā)電機(jī)模型上。風(fēng)力發(fā)電機(jī)矩形狀態(tài)圖下半部分動(dòng)態(tài)顯示了當(dāng)前風(fēng)力發(fā)電機(jī)的風(fēng)速。導(dǎo)航按鈕分為風(fēng)場(chǎng)間的導(dǎo)航和風(fēng)力發(fā)電機(jī)之間的導(dǎo)航,可以跳轉(zhuǎn)到其他風(fēng)場(chǎng)或其他風(fēng)力發(fā)電機(jī)的相關(guān)界面。單個(gè)風(fēng)場(chǎng)信息顯示界面如圖3所示。風(fēng)力發(fā)電機(jī)總貌圖如圖4所示。
圖5 風(fēng)力發(fā)電機(jī)棒圖
圖6 多通道波形圖
2.2.3 風(fēng)力發(fā)電機(jī)數(shù)據(jù)顯示模塊
單個(gè)風(fēng)力發(fā)電機(jī)數(shù)據(jù)顯示模塊分為風(fēng)力發(fā)電機(jī)總貌圖、棒圖和多通道波形圖3個(gè)部分。風(fēng)力發(fā)電機(jī)總貌圖左側(cè)為風(fēng)力發(fā)電機(jī)輪轂示意圖,并將測(cè)點(diǎn)以信號(hào)燈的形式進(jìn)行閃爍顯示,其中故障點(diǎn)閃紅色,正常點(diǎn)閃綠色。信號(hào)燈閃爍功能依然使用ExtJS技術(shù)的animate子線程實(shí)現(xiàn),每個(gè)測(cè)點(diǎn)間隔2 s閃爍1次,依次顯示一輪后重新開(kāi)始新一輪的顯示。風(fēng)力發(fā)電機(jī)總貌圖右側(cè)以列表形式動(dòng)態(tài)顯示風(fēng)力發(fā)電機(jī)輪轂測(cè)點(diǎn)的具體數(shù)值。
棒圖界面分別通過(guò)棒圖模型和列表形式動(dòng)態(tài)顯示風(fēng)力發(fā)電機(jī)有效值(RMS)和峰值,其中棒圖模型與所表示的測(cè)點(diǎn)值相關(guān)聯(lián)。當(dāng)RMS值或峰值達(dá)到不同的預(yù)警值區(qū)間時(shí)棒圖會(huì)顯示不同的顏色。當(dāng)超過(guò)棒圖的最大刻度時(shí)會(huì)顯示紅色,正常為綠色,風(fēng)力發(fā)電機(jī)棒圖界面如圖5所示。
多通道波形圖(如圖6所示)顯示了各個(gè)風(fēng)場(chǎng)中所有風(fēng)力發(fā)電機(jī)數(shù)據(jù)的歷史曲線,可作為進(jìn)一步確定風(fēng)力發(fā)電機(jī)故障的依據(jù)。左側(cè)樹(shù)形展開(kāi)了所有監(jiān)控的風(fēng)場(chǎng)和風(fēng)力發(fā)電機(jī),點(diǎn)擊具體風(fēng)力發(fā)電機(jī)名稱可在右側(cè)顯示該風(fēng)力發(fā)電機(jī)的數(shù)據(jù)曲線,并可以手動(dòng)設(shè)置所要查看的時(shí)間區(qū)間。
ExtJS技術(shù)因其UI組件庫(kù)的豐富性和良好的用戶體驗(yàn),在Web應(yīng)用開(kāi)發(fā)領(lǐng)域獲得了廣泛的應(yīng)用。本文使用ExtJS技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了風(fēng)力發(fā)電機(jī)在線監(jiān)測(cè)系統(tǒng)。該系統(tǒng)已在甘肅地區(qū)風(fēng)力發(fā)電場(chǎng)投入了實(shí)際運(yùn)行,運(yùn)行結(jié)果表明,該系統(tǒng)人機(jī)界面互動(dòng)友好,系統(tǒng)運(yùn)行穩(wěn)定,數(shù)據(jù)動(dòng)態(tài)刷新迅速,基本完成了風(fēng)力發(fā)電機(jī)的在線監(jiān)測(cè)工作。ExtJS技術(shù)在風(fēng)電運(yùn)行維護(hù)領(lǐng)域有著廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1]李成嚴(yán),馮慧靈.基于開(kāi)源技術(shù)的Web應(yīng)用架構(gòu)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(8):27-29.
[2]張一杰.基于ExtJS的IT信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電站輔機(jī),2011,32(2):43-44.
[3]張鵬偉,陳景霞,張文平.基于ExtJS和SSH的Web應(yīng)用架構(gòu)的研究與實(shí)現(xiàn)[J].陜西科技大學(xué)學(xué)報(bào):自然科學(xué)版,2010,28(6):111-115.
[4]徐會(huì)生.深入淺出ExtJS[M].2版.北京:人民郵電出版社,2010.
[5]宋轉(zhuǎn)玲,劉海行,代亮.基于ExtJS開(kāi)發(fā)的海洋科學(xué)數(shù)據(jù)共享服務(wù)平臺(tái)[J].海洋科學(xué),2010,34(2):4-9.
[6]衛(wèi)軍,夏慧軍,孟臘春.ExtJS Web應(yīng)用程序開(kāi)發(fā)指南[M].北京:機(jī)械工業(yè)出版社,2009.
[7]鞠鳳娟,吳志峰.EXT技術(shù)在Web界面設(shè)計(jì)與實(shí)現(xiàn)中的應(yīng)用研究[J].計(jì)算機(jī)與現(xiàn)代化,2008(11):27-29.
[8]張杰,石春玲,周立軍.采用Ajax框架ExtJS整合Web應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2011,30(6):21-23.
[9]肖遙,郭巍,莊俊,等.雙饋風(fēng)力發(fā)電機(jī)功率關(guān)系分析[J].華電技術(shù),2013,35(1):72-77.
[10]冷明全,張彬.風(fēng)力發(fā)電機(jī)變流器水冷系統(tǒng)故障原因分析及優(yōu)化[J].華電技術(shù),2012,34(3):78-81.
[11]秦成虎,王斌,董勝剛,等.基于嵌入式平臺(tái)的風(fēng)電機(jī)組主控系統(tǒng)控制器的開(kāi)發(fā)[J].華電技術(shù),2012,34(3):75-77.
[12]顧露香,樂(lè)秀璠,楊虞琨,等.KHC算法在風(fēng)力發(fā)電機(jī)組偏航系統(tǒng)的運(yùn)用[J].華電技術(shù),2011,33(9):92-94.
[13]沙玉婷,王斌,楊衛(wèi)民.雙饋風(fēng)力發(fā)電機(jī)組主回路設(shè)計(jì)與器件選型[J].華電技術(shù),2011,33(5):74-76.
[14]馬鵬,豐家輝,胡昌.風(fēng)力發(fā)電機(jī)翼型升阻比的計(jì)算[J].華電技術(shù),2008,30(7):75-79.
[15]欒懷東,余正華,邵珠芬.1.5 MW大型水平軸風(fēng)力發(fā)電機(jī)組安裝[J].華電技術(shù),2011,33(6):37-39.
[16]狄海龍,梁振飛,王波.雙饋異步風(fēng)力發(fā)電機(jī)組定子三相電流不平衡原因分析[J].華電技術(shù),2012,34 (1):73-75.