999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Flask的航天測控站供電監(jiān)控系統(tǒng)設(shè)計(jì)

2020-10-10 06:38:32
通信電源技術(shù) 2020年12期
關(guān)鍵詞:頁面數(shù)據(jù)庫設(shè)備

白 寧

(中國人民解放軍63819部隊(duì),四川 宜賓 644000)

0 引 言

航天測控站(簡稱測站)供電系統(tǒng)是完成航天測控任務(wù)的動(dòng)力來源,也是各類通信網(wǎng)絡(luò)系統(tǒng)的“心臟”。良好的工作狀態(tài)、穩(wěn)定的電力輸出以及簡潔高效的系統(tǒng)狀態(tài),是保證航天測控任務(wù)順利實(shí)現(xiàn)的重要基礎(chǔ)。目前,測站供電系統(tǒng)設(shè)備分布廣泛,種類多,各設(shè)備廠商的通信協(xié)議不統(tǒng)一。為了智能集中式監(jiān)控供電系統(tǒng),需要對分散的各類供電設(shè)備增加相應(yīng)的傳感器監(jiān)測節(jié)點(diǎn),實(shí)現(xiàn)自動(dòng)實(shí)時(shí)采集數(shù)據(jù)。當(dāng)某類供電設(shè)備發(fā)生故障時(shí),系統(tǒng)自動(dòng)報(bào)警,值班人員在遠(yuǎn)端控制中心可以查看實(shí)時(shí)告警信息,從而快速定位故障節(jié)點(diǎn),減少人力,提高排除故障的效率[1]。在此,采用分布式B/S模式的軟件平臺(tái),設(shè)計(jì)了通用化高和可配置性強(qiáng)的兩級架構(gòu)統(tǒng)一格式的通信協(xié)議,詳細(xì)分析測站供電監(jiān)控系統(tǒng)的功能、體系結(jié)構(gòu)、組網(wǎng)方案以及監(jiān)控對象等,并利用Python開發(fā)語言下的Flask網(wǎng)絡(luò)編程框架,對測站供電監(jiān)控系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。

1 供電監(jiān)控系統(tǒng)基本組成結(jié)構(gòu)

供電監(jiān)控系統(tǒng)由以串口服務(wù)器為采集處理中心的監(jiān)控處理模塊、以Flask框架下開發(fā)的監(jiān)控中心服務(wù)器和數(shù)據(jù)庫服務(wù)器3部分組成,結(jié)構(gòu)如圖1所示。

圖1 供電監(jiān)控系統(tǒng)組成結(jié)構(gòu)圖

實(shí)時(shí)數(shù)據(jù)的采集主要由串口服務(wù)器完成,通過監(jiān)控模塊接收來自各個(gè)傳感器的數(shù)據(jù)。數(shù)據(jù)傳輸系統(tǒng)采用RS485串口、RS232串口以及RJ45網(wǎng)口作為數(shù)據(jù)采集接口。串口數(shù)據(jù)線傳輸主要用在設(shè)備通信接口和加裝傳感器接口,采用網(wǎng)絡(luò)傳輸向上級監(jiān)控中心傳輸數(shù)據(jù)。數(shù)據(jù)庫服務(wù)器是指監(jiān)控中心通過接收來自監(jiān)控模塊的數(shù)據(jù),按照不同設(shè)備種類分別保存,在獲得調(diào)用指令后,將多種數(shù)據(jù)按約定通信協(xié)議組合后返回客戶端。當(dāng)設(shè)備故障告警時(shí),可以日志形式查閱告警信息。Web客戶端發(fā)送請求命令查詢各類設(shè)備的狀態(tài)信息,接收來自監(jiān)控中心的數(shù)據(jù),并將這些數(shù)據(jù)以相應(yīng)的圖形化形式顯示。Web客戶端還可以通過給監(jiān)控中心發(fā)送指令,以控制監(jiān)控終端的運(yùn)行。

2 供電監(jiān)控系統(tǒng)的Web服務(wù)器設(shè)計(jì)

2.1 供電監(jiān)控系統(tǒng)服務(wù)器端設(shè)計(jì)

