教室用電數(shù)據(jù)采集系統(tǒng)的上位機(jī)軟件設(shè)計(jì)
教室用電數(shù)據(jù)采集系統(tǒng)的上位機(jī)軟件設(shè)計(jì)
游小榮,潘強(qiáng),鐘茫
(常州紡織服裝職業(yè)技術(shù)學(xué)院機(jī)電工程系,江蘇常州213164)
摘要:為了實(shí)現(xiàn)教室用電數(shù)據(jù)采集系統(tǒng),完成了基于Java平臺(tái)和B/S架構(gòu)的教室用電實(shí)時(shí)數(shù)據(jù)采集及處理平臺(tái)的上位機(jī)軟件。該軟件包含節(jié)點(diǎn)PC端和中心服務(wù)器端兩部分。節(jié)點(diǎn)PC負(fù)責(zé)接收串口發(fā)送過來的教室用電參數(shù),并負(fù)責(zé)發(fā)送數(shù)據(jù)至中心服務(wù)器;中心服務(wù)器用于實(shí)現(xiàn)對各客戶端發(fā)送過來的數(shù)據(jù)進(jìn)行接收、處理、存儲(chǔ)、管理及顯示等。本上位機(jī)軟件界面友好,可通過表格和曲線兩種方式實(shí)時(shí)查看教室的用電情況。最后,經(jīng)長時(shí)間運(yùn)行測試發(fā)現(xiàn)該軟件具有良好的魯棒性。
關(guān)鍵詞:教室用電;數(shù)據(jù)采集;上位機(jī)軟件;B/S架構(gòu)
0引言
當(dāng)前,各個(gè)學(xué)校都非常重視節(jié)約型校園建設(shè),然而校園“常明燈”、“常流水”等現(xiàn)象時(shí)常發(fā)生。學(xué)生、老師離開教室后,未能及時(shí)關(guān)燈、關(guān)風(fēng)扇、關(guān)空調(diào),導(dǎo)致了用電的極大浪費(fèi)。學(xué)校除了從制度上進(jìn)一步規(guī)范,以及加強(qiáng)管理人員素質(zhì)以外,更重要的是應(yīng)該有一套能在線監(jiān)控各個(gè)教室的用電情況的系統(tǒng),以達(dá)到精確定位的目的。目前,上位機(jī)軟件的設(shè)計(jì)可分為C/S架構(gòu)和B/S架構(gòu),如使用了CGI技術(shù)和B/S架構(gòu)實(shí)現(xiàn)了嵌入式Web服務(wù)器與現(xiàn)場設(shè)備的動(dòng)態(tài)數(shù)據(jù)交互,分別使用了C/S架構(gòu)完成了上位機(jī)開發(fā)。
1上位機(jī)軟件系統(tǒng)結(jié)構(gòu)
本文研究的教室用電數(shù)據(jù)采集系統(tǒng)包含現(xiàn)場采集設(shè)備、節(jié)點(diǎn)PC和中心服務(wù)器三部分,圖1所示是教室用電數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)圖。該現(xiàn)場采集設(shè)備由嵌入式設(shè)備設(shè)計(jì)而成,它是基于RS485的,可以通過串口將數(shù)據(jù)傳送至節(jié)點(diǎn)PC,但它是被動(dòng)的,必須由節(jié)點(diǎn)PC發(fā)出指令后才會(huì)將所采集的數(shù)據(jù)發(fā)送至節(jié)點(diǎn)PC;節(jié)點(diǎn)PC則擔(dān)任發(fā)送指令至現(xiàn)場采集設(shè)備、從串口接收數(shù)據(jù)以及發(fā)送數(shù)據(jù)至中心服務(wù)器的任務(wù);中心服務(wù)器負(fù)責(zé)接收各節(jié)點(diǎn)PC通過Internet發(fā)送過來的數(shù)據(jù)、還負(fù)責(zé)數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、管理和顯示等任務(wù)。最終,用戶只需登錄瀏覽器,輸入U(xiǎn)RL后即可觀察各教室的用電情況。
本文設(shè)計(jì)的上位機(jī)軟件包括節(jié)點(diǎn)PC和中心服務(wù)器上的軟件,整個(gè)結(jié)構(gòu)是基于Java平臺(tái)和B/S架構(gòu)的,前者是一個(gè)純粹的Java應(yīng)用程序,后者是不僅包含Java應(yīng)用程序,還采用了當(dāng)前廣泛使用的SSH框架技術(shù)設(shè)計(jì)了一個(gè)基于Web的管理系統(tǒng)。
節(jié)點(diǎn)PC端軟件設(shè)計(jì)與實(shí)現(xiàn)
節(jié)點(diǎn)PC端的軟件主要負(fù)責(zé)完成三個(gè)任務(wù),分別是:
通過串口,以輪詢的方式向不同地址的現(xiàn)場采集設(shè)備發(fā)送指令;
現(xiàn)場采集設(shè)備收到合法指令后,即會(huì)發(fā)送參數(shù)數(shù)據(jù)(電流、電壓及功率等)至節(jié)點(diǎn)PC,因此,節(jié)點(diǎn)PC需要從串口接收數(shù)據(jù);
節(jié)點(diǎn)PC將接收到的數(shù)據(jù)發(fā)送至中心服務(wù)器。結(jié)點(diǎn)PC軟件的詳細(xì)流程圖如圖2所示。
圖2節(jié)點(diǎn)PC軟件流程圖
中心服務(wù)器端軟件設(shè)計(jì)與實(shí)現(xiàn)
3.1中心服務(wù)器端軟件系統(tǒng)結(jié)構(gòu)
中心服務(wù)器端軟件系統(tǒng)結(jié)構(gòu)如圖3所示。從圖中可以看出,中心服務(wù)器端軟件由數(shù)據(jù)接收及存儲(chǔ)子系統(tǒng)和用電管理及數(shù)據(jù)顯示子系統(tǒng)組成。前者為后臺(tái)服務(wù)器程序,為Java應(yīng)用程序;后者是基于SSH框架的B/S架構(gòu),用于管理和數(shù)據(jù)顯示。兩個(gè)子系統(tǒng)之間通過SQLServer數(shù)據(jù)庫共享數(shù)據(jù)并獨(dú)立運(yùn)行。
3.2數(shù)據(jù)接收及存儲(chǔ)子系統(tǒng)
數(shù)據(jù)接收及存儲(chǔ)子系統(tǒng)主要作用包括:
通過Internet網(wǎng)絡(luò)接收各個(gè)遠(yuǎn)端節(jié)點(diǎn)PC發(fā)送過來的數(shù)據(jù),當(dāng)節(jié)點(diǎn)很多時(shí)需要進(jìn)行多線程處理;
對接收到的數(shù)據(jù)進(jìn)行解碼,得到相應(yīng)的電力參數(shù);
將數(shù)據(jù)保存到數(shù)據(jù)庫中。
數(shù)據(jù)接收及存儲(chǔ)子系統(tǒng)的詳細(xì)流程圖如圖4所示。
3.3 用電管理及數(shù)據(jù)顯示子系統(tǒng)
該子系統(tǒng)采用了基于 SSH 框架的 B/S 架構(gòu),充分利用了SSH 三大框架的優(yōu)點(diǎn),前臺(tái)使用了 HTML 語言和 JavaScript語言,CCS 進(jìn)行布局和修飾。該子系統(tǒng)功能包括登錄管理、教室管理、教室用電數(shù)據(jù)顯示、歷史曲線、數(shù)據(jù)查詢等。
3.3.1 登錄管理
為確保系統(tǒng)安全,需要對登錄用戶進(jìn)行分級管理,分為管理員和普通用戶。其區(qū)別是前者可以操作所有功能,而后者只能查看、下載、瀏覽數(shù)據(jù)。
3.3.2 教室管理
可對教室進(jìn)行管理,包括添加、修改、刪除和更新。最后以樹狀結(jié)構(gòu)顯示出來,其效果如圖 5 所示。
3.3.3 教室用電數(shù)據(jù)顯示
本文將采集到的數(shù)據(jù)以表格形式展示出來,其效果如圖 6所示。點(diǎn)擊教室列表中的某個(gè)教室就會(huì)顯示該教室的所有數(shù)據(jù)。
3.3.4歷史曲線
歷史曲線主要是針對某個(gè)教室,通過選擇某個(gè)教室后,即可瀏覽該教室的歷史曲線。其效果如圖7所示。
圖7歷史曲線效果圖
3.3.5數(shù)據(jù)查詢
用戶可根據(jù)教室名稱、日期或者二者同時(shí)進(jìn)行查詢教室用電相關(guān)數(shù)據(jù)。
4結(jié)語
本文通過使用Java平臺(tái)和B/S架構(gòu)設(shè)計(jì)與開發(fā)的教室用電數(shù)據(jù)采集系統(tǒng)上位機(jī)軟件。經(jīng)長時(shí)間運(yùn)行測試發(fā)現(xiàn),該軟件不僅運(yùn)行穩(wěn)定,能夠準(zhǔn)確及時(shí)接收到采集的數(shù)據(jù),而且用戶操作也方便。因此,該軟件具有較強(qiáng)的實(shí)用性。
20211221_61c1b892dcc40__教室用電數(shù)據(jù)采集系統(tǒng)的上位機(jī)軟件設(shè)計(jì)