亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電器試驗(yàn)設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2019-03-05 10:23:14,
        關(guān)鍵詞:數(shù)據(jù)庫(kù)設(shè)備信息

        ,

        (西安工程大學(xué) 機(jī)電工程學(xué)院,西安 710600)

        0 引言

        傳統(tǒng)的電器試驗(yàn)設(shè)備監(jiān)控系統(tǒng)只基于設(shè)備端,只能在試驗(yàn)現(xiàn)場(chǎng)的設(shè)備端獲取試驗(yàn)相關(guān)信息和對(duì)設(shè)備進(jìn)行管理,這樣信息的分散導(dǎo)致信息獲取效率和管理效率低下,因此需要開(kāi)發(fā)集中式監(jiān)控系統(tǒng)對(duì)電器試驗(yàn)設(shè)備進(jìn)行信息集成和集中管理[1]。目前,集中式數(shù)據(jù)采集與監(jiān)視系統(tǒng)已廣泛應(yīng)用于電力系統(tǒng)、給水系統(tǒng)、石油、化工等領(lǐng)域[2]。然而在低壓電器試驗(yàn)場(chǎng)所應(yīng)用的還比較少,且存在兼容性差、難擴(kuò)展、未實(shí)現(xiàn)網(wǎng)絡(luò)化、監(jiān)控對(duì)象受地點(diǎn)限制、客戶(hù)端受平臺(tái)限制、客戶(hù)端維護(hù)升級(jí)困難等問(wèn)題[3-5]。

        本文針對(duì)上述問(wèn)題,開(kāi)發(fā)了一種基于web的電器試驗(yàn)設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng),實(shí)現(xiàn)了電器試驗(yàn)設(shè)備的信息集成和集中管理,系統(tǒng)能夠?qū)崟r(shí)顯示設(shè)備狀態(tài)和試驗(yàn)數(shù)據(jù)、對(duì)設(shè)備進(jìn)行遠(yuǎn)程啟??刂啤O到y(tǒng)不受時(shí)間、地點(diǎn)、平臺(tái)的限制,用戶(hù)可隨時(shí)隨地通過(guò)有網(wǎng)絡(luò)的計(jì)算機(jī)或移動(dòng)終端掌握現(xiàn)場(chǎng)的試驗(yàn)狀況。針對(duì)B/S模式實(shí)時(shí)性差的問(wèn)題,采用多種方法有效提高了系統(tǒng)的實(shí)時(shí)性。在設(shè)計(jì)中充分考慮了系統(tǒng)的通用性和可擴(kuò)展性,能夠兼容常規(guī)的電器試驗(yàn)設(shè)備,對(duì)于設(shè)計(jì)過(guò)程中未考慮到的特殊試驗(yàn)設(shè)備,只需擴(kuò)充數(shù)據(jù)庫(kù)模型,即可兼容。經(jīng)測(cè)試,系統(tǒng)運(yùn)行良好,能夠滿(mǎn)足試驗(yàn)人員和管理人員實(shí)時(shí)監(jiān)控設(shè)備運(yùn)轉(zhuǎn)情況和對(duì)試驗(yàn)設(shè)備進(jìn)行集中管理的需求。

        1 系統(tǒng)結(jié)構(gòu)和系統(tǒng)功能

        1.1 系統(tǒng)結(jié)構(gòu)

        系統(tǒng)采用B/S和C/S相結(jié)合的模式,試驗(yàn)場(chǎng)地局域網(wǎng)內(nèi)采用C/S模式,這符合局域網(wǎng)內(nèi)傳輸數(shù)據(jù)量大、專(zhuān)用性強(qiáng)的特點(diǎn);在Internet上采用B/S模式,無(wú)需考慮客戶(hù)端的兼容,便于對(duì)軟件進(jìn)行維護(hù)升級(jí)。系統(tǒng)總體結(jié)構(gòu)如圖1所示,系統(tǒng)由設(shè)備端、服務(wù)器端和客戶(hù)端三部分組成。

        圖1 系統(tǒng)結(jié)構(gòu)

        設(shè)備端是系統(tǒng)的數(shù)據(jù)來(lái)源,電器試驗(yàn)設(shè)備中包含工控機(jī)、主控板卡、試驗(yàn)電路等部分。主控板卡用于數(shù)據(jù)采集、試驗(yàn)過(guò)程控制。工控機(jī)上運(yùn)行的監(jiān)控軟件通過(guò)與主控板卡進(jìn)行串口通信,完成對(duì)設(shè)備運(yùn)行狀況的監(jiān)視、對(duì)試驗(yàn)過(guò)程的控制和對(duì)試驗(yàn)結(jié)果數(shù)據(jù)的采集,試驗(yàn)參數(shù)和試品信息也在設(shè)備端錄入,設(shè)備端監(jiān)控軟件將獲取到的數(shù)據(jù)轉(zhuǎn)為固定格式的字符串后通過(guò)Socket通信發(fā)送給服務(wù)器端的數(shù)據(jù)交互程序,此外還能接收和執(zhí)行服務(wù)器端數(shù)據(jù)交互程序發(fā)送的遠(yuǎn)程控制命令和試驗(yàn)參數(shù)。

        服務(wù)器端包括數(shù)據(jù)交互程序、Redis緩存、MySQL數(shù)據(jù)庫(kù)、Web應(yīng)用程序。數(shù)據(jù)交互程序利用異步I/O模塊asyncio編寫(xiě),通過(guò)Socket與多臺(tái)試驗(yàn)設(shè)備通信,是Socket服務(wù)器端,用于接收設(shè)備端發(fā)送的數(shù)據(jù),將其中的設(shè)備狀態(tài)數(shù)據(jù)、試驗(yàn)結(jié)果數(shù)據(jù)解析為Key-Value格式的數(shù)據(jù)后存入Redis緩存。如果設(shè)備狀態(tài)數(shù)據(jù)中包含故障和報(bào)警信息,還需將其存入MySQL數(shù)據(jù)庫(kù),為了減輕數(shù)據(jù)庫(kù)壓力,對(duì)于正常的狀態(tài)信息不提供歷史狀態(tài)查詢(xún),不存入數(shù)據(jù)庫(kù)。設(shè)備端錄入的試驗(yàn)參數(shù)、試品信息也存入MySQL數(shù)據(jù)庫(kù),同時(shí)試驗(yàn)結(jié)果數(shù)據(jù)需定時(shí)保存到MySQL數(shù)據(jù)庫(kù)中,防止內(nèi)存被占滿(mǎn)。此外,數(shù)據(jù)交互程序與Web應(yīng)用程序之間利用Redis的訂閱發(fā)布功能進(jìn)行通信,用于接收Web應(yīng)用程序發(fā)送的請(qǐng)求數(shù)據(jù)、控制命令、控制參數(shù),向Web應(yīng)用程序推送實(shí)時(shí)數(shù)據(jù)。Redis訂閱發(fā)布模式本質(zhì)上是共享內(nèi)存,這種進(jìn)程間通信方式避免了對(duì)進(jìn)程中數(shù)據(jù)的拷貝和傳遞,既節(jié)約了內(nèi)存空間又速度快[6]。Redis緩存用于存儲(chǔ)頻繁更新的實(shí)時(shí)數(shù)據(jù),MySQL數(shù)據(jù)庫(kù)用于存儲(chǔ)不經(jīng)常變動(dòng)的數(shù)據(jù)和歷史數(shù)據(jù)。Web應(yīng)用程序負(fù)責(zé)接收客戶(hù)端發(fā)來(lái)的HTTP請(qǐng)求和返回HTTP響應(yīng),并與Redis和MySQL進(jìn)行交互,從Redis緩存中獲取實(shí)時(shí)數(shù)據(jù),從MySQL數(shù)據(jù)庫(kù)中獲取不經(jīng)常變動(dòng)的“冷數(shù)據(jù)”。

        客戶(hù)端即計(jì)算機(jī)或者移動(dòng)終端中的瀏覽器,客戶(hù)端負(fù)責(zé)與用戶(hù)進(jìn)行交互,向Web服務(wù)器發(fā)送HTTP請(qǐng)求,接收Web服務(wù)器返回的響應(yīng)并將其中的HTML文檔解析后顯示在瀏覽器上,將信息展現(xiàn)給用戶(hù)。若請(qǐng)求的頁(yè)面中包含實(shí)時(shí)數(shù)據(jù),還需與Web應(yīng)用程序維持一條WebSocket連接,用于實(shí)時(shí)數(shù)據(jù)的推送。

        1.2 系統(tǒng)功能

        系統(tǒng)具有用戶(hù)管理、設(shè)備管理、試驗(yàn)管理、設(shè)備監(jiān)控、報(bào)表管理、日志管理等功能,在此僅對(duì)設(shè)備監(jiān)控功能做詳細(xì)介紹。系統(tǒng)需實(shí)現(xiàn)傳統(tǒng)工業(yè)控制系統(tǒng)中的上位監(jiān)控功能,能夠?qū)崟r(shí)顯示設(shè)備運(yùn)行狀態(tài)和現(xiàn)場(chǎng)數(shù)據(jù),其中設(shè)備運(yùn)行狀態(tài)包括設(shè)備啟停狀態(tài)、報(bào)警信息、故障信息、安全聯(lián)鎖情況、各工位狀態(tài)信息、控制模式等。現(xiàn)場(chǎng)數(shù)據(jù)包括各試驗(yàn)場(chǎng)地和實(shí)驗(yàn)室信息、各設(shè)備基本信息、各工位基本信息、試驗(yàn)參數(shù)、工位上的試品信息、試驗(yàn)結(jié)果數(shù)據(jù)等,其中試驗(yàn)結(jié)果數(shù)據(jù)采用動(dòng)態(tài)曲線(xiàn)圖的形式顯示。此外,系統(tǒng)還能夠在滿(mǎn)足安全聯(lián)鎖條件的情況下對(duì)設(shè)備進(jìn)行遠(yuǎn)程啟??刂疲h(yuǎn)程控制和設(shè)備端控制互鎖,以防沖突。在進(jìn)行遠(yuǎn)程控制前需將設(shè)備控制模式切換為遠(yuǎn)程控制模式,然后輸入控制參數(shù),即可遠(yuǎn)程啟動(dòng)試驗(yàn)。

        2 系統(tǒng)設(shè)計(jì)

        系統(tǒng)采用基于Python語(yǔ)言的Django框架進(jìn)行開(kāi)發(fā),使用的IDE為PyCharm,編程語(yǔ)言版本為python3.6.3,Web框架版本為Django2.0。使用MySQL和Redis數(shù)據(jù)庫(kù)管理數(shù)據(jù),前端采用Bootstrap框架,圖表的繪制采用Echarts,這些開(kāi)發(fā)環(huán)境均為開(kāi)源免費(fèi)軟件。下面對(duì)系統(tǒng)設(shè)計(jì)中的部分關(guān)鍵問(wèn)題分別進(jìn)行詳細(xì)分析。

        2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)

        在本系統(tǒng)中,數(shù)據(jù)庫(kù)是一個(gè)非常核心的部分,設(shè)備采集和錄入的數(shù)據(jù)需要進(jìn)行存儲(chǔ),用戶(hù)、試驗(yàn)項(xiàng)目、試驗(yàn)場(chǎng)地、試驗(yàn)室等相關(guān)信息都要通過(guò)后臺(tái)管理錄入數(shù)據(jù)庫(kù),數(shù)據(jù)存儲(chǔ)架構(gòu)的合理與否直接影響系統(tǒng)的功能和性能[7]。系統(tǒng)采用關(guān)系型數(shù)據(jù)庫(kù)MySQL和Redis緩存相結(jié)合方式對(duì)數(shù)據(jù)進(jìn)行管理,MySQL用于存儲(chǔ)不經(jīng)常變更的“冷數(shù)據(jù)”,Redis用于存儲(chǔ)讀寫(xiě)操作比較頻繁的“熱數(shù)據(jù)”,以滿(mǎn)足對(duì)數(shù)據(jù)進(jìn)行高并發(fā)讀寫(xiě)的需求。這種數(shù)據(jù)管理方式既能提高系統(tǒng)響應(yīng)速度,又能保證數(shù)據(jù)的安全。

        2.1.1 MySQL數(shù)據(jù)庫(kù)

        根據(jù)試驗(yàn)設(shè)備的實(shí)際情況和本系統(tǒng)的功能需求,在充分考慮系統(tǒng)通用性的前提下,將數(shù)據(jù)庫(kù)分為基礎(chǔ)數(shù)據(jù)庫(kù)、試驗(yàn)數(shù)據(jù)庫(kù)、知識(shí)庫(kù)和系統(tǒng)庫(kù)4個(gè)部分。其整體結(jié)構(gòu)如圖2所示。

        圖2 數(shù)據(jù)庫(kù)結(jié)構(gòu)

        基礎(chǔ)數(shù)據(jù)庫(kù)主要用于對(duì)試驗(yàn)場(chǎng)地、試驗(yàn)室、設(shè)備、工位、試驗(yàn)主電路基本信息進(jìn)行描述。以設(shè)備信息表為例,其基本信息包括所在地、所在實(shí)驗(yàn)室、設(shè)備編號(hào)、生產(chǎn)廠(chǎng)家、設(shè)備類(lèi)型等。由于不同類(lèi)型的設(shè)備,其工位信息模型一般也不同,因此需要對(duì)不同類(lèi)型的設(shè)備分別建立相應(yīng)的工位信息表。

        試驗(yàn)數(shù)據(jù)庫(kù)用于對(duì)試驗(yàn)相關(guān)信息進(jìn)行描述,包括試驗(yàn)項(xiàng)目信息、試品信息、試驗(yàn)參數(shù)、試驗(yàn)結(jié)果、控制命令、故障記錄、報(bào)警記錄。試驗(yàn)項(xiàng)目表與試品信息表通過(guò)外鍵相關(guān)聯(lián),在進(jìn)行試驗(yàn)前需新建試驗(yàn)項(xiàng)目。試驗(yàn)參數(shù)表和試驗(yàn)結(jié)果表應(yīng)按照不同的試驗(yàn)類(lèi)型分別建立。故障記錄表中只記錄故障設(shè)備、故障代碼和故障時(shí)間,根據(jù)故障代碼查詢(xún)知識(shí)庫(kù)獲取相應(yīng)的故障信息,以節(jié)省數(shù)據(jù)庫(kù)空間。

        知識(shí)庫(kù)用于對(duì)系統(tǒng)知識(shí)進(jìn)行存儲(chǔ),其中設(shè)備庫(kù)用于記錄系統(tǒng)中已經(jīng)進(jìn)行建模的各設(shè)備類(lèi)型相關(guān)的知識(shí),包括相應(yīng)的工位信息表表名、可選試驗(yàn)類(lèi)型等信息。在設(shè)備信息表中將設(shè)備類(lèi)型作為外鍵與設(shè)備庫(kù)相關(guān)聯(lián),當(dāng)添加新設(shè)備時(shí),只需勾選相應(yīng)的設(shè)備類(lèi)型,即可獲得其相關(guān)信息,無(wú)需重復(fù)輸入。比如在設(shè)備庫(kù)中存儲(chǔ)工位信息表表名,這樣在為設(shè)備添加工位時(shí),可根據(jù)不同的設(shè)備類(lèi)型,自動(dòng)關(guān)聯(lián)相應(yīng)的工位信息表,動(dòng)態(tài)生成不同的form表單。元件庫(kù)用于記錄試驗(yàn)主電路中各開(kāi)關(guān)元件的信息,在試驗(yàn)主電路信息表中,將元件作為外鍵,在建立試驗(yàn)主電路模型時(shí),只需勾選相應(yīng)元件即可。試驗(yàn)庫(kù)用于記錄在系統(tǒng)中已進(jìn)行建模的各類(lèi)型試驗(yàn)相關(guān)的知識(shí),包括其對(duì)應(yīng)的試驗(yàn)參數(shù)表表名、試驗(yàn)結(jié)果表表名、可選設(shè)備類(lèi)型等信息??紤]到有的綜合型試驗(yàn)設(shè)備可進(jìn)行多種類(lèi)型的試驗(yàn),這意味著同一種試驗(yàn)也可以在多種類(lèi)型的設(shè)備上進(jìn)行,因此通過(guò)在試驗(yàn)庫(kù)中將可選設(shè)備類(lèi)型設(shè)為“多對(duì)多”字段,將其與設(shè)備庫(kù)相關(guān)聯(lián)。在試品信息表中,將試驗(yàn)類(lèi)型作為外鍵與試驗(yàn)庫(kù)相關(guān)聯(lián),在添加試品時(shí),通過(guò)勾選試驗(yàn)庫(kù)中的試驗(yàn)類(lèi)型添加其試驗(yàn)類(lèi)型。

        系統(tǒng)庫(kù)用于存儲(chǔ)系統(tǒng)相關(guān)的信息,包括用戶(hù)信息表、用戶(hù)權(quán)限表和系統(tǒng)日志。

        2.1.2 Redis緩存

        根據(jù)實(shí)時(shí)數(shù)據(jù)的類(lèi)型,在Redis中分別設(shè)計(jì)了不同的存儲(chǔ)結(jié)構(gòu),如表1所示。采用Hash類(lèi)型存儲(chǔ)設(shè)備狀態(tài)和工位狀態(tài)信息,Value部分為一個(gè)HashMap對(duì)象,該HashMap對(duì)象的Key為設(shè)備ID、工位編號(hào)、狀態(tài)名等拼接成的字符串”,Value為字符串類(lèi)型的狀態(tài)數(shù)據(jù)。而試驗(yàn)結(jié)果數(shù)據(jù)由于添加頻繁且需要使用容器盛放,如果采用Hash類(lèi)型存儲(chǔ),每添加一個(gè)新數(shù)據(jù)都需要取出容器對(duì)象、反序列化、添加新數(shù)據(jù)、序列化、更新,開(kāi)銷(xiāo)較大。因此采用List類(lèi)型存儲(chǔ)試驗(yàn)結(jié)果數(shù)據(jù),每一個(gè)工位的一個(gè)被測(cè)物理量對(duì)應(yīng)一個(gè)鍵值對(duì),Key為“設(shè)備ID-工位編號(hào)-變量名”,Value部分為L(zhǎng)ist對(duì)象,新的數(shù)據(jù)直接插入即可。為了防止內(nèi)存被占滿(mǎn),需定時(shí)將舊的試驗(yàn)結(jié)果數(shù)據(jù)存儲(chǔ)到MySQL數(shù)據(jù)庫(kù),并從Redis中刪除。

        2.2 遠(yuǎn)程控制與安全聯(lián)鎖

        系統(tǒng)具有遠(yuǎn)程啟??刂乒δ?,通過(guò)點(diǎn)擊啟動(dòng)按鈕并輸入控制參數(shù)即可遠(yuǎn)程啟動(dòng)設(shè)備。首先用戶(hù)需要進(jìn)入想要控制的設(shè)備的監(jiān)控頁(yè)面,點(diǎn)擊按鈕將其控制模式切換為遠(yuǎn)程控制模式,然后在聯(lián)鎖條件滿(mǎn)足的條件下點(diǎn)擊啟動(dòng)或停止

        表1 Redis存儲(chǔ)結(jié)構(gòu)

        按鈕,Web應(yīng)用程序會(huì)生成一條固定格式的控制命令字符串。如果是啟動(dòng)命令,頁(yè)面會(huì)跳轉(zhuǎn)到該工位中的試品對(duì)應(yīng)的試驗(yàn)參數(shù)輸入界面,用戶(hù)輸入試驗(yàn)參數(shù)后點(diǎn)擊提交,生成一條固定格式的試驗(yàn)參數(shù)字符串,生成的命令和參數(shù)經(jīng)數(shù)據(jù)交互程序發(fā)送給相應(yīng)設(shè)備,設(shè)備端監(jiān)控程序?qū)⒖刂泼詈涂刂茀?shù)解析后傳給其控制子程序執(zhí)行,從而實(shí)現(xiàn)遠(yuǎn)程控制。

        試驗(yàn)應(yīng)在滿(mǎn)足安全條件的情況下進(jìn)行,因此遠(yuǎn)程控制功能也需進(jìn)行安全聯(lián)鎖。一方面,設(shè)備端控制與遠(yuǎn)程控制需進(jìn)行互鎖,設(shè)備的控制模式為設(shè)備端控制時(shí),監(jiān)控界面不顯示啟??刂瓢粹o;另一方面,需要對(duì)試驗(yàn)條件進(jìn)行前后端驗(yàn)證。在前端驗(yàn)證中,若不滿(mǎn)足試驗(yàn)條件,則將啟動(dòng)按鈕設(shè)為禁用狀態(tài);后端驗(yàn)證中若不滿(mǎn)足試驗(yàn)條件,則點(diǎn)擊啟動(dòng)按鈕后重定向到當(dāng)前頁(yè)面,并顯示警告信息。

        2.3 動(dòng)態(tài)數(shù)據(jù)的實(shí)時(shí)更新

        本文采用Websocket技術(shù)和Redis發(fā)布訂閱模式實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)的實(shí)時(shí)顯示,WebSocket是HTML5提出的一項(xiàng)瀏覽器和服務(wù)器之間的通信協(xié)議,其本質(zhì)上是TCP連接,瀏覽器其和服務(wù)器可以利用該協(xié)議實(shí)現(xiàn)雙向通信,使B/S模式具備了C/S模式的實(shí)時(shí)通信能力。該方法與傳統(tǒng)的Ajax輪詢(xún)技術(shù)相比,避免了不必要的請(qǐng)求,傳輸?shù)臄?shù)據(jù)量少,因此其資源消耗少、實(shí)時(shí)性強(qiáng)[8]。

        動(dòng)態(tài)數(shù)據(jù)實(shí)時(shí)更新的具體流程為:客戶(hù)進(jìn)入包含動(dòng)態(tài)數(shù)據(jù)的頁(yè)面時(shí),客戶(hù)端通過(guò)javascript代碼與服務(wù)器建立WebSocket連接,并向服務(wù)器發(fā)送設(shè)備ID、工位編號(hào)等請(qǐng)求數(shù)據(jù),服務(wù)器端的Web應(yīng)用程序接收請(qǐng)求數(shù)據(jù)后通過(guò)Redis發(fā)布訂閱將其發(fā)送給數(shù)據(jù)交互程序,并等待交互程序的數(shù)據(jù),交互程序接收到請(qǐng)求數(shù)據(jù)后,對(duì)后續(xù)接收的設(shè)備端數(shù)據(jù)進(jìn)行判斷,如果與請(qǐng)求數(shù)據(jù)相關(guān),則在將其保存到Redis緩存的同時(shí),通過(guò)Redis發(fā)布訂閱發(fā)送給Web應(yīng)用程序,Web應(yīng)用程序接收到數(shù)據(jù)后通過(guò)Websocket發(fā)送給客戶(hù)端瀏覽器,瀏覽器接收到數(shù)據(jù)后,對(duì)監(jiān)控頁(yè)面中的數(shù)據(jù)進(jìn)行局部刷新,實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)的實(shí)時(shí)更新。這種更新方式實(shí)現(xiàn)了由設(shè)備端主動(dòng)向客戶(hù)端推送數(shù)據(jù),設(shè)備狀態(tài)未發(fā)生變化或沒(méi)有新的試驗(yàn)數(shù)據(jù)產(chǎn)生就不會(huì)有數(shù)據(jù)傳輸,最大程度上節(jié)省了系統(tǒng)資源和帶寬。

        2.4 數(shù)據(jù)可視化

        電器試驗(yàn)設(shè)備監(jiān)控系統(tǒng)通常需要利用波形圖的形式對(duì)試驗(yàn)結(jié)果數(shù)據(jù)進(jìn)行可視化顯示,通過(guò)對(duì)目前常用的幾款前端可視化插件進(jìn)行對(duì)比,本文選用ECharts實(shí)現(xiàn)數(shù)據(jù)的可視化,ECharts是一款基于HTML5的圖形庫(kù),圖形創(chuàng)建簡(jiǎn)單、支持的圖形豐富[9]。其具體實(shí)現(xiàn)步驟如下:

        1)引入JS文件:

        2)準(zhǔn)備一個(gè)放置圖表的容器:

        3)利用Ajax請(qǐng)求或WebSocket從后臺(tái)獲取數(shù)據(jù):

        對(duì)于靜態(tài)試驗(yàn)結(jié)果數(shù)據(jù),只需在頁(yè)面加載完成后,進(jìn)行一次Ajax請(qǐng)求獲取試驗(yàn)數(shù)據(jù);對(duì)于動(dòng)態(tài)試驗(yàn)結(jié)果數(shù)據(jù),需與Web應(yīng)用程序建立WebSocket連接,獲取服務(wù)器端推送的新數(shù)據(jù)。靜態(tài)數(shù)據(jù)與動(dòng)態(tài)數(shù)據(jù)的判斷標(biāo)準(zhǔn)為試驗(yàn)是否已完成。

        4)初始化圖表,設(shè)置參數(shù),生成圖表:

        var realtime_data_chart = echarts.init(document.getElementById("realtime_data")) //初始化圖表

        option = {----}; //設(shè)置option屬性,將上一步獲取的后臺(tái)數(shù)據(jù)設(shè)置在option中

        realtime_data_chart.setOption(option,true) //生成圖表

        設(shè)置option屬性和生成圖表需放在上一步返回?cái)?shù)據(jù)之后的回調(diào)函數(shù)中,以實(shí)現(xiàn)動(dòng)態(tài)刷新效果。

        3 系統(tǒng)測(cè)試

        基于以上系統(tǒng)設(shè)計(jì),對(duì)系統(tǒng)的設(shè)備監(jiān)控功能模塊進(jìn)行了測(cè)試。測(cè)試階段采用個(gè)人筆記本電腦上的Django框架自帶的輕量級(jí)Web服務(wù)器,其性能能夠滿(mǎn)足測(cè)試環(huán)境的需求。所監(jiān)控的對(duì)象是一臺(tái)脫扣器吸合釋放電壓測(cè)試設(shè)備,其設(shè)備端監(jiān)控系統(tǒng)界面和各工位如圖3和圖4所示。

        圖3 設(shè)備端監(jiān)控系統(tǒng) 圖4 設(shè)備端工位

        監(jiān)控主界面如圖5所示,按所在地和試驗(yàn)室對(duì)設(shè)備進(jìn)行檢索后,頁(yè)面顯示相應(yīng)的設(shè)備列表,列表中包含設(shè)備類(lèi)型、啟停狀態(tài),控制模式、聯(lián)鎖條件等信息。點(diǎn)擊運(yùn)行狀況進(jìn)入設(shè)備主界面,如圖6所示。在實(shí)時(shí)波形列點(diǎn)擊查看,即可查看設(shè)備實(shí)時(shí)采集到的試驗(yàn)數(shù)據(jù),如圖7所示,其橫坐標(biāo)由預(yù)設(shè)的試驗(yàn)次數(shù)決定,每進(jìn)行一次試驗(yàn),試驗(yàn)曲線(xiàn)中動(dòng)態(tài)增加一組數(shù)據(jù)。點(diǎn)擊試品列中的試品編號(hào)可查看試品的相關(guān)信息,包括基本信息、試驗(yàn)參數(shù)和試驗(yàn)結(jié)果,如圖8所示。點(diǎn)擊切換為遠(yuǎn)程控制,最右側(cè)會(huì)新增一列,用于對(duì)設(shè)備的遠(yuǎn)程啟??刂?。點(diǎn)擊開(kāi)啟后在跳轉(zhuǎn)的新頁(yè)面中輸入并提交控制參數(shù),設(shè)備即按照設(shè)定的參數(shù)運(yùn)行,同時(shí)開(kāi)啟按鈕變?yōu)橥V拱粹o。

        測(cè)試結(jié)果表明,系統(tǒng)監(jiān)控模塊的各項(xiàng)功能運(yùn)行狀況良好,可實(shí)時(shí)地對(duì)試驗(yàn)設(shè)備進(jìn)行監(jiān)控。系統(tǒng)動(dòng)態(tài)數(shù)據(jù)更新過(guò)程無(wú)頁(yè)面刷新和卡頓,更新響應(yīng)時(shí)間小于0.5 s,表明本文所設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)框架能夠在滿(mǎn)足基本監(jiān)控功能的同時(shí),保證了較高的實(shí)時(shí)性,基本滿(mǎn)足設(shè)計(jì)目標(biāo)。

        圖5 設(shè)備監(jiān)控主頁(yè)面

        圖6 設(shè)備運(yùn)行狀況頁(yè)面

        圖7 實(shí)時(shí)試驗(yàn)數(shù)據(jù)

        圖8 試品信息

        4 總結(jié)

        4.1 總結(jié)

        為了解決低壓電器試驗(yàn)設(shè)備監(jiān)控系統(tǒng)對(duì)信息集成和網(wǎng)絡(luò)化集中管理的實(shí)際需求,設(shè)計(jì)了低壓電器試驗(yàn)設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)。該系統(tǒng)能夠?qū)崟r(shí)顯示試驗(yàn)現(xiàn)場(chǎng)數(shù)據(jù),準(zhǔn)確反映現(xiàn)場(chǎng)設(shè)備的運(yùn)行狀態(tài),能夠?qū)υO(shè)備進(jìn)行遠(yuǎn)程啟??刂疲哂辛己玫娜藱C(jī)交互界面。在滿(mǎn)足以上基本功能的基礎(chǔ)上,該系統(tǒng)還具有以下優(yōu)勢(shì):

        1)通用性和可擴(kuò)展性好:本系統(tǒng)從設(shè)計(jì)之初就考慮到其通用、可擴(kuò)展的需求,對(duì)于不同類(lèi)型的設(shè)備和試驗(yàn),分別建立了相應(yīng)的數(shù)據(jù)庫(kù)模型。因此系統(tǒng)對(duì)于開(kāi)發(fā)階段考慮在內(nèi)的不同類(lèi)型、不同地點(diǎn)的設(shè)備均適用,在開(kāi)發(fā)階段未考慮到的特殊設(shè)備,可以通過(guò)擴(kuò)展數(shù)據(jù)庫(kù)的方式使其兼容,因此系統(tǒng)具有較高的可擴(kuò)展性。

        2)易維護(hù)和管理:管理員可通過(guò)Django自帶的后臺(tái)管理模塊對(duì)系統(tǒng)進(jìn)行管理,無(wú)需開(kāi)發(fā)額外的后臺(tái)管理軟件,這也是Django的優(yōu)勢(shì)之一[10],新設(shè)備的添加可以通過(guò)后臺(tái)管理輕松完成。系統(tǒng)的升級(jí)維護(hù)也只需在服務(wù)器端進(jìn)行,對(duì)用戶(hù)的正常使用沒(méi)有影響,減少了系統(tǒng)維護(hù)人員的工作量。

        3)易用性:該系統(tǒng)實(shí)現(xiàn)了網(wǎng)絡(luò)化且不受平臺(tái)限制,用戶(hù)可以通過(guò)計(jì)算機(jī)或移動(dòng)終端中的瀏覽器隨時(shí)隨地訪(fǎng)問(wèn)系統(tǒng),無(wú)需安裝專(zhuān)用的客戶(hù)端軟件,并利用Redis緩存、WebSocket技術(shù)和Redis共享內(nèi)存通信等方法減輕了因此帶來(lái)的實(shí)時(shí)性變差的問(wèn)題。

        4)低成本:系統(tǒng)所采用的開(kāi)發(fā)環(huán)境均為免費(fèi)軟件,能夠大幅度降低系統(tǒng)的開(kāi)發(fā)費(fèi)用。此外,由于維護(hù)方便,系統(tǒng)在以后使用中的維護(hù)費(fèi)用也比較低。

        4.2 展望

        本系統(tǒng)的成功測(cè)試給電器試驗(yàn)設(shè)備通用遠(yuǎn)程監(jiān)控系統(tǒng)的建設(shè)提供了一個(gè)良好的開(kāi)端。遠(yuǎn)程監(jiān)控所涉及的內(nèi)容廣泛,由于時(shí)間和能力有限,很難對(duì)其中的每個(gè)細(xì)節(jié)做深入的研究,因此系統(tǒng)還存在諸多不足。在以后的工作中,需要在以下幾個(gè)方面進(jìn)行完善和充實(shí)。

        數(shù)據(jù)庫(kù)模型需要進(jìn)一步完善和擴(kuò)充。電器試驗(yàn)設(shè)備種類(lèi)繁多,不同類(lèi)型的試驗(yàn)設(shè)備,其工位信息模型不同,不同類(lèi)型的試驗(yàn),其試驗(yàn)參數(shù)和試驗(yàn)結(jié)果模型一般也不相同;同一類(lèi)型的試驗(yàn)設(shè)備由于生產(chǎn)廠(chǎng)家設(shè)計(jì)理念或應(yīng)用場(chǎng)景的不同,也會(huì)存在差異。這可能導(dǎo)致試驗(yàn)設(shè)備與數(shù)據(jù)庫(kù)模型不匹配的情況出現(xiàn),因此需要在今后的運(yùn)用過(guò)程中對(duì)數(shù)據(jù)庫(kù)模型不斷進(jìn)行擴(kuò)充,以提高系統(tǒng)通用性。

        建立和完善基于A(yíng)ctiveX控件的元件庫(kù)。目前該監(jiān)控系統(tǒng)尚未在元件庫(kù)中添加ActiveX控件,因此無(wú)法在網(wǎng)頁(yè)中動(dòng)態(tài)顯示試驗(yàn)主電路的狀態(tài)和試驗(yàn)過(guò)程。在以后的工作中需要建立和擴(kuò)充基于A(yíng)ctiveX控件的元件庫(kù),在監(jiān)控頁(yè)面中嵌入ActiveX控件來(lái)顯示主電路的單線(xiàn)模擬線(xiàn)路圖,以實(shí)現(xiàn)其試驗(yàn)過(guò)程的可視化。這也是一項(xiàng)長(zhǎng)期的工作,需要在以后的實(shí)際應(yīng)用中逐步擴(kuò)充元件庫(kù)。

        添加手動(dòng)控制功能。電器試驗(yàn)設(shè)備上位監(jiān)控系統(tǒng)的控制功能通常都包含手動(dòng)控制,因此在遠(yuǎn)程監(jiān)控系統(tǒng)中也不應(yīng)缺失此功能。開(kāi)發(fā)遠(yuǎn)程手動(dòng)控制功能之前,應(yīng)先保證元件庫(kù)中有相應(yīng)的元件,并且能夠動(dòng)態(tài)模擬試驗(yàn)主電路的狀態(tài)。

        猜你喜歡
        數(shù)據(jù)庫(kù)設(shè)備信息
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        展會(huì)信息
        原來(lái)他們都是可穿戴設(shè)備
        国产精品无码成人午夜电影| 人妻少妇艳情视频中文字幕| 国产精品成人无码久久久久久| 伊在人天堂亚洲香蕉精品区| 美日韩毛片| 国产青青草自拍视频在线播放| 一区二区在线视频免费蜜桃| 狠狠精品久久久无码中文字幕| 呻吟国产av久久一区二区| 日韩久久无码免费看A| 日韩精品中文字幕一区二区| 国产伦精品免编号公布| 99久久精品国产一区二区蜜芽| 蜜桃视频中文在线观看| 成人av综合资源在线| 天天爽夜夜爱| 国产精品一区二区在线观看完整版| 青春草在线观看免费视频| 亚洲色图在线免费观看视频| 国产裸拍裸体视频在线观看| 无码精品一区二区免费AV| 国产自拍伦理在线观看| 日本少妇高潮喷水视频 | 欧美性videos高清精品| 欧洲乱码伦视频免费| 国产精品亚洲一区二区三区16| 一本久道综合在线无码人妻| 99成人精品| 青青草视频在线观看视频免费| 久久久精品中文字幕麻豆发布 | av无码一区二区三区| 亚洲av无码一区二区乱子伦as| 国产精品,在线点播影院| 精品在线视频在线视频在线视频| 在线看片免费人成视频久网下载| 国产精品爽爽va在线观看网站| 亚洲精品女人天堂av麻| 无码gogo大胆啪啪艺术| 国产日韩网站| 一区二区中文字幕蜜桃| 国产一区二区精品久久岳|