供電監(jiān)控系統(tǒng)的Web服務(wù)器通過HTTP協(xié)議滿足多點(diǎn)訪問請求,同時(shí)需要適應(yīng)并行多點(diǎn)訪問的兼容性,則監(jiān)控軟件需采用多線程的架構(gòu)來實(shí)現(xiàn)訪問控制。部分通過加裝測量傳感器的老舊供電設(shè)備,使用數(shù)據(jù)接口為串口RS232或RS485類型。數(shù)據(jù)處理模塊需要采用線程同步鎖或設(shè)備輪詢等技術(shù)避免同時(shí)多個(gè)數(shù)據(jù)獲取請求產(chǎn)生的隊(duì)列擁堵[2]。

圖2 供電監(jiān)控系統(tǒng)服務(wù)器程序流程圖

供電監(jiān)控系統(tǒng)的前端服務(wù)器采用統(tǒng)一Web頁面顯示模板。使用Flask框架自帶的Jinja2模板庫,生成1個(gè)包含基本樣式的HTML和CSS作為整個(gè)服務(wù)器的基礎(chǔ)模板,其他的頁面通過JavaScript語法進(jìn)行動(dòng)態(tài)數(shù)據(jù)方面的增添和修改,這樣服務(wù)器面向客戶端的頁面設(shè)計(jì)開發(fā)將更加高效。供電監(jiān)控系統(tǒng)服務(wù)器的程序流程如圖2所示。服務(wù)器后臺(tái)采用定時(shí)查詢的方式獲取各類串口傳感器的數(shù)據(jù)。當(dāng)定時(shí)器觸發(fā)數(shù)據(jù)庫接口函數(shù)時(shí),建立與數(shù)據(jù)庫的連接。首先初始化接口,包括串口和網(wǎng)口的傳感器。其次,建立一個(gè)接收數(shù)據(jù)線程,此時(shí)服務(wù)器后臺(tái)保持接收等待狀態(tài)。服務(wù)器程序發(fā)出獲取數(shù)據(jù)請求,接口執(zhí)行查詢各個(gè)傳感器讀數(shù)據(jù)操作。最后,查詢當(dāng)前各個(gè)設(shè)備的狀態(tài)信息,若有故障告警則產(chǎn)生日記記錄。在完成數(shù)據(jù)請求的存儲(chǔ)顯示等操作后,一輪的查詢數(shù)據(jù)任務(wù)結(jié)束。

監(jiān)控系統(tǒng)主函數(shù)通過Flask模塊實(shí)例化產(chǎn)生一個(gè)APP實(shí)例,該實(shí)例是整個(gè)供電監(jiān)控系統(tǒng)的程序入口函數(shù)。不同用戶的數(shù)據(jù)請求通過該APP實(shí)例完成,各類查詢顯示信息的程序使用Python的裝飾器產(chǎn)生相對應(yīng)的視圖函數(shù)。只有主函數(shù)退出,才會(huì)中斷數(shù)據(jù)查詢的輪詢狀態(tài)。為確保主函數(shù)退出前數(shù)據(jù)保存的完整性,需要正確關(guān)閉外部連接數(shù)據(jù)庫,保存由設(shè)備異常告警數(shù)據(jù)產(chǎn)生的告警日志內(nèi)容,并清理整個(gè)供電監(jiān)控系統(tǒng)運(yùn)行過程中產(chǎn)生的臨時(shí)文件。

2.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)

數(shù)據(jù)庫模塊由多個(gè)供電設(shè)備采集的數(shù)據(jù)核心模塊組成,是系統(tǒng)實(shí)現(xiàn)存儲(chǔ)、處理以及查詢功能的基礎(chǔ)[3-4]。監(jiān)控系統(tǒng)中存儲(chǔ)的數(shù)據(jù)包含3大類,分別為監(jiān)測供電設(shè)備的基本屬性信息、監(jiān)測供電設(shè)備的實(shí)時(shí)運(yùn)行指標(biāo)參數(shù)以及記錄供電設(shè)備的故障告警日志。供電監(jiān)控系統(tǒng)中UPS的數(shù)據(jù)庫E-R設(shè)計(jì)如圖3所示。

圖3 數(shù)據(jù)庫E-R關(guān)系圖

