国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MFC和WinSock的變電站燈光遠(yuǎn)程控制軟件

2017-04-10 00:51陳滔滔陳爍彬杜曉榮吳偉密蔣華
現(xiàn)代電子技術(shù) 2017年6期
關(guān)鍵詞:變電站

陳滔滔 陳爍彬 杜曉榮 吳偉密 蔣華

摘 要: 以變電站戶外高壓場地的燈光為研究對象,針對傳統(tǒng)的站內(nèi)照明系統(tǒng)存在控制方式單一、資源利用率低等不足,利用MFC和WinSock編程開發(fā)出一款燈光遠(yuǎn)程控制軟件,使運(yùn)維人員能根據(jù)實(shí)際需要自主選擇和控制燈具的開斷,從而為變電站的照明設(shè)計(jì)管理提供了一種參考方案。該軟件由主控窗口、連接窗口和進(jìn)度窗口三個部分組成,具有單燈和全局兩種操控方式。實(shí)驗(yàn)結(jié)果表明,其可通過遠(yuǎn)方后臺操控的形式靈活地改變燈光的狀態(tài),進(jìn)而達(dá)到節(jié)能的目的,具有較強(qiáng)的實(shí)用性與可靠性。

關(guān)鍵詞: 變電站; 燈光控制; MFC; WinSock; 遠(yuǎn)程控制軟件

中圖分類號: TN911?34; TP319 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)06?0179?04

Abstract: Taking the lamplight at outdoor high?voltage site in the substation as the research object, in order to overcome the shortcomings of single control mode and low resource utilization existing in the traditional lamplight system in the substation, a lamp light remote control software was developed based on MFC and WinSock to make the operation and maintenance staffs choose the lamp switching control autonomously according to their actual requirement, so as to provide a reference scheme for the illumination design management of the substation. This software is composed of the main control window, connection window and progress window, and has the control modes of single lamp and all lamps. The experimental result shows that the software can flexibly change the lamplight state in the form of remote background control to save the energy, and has high practicability and reliability.

Keywords: substation; lamplight control; MFC; WinSock; remote control software

0 引 言

隨著電網(wǎng)建設(shè)的日趨完善和穩(wěn)步推進(jìn),智能、高效、綠色已成為當(dāng)代電網(wǎng)的發(fā)展要求[1]。作為傳輸和轉(zhuǎn)換電能的主要場所,變電站在整個電網(wǎng)架構(gòu)中發(fā)揮著不可或缺的作用[2]。然而,如今許多變電站室外高壓區(qū)域的照明仍舊采用就地控制的方式,運(yùn)維人員只能通過往返場地來控制燈光的開斷[3]。此外,傳統(tǒng)的控制方式通常采用單個空氣開關(guān)控制多組燈光的方式,不但無法根據(jù)工作量和天氣條件來開啟或關(guān)閉燈光,而且由于電路電流過大容易造成空開跳閘的現(xiàn)象。

基于以上分析,本文介紹了一種適用于變電站的燈光遠(yuǎn)控軟件。作為面向用戶的上位機(jī)軟件,它在現(xiàn)實(shí)操作中能夠與負(fù)責(zé)建立無線網(wǎng)絡(luò)和數(shù)據(jù)傳輸?shù)腁P接點(diǎn)以及直接控制場地高壓燈的燈控接點(diǎn)配合使用,從而實(shí)現(xiàn)站內(nèi)燈光的遠(yuǎn)方控制。而其遠(yuǎn)程照明控制功能主要采用無線通信的方式來實(shí)現(xiàn),在無需重新布線和鋪設(shè)電纜的同時避免了電能的過度浪費(fèi),而且還進(jìn)一步提高了工作效率和能源利用率。

1 軟件的總體設(shè)計(jì)

1.1 軟件的開發(fā)環(huán)境

本軟件是以C++為編程語言[4],微軟基礎(chǔ)類庫(MFC)為圖形用戶界面庫[5]的基礎(chǔ)上設(shè)計(jì)和實(shí)現(xiàn)的,其開發(fā)平臺的詳細(xì)配置如下:操作系統(tǒng)為Windows 7 ultimate;主頻2.40 GHz 的Intel[?]Core(TM) i3?4000M處理器;4.00 GB內(nèi)存;無線網(wǎng)卡為2×2 11 b/g/n Wireless LAN M.2 Adapter;編程環(huán)境為Microsoft Visual Studio 2010。

