彭勰
摘 要: 將分布式云計(jì)算技術(shù)應(yīng)用于工業(yè)生產(chǎn)過(guò)程的監(jiān)測(cè)和控制,對(duì)于提高系統(tǒng)的實(shí)時(shí)性、兼容性、可擴(kuò)展性以及降低設(shè)備的造價(jià)和維護(hù)成本起到重要的促進(jìn)作用。提出的流量積算管理系統(tǒng)由現(xiàn)場(chǎng)采集控制設(shè)備和云服務(wù)中心組成,其中現(xiàn)場(chǎng)采集控制設(shè)備用于采集現(xiàn)場(chǎng)設(shè)備的流量、溫度、壓力等信號(hào),并將數(shù)據(jù)發(fā)送到云服務(wù)中心,云服務(wù)中心負(fù)責(zé)流量的集中積算、實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)的存儲(chǔ)、Web交互展示和控制。系統(tǒng)實(shí)現(xiàn)了流量數(shù)據(jù)的分布式采集、云端集中積算、數(shù)據(jù)統(tǒng)一存儲(chǔ)、Web交互展示和控制等功能,滿足生產(chǎn)現(xiàn)場(chǎng)對(duì)流量數(shù)據(jù)統(tǒng)一管理的需求,同時(shí)為擴(kuò)展其他應(yīng)用模式提供了成熟可用的架構(gòu)模型和基礎(chǔ)。
關(guān)鍵詞: 流量積算; 分布式系統(tǒng); 云服務(wù); 嵌入式系統(tǒng); Web
中圖分類(lèi)號(hào): TN919?34; TP273.5 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)01?0104?04
Abstract: The distributed cloud computing technology is applied to the monitoring and control of the industrial production process, which plays the significant auxo?action to improve the system real?time performance, compatibility and scalability, and reduce the device cost and maintenance expense. The flow integrating management system is composed of the field acquisition control device and cloud service center. The field acquisition control device is used to collect the flow, temperature and pressure signals of the field acquisition device, and send the data to the cloud service center. The cloud service center takes charge of the flow centralizing integrating, real?time data and historical data storage, Web interactive exhibition and control. The system realizes the functions of flow data distributed collection, centralizing integrating in the cloud terminal, data unified storage, Web interactive exhibition and control, satisfies the requirement of work site for flow data unified management, and provides the mature and available architecture model and foundation for the expansion of other application models.
Keywords: flow integrating; distributed system; cloud service; embedded system; Web
0 引 言
長(zhǎng)期以來(lái),流量的計(jì)量一直是計(jì)量工作中的重點(diǎn)和難點(diǎn),直接影響著企業(yè)運(yùn)行的穩(wěn)定和企業(yè)成本的控制。隨著能源計(jì)量網(wǎng)絡(luò)的不斷完善和發(fā)展,對(duì)流量的計(jì)量提出了新要求。由于工業(yè)控制對(duì)參數(shù)的采集精度和控制的復(fù)雜程度要求越來(lái)越高,并且工業(yè)現(xiàn)場(chǎng)環(huán)境存在一定的不確定性、多變且比較惡劣,再加上現(xiàn)場(chǎng)操作工人的技術(shù)水平不夠高,這就對(duì)流量積算的性能提出了更高的要求。
為了避免供能單位和用戶之間可能存在的計(jì)量偏差,除了選擇合理的現(xiàn)場(chǎng)流量計(jì)外,同時(shí)也需要配備性能優(yōu)異并符合目前智能化、網(wǎng)絡(luò)化要求的流量積算設(shè)備,這樣才能組成完善的流量計(jì)量系統(tǒng)。因此,將云計(jì)算和物聯(lián)網(wǎng)的概念和模型引入流量積算系統(tǒng),設(shè)計(jì)一種基于分布式數(shù)據(jù)采集網(wǎng)絡(luò)的流量積算云服務(wù)系統(tǒng),能夠極大地調(diào)高流量數(shù)據(jù)的傳輸效率,簡(jiǎn)化流量檢測(cè)系統(tǒng)的復(fù)雜程度,提高系統(tǒng)的穩(wěn)定性和可靠性,并且使對(duì)流量的監(jiān)測(cè)和控制變得更加簡(jiǎn)單和方便,提高整個(gè)測(cè)量系統(tǒng)的信息化水平。
1 分布式流量積算云服務(wù)系統(tǒng)的設(shè)計(jì)
1.1 系統(tǒng)架構(gòu)
分布式流量積算云服務(wù)系統(tǒng)以生產(chǎn)過(guò)程流量測(cè)量特性及管理體系作為設(shè)計(jì)依據(jù),以分布式系統(tǒng)結(jié)構(gòu)為基礎(chǔ),以云端統(tǒng)一積算和管理為支撐,并結(jié)合船舶企業(yè)實(shí)際計(jì)量網(wǎng)絡(luò)、檢測(cè)設(shè)備狀況、硬件環(huán)境等實(shí)際情況設(shè)計(jì)系統(tǒng)的總體架構(gòu)。
分布式流量積算云服務(wù)系統(tǒng)的總體架構(gòu)分為兩部分,包括分布式采集監(jiān)控設(shè)備和云服務(wù)中心。
(1) 分布式采集監(jiān)控設(shè)備:采用北京世紀(jì)聯(lián)信公司研制的分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器(Distributed I/O Server)和嵌入式遠(yuǎn)程終端服務(wù)器(Remote Terminal Server,RTS)作為數(shù)據(jù)采集監(jiān)控設(shè)備,通過(guò)分布式網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)對(duì)硬件設(shè)備、計(jì)量?jī)x表(流量計(jì)、溫度傳感器、壓力傳感器等)實(shí)時(shí)數(shù)據(jù)的采集、存儲(chǔ)、匯總、推送、統(tǒng)一流量積算功能,并通過(guò)Web方式對(duì)外提供數(shù)據(jù)監(jiān)視、服務(wù)器配置功能。
(2) 云服務(wù)中心:云服務(wù)中心建立在互聯(lián)網(wǎng)云端的高性能服務(wù)器上,服務(wù)器可由用戶自己架設(shè)或者購(gòu)買(mǎi)、租用第三方的通用云服務(wù)器,即采用IaaS或者PaaS云服務(wù)模式。云服務(wù)中心由流量補(bǔ)償與積算模塊、云數(shù)據(jù)中心和云顯控平臺(tái)組成。其中流量補(bǔ)償與積算模塊負(fù)責(zé)流量積算與補(bǔ)償?shù)挠?jì)算;云數(shù)據(jù)中心負(fù)責(zé)實(shí)時(shí)流量數(shù)據(jù)和歷史流量數(shù)據(jù)的存儲(chǔ)和歸檔;云顯控平臺(tái)負(fù)責(zé)向接入云中的各種終端設(shè)備用戶提供B/S(瀏覽器/服務(wù)器)架構(gòu)的Web顯示界面,用于監(jiān)控當(dāng)前的運(yùn)行狀況和實(shí)時(shí)、歷史數(shù)據(jù)[1]。
1.2 分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器將網(wǎng)關(guān)、RTU、生產(chǎn)數(shù)據(jù)庫(kù)、OPC通信接口、數(shù)據(jù)接口、防火墻、控制算法、計(jì)算模型等軟硬件集成在一起,部署在車(chē)間等工業(yè)現(xiàn)場(chǎng),直接和間接地采集現(xiàn)場(chǎng)儀表的實(shí)時(shí)數(shù)據(jù)。分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器結(jié)構(gòu)如圖1所示。
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器提供了符合生產(chǎn)現(xiàn)場(chǎng)標(biāo)準(zhǔn)規(guī)范的各種接口,用于采集現(xiàn)場(chǎng)儀表的實(shí)時(shí)數(shù)據(jù)、監(jiān)視現(xiàn)場(chǎng)設(shè)備的運(yùn)行狀態(tài)以及向現(xiàn)場(chǎng)設(shè)備和執(zhí)行機(jī)構(gòu)發(fā)送控制命令。其接口包括A/D模擬量采集、D/A模擬控制信號(hào)輸出、I/O開(kāi)關(guān)量監(jiān)測(cè)與控制和RS 485,RS 422等串行總線接口[2]。
服務(wù)器內(nèi)部建立了工業(yè)實(shí)時(shí)數(shù)據(jù)庫(kù),用于存放實(shí)時(shí)和歷史數(shù)據(jù)。數(shù)據(jù)采集單元將采集的現(xiàn)場(chǎng)數(shù)據(jù)實(shí)時(shí)存入工業(yè)實(shí)時(shí)數(shù)據(jù)庫(kù)中,使數(shù)據(jù)庫(kù)中的數(shù)據(jù)一直保持更新。服務(wù)器向上通過(guò)以太網(wǎng)連接至云端,并將數(shù)據(jù)庫(kù)中的實(shí)時(shí)數(shù)據(jù)推送至云端[3]。同時(shí)內(nèi)建的WebServer能夠使用戶通過(guò)瀏覽器直接訪問(wèn)分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器,查看實(shí)時(shí)數(shù)據(jù)和服務(wù)器的配置信息。
1.3 系統(tǒng)通信方式
1.3.1 分布式數(shù)據(jù)采集系統(tǒng)通信方式
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器對(duì)外提供24路RS 485通信接口,能夠完全滿足生產(chǎn)現(xiàn)場(chǎng)的局部需求。嵌入式遠(yuǎn)程終端服務(wù)器可以作為一個(gè)設(shè)備接入RS 485總線,接線方式如圖2所示。在此種連接情況下,需要保證串口波特率匹配,并且設(shè)備ID號(hào)不沖突[4]。
通過(guò)A/D模擬信號(hào)采集接口可以采集現(xiàn)場(chǎng)的4~20 mA以及1~5 V的標(biāo)準(zhǔn)信號(hào),并通過(guò)配置工程量將轉(zhuǎn)換后的數(shù)字信號(hào)處理為對(duì)應(yīng)的工程參數(shù)。
通過(guò)D/A輸出控制信號(hào)可以對(duì)現(xiàn)場(chǎng)執(zhí)行機(jī)構(gòu)進(jìn)行控制,如控制電磁閥的開(kāi)度用以調(diào)節(jié)流量的大小,通過(guò)工程量的配置同樣可以按照實(shí)際工程參數(shù)輸出對(duì)執(zhí)行機(jī)構(gòu)進(jìn)行控制。
通過(guò)I/O接口可以讀取現(xiàn)場(chǎng)設(shè)備的開(kāi)關(guān)量狀態(tài),同時(shí)也可以輸出開(kāi)關(guān)量來(lái)控制現(xiàn)場(chǎng)設(shè)備的開(kāi)關(guān)。
1.3.2 云服務(wù)中心通信方式
分布式數(shù)據(jù)采集設(shè)備之間以工業(yè)以太網(wǎng)相互連接,形成覆蓋全廠的工業(yè)環(huán)網(wǎng),并通過(guò)Internet連接至云服務(wù)中心。為保證數(shù)據(jù)的實(shí)時(shí)性、安全性和可靠性,云服務(wù)中心通過(guò)TCP/IP協(xié)議與現(xiàn)場(chǎng)設(shè)備進(jìn)行實(shí)時(shí)通信。
2 流量積算云服務(wù)的設(shè)計(jì)
2.1 流量補(bǔ)償與積算模塊
流量補(bǔ)償與積算模塊是一個(gè)對(duì)各種液體、蒸汽、天然氣、一般氣體進(jìn)行自動(dòng)補(bǔ)償流量積算的軟件,與SCADA系統(tǒng)或其他信息系統(tǒng)交換數(shù)據(jù)。流量補(bǔ)償與積算模塊可以替代傳統(tǒng)硬件流量積算儀,實(shí)現(xiàn)更為精確的流量補(bǔ)償算法,獲得更為豐富的過(guò)程數(shù)據(jù),解決了傳統(tǒng)硬件流量積算儀安裝分散不宜維護(hù),參數(shù)設(shè)定繁瑣不宜操作,積算功能簡(jiǎn)單且數(shù)據(jù)不宜共享等問(wèn)題,從而提高積算精度,降低維護(hù)成本和維護(hù)強(qiáng)度,提升生產(chǎn)過(guò)程的自動(dòng)化和信息化水平[8]。
2.2 云顯控平臺(tái)
云顯控平臺(tái)的功能如圖3所示,一方面云顯控平臺(tái)通過(guò)訪問(wèn)實(shí)時(shí)數(shù)據(jù)庫(kù)和歸檔數(shù)據(jù)庫(kù),從云數(shù)據(jù)中心中讀取實(shí)時(shí)和歷史數(shù)據(jù),將數(shù)據(jù)顯示在用戶頁(yè)面上;另一方面云顯控平臺(tái)將用戶在頁(yè)面上下達(dá)的控制命令通過(guò)Socket(套接字)連接傳遞給對(duì)應(yīng)的現(xiàn)場(chǎng)設(shè)備(如分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器),從而實(shí)現(xiàn)用戶在云端對(duì)工業(yè)現(xiàn)場(chǎng)的精確控制。
3 系統(tǒng)的實(shí)現(xiàn)
3.1 數(shù)據(jù)采集
采集現(xiàn)場(chǎng)儀表的測(cè)量數(shù)據(jù)是分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器的主要功能,而數(shù)據(jù)采集輪詢線程則是實(shí)現(xiàn)周期性數(shù)據(jù)采集的核心,包括采集周期控制線程與數(shù)據(jù)采集線程兩部分。周期性控制線程的功能是按照用戶設(shè)定的周期循環(huán)觸發(fā)數(shù)據(jù)采集線程,由Timer類(lèi)和同步事件DeviceUnit.AutoResetEvent組成。DATimer類(lèi)的具體描述見(jiàn)表1。
3.2 與云端通信接口
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器通過(guò)云端接口服務(wù)程序與客戶端(即云服務(wù)中心)進(jìn)行通信。云端接口服務(wù)程序?qū)崿F(xiàn)分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器對(duì)外統(tǒng)一的數(shù)據(jù)發(fā)布和交互,并包含接口管理功能,其工作流程如圖4所示。由圖4可知,云端接口服務(wù)程序具有連接確認(rèn)、實(shí)時(shí)數(shù)據(jù)發(fā)布、接收控制指令、其他記錄等四項(xiàng)功能,其具體實(shí)現(xiàn)流程如下:
(1) 連接確認(rèn):確認(rèn)客戶端(云服務(wù)中心)是否是授權(quán)客戶,確認(rèn)后建立連接。
(2) 實(shí)時(shí)數(shù)據(jù)發(fā)布:由客戶端提出實(shí)時(shí)數(shù)據(jù)請(qǐng)求列表,接口服務(wù)程序根據(jù)請(qǐng)求的參數(shù)與實(shí)時(shí)數(shù)據(jù)清單,對(duì)該客戶端周期性發(fā)布實(shí)時(shí)數(shù)據(jù)。
(3) 接收控制指令:接口服務(wù)程序接收客戶端發(fā)送的控制指令后,對(duì)遠(yuǎn)程設(shè)備進(jìn)行控制,并向該客戶端反饋控制結(jié)果。
(4) 其他:包括記錄接口配置和接口服務(wù)日志。
3.3 嵌入式遠(yuǎn)程終端服務(wù)器
3.3.1 界面的實(shí)現(xiàn)
使用HTML+CSS的網(wǎng)頁(yè)制作方法,開(kāi)發(fā)出一套制作符合嵌入式遠(yuǎn)程終端服務(wù)器功能應(yīng)用的Web頁(yè)面,主頁(yè)面如圖5所示。由主界面的導(dǎo)航欄功能菜單可知,通過(guò)Web交互,用戶能夠查看遠(yuǎn)程終端服務(wù)器采集的實(shí)時(shí)數(shù)據(jù)以及控制端口的輸出狀態(tài),能夠控制D/A以及I/O輸出端口的輸出,同時(shí)能夠?qū)こ塘亢瓦h(yuǎn)程終端服務(wù)器的通信端口的參數(shù)進(jìn)行配置,并能夠查看這些參數(shù)的配置信息。
3.3.2 CGI通信接口
在嵌入式遠(yuǎn)程終端服務(wù)器的B/S模式中,瀏覽器和Web服務(wù)器之間的通信通過(guò)CGI接口實(shí)現(xiàn)。
CGI接口的定義如下:
HTTPD_CGI_CALL(name, "TAG", function);
其中name是該接口的名稱;“TAG”是調(diào)用該接口的標(biāo)識(shí)符;function是調(diào)用該接口后進(jìn)入的接口函數(shù)。
3.3.3 實(shí)時(shí)數(shù)據(jù)采集
嵌入式遠(yuǎn)程終端服務(wù)器能夠?qū)崟r(shí)采集A/D采樣值和I/O輸入狀態(tài)。實(shí)時(shí)數(shù)據(jù)采集在系統(tǒng)的定時(shí)中斷中完成。為保證實(shí)時(shí)性,嵌入式遠(yuǎn)程終端服務(wù)器的定時(shí)中斷周期設(shè)置為10 ms。
3.3.4 數(shù)據(jù)實(shí)時(shí)顯示和刷新
(1) 實(shí)時(shí)顯示
采集到的A/D和I/O輸入的實(shí)時(shí)數(shù)據(jù)以及D/A輸出和I/O輸出狀態(tài)將在實(shí)時(shí)顯示頁(yè)面中顯示,供用戶監(jiān)測(cè),遠(yuǎn)程終端服務(wù)器采集到的實(shí)時(shí)數(shù)據(jù)通過(guò)在CGI接口函數(shù)中使用snprintf()函數(shù)將數(shù)據(jù)以HTML代碼的形式添加到HTML頁(yè)面文件中,然后將HTML文件傳輸給客戶端,在用戶瀏覽器中顯示出來(lái)。
(2) 實(shí)時(shí)刷新
為保證刷新頻率的實(shí)時(shí)性以及良好的頁(yè)面顯示效果,嵌入式遠(yuǎn)程終端服務(wù)器數(shù)據(jù)實(shí)時(shí)顯示頁(yè)面的刷新使用AJAX與CGI相結(jié)合的技術(shù)。數(shù)據(jù)實(shí)時(shí)顯示頁(yè)面通過(guò)在后臺(tái)運(yùn)行的Javascript腳本中使用AJAX方式,周期性地異步訪問(wèn)專(zhuān)門(mén)的數(shù)據(jù)頁(yè)面,并將該數(shù)據(jù)頁(yè)面的內(nèi)容顯示在實(shí)時(shí)顯示頁(yè)面中,從而達(dá)到實(shí)時(shí)刷新的效果。
4 云服務(wù)中心
云顯控平臺(tái)的實(shí)質(zhì)是一個(gè)云端Web服務(wù)器,用來(lái)向用戶顯示實(shí)時(shí)過(guò)程數(shù)據(jù),并將用戶的控制命令發(fā)送給現(xiàn)場(chǎng)相應(yīng)的分布式采集監(jiān)控設(shè)備,從而驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)執(zhí)行用戶命令。
云顯控平臺(tái)與用戶的交互通過(guò)多種多樣的Web顯示界面完成,包括數(shù)據(jù)表格、二維平面流程圖、3D動(dòng)態(tài)虛擬現(xiàn)實(shí)技術(shù)等,通過(guò)先進(jìn)的Web前端技術(shù)可以制作出逼真、漂亮的用戶界面和友好、自然的交互方式,并針對(duì)不同的用戶對(duì)象(如現(xiàn)場(chǎng)工人、現(xiàn)場(chǎng)工程師、中控室、企業(yè)管理者、能源供給商等)制作多種不同的界面,顯示各方面的實(shí)時(shí)信息,傳達(dá)不同方面的控制命令,使生產(chǎn)和管理更具針對(duì)性,提高生產(chǎn)和管理的效率和信息化水平。云顯控平臺(tái)示例頁(yè)面見(jiàn)圖6。
在流量監(jiān)控頁(yè)面中,用戶可以看到生產(chǎn)現(xiàn)場(chǎng)閥門(mén)的開(kāi)度信息,以及該閥門(mén)所在管道的溫度、壓力、瞬時(shí)流量和累積流量。同時(shí),用戶還能夠通過(guò)滑動(dòng)閥門(mén)右側(cè)的滾動(dòng)條調(diào)節(jié)閥門(mén)的開(kāi)度大小,從而達(dá)到調(diào)節(jié)流量的目的。
5 結(jié) 論
本文設(shè)計(jì)的分布式流量積算云服務(wù)系統(tǒng)由現(xiàn)場(chǎng)采集控制設(shè)備和云服務(wù)中心組成,通過(guò)XML格式的TCP通信實(shí)現(xiàn)流量數(shù)據(jù)和控制命令的傳遞。現(xiàn)場(chǎng)采集控制設(shè)備包括分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器和嵌入式遠(yuǎn)程終端服務(wù)器,用于采集現(xiàn)場(chǎng)設(shè)備的流量、溫度、壓力等信號(hào),并將數(shù)據(jù)發(fā)送到云服務(wù)中心。
本文設(shè)計(jì)的分布式流量積算云服務(wù)系統(tǒng)采用當(dāng)前IT領(lǐng)域最前沿的分布式云服務(wù)系統(tǒng)模型,將其運(yùn)用到流量積算的工業(yè)應(yīng)用中來(lái),實(shí)現(xiàn)了流量數(shù)據(jù)的分布式采集、云端集中積算、數(shù)據(jù)統(tǒng)一存儲(chǔ)和展示。分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器和嵌入式遠(yuǎn)程終端服務(wù)器提供了豐富的現(xiàn)場(chǎng)總線接口,能夠?qū)崿F(xiàn)對(duì)絕大多數(shù)現(xiàn)場(chǎng)儀器儀表的數(shù)據(jù)采集和控制?;贐/S架構(gòu)的云顯控平臺(tái)能夠針對(duì)不同的用戶定制不同的顯示頁(yè)面,包括數(shù)據(jù)表、二維流程圖和3D實(shí)景效果等,展示效果豐富,用戶針對(duì)性強(qiáng)。
參考文獻(xiàn)
[1] 陳燕俐,陳軍軍,杜英杰,等.可應(yīng)用于分布式系統(tǒng)的多授權(quán)中心基于屬性的簽名[J].計(jì)算機(jī)應(yīng)用研究,2014,31(2):536?539.
[2] 任崇廣.面向海量數(shù)據(jù)處理領(lǐng)域的云計(jì)算及其關(guān)鍵技術(shù)研究[D].南京:南京理工大學(xué),2013.
[3] 王錚.基于Hadoop的分布式系統(tǒng)研究與應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2014.
[4] 李興建,夏彥輝,陳松林,等.分布式穩(wěn)定控制仿真測(cè)試系統(tǒng)的研制及應(yīng)用[J].電力自動(dòng)化設(shè)備,2014,34(5):163?168.
[5] 蔣衛(wèi)寅,李斌,凌力.分布式系統(tǒng)數(shù)據(jù)一致性和并發(fā)性優(yōu)化研究[J].計(jì)算機(jī)工程,2012,38(4):260?262.
[6] 魏光輝,李杰斌,王程玉,等.一種分布式系統(tǒng)上的元數(shù)據(jù)管理系統(tǒng)[J].計(jì)算機(jī)研究與發(fā)展,2013,50(z1):416?420.
[7] 張亮,梁俊,王興亮,等.LXI關(guān)鍵技術(shù)與接入性能分析[J].計(jì)算機(jī)測(cè)量與控制,2012,20(1):167?169.
[8] 何盼,袁月,吳開(kāi)貴.分布式系統(tǒng)監(jiān)控資源多目標(biāo)優(yōu)化分配[J].計(jì)算機(jī)科學(xué),2014,41(5):64?67.