圖3展示了UPS設(shè)備實(shí)體的主要屬性。UPS的IP地址是供電設(shè)備的唯一標(biāo)識(shí),同時(shí)設(shè)備運(yùn)行狀態(tài)和故障告警信息也通過該屬性的唯一性進(jìn)行查詢。在日志記錄查詢功能中,使用列表主要顯示多種類型數(shù)據(jù),如低壓配電、蓄電池以及油機(jī)等,通常包含的狀態(tài)參數(shù)種類多,采用列表顯示更直觀。虛擬儀表以圖形化顯示狀態(tài)數(shù)據(jù),該控件從JS文件中獲取統(tǒng)一傳感器數(shù)據(jù)包,再經(jīng)過各自函數(shù)查詢處理后在不同的分頁面中顯示。

2.3 供電監(jiān)控系統(tǒng)服務(wù)器端實(shí)現(xiàn)

2.3.1 初始化模塊的實(shí)現(xiàn)

初始化模塊完成Flask實(shí)例的初始化配置及前端頁面模板Bootstrap和數(shù)據(jù)庫的創(chuàng)建。前端頁面模板和數(shù)據(jù)庫的創(chuàng)建利用已經(jīng)創(chuàng)建好的APP實(shí)例進(jìn)行實(shí)例化。創(chuàng)建Flask實(shí)例只需一條簡單語句就能實(shí)現(xiàn):

2.3.2 數(shù)據(jù)模型模塊的實(shí)現(xiàn)

數(shù)據(jù)模型模塊是直接與數(shù)據(jù)庫連接和讀取數(shù)據(jù)等操作模塊,同時(shí)數(shù)據(jù)模型模塊建立的邏輯結(jié)構(gòu)也同數(shù)據(jù)庫設(shè)計(jì)時(shí)各類設(shè)備視圖構(gòu)成映射關(guān)系。與數(shù)據(jù)庫的交互初始化連接均放在配置文件Config.py中,而對數(shù)據(jù)庫中的每個(gè)表進(jìn)行查詢、組裝等操作則在APP文件夾下的database.py:

系統(tǒng)設(shè)計(jì)使用的數(shù)據(jù)庫為SQLite,該數(shù)據(jù)庫結(jié)構(gòu)簡單,適合存儲(chǔ)大數(shù)據(jù)。

2.3.3 設(shè)備狀態(tài)查詢模塊

設(shè)備狀態(tài)查詢模塊是對數(shù)據(jù)庫進(jìn)行當(dāng)前最新條目的查詢及更新,通過Database.py文件建立與數(shù)據(jù)庫SQLite的連接,搜索各個(gè)設(shè)備表后,根據(jù)當(dāng)前的系統(tǒng)時(shí)間,更新當(dāng)前表中的最新數(shù)據(jù),做到實(shí)時(shí)顯示最新的設(shè)備狀態(tài)參數(shù)。

2.4 供電監(jiān)控系統(tǒng)前端設(shè)計(jì)與實(shí)現(xiàn)

2.4.1 前端模板

在測站供電監(jiān)控系統(tǒng)中,采用Bootstrap框架美化頁面布局和界面元素,如圖4所示。主頁面為突出系統(tǒng)運(yùn)維人員通常查看的各類設(shè)備重要狀態(tài)參數(shù),將各設(shè)備的主要參數(shù)集成到一個(gè)虛擬儀表頁面進(jìn)行顯示。將設(shè)備故障的告警信息設(shè)置為紅色,這樣用戶很容易就能發(fā)現(xiàn)設(shè)備的告警信息。主頁面總體設(shè)計(jì)風(fēng)格簡單醒目,尤其在考慮后續(xù)供電設(shè)備的擴(kuò)展性上,將各類虛擬儀表設(shè)置為可根據(jù)當(dāng)前設(shè)備數(shù)量靈活添加,增加了用戶的使用友好性。

圖4 供電監(jiān)控系統(tǒng)主頁面

2.4.2 交互細(xì)節(jié)

當(dāng)頁面上展示出某類供電設(shè)備的詳細(xì)信息時(shí),只有用戶點(diǎn)擊該設(shè)備的詳細(xì)信息按鈕,其相應(yīng)的操作才會(huì)鏈接到新頁面。當(dāng)用戶權(quán)限角色為普通用戶時(shí),查看信息按鈕變?yōu)榛疑豢捎|發(fā)狀態(tài),則不能查看設(shè)備詳細(xì)信息頁面,其他頁面顯示信息也會(huì)根據(jù)用戶角色做出相應(yīng)的權(quán)限展示區(qū)分,如圖5所示。