1.2 系統(tǒng)的整體架構(gòu)

本軟件定位于變電運(yùn)行人員使用的照明管理終端軟件,可以與AP接點(diǎn)和燈控接點(diǎn)共同構(gòu)成無線遠(yuǎn)程燈控系統(tǒng),系統(tǒng)的總體框架如圖1所示。

由圖1可知,本上位機(jī)軟件包含了主控窗口、連接窗口、進(jìn)度窗口三個模塊。對于AP接點(diǎn)和燈控接點(diǎn)而言,雖然其組成部分都包含了WiFi模塊和單片機(jī)芯片,但不同之處在于前者主要負(fù)責(zé)無線局域網(wǎng)的構(gòu)建及指令數(shù)據(jù)的轉(zhuǎn)發(fā),而后者的作用是作為下位機(jī)對指令數(shù)據(jù)進(jìn)行接收和處理。

在軟件實(shí)際運(yùn)行中,各個模塊在邏輯功能上是相互聯(lián)系的。軟件啟動后首先顯示程序的主控窗口,而在燈控操作之前需要與AP接點(diǎn)建立連接,具體可在連接窗口中輸入正確的IP地址和端口號來配置。當(dāng)成功連接至服務(wù)器后,用戶可執(zhí)行下一步,選擇并點(diǎn)擊主窗口的燈控按鈕,進(jìn)而發(fā)送含上位機(jī)標(biāo)識的燈控指令。

值得注意的是,此時進(jìn)度窗口會自動彈出并顯示當(dāng)前的進(jìn)度。場地上的燈控接點(diǎn)根據(jù)接收到的指令信息完成燈光的開/關(guān)動作,然后發(fā)送含下位機(jī)標(biāo)識的指令。當(dāng)該指令返回到上位機(jī)軟件后,若經(jīng)判斷與之前發(fā)送的指令相一致,主控窗口會同步更新燈光的狀態(tài),以和現(xiàn)場情況相對應(yīng),由此便可實(shí)現(xiàn)變電站場地?zé)艄獾倪h(yuǎn)控操作。

1.3 軟件設(shè)計(jì)的UML圖

軟件在具體開發(fā)過程中的UML類圖[6]如圖2所示。從圖2可以看到,燈控軟件的三個組成模塊均采用了基于對話框的設(shè)計(jì)方式,而且是以類的形式呈現(xiàn)的。其中,主控窗口類CLightControlDlg、連接窗口類CConnectionDlg、進(jìn)度窗口類CProgressDlg都繼承于MFC類庫中的對話框擴(kuò)展類CDialogEx,故可在此基礎(chǔ)上適當(dāng)?shù)卦黾訑?shù)據(jù)成員和成員函數(shù),以實(shí)現(xiàn)各自的功能。

2 軟件各子模塊的設(shè)計(jì)

本軟件由主控窗口、連接窗口、進(jìn)度窗口三個模塊組成的,下面將具體敘述各個模塊的開發(fā)過程。

2.1 主控窗口的設(shè)計(jì)

考慮到用戶主要通過主窗口來進(jìn)行燈光的遠(yuǎn)程控制,因此良好的交互性和操作的簡便性是該窗口設(shè)計(jì)的必備要素,并且軟件的研發(fā)目標(biāo)定位于變電站的運(yùn)行管理輔助工具,故還須體現(xiàn)與專業(yè)相符的特征。對此,可以將目標(biāo)變電站的一次接線圖繪制到主界面上,使得室外場地?zé)艄馑诘母髟O(shè)備間隔名稱和位置能在后臺直觀的顯示。另一方面,由于MFC庫中并沒有內(nèi)置燈光圖形控件,因而需要采用繪畫圓形圖案的方法將其繪制在接線圖上,以便用戶清晰地觀察到燈光的相應(yīng)位置。軟件主窗口的界面如圖3所示。

