封 位, 黃國輝, 姜周曙
(杭州電子科技大學 能量利用系統(tǒng)與控制研究所, 浙江 杭州 310018)
通信作者:姜周曙(1964—),男,浙江溫州,博士,教授,主要研究方向為能量利用系統(tǒng)與自動化.
遠程實驗數(shù)據(jù)監(jiān)控系統(tǒng)設計與應用
封 位, 黃國輝, 姜周曙
(杭州電子科技大學 能量利用系統(tǒng)與控制研究所, 浙江 杭州 310018)
為改變傳統(tǒng)實驗開放度和智能化程度不高的情況,自主研制了三容水箱實驗平臺,設計了遠程數(shù)據(jù)監(jiān)控系統(tǒng)。該系統(tǒng)通過三容水箱數(shù)據(jù)中繼器將數(shù)據(jù)采集器實時采集的數(shù)據(jù)上傳至數(shù)據(jù)監(jiān)控軟件處理,數(shù)據(jù)監(jiān)控軟件運用多線程技術實現(xiàn)數(shù)據(jù)存儲、數(shù)據(jù)顯示并發(fā)送控制指令,對遠程實驗臺進行故障檢測、智能管理和實時監(jiān)測控制,為開放式遠程控制實驗創(chuàng)造條件。
遠程監(jiān)控; 三容水箱系統(tǒng); 開放式實驗室; 智能化管理
隨著計算機與網(wǎng)絡通信技術的發(fā)展,開放式實驗教學模式在高校得到更廣泛的應用[1-3]。本校過程控制實驗室現(xiàn)有自主研制的三容水箱計算機控制實驗設備15臺。在傳統(tǒng)的實驗教學中,這些實驗設備的數(shù)量無法滿足實驗教學的需要,而在大部分課余時間,實驗臺又處于閑置狀態(tài)。為改變實驗設備利用率不高、管理困難的情況,筆者設計了實驗室遠程數(shù)據(jù)監(jiān)控系統(tǒng),實現(xiàn)監(jiān)測控制并集中管理底層三容水箱實驗臺,提供實時可靠的數(shù)據(jù)給遠程客戶端。
數(shù)據(jù)監(jiān)控是遠程實驗系統(tǒng)的核心,主要包括數(shù)據(jù)監(jiān)控軟件、三容水箱數(shù)據(jù)中繼器和信號采集控制器3部分。管理者既可以通過數(shù)據(jù)監(jiān)控軟件實時監(jiān)測底層實驗臺運行狀態(tài),又可以根據(jù)實際需要發(fā)送控制指令,便于對整個系統(tǒng)的運行管理。實驗用戶通過Web服務器與本系統(tǒng)進行交互,間接控制三容水箱實驗臺,得到實時實驗數(shù)據(jù),達到與傳統(tǒng)實驗相同實驗效果。
與計算機和實驗儀器的一對一的模式相比,使用數(shù)據(jù)中繼器實現(xiàn)一對多模式,大大減少了計算機的使用數(shù)量。遠程數(shù)據(jù)監(jiān)控中心系統(tǒng)結構如圖1所示。
圖1 遠程數(shù)據(jù)監(jiān)控中心系統(tǒng)結構
1.1 信號采集控制器
信號采集控制器以提供高精度AD轉換的ADμC834單片機為核心控制器,通過液位、溫度、流量等傳感器將模擬信號傳入單片機,經(jīng)過處理后再傳送給數(shù)據(jù)中繼器。信號采集器通過串口接收控制指令,經(jīng)過處理器解析后控制三容水箱實驗臺,如打開水泵上水或控制加熱管功率等。
1.2 三容水箱數(shù)據(jù)中繼器
三容水箱數(shù)據(jù)中繼器主要包括STM32F103VE單片機最小系統(tǒng)模塊、電源電路模塊、RS485通信模塊和網(wǎng)絡通信模塊。
RS485通信模塊有2個RS485總線接口,通過此
接口與現(xiàn)場多臺數(shù)據(jù)采集器串行通信。主控制芯片將多個信號采集器上傳的數(shù)據(jù)過濾、打包,通過網(wǎng)絡通信模塊轉發(fā)給數(shù)據(jù)監(jiān)控軟件。網(wǎng)絡通信模塊集成100 Mbit/s以太網(wǎng)控制器,降低通信網(wǎng)絡延時,得到數(shù)據(jù)監(jiān)控軟件下發(fā)的實時、穩(wěn)定的控制指令。
穩(wěn)定、可靠的電源模塊是數(shù)據(jù)中繼器正常工作的必要前提,采用24 V—5 V—3.3 V三級降壓模式,層層遞進,平緩而穩(wěn)定,最大限度地減少穩(wěn)壓值偏差。
2.1 需求分析
數(shù)據(jù)監(jiān)控軟件主要面向?qū)嶒灩芾砣藛T,便于監(jiān)控實驗室實驗設備。軟件應當具有操作簡便、界面友好和功能齊全的優(yōu)點[4]。數(shù)據(jù)監(jiān)控軟件需要有對底層三容水箱實驗臺實時監(jiān)測和控制的基本功能。軟件需將實驗數(shù)據(jù)過濾解析,存儲于云數(shù)據(jù)庫,供數(shù)據(jù)監(jiān)控軟件和Web客戶端實時顯示;還需根據(jù)得到的實驗數(shù)據(jù)與Web服務器交互得到的實驗參數(shù),發(fā)送控制指令。
此外,數(shù)據(jù)監(jiān)控軟件要能實時監(jiān)測底層實驗臺的運行,出現(xiàn)故障后能及時報警,便于管理者的維護。軟件應具有數(shù)據(jù)查詢功能,便于實驗管理者得到實驗數(shù)據(jù),并且可打印和導出數(shù)據(jù),以便后續(xù)研究。三容水箱數(shù)據(jù)監(jiān)控軟件功能結構如圖2所示。
圖2 數(shù)據(jù)監(jiān)控軟件功能結構
2.2 通信協(xié)議設計
數(shù)據(jù)監(jiān)控軟件與多臺數(shù)據(jù)中繼器之間的通信協(xié)議的設計,是保證數(shù)據(jù)實時、穩(wěn)定的關鍵技術之一。協(xié)議將通信包分為包頭、包體和校驗位3個部分。在每個請求數(shù)據(jù)包中,包頭的長度和格式固定,包體的長度根據(jù)數(shù)據(jù)中繼器所連接的三容水箱實驗臺數(shù)量而改變。請求數(shù)據(jù)包如表1所示。
表1 請求數(shù)據(jù)包
數(shù)據(jù)類型主要用于判斷數(shù)據(jù)包的用途,定義如下:
0—連接請求;1—身份驗證;2—驗證實驗臺開關;3—實驗數(shù)據(jù);A—心跳包數(shù)據(jù)。根據(jù)數(shù)據(jù)類型,數(shù)據(jù)監(jiān)控軟件可以顯示實驗臺是否可用或者是否正在進行實驗??刂浦噶顢?shù)據(jù)包與請求數(shù)據(jù)包格式類似,其數(shù)據(jù)類型為固定值“K”,包體內(nèi)包含具體的控制指令,如關閉中繼器、打開電磁閥等。
2.3 數(shù)據(jù)庫設計
數(shù)據(jù)庫服務器采用目前流行的阿里云SQL Server關系型數(shù)據(jù)庫[5-6],其具有穩(wěn)定、安全等級高和掌握數(shù)據(jù)庫即時動態(tài)等優(yōu)點,符合遠程控制實驗安全可靠、實時性需求。系統(tǒng)數(shù)據(jù)庫主要記錄實驗臺基本資料、實驗設置參數(shù)、實驗的實時數(shù)據(jù)等詳細信息。圍繞它們的特征屬性,設計了5張基本數(shù)據(jù)表,如圖3所示。
圖3 基本數(shù)據(jù)表設計
實驗臺信息表Tank_Info表記錄實驗臺的詳細信息,如實驗臺所處的實驗室、是否可用等信息,該表主鍵為TankID。
實驗參數(shù)表ExpPara存放實驗臺正在進行實驗的具體參數(shù)設置值,包括液位設定值,PID參數(shù)Kp、Ki、Kd,電動閥開度等。
實驗總表All_Exp記錄實驗表的名稱、實驗類型、日期等信息,方便查詢數(shù)據(jù),如按日期查詢或按實驗類型查詢。
實時數(shù)據(jù)表根據(jù)ExpPara表和All_Exp表內(nèi)的相關屬性生成,并且這3張表的外鍵為Tank_Info表的主鍵,目的是與底層實驗臺相關聯(lián)。
為保證實驗臺信息安全,防止惡意修改,利用系統(tǒng)日志表Sys_Log記錄實驗臺的操作行為,維護系統(tǒng)的正常運行。
3.1 實現(xiàn)環(huán)境與技術
根據(jù)實驗室現(xiàn)有條件,軟件開發(fā)運行環(huán)境采用Windows7 32位操作系統(tǒng)、SQL Server數(shù)據(jù)庫。基于運行于.NET Framework上的高級程序設計語言C#,采用B/S架構、三層結構設計思想[7-9],使系統(tǒng)具有良好的操作性與兼容性。
C#語言提供了豐富的線程操作接口,多個功能模塊中運用多線程技術,如UI線程、數(shù)據(jù)處理線程和Web服務器交互線程等。
UI線程主要實現(xiàn)數(shù)據(jù)的顯示和用戶的交互功能。該線程在取得主線程的控制權后,一方面將實驗數(shù)據(jù)或者實驗參數(shù)顯示在界面控件上,如Flash實時顯示數(shù)據(jù)或在CWGraph控件上實時顯示曲線;另一方面通過用戶與界面的交互將控制指令發(fā)送到實驗臺或者Web服務器。
數(shù)據(jù)監(jiān)控軟件需開啟一個線程,實時等待三容水箱數(shù)據(jù)中繼器的連接請求,驗證通過后,開啟數(shù)據(jù)接收線程,實時接收實驗數(shù)據(jù)。在數(shù)據(jù)處理線程中,根據(jù)實驗類型處理數(shù)據(jù)并存儲于數(shù)據(jù)庫中,供遠程實驗用戶實時顯示于網(wǎng)頁中。與此同時,生成控制指令發(fā)送給底層實驗臺。關鍵代碼如下:
3.2 軟件實現(xiàn)
經(jīng)過軟件設計與編程,管理者可通過界面統(tǒng)一管理三容水箱實驗臺??蛇x擇查看實驗臺實時狀態(tài)信息,如所選實驗臺的位置信息,是否正在進行實驗等。若實驗臺正在進行實驗,還可通過Flash界面直觀、動感地查看實時數(shù)據(jù)。圖4為實驗臺狀態(tài)和Flash顯示效果圖。
圖4 試驗臺狀態(tài)和Flash效果圖
三容水箱實驗臺可進行9大類、40余種教學實驗,如串級控制、PID控制等。為了顯示實驗效果、比較實驗特性,實驗曲線圖必不可少。如圖5所示,系統(tǒng)可以根據(jù)不同的實驗顯示不同的數(shù)據(jù)曲線,如液位曲線和流量曲線等,可用于非線性大滯后等特性的建模仿真研究[10]。還可以通過界面得到正在進行的實驗信息,如實驗類型、實驗參數(shù)、目標設置等。
該遠程數(shù)據(jù)監(jiān)控中心系統(tǒng)投入使用后,表現(xiàn)出數(shù)據(jù)監(jiān)控軟件可靠性強、數(shù)據(jù)丟包率低、實時性強等特點,確保了遠程實驗的有效性。
圖5 實驗數(shù)據(jù)曲線圖
遠程數(shù)據(jù)監(jiān)控系統(tǒng)是遠程實驗的核心所在,是物聯(lián)網(wǎng)技術應用于開放實驗室的新的嘗試[11]。該系統(tǒng)優(yōu)化、整合了實驗教學資源,推進了實驗室的多元化、智能化發(fā)展[12]。目前,該遠程數(shù)據(jù)監(jiān)控系統(tǒng)已在自動化相關課程實驗教學中推廣使用并取得良好效果。隨著學校底層實驗臺數(shù)量的增加,系統(tǒng)并發(fā)量增大,各種數(shù)據(jù)交互更加頻繁,該系統(tǒng)的應用也會向其他實驗平臺拓展。如何保證數(shù)據(jù)的實時性、提高數(shù)據(jù)交互的效率,將是下一步需要著重研究解決的問題。
References)
[1] 劉學平,王亞杰,王揚揚,等.開放式實驗室數(shù)字化網(wǎng)絡化建設的研究[J].實驗室科學,2016,19(3):191-194.
[2] 牛勇超,姜周曙,黃國輝,等.基于JavaEE的開放實驗管理系統(tǒng)的設計與實現(xiàn)[J].實驗技術與管理,2017,34(1):153-156.
[3] 季建華.基于物聯(lián)網(wǎng)的智能家居遠程監(jiān)控系統(tǒng)設計與實現(xiàn)[J].計算機應用與軟件,2015(11):143-146.
[4] 林越,王翠珍.淺談面向?qū)ο箝_發(fā)思想與軟件設計架構分析[J].信息通信,2016(3):152-154.
[5] 符春.基于Android平臺的網(wǎng)絡云存儲系統(tǒng)開發(fā)[J].通訊界,2015(21):239-240.
[6] 顧恩碩,劉海粟,白雪.關系數(shù)據(jù)庫與非關系數(shù)據(jù)庫[J].藝術科技,2016(12):84.
[7] 陳煥彬.淺談.NET三層架構在系統(tǒng)開發(fā)中的應用[J].電腦與信息技術,2016(5):45-47.
[8] 胡冰.基于C#語言的小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)[D].長春:吉林大學,2016.
[9] Areias M, Rocha R. On Scaling Dynamic Programming Problems with a Multithreaded Tabling Prolog System[J]. Journal of Systems & Software,2016,125:417-426.
[10] 黨長青.基于多容水箱系統(tǒng)數(shù)學模型的研究[D].貴陽:貴州大學,2015.
[11] 崔貫勛.基于物聯(lián)網(wǎng)技術的實驗室安全管理系統(tǒng)的設計[J].實驗室研究與探索,2015,34(3):287-290.
[12] 李景宇.智能實驗室的多級管理及其性能保證研究[D].成都:電子科技大學,2016.
Design and application of monitoring and control system for remote experimental data
Feng Wei, Huang Guohui, Jiang Zhoushu
(Institute for Energy Utilization System and Control, Hangzhou Dianzi University, Hangzhou 310018, China)
In order to overcome the lack of openness and intelligence in traditional experiments, an experimental platform of the three-water tank is developed independently, and a remote data monitoring and control system is designed. This system can transmit the real-time data collected by the data acquisition device through the three-tank data repeater to the data monitoring and control software for processing. The data monitoring software uses the multi-thread technology to realize the data storage and the data display, and send the control instructions for the fault detection, intelligent management and real-time monitoring and control of the remote experimental platform, creating the conditions for open remote-controlled experiments.
remote monitoring and control; three-water tank; open laboratory; intelligent management
ata); threadReceive.IsBackground =true; threadReceive.Start();//開啟線程 Private delegate void rw(out string result); Private delegate void dp(string data); private void
ata() { rw d=new rw(ReceiveMessage); //數(shù)據(jù)接收線程 IAsyncResult IR=d.Begininvoke(out result); d.Endinvoke(out result,IR); //阻塞線程,得到數(shù)據(jù) dp hd=new dp(DataProcess); //數(shù)據(jù)處理線程 hd.Begininvoke(result) }
TP393
: A
: 1002-4956(2017)09-0142-04
2017-03-30
浙江省2016年度高等教育教學改革項目(JG20160061)
封位(1992—),男,江西玉山,在讀碩士研究生,主要研究方向為控制科學與工程
E-mail:910445280@qq.com
E-mail:jzs@hdu.edu.cn
10.16791/j.cnki.sjg.2017.09.035