圖5 蓄電池詳細(xì)頁面

3 結(jié) 論

結(jié)合網(wǎng)絡(luò)編程、嵌入式單片機(jī)開發(fā)以及傳感器技術(shù),設(shè)計(jì)了基于Python和Flask框架的測站供電監(jiān)控系統(tǒng)。完成基本的軟件設(shè)計(jì)和硬件安裝后,設(shè)計(jì)開發(fā)了測站供電監(jiān)控系統(tǒng)的基本功能,增強(qiáng)了供電監(jiān)控系統(tǒng)的數(shù)據(jù)并行處理能力和網(wǎng)絡(luò)傳輸能力,實(shí)現(xiàn)了對測站供電設(shè)備的狀態(tài)信息監(jiān)測、遠(yuǎn)程Web瀏覽以及故障動(dòng)態(tài)智能告警分析。

猜你喜歡
頁面數(shù)據(jù)庫設(shè)備
大狗熊在睡覺
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
刷新生活的頁面
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
數(shù)據(jù)庫
數(shù)據(jù)庫
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
數(shù)據(jù)庫
數(shù)據(jù)庫
原來他們都是可穿戴設(shè)備
主站蜘蛛池模板: 欧美一区精品| 国产SUV精品一区二区| 青青青国产视频手机| 国产高清在线观看91精品| 天天躁日日躁狠狠躁中文字幕| 不卡的在线视频免费观看| 亚洲高清中文字幕在线看不卡| 国产精品无码一二三视频| 欧美综合中文字幕久久| 国产欧美视频在线| 亚洲精品久综合蜜| 欧美午夜小视频| 久久精品视频亚洲| 亚洲一级毛片免费观看| 国产天天射| 国产亚洲精品在天天在线麻豆| 人人妻人人澡人人爽欧美一区| 久久久成年黄色视频| 爆乳熟妇一区二区三区| 亚洲大尺码专区影院| 欧美日在线观看| 亚洲午夜综合网| 第九色区aⅴ天堂久久香| 国产无码网站在线观看| 精品人妻一区无码视频| 一级高清毛片免费a级高清毛片| AV不卡国产在线观看| 在线视频一区二区三区不卡| 国产精品9| 午夜色综合| 伊人91在线| 国产精品yjizz视频网一二区| 亚洲欧美天堂网| 色综合日本| 国产91丝袜| 国产极品粉嫩小泬免费看| 狂欢视频在线观看不卡| 亚洲中文字幕国产av| 中文字幕免费在线视频| 国产成人高清精品免费| 久久精品人人做人人爽电影蜜月| 青草视频在线观看国产| 91久久精品日日躁夜夜躁欧美| 无码专区第一页| 伊人激情综合网| 国产麻豆另类AV| 国产精品夜夜嗨视频免费视频 | 国产精品极品美女自在线看免费一区二区 | 蜜桃视频一区二区| 久久大香伊蕉在人线观看热2| 欧美三级日韩三级| 日韩小视频网站hq| 亚洲大尺码专区影院| 国产精品午夜电影| 999国内精品久久免费视频| 久久人搡人人玩人妻精品| www.亚洲色图.com| 一级不卡毛片| 中文字幕丝袜一区二区| 免费va国产在线观看| 国产91麻豆免费观看| 久久综合亚洲鲁鲁九月天| 午夜爽爽视频| 国产免费看久久久| 97人妻精品专区久久久久| 国产欧美一区二区三区视频在线观看| 国产手机在线观看| 亚洲黄网视频| 黄色a一级视频| 日本a∨在线观看| 9丨情侣偷在线精品国产| 国产二级毛片| 五月激情婷婷综合| 国产一区二区三区在线观看视频| 一区二区三区四区在线| 国产v精品成人免费视频71pao| 国产欧美日本在线观看| 久久午夜影院| 69精品在线观看| 亚洲欧美成人综合| 97国产精品视频自在拍| 亚洲熟女中文字幕男人总站|