為了使用戶通過點(diǎn)擊按鈕來發(fā)送燈控指令,進(jìn)而實(shí)現(xiàn)燈光的遠(yuǎn)程開啟和關(guān)閉,根據(jù)MFC的消息映射機(jī)制[7],需要為按鈕添加相應(yīng)的響應(yīng)事件。另外,系統(tǒng)的工作模式可分為單燈和全局兩種方式。在單燈模式下,每一盞燈光具有惟一的ID號,其作用是指定當(dāng)前受控的燈光,以便于場地上的燈控接點(diǎn)正確識別,且在主窗口界面中有與燈光圖形一一對應(yīng)的“開/關(guān)”按鈕。而在全局模式下,所有的燈光都具有相同的ID號,通過界面上的“全部開啟/關(guān)閉”按鈕可對其進(jìn)行整體操作。圖4給出了按鈕響應(yīng)事件的執(zhí)行過程。

在軟件終端已連接至服務(wù)器的前提下,當(dāng)用戶界面上的“開/關(guān)燈”按鈕被點(diǎn)擊后,相當(dāng)于發(fā)起一次燈控操作,此時所有的燈控按鈕將無法被點(diǎn)擊,直到該次的燈控操作完成為止,這樣可以使整個系統(tǒng)變得更加穩(wěn)定與可靠。

2.2 連接窗口的設(shè)計(jì)

燈控指令從軟件所在的終端發(fā)送到場地的燈控接點(diǎn)之前,需要經(jīng)由AP接點(diǎn)進(jìn)行中轉(zhuǎn),而連接窗口則是終端與AP接點(diǎn)間相互通信的橋梁。通過連接窗口中相關(guān)參數(shù)的設(shè)置,便可建立兩者間的數(shù)據(jù)連接,而實(shí)現(xiàn)這一過程可采用基于TCP協(xié)議的客戶端/服務(wù)器(C/S)模式[8]。其中,AP接點(diǎn)作為TCP服務(wù)器,具有指定的IP地址和端口號,軟件終端設(shè)置為TCP客戶端。與此同時,為了提高研發(fā)效率,使用Windows套接字(WinSock)的編程方式[9]。它不僅對TCP協(xié)議進(jìn)行了簡單的封裝,而且還提供了豐富的函數(shù)接口。連接窗口的用戶界面如圖5所示。

另外,在實(shí)際開發(fā)中還使用了多線程技術(shù)(Multithreading)[10],即連接模塊的通信功能由新創(chuàng)建的線程CWinThread類來負(fù)責(zé)執(zhí)行,由此進(jìn)一步提升了軟件的并發(fā)處理能力。連接窗口的主要實(shí)現(xiàn)過程如圖6所示。

需要強(qiáng)調(diào)的是,該模塊的通信功能既包括了連接至AP服務(wù)器,又包括接收其傳送過來的指令數(shù)據(jù)。當(dāng)接收到的指令含有連接中斷標(biāo)識時,意味著服務(wù)器與客戶端間的網(wǎng)絡(luò)斷線,需要重新連接,否則說明通信狀況良好。前面曾經(jīng)提到,主控窗口的按鈕響應(yīng)事件負(fù)責(zé)指令的發(fā)送,這里將接收的指令與之前發(fā)送的指令進(jìn)行比較,若兩者一致便更新主界面燈光圖形的狀態(tài),否則再次等待來自服務(wù)器的指令數(shù)據(jù)。

2.3 進(jìn)度窗口的設(shè)計(jì)

由于一次燈控操作從發(fā)起到結(jié)束需要耗費(fèi)一定的時間,這時將當(dāng)前任務(wù)的完成情況展現(xiàn)給用戶是非常有必要的。對此,可在進(jìn)度窗口中通過MFC庫中的CProgressCtrl類來建立進(jìn)度條,如圖7所示。

為了使進(jìn)度條的位置能根據(jù)工作的執(zhí)行進(jìn)度來定時更新,同樣要利用到MFC的消息映射機(jī)制。具體可設(shè)置一個具有規(guī)定時長的定時器,每經(jīng)過相同的時間間隔,該定時器將發(fā)出ON_WM_TIMER()消息,此時與之對應(yīng)的名為OnTimer()的函數(shù)將被響應(yīng)[11],其內(nèi)部的偽代碼如下:

