本站小編為你精心準(zhǔn)備了配電房監(jiān)控系統(tǒng)數(shù)據(jù)接口設(shè)計實(shí)現(xiàn)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
摘要:某配電房環(huán)境監(jiān)控系統(tǒng)需要集成不同廠家多種采集終端,需要提供統(tǒng)一的平臺數(shù)據(jù)接口。介紹了該系統(tǒng)平臺一種數(shù)據(jù)接口的設(shè)計與實(shí)現(xiàn)。
關(guān)鍵詞:平臺數(shù)據(jù)接口;配電房環(huán)境監(jiān)控系統(tǒng)
1概述
配電房的正常運(yùn)行,對于保障供電非常重要。而配電房數(shù)量眾多,分布比較分散,給運(yùn)行維護(hù)工作帶來很大工作量。配電房環(huán)境監(jiān)控平臺,就是為了輔助保證配電房設(shè)備正常運(yùn)行研制的一套系統(tǒng)。該平臺可以監(jiān)測配電房內(nèi)溫濕度、開關(guān)柜母排接頭溫度、移動探測、煙感、氣體等傳感器數(shù)據(jù),并對風(fēng)機(jī)、燈光、水泵可以進(jìn)行遠(yuǎn)程控制。和平臺配套的現(xiàn)場數(shù)據(jù)采集終端,需要從不同廠家采購,各種規(guī)格型號也不盡相同。要把不同廠家采集終端的數(shù)據(jù)接入統(tǒng)一的監(jiān)控平臺,就需要平臺對外提供統(tǒng)一的接口來實(shí)現(xiàn)。
2接口設(shè)計思路
采集終端數(shù)據(jù)上傳過程大致是這樣的。安裝在配電房內(nèi)的數(shù)據(jù)采集終端,接收現(xiàn)場各種傳感器信號,轉(zhuǎn)為數(shù)據(jù)發(fā)送給服務(wù)器上的采集服務(wù)軟件。在主站服務(wù)器上,采集服務(wù)收到終端傳來的數(shù)據(jù),解析后,將有效數(shù)據(jù)存入數(shù)據(jù)庫。在實(shí)際工作中,了解到各廠家的采集終端使用的通信協(xié)議不一樣,規(guī)格也不一樣。如何集成不同廠家數(shù)據(jù),是一個很實(shí)際很重要的問題。一種思路是提供統(tǒng)一的通信協(xié)議,讓各廠家按此來修改各自采集終端的協(xié)議,按統(tǒng)一協(xié)議接入我方系統(tǒng)。這個需要廠家配合修改終端的軟件代碼,重新刷采集終端程序,工作量比較大,后期設(shè)備維護(hù)更換也比較麻煩。還有一種思路是使用存儲過程和視圖來做數(shù)據(jù)接口,各采集終端設(shè)備廠家修改各自的采集服務(wù)軟件,調(diào)用平臺統(tǒng)一接口來實(shí)現(xiàn)查詢數(shù)據(jù)或?qū)懭霐?shù)據(jù)到數(shù)據(jù)庫。這種方案,對各廠家的硬件產(chǎn)品和協(xié)議改動量最少,只需要廠家修改各自的采集服務(wù)就可以實(shí)現(xiàn)。數(shù)據(jù)采集終端只需要使用廠家的通用版本型號,就可以接入系統(tǒng),方便了采集終端設(shè)備更換等維護(hù)工作的進(jìn)行。在圖1中,A廠家、B廠家,代表多個廠家。每個廠家采集服務(wù)下,支持多個采集終端的數(shù)據(jù)收發(fā)。各廠家通過平臺數(shù)據(jù)接口,和平臺的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。平臺的Web部分,從數(shù)據(jù)庫中讀取上報的數(shù)據(jù),展示在平臺頁面上。下發(fā)控制過程,也是在平臺頁面上,將指令寫入數(shù)據(jù)庫。對應(yīng)廠家的采集服務(wù),通過接口檢測到自己設(shè)備的控制指令記錄,就下發(fā)相應(yīng)控制指令給指定采集終端,控制現(xiàn)場燈光風(fēng)機(jī)等設(shè)備的啟停或開關(guān)。
3接口設(shè)計
配電房環(huán)境監(jiān)控系統(tǒng)平臺數(shù)據(jù)庫采用了SQLServ-er2008,接口基于該數(shù)據(jù)庫設(shè)計。接口采用存儲過程和視圖來實(shí)現(xiàn)。
3.1訪問權(quán)限控制
因?yàn)椴煌瑥S家設(shè)備接入平臺,需要區(qū)分廠家的用戶權(quán)限,各廠家只能寫入或查詢自己設(shè)備的數(shù)據(jù),避免數(shù)據(jù)混亂和篡改。考慮到在SQLServer數(shù)據(jù)庫中,可以對指定用戶,單獨(dú)授予某些表、視圖和存儲過程的查看或執(zhí)行等權(quán)限。對接入廠家的數(shù)據(jù)庫用戶名,屏蔽了所有表的訪問權(quán)限。只需要對接口相關(guān)的存儲過程和視圖,授予不同廠家用戶的執(zhí)行和查看等權(quán)限,就可以限制數(shù)據(jù)內(nèi)這些對象的訪問。然后,在存儲過程代碼中,可以對當(dāng)前登錄的用戶名進(jìn)行判斷,只允許寫入各廠家自己的數(shù)據(jù)。在視圖代碼中,加入條件判斷,只允許廠家用戶檢索廠家自己的設(shè)備。這樣就可以實(shí)現(xiàn)控制數(shù)據(jù)的查詢和寫入。限制存儲過程權(quán)限的命令:上面兩條命令中,lygd是假定的某個廠家采集服務(wù)使用的數(shù)據(jù)庫用戶名。第一條命令,限制該用戶只能執(zhí)行存儲過程。第二條命令,限制該用戶只能執(zhí)行視圖查詢。別的存儲過程和視圖權(quán)限,參照以上兩條命令來授權(quán)控制。
3.2調(diào)用接口流程
廠家采集服務(wù)調(diào)用數(shù)據(jù)庫接口,可參考大致流程如下:(1)實(shí)時數(shù)據(jù)上報:調(diào)用存儲過程Proc_EnvData_Insert,將實(shí)時數(shù)據(jù)插入到數(shù)據(jù)庫相應(yīng)表中。(2)遠(yuǎn)程控制:調(diào)用存儲過程Proc_CmdQue_GeTop1,獲取最新控制命令信息。(3)信息查詢:調(diào)用相應(yīng)視圖獲取。在圖2中,線程1是負(fù)責(zé)接收現(xiàn)場各數(shù)據(jù)采集終端(RTU)的實(shí)時數(shù)據(jù)的。線程1接收到數(shù)據(jù)后,解析數(shù)據(jù),按協(xié)議指定的格式,組裝出通道標(biāo)識和數(shù)據(jù),然后調(diào)用平臺接口存儲過程Proc_EnvData_Insert,將組裝好的信息,寫入指定數(shù)據(jù)表中。線程2是負(fù)責(zé)從平臺獲取遠(yuǎn)程控制命令記錄,下發(fā)給指定的現(xiàn)場數(shù)據(jù)采集終端(RTU)。線程2通過不斷輪詢平臺接口存儲過程Proc_CmdQue_GetTop1,輪詢間隔可設(shè)定,以保障及時性。得到最新執(zhí)行指令記錄后,線程2解析指令,然后組裝出符合廠家通信協(xié)議的指令,下發(fā)給指定的現(xiàn)場數(shù)據(jù)采集終端。完成指令下發(fā),并得到現(xiàn)場執(zhí)行成功的反饋后,線程2還需要調(diào)用平臺接口存儲過程Proc_CmdQue_SetStateByID,把相應(yīng)指令的執(zhí)行狀態(tài)設(shè)置為已執(zhí)行狀態(tài),這樣避免下次獲取到重復(fù)的遠(yuǎn)程控制指令記錄。廠家根據(jù)各自情況,參考流程來實(shí)現(xiàn)采集服務(wù)的編寫。
3.3接口設(shè)計和實(shí)現(xiàn)
主要存儲過程設(shè)計如下:(1)Proc_EnvData_Insert上報實(shí)時采集數(shù)據(jù)參數(shù):@NodeIDnvarchar(50)傳感器/通道編碼參數(shù):@Datafloat測量值上報實(shí)時采集數(shù)據(jù)存儲過程關(guān)鍵代碼:其中,@currlogin=SUSER_SNAME()獲取當(dāng)前用戶,獲取當(dāng)前要寫入數(shù)據(jù)對應(yīng)設(shè)備通道的廠家代碼,然后進(jìn)行比較,兩者一致,說明是該廠家的設(shè)備,允許寫入數(shù)據(jù)。(2)Proc_CmdQue_GetTop1:獲取最新遠(yuǎn)程控制指令的存儲過程(3)Proc_CmdQue_SetStateByID:設(shè)置指定ID的指令記錄為已執(zhí)行(4)Viewx_EnvData:實(shí)時數(shù)據(jù)查詢視圖實(shí)時數(shù)據(jù)查詢視圖的關(guān)鍵代碼如下:在該段代碼中,“WHERE(dbo.RTU.Vendor=SUS-ER_SNAME())”限制了視圖只能檢索當(dāng)前用戶對應(yīng)廠家的相關(guān)信息,從而某廠家用戶只能查詢到自己設(shè)備的實(shí)時數(shù)據(jù)。實(shí)際接口由4個存儲過程,5個視圖組成。其余存儲過程和視圖,關(guān)于權(quán)限控制的關(guān)鍵代碼部分基本一致,限于篇幅,不再列舉。
4結(jié)語
介紹了某配電房環(huán)境監(jiān)控系統(tǒng)平臺的數(shù)據(jù)統(tǒng)一接口方案,實(shí)現(xiàn)了不同廠家多種采集終端的數(shù)據(jù)對接。已實(shí)際部署,使用中經(jīng)受了實(shí)踐檢驗(yàn),運(yùn)行良好,方便了平臺系統(tǒng)的管理和采集終端設(shè)備維護(hù)工作。
參考文獻(xiàn)
[1]宋光華.智能配電房監(jiān)控系統(tǒng)的技術(shù)研究[J].通信電源技術(shù),2018,35(2).
[2]霍曉宇.配電房環(huán)境監(jiān)控系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].
作者:趙陽 張建民 宋岸峰 路成鋼 單位:鄭州祥和集團(tuán)有限公司電力科技分公司