西安工程大學(xué)計(jì)算機(jī)學(xué)院 陳紫薇 馬佳賓 王 瓊
發(fā)電廠自動抄表軟件人機(jī)交互界面設(shè)計(jì)
西安工程大學(xué)計(jì)算機(jī)學(xué)院 陳紫薇 馬佳賓 王 瓊
結(jié)合所設(shè)計(jì)開發(fā)的一款發(fā)電廠關(guān)口表自動抄表小主站軟件,對發(fā)電廠計(jì)量計(jì)費(fèi)系統(tǒng)的要求、組成機(jī)構(gòu)、實(shí)現(xiàn)功能等進(jìn)行了分析研究;使用Visio軟件繪制底圖、軟件實(shí)現(xiàn)動態(tài)鏈接編輯的方法實(shí)現(xiàn)了電量一次接線圖的輸出顯示;通過重載C#.net 開發(fā)環(huán)境中DataGridView函數(shù)的繪制方法OnCellPaint,完成了多層組合表頭的設(shè)計(jì);使用ZedGraph開源控件完成計(jì)量信息統(tǒng)計(jì)圖形的設(shè)計(jì)。在完成軟件設(shè)計(jì)與編程實(shí)現(xiàn)之后,對其各項(xiàng)功能進(jìn)行了檢測,符合用戶的預(yù)期。
自動抄表;人機(jī)交互;電能量遠(yuǎn)方終端;一次接線圖;多層組合表頭
項(xiàng)目組承接了一種發(fā)電廠關(guān)口表計(jì)量計(jì)費(fèi)自動抄表軟件的設(shè)計(jì)任務(wù),主要完成協(xié)作企業(yè)在陜西榆林奧維乾元電廠、協(xié)和光伏電站、龍舟光伏電站、李家梁風(fēng)電場等發(fā)電廠的計(jì)量計(jì)費(fèi)信息的當(dāng)?shù)睾笈_信息的監(jiān)視、查詢分析、報(bào)表等功能。這些發(fā)電廠的計(jì)量計(jì)費(fèi)系統(tǒng)主要由全電子式多功能電能表、電能量遠(yuǎn)方終端、計(jì)量信息遠(yuǎn)傳的調(diào)度數(shù)據(jù)網(wǎng)絡(luò)、計(jì)量計(jì)費(fèi)自動抄表當(dāng)?shù)睾笈_4部分組成[1-2],這里主要負(fù)責(zé)自動抄表當(dāng)?shù)睾笈_系統(tǒng)的人機(jī)交互界面的設(shè)計(jì)。當(dāng)?shù)睾笈_系統(tǒng)由1臺服務(wù)器組成,采用RS485接口與電能量遠(yuǎn)方終端進(jìn)行通信連接,引入計(jì)量計(jì)費(fèi)信息。當(dāng)?shù)睾笈_系統(tǒng)軟件采用客戶機(jī)-服務(wù)器模式設(shè)計(jì),計(jì)量計(jì)費(fèi)的配置參數(shù)和數(shù)據(jù)信息保存在SQL-Server數(shù)據(jù)庫中,服務(wù)器軟件負(fù)責(zé)數(shù)據(jù)采集和計(jì)量計(jì)費(fèi)信息的計(jì)算處理,客戶機(jī)軟件主要用于人機(jī)交互,實(shí)現(xiàn)配置參數(shù)定義、計(jì)量信息監(jiān)控、查詢分析和報(bào)表輸出等任務(wù)。這里主要就客戶機(jī)軟件人機(jī)交互界面的實(shí)現(xiàn)思想和方法進(jìn)行詳細(xì)介紹。
1.1 關(guān)口表計(jì)量計(jì)費(fèi)
關(guān)口表計(jì)量計(jì)費(fèi)的方法和居民戶和工業(yè)用戶電表的計(jì)量計(jì)費(fèi)有著根本不同之處。由于電力系統(tǒng)是一個動態(tài)平衡的系統(tǒng),其發(fā)電量和用電量必須保持一致才能保證電網(wǎng)的平穩(wěn)運(yùn)行。為此,發(fā)電廠必須按照調(diào)控中心下達(dá)的電量曲線發(fā)電,同時接收調(diào)控自動系統(tǒng)主站的自動發(fā)電控制(Automatic Generating Control, AGC)。關(guān)口表計(jì)費(fèi)還要采用尖、峰、平、谷分時計(jì)費(fèi)(Time of Use, TOU)的方法進(jìn)行計(jì)費(fèi)。隨著電力市場的進(jìn)一步完善,“實(shí)時報(bào)價、競價上網(wǎng)”方式也會在電力市場推廣實(shí)施。這樣關(guān)口表計(jì)量計(jì)費(fèi)系統(tǒng)的抄表周期按需要可以是1、2、3、5、10、15、20、30、60分鐘,需要在自動抄表系統(tǒng)中生成電量增量曲線,進(jìn)行發(fā)電計(jì)劃考核,計(jì)算出不遵循計(jì)劃曲線發(fā)電的處罰電量;計(jì)算出分時計(jì)費(fèi)的電量;統(tǒng)計(jì)出結(jié)算電量和上網(wǎng)電費(fèi)。除此之外,關(guān)口表計(jì)量計(jì)費(fèi)系統(tǒng)還需要統(tǒng)計(jì)網(wǎng)損、變損等信息,監(jiān)控計(jì)量設(shè)備的運(yùn)行狀況和偷電行為。
發(fā)電廠的計(jì)量結(jié)算一般都在省電力調(diào)控和交易中心計(jì)量計(jì)費(fèi)系統(tǒng)主站完成,發(fā)電廠為了摸清自己的發(fā)電行為和電量結(jié)算信息,做到“自己也要一桿秤”,也在發(fā)電廠控制中心建設(shè)一套當(dāng)?shù)刈詣映硇≈髡荆瑢?shí)現(xiàn)關(guān)口表和考核表的電量監(jiān)控與計(jì)量結(jié)算數(shù)據(jù)的計(jì)算生成,方便與對端結(jié)算數(shù)據(jù)的核對。
1.2 發(fā)電廠關(guān)口表自動抄表系統(tǒng)的組成
發(fā)電廠當(dāng)?shù)刈詣映硐到y(tǒng)主要由電能表、電能量遠(yuǎn)方終端(eRTU)、調(diào)度數(shù)據(jù)網(wǎng)的Ⅱ區(qū)網(wǎng)絡(luò)[2-3]、當(dāng)?shù)刈詣映碇髡镜?部分組成,如圖1所示。
圖1 發(fā)電廠自動抄表系統(tǒng)的組成
如圖1所示,電能表主要安裝在發(fā)電、廠用、上網(wǎng)關(guān)口、無功補(bǔ)償?shù)然芈返挠?jì)量測點(diǎn),實(shí)現(xiàn)法定的計(jì)量功能。eRTU負(fù)責(zé)與電能表通信,實(shí)現(xiàn)表盤電量、月凍結(jié)電量、電量負(fù)荷曲線、需量、電表狀態(tài)、電表事件等信息的采集,并負(fù)責(zé)計(jì)量信息的儲存和管理、與主站通信上報(bào)計(jì)量信息等功能。eRTU與調(diào)控和交易中心的主站通過調(diào)度數(shù)據(jù)網(wǎng)實(shí)現(xiàn)電量信息傳輸。為了保證電廠當(dāng)?shù)鼐W(wǎng)絡(luò)與電力公司網(wǎng)絡(luò)的隔離,當(dāng)?shù)刈詣映碇髡静捎肦S485總線與eRTU實(shí)現(xiàn)通信連接。當(dāng)?shù)刈詣映碇髡静捎肐EC60870-5-102協(xié)議與eRTU通信,實(shí)現(xiàn)計(jì)量信息的采集,客戶端軟件實(shí)現(xiàn)人機(jī)接口功能。
圖2 自動抄表軟件的組成關(guān)系
2.1 自動抄表主站軟件
自動抄表主站軟件在一臺Dell PowerEdge T30微塔式服務(wù)器(英特爾?至強(qiáng)?E3-1225v5 CPU,3.3GHz)平臺上運(yùn)行,應(yīng)用軟件基于SQL Server2010數(shù)據(jù)庫系統(tǒng),采用C#.net可視化集成開發(fā)環(huán)境設(shè)計(jì),包括服務(wù)器軟件和客戶機(jī)軟件2部分。服務(wù)器軟件主要實(shí)現(xiàn)與eRTU通信,采集計(jì)量計(jì)費(fèi)數(shù)據(jù),完成計(jì)劃考核、線損、TOU電量、上下網(wǎng)電量等計(jì)量數(shù)據(jù)的統(tǒng)計(jì)計(jì)算、電量負(fù)荷曲線的儲存、報(bào)表生成等,所有的計(jì)量信息都保存在數(shù)據(jù)庫,借助數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)計(jì)量信息管理??蛻魴C(jī)軟件主要實(shí)現(xiàn)人機(jī)交互接口和計(jì)量信息的輸出、配置參數(shù)設(shè)置管理等功能。客戶機(jī)軟件的人機(jī)交互接口主要包括一次接線圖、數(shù)據(jù)查詢分析、報(bào)表輸出、系統(tǒng)維護(hù)管理、退出系統(tǒng)5大項(xiàng)功能。由于自動抄表軟件屬于及時系統(tǒng)軟件,沒有實(shí)時性方面的要求,而客戶機(jī)軟件和服務(wù)器軟件主要以數(shù)據(jù)庫為橋梁進(jìn)行數(shù)據(jù)交互。在客戶機(jī)軟件進(jìn)行參數(shù)配置時,為了實(shí)現(xiàn)配置信息的同步,2個軟件采用Socket協(xié)議進(jìn)行通信連接,通知服務(wù)器軟件同步更新配置參數(shù)??蛻魴C(jī)軟件和服務(wù)器軟件組成和之間的關(guān)系如圖2所示。
圖3 客戶機(jī)軟件的主界面
2.2 客戶機(jī)軟件人機(jī)交互界面
項(xiàng)目組為協(xié)作企業(yè)開發(fā)的軟件需要以產(chǎn)品的形式向市場正式發(fā)布,因此人機(jī)交互界面需要精心設(shè)計(jì)。為此項(xiàng)目組聘請平面設(shè)計(jì)美工進(jìn)行了界面布局和界面上的圖形制作,以滿足協(xié)作企業(yè)的要求。這里以奧維乾元電廠為例,客戶機(jī)軟件主界面如圖3所示。
如圖3所示,客戶機(jī)軟件的人機(jī)交互的5項(xiàng)功能以圖表的形式醒目布置在屏幕右邊,用戶通過點(diǎn)擊鼠標(biāo)即可進(jìn)入相應(yīng)界面進(jìn)行繼續(xù)操作或監(jiān)視。屏幕左側(cè)裁剪了一座發(fā)電廠照片作為底圖,美化人機(jī)交互界面。人機(jī)交互的4項(xiàng)主功能以敏感點(diǎn)方式使用鼠標(biāo)訪問,同樣可以進(jìn)入相應(yīng)子界面進(jìn)行操作和監(jiān)視。用戶登錄在窗口的右下部實(shí)現(xiàn)。
2.3 電量一次接線圖
發(fā)電廠的監(jiān)控人員對電廠的一次接線圖非常熟悉,習(xí)慣在一次接線圖上觀測數(shù)據(jù)信息。為此,人機(jī)交互界面專門實(shí)現(xiàn)了電量一次接線圖界面,如圖4所示。
圖4 一次接線圖界面
一旦電廠建成,其一次接線圖就基本確定,不再修改?;谶@一特點(diǎn),這里采用了Visio軟件繪制一次接線圖的底圖,另存為jpg圖形文件,由軟件使用。為了在底圖上實(shí)時顯示電量信息,軟件專門設(shè)計(jì)了一種簡單的動態(tài)鏈接編輯功能,在界面上設(shè)置坐標(biāo)和電量點(diǎn)訪問名對,即可在底圖指定的坐標(biāo)位置顯示電量信息。如果電廠一次接線圖修改了,需要再制作一次底圖和改變動態(tài)鏈接的過程。圖4中,電量信息在底圖的方框中顯示。
2.4 電量信息查詢分析
計(jì)量信息查詢分析主要包括上網(wǎng)關(guān)口表、考核電表和統(tǒng)計(jì)計(jì)算的查詢與分析。查詢分析的輸出結(jié)果有兩種形式,一種為表格輸出,另一種為統(tǒng)計(jì)圖表(曲線、棒圖、餅圖)輸出。電量查詢包括分鐘電量曲線,日月年統(tǒng)計(jì)電量信息,每個電量可選擇二次電量(電表底碼)和一次電量兩種形式。為了快速設(shè)定查詢區(qū)間,支持年月日的快速設(shè)置,也可以人工設(shè)置要顯示信息的時間區(qū)間。計(jì)量信息查詢界面如圖5所示。
為了快速選擇查詢分析的對象,查詢分析界面劃分為左右兩個部分,圖5中左側(cè)為分析對象樹,該樹上顯示的信息在系統(tǒng)維護(hù)管理時分級分類設(shè)置,以用戶習(xí)慣的方式查找要查詢分析的對象。屏幕右側(cè)為信息輸出顯示主窗口。
圖5 計(jì)量信息查詢分析界面
2.5 多層組合表頭
如圖5橢圓框內(nèi)信息所示,信息查詢表格輸出顯示時希望有多層組合表頭樣式,這樣的表格樣式美觀,也與顯示的內(nèi)容相符。但是C#.net可視化開發(fā)環(huán)境缺省的輸出表格樣式單一,不支持這種多層組合表頭。通過對一些多層表頭實(shí)現(xiàn)方法[4-5]的分析研究,采用DataGridView控件重載,實(shí)現(xiàn)了多層組合表頭功能。在本軟件實(shí)現(xiàn)的多層表頭中,第一層有和并列,第二層為基本列,不包含和并列。實(shí)現(xiàn)的方法為是重載DataGridView函數(shù)的繪制方法OnCellPaint,把表頭作為一個大的長方形,一層層一格格繪制,從而完成多層組合表頭的編程實(shí)現(xiàn)。
圖6 計(jì)量信息棒圖輸出界面
2.6 統(tǒng)計(jì)圖形
為了直觀分析計(jì)量數(shù)據(jù),采用曲線、棒圖、餅圖等統(tǒng)計(jì)圖形表示相關(guān)對象的信息是一種常見的輸出顯示方法。C#.net開發(fā)環(huán)境支持Office統(tǒng)計(jì)圖表分析控件,采用該控件進(jìn)行統(tǒng)計(jì)圖表輸出是一種不錯的方案。但計(jì)量負(fù)荷曲線的測點(diǎn)非常多,Office統(tǒng)計(jì)圖表分析控件輸出顯示速度很慢,不能滿足所見即所得的分析需求。為了解決這一問題,在這里使用了第三方免費(fèi)軟件ZedGraph。ZedGraph是開源、免費(fèi)的控件,支持可視化設(shè)計(jì)。使用ZedGraph類庫可以方便創(chuàng)建計(jì)量數(shù)據(jù)的二維線型、條型、餅型圖表,而且圖形大小也可以方便控制。為了在C#.net開發(fā)環(huán)境使用該控件,需要將ZedGraph.dll和ZedGraph. Web.dll兩個動態(tài)鏈接庫添加到開發(fā)環(huán)境中,之后調(diào)用ZedGraph控件提供的接口函數(shù)即可繪制所需的圖形。如圖6所示是軟件輸出顯示的棒圖圖形。
軟件的其他人機(jī)交互模塊相對容易,不在這里詳細(xì)說明。在完成軟件的設(shè)計(jì)開發(fā)之后,在實(shí)驗(yàn)室對軟件的各個人機(jī)交互界面都進(jìn)行了細(xì)致檢測,界面的布局、界面上顯示數(shù)據(jù)的正確性都進(jìn)行了驗(yàn)證。測試結(jié)果表明,軟件設(shè)計(jì)滿足用戶的要求。
針對用戶要求,完成了一種發(fā)電廠關(guān)口表計(jì)量計(jì)費(fèi)自動抄表軟件的人機(jī)交互界面的設(shè)計(jì)。首先對發(fā)電廠關(guān)口表計(jì)量計(jì)費(fèi)系統(tǒng)的要求、組成機(jī)構(gòu)、實(shí)現(xiàn)功能等進(jìn)行了分析研究,弄清計(jì)量信息輸出的特點(diǎn)和用戶需求;再對自動抄表主站客戶機(jī)軟件的一次接線圖、計(jì)量信息查詢分析表的多層組合表頭、統(tǒng)計(jì)圖形的實(shí)現(xiàn)技術(shù)進(jìn)行了詳細(xì)介紹,完成了該軟件的人機(jī)交互界面的設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)過逐項(xiàng)功能測試,所設(shè)計(jì)的人機(jī)交互界面畫面美觀、顯示數(shù)據(jù)正確,符合用戶的預(yù)期。下一步將軟件投入現(xiàn)場的推廣應(yīng)用,并在現(xiàn)場運(yùn)行過程中對所設(shè)計(jì)的軟件進(jìn)行完善,進(jìn)一步滿足用戶的使用需求。
[1]呂雪燕,張敏,黃國兵.電能量計(jì)量計(jì)費(fèi)小主站系統(tǒng)設(shè)計(jì)[J].電氣制造,2009(8):78-82.
[2]朱婷婷.基于雙平面調(diào)度數(shù)據(jù)網(wǎng)絡(luò)的發(fā)電廠特色應(yīng)用[J].電工技術(shù),2015(3):112-112.
[3]黃國兵,金勇,賈榮興等.某電能量遠(yuǎn)方終端雙平面網(wǎng)絡(luò)接口設(shè)計(jì)[J].西安工程大學(xué)學(xué)報(bào),2016,30(1).
[4]楊海濤.復(fù)雜表頭表格的關(guān)系模式表示[J].計(jì)算機(jī)工程,2011,37(4):49-51.
[5]歐立奇,康祥順,馬煜.Visuual C#.NET案例開發(fā)集錦[M].北京:電子工業(yè)出版社,2005(10).
陳紫薇(1991—),女,陜西西安人,碩士研究生,主要從事計(jì)算機(jī)應(yīng)用領(lǐng)域的研究與產(chǎn)品設(shè)計(jì)開發(fā)。
西安市2012年產(chǎn)業(yè)技術(shù)創(chuàng)新計(jì)劃-技術(shù)轉(zhuǎn)移促進(jìn)工程(項(xiàng)目編號:CX12185-4)。