CProgressCtrl* m_ProgressCtrl = 指向進(jìn)度窗口中進(jìn)度條的指針;

CLightControlDlg* m_LightControlDlg = 指向主控窗口的指針;

//使進(jìn)度條位置參數(shù)ProgressValue的數(shù)值加1,并判斷其是否超過1 000,如果是則置0

if((ProgressValue++)>1 000)

ProgressValue = 0;

//根據(jù)當(dāng)前的位置參數(shù)值更新進(jìn)度條的位置

m_ProgressCtrl?>SetPos(ProgressValue);

//如果當(dāng)前的燈控操作已完成,則隱藏進(jìn)度顯示窗口并使主界面的燈控按鈕狀態(tài)恢復(fù)正常

if(m_LightControlDlg?>Loaded == TRUE)

{

ShowWindow(SW_HIDE);

EnableButton();

}

當(dāng)用戶點(diǎn)擊主窗口界面的燈控按鈕時,進(jìn)度顯示窗口將自動彈出,而且進(jìn)度條位置參數(shù)的初始值為零。每經(jīng)歷一定的時間間隔,系統(tǒng)都會執(zhí)行OnTimer()函數(shù),使進(jìn)度條位置參數(shù)的數(shù)值不斷疊加,當(dāng)該數(shù)值的范圍在規(guī)定值以內(nèi),將更新窗口中進(jìn)度條的位置,否則重新置零。另外,系統(tǒng)將根據(jù)連接模塊的相應(yīng)參數(shù)來判斷當(dāng)前的燈控操作是否已完成,如果是則將進(jìn)度窗口隱藏,同時恢復(fù)主控窗口中燈控按鈕的正常狀態(tài),即使其能被用戶再次點(diǎn)擊。

3 實(shí)驗(yàn)結(jié)果

在現(xiàn)實(shí)試驗(yàn)中,將110 kV蓮塘站設(shè)定為目標(biāo)變電站來測試遠(yuǎn)程照明控制軟件的適用性。該變電站的相關(guān)參數(shù)為:室外高壓場地面積約2 090 m2,一次設(shè)備的獨(dú)立間隔為10個,有14盞功率為400 W的高壓射燈(鈉燈),其中與燈控軟件終端的最遠(yuǎn)距離約55 m。整個照明遠(yuǎn)控系統(tǒng)的無線局域網(wǎng)由AP接點(diǎn)負(fù)責(zé)組建,而每一盞射燈與負(fù)責(zé)接收指令并控制通斷的燈控接點(diǎn)直接相連。兩類接點(diǎn)的WiFi模塊與單片機(jī)模塊則分別選擇了HLK?RM04和STC89C52RC芯片。單燈模式下,以開啟#2電容器組的射燈為例,通過單擊軟件主控窗口中相應(yīng)間隔的“開燈”按鍵,經(jīng)歷一段時間后,高壓場地上的#2電容器組射燈將自動點(diǎn)亮,而軟件主界面上對應(yīng)的燈光圖形狀態(tài)也隨之更新,如圖8所示。

此外,蓮塘變電站原有的燈控方式為14盞高壓射燈,分成5組,每組由一個空氣開關(guān)來控制。假定運(yùn)維人員晚上在某個間隔進(jìn)行倒閘操作時,只需打開該間隔的1盞燈光,即可滿足照明要求,但因?yàn)樵瓉項(xiàng)l件的限制僅能一次性開啟3盞燈光。如果以耗時0.5 h來算,原有方式消耗的電能為0.6 kW·h,而通過照明遠(yuǎn)控軟件可實(shí)現(xiàn)單個燈光的開啟,所消耗的電能將降至0.2 kW·h,僅為原來耗電量的[13]。另一方面,在惡劣天氣或站內(nèi)特巡的情況下可能需要打開場地上的所有燈光,而在軟件的全局模式下,可通過遠(yuǎn)方點(diǎn)擊“全部開啟”按鈕來完成一鍵開啟。

4 結(jié) 語

本文介紹了變電站傳統(tǒng)照明燈控方式的不足,針對其存在的耗電量大、易于跳閘等缺陷,設(shè)計(jì)并研發(fā)出一種基于MFC和Socket的照明遠(yuǎn)控軟件,其主要包括單燈模式和全局模式兩種工作方式。敘述了軟件的總體架構(gòu),并給出了相關(guān)的UML圖。在介紹軟件的整體工作流程后,對其各子模塊的設(shè)計(jì)進(jìn)行了進(jìn)一步的分析,具體闡述了主控窗口、通信窗口以及進(jìn)度窗口的實(shí)現(xiàn)過程。最后給出該軟件在實(shí)際變電站中應(yīng)用的效果。實(shí)例表明,與原有方式相比,該軟件具備較高的技術(shù)可行性,不僅實(shí)現(xiàn)了燈光的按需開啟,而且極大地節(jié)省了能源。

參考文獻(xiàn)

[1] 董旭柱,夏清,饒宏,等.對南方電網(wǎng)開展智能電網(wǎng)建設(shè)的思考[J].南方電網(wǎng)技術(shù),2012,6(3):1?6.

[2] 王林梅,徐碩.智能變電站技術(shù)研究與應(yīng)用[J].機(jī)電技術(shù),2012,35(3):106?108.

[3] 錢怡,張輝.無人值班變電站通風(fēng)、照明系統(tǒng)的現(xiàn)狀和改進(jìn)措施[J].現(xiàn)代制造,2011(30):36?37.

[4] LIPPMAN S B, LAJOIE J, MOO B E. C++ primer [M]. 5th ed. New Jersey: Addison?Wesley, 2012: 1?28.

[5] 任哲.MFC Windows應(yīng)用程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2013:65?71.

[6] DENNIS A, WIXOM B H, TEGARDEN D. Systems analysis and design with UML [M]. 4th ed. Chicago: RR Donnelley, 2012: 195?198.

[7] 衛(wèi)洪春,彭小利,蒲國林.MFC窗口創(chuàng)建過程的研究[J].現(xiàn)代電子技術(shù),2014,37(11):151?154.

[8] DEAN J, HARRISON A, LASS R N, et al. Client/server messaging protocols in serverless environments [J]. Journal of network and computer applications, 2011, 34(4): 1366?1379.

[9] 李霞,陳松,張國琰.基于Socket的VC++與FLASH通信[J].重慶交通大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,30(2):344?348.

[10] LASALLE D, KARYPIS G. Multi?threaded modularity based graph clustering using the multilevel paradigm [J]. Journal of parallel and distributed computing, 2015, 76: 66?80.

[11] 李國良,王培俊,侯磊,等.基于OpenGL的虛擬數(shù)控車床加工仿真系統(tǒng)研究[J].機(jī)械設(shè)計(jì)與制造,2011(11):168?170.

猜你喜歡
變電站
變電站巡檢機(jī)器人控制系統(tǒng)設(shè)計(jì)
關(guān)于變電站五防閉鎖裝置的探討
超高壓變電站運(yùn)行管理模式探討
談實(shí)時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
智能變電站的發(fā)展前景探究
220kV戶外變電站接地網(wǎng)的實(shí)用設(shè)計(jì)
智能變電站與綜自變電站區(qū)別綜述
變電站,城市中“無害”的鄰居
國外電廠和變電站接地設(shè)計(jì)概述
移動式變電站之應(yīng)用
民丰县| 会东县| 辽阳市| 雷山县| 宜州市| 昭平县| 庄河市| 博客| 启东市| 金沙县| 古交市| 牡丹江市| 金堂县| 罗城| 宣城市| 桂平市| 延长县| 册亨县| 武汉市| 漳平市| 沂南县| 孝义市| 晋中市| 右玉县| 交口县| 阿克陶县| 苏尼特左旗| 兰溪市| 定南县| 江源县| 桃源县| 沙河市| 北流市| 博野县| 双峰县| 乐山市| 临猗县| 双辽市| 德清县| 本溪市| 孝义市|