陳剛 李剛 王志杰
摘? 要: 為了實(shí)現(xiàn)對(duì)分布在各地的盾構(gòu)集中監(jiān)控,采用JavaScript結(jié)合Html5方式,自主開(kāi)發(fā)出盾構(gòu)遠(yuǎn)程監(jiān)控組態(tài)。該系統(tǒng)通過(guò)OPC協(xié)議循環(huán)讀取PLC地址,采集盾構(gòu)機(jī)施工參數(shù),并發(fā)送給云端;云端服務(wù)器接收各個(gè)工地端發(fā)送過(guò)來(lái)的數(shù)據(jù),插入進(jìn)RabbitMQ消息隊(duì)列,存儲(chǔ)到mongoDB實(shí)時(shí)數(shù)據(jù)庫(kù)內(nèi);組態(tài)通過(guò)MD5加密訪(fǎng)問(wèn)云數(shù)據(jù)庫(kù),將數(shù)據(jù)可視化展示在屏幕上。該組態(tài)不受制于商業(yè)組態(tài)軟件公司,降低了開(kāi)發(fā)價(jià)格,避免了敏感信息泄露,支持各種操作系統(tǒng)和手機(jī)移動(dòng)端使用,可定制各種功能界面。經(jīng)過(guò)百余臺(tái)盾構(gòu)的實(shí)際應(yīng)用證明,本軟件運(yùn)行穩(wěn)定,實(shí)現(xiàn)了組態(tài)軟件的功能,可遠(yuǎn)程實(shí)時(shí)監(jiān)控盾構(gòu)機(jī)各種設(shè)備狀態(tài),有效地監(jiān)控了盾構(gòu)工程施工過(guò)程的全部參數(shù)。
關(guān)鍵詞: 盾構(gòu)施工; 遠(yuǎn)程監(jiān)控; 組態(tài)軟件; 云數(shù)據(jù)庫(kù)
中圖分類(lèi)號(hào):TP399? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2018)12-32-05
Abstract: In order to achieve centralized monitoring shields all over the country, the shield remote monitoring configuration is self-developed by the combination mode of JavaScript and Html5. The system reads PLC through OPC protocol to get data of shield, and sends it to cloud database. The cloud server receives data sent by each site, inserts it into RabbitMQ, and stores it in mongoDB real-time database. Configuration access to the cloud database via MD5 encryption, and visualize data on the screen. This configuration is not restricted by commercial configuration software companies, which reduces the development price and avoids the leakage of sensitive information, supports various operating systems and mobile phone, can customize various function interfaces. After the actual application of more than one hundred shields, it is proved that the software runs stably and effectively monitors all parameters of the shield construction.
Key words: shield construction; remote monitoring; configuration software; cloud database
0 引言
隨著國(guó)內(nèi)城市地下空間開(kāi)發(fā)的快速發(fā)展,盾構(gòu)得到了廣泛的應(yīng)用,和眾多大型工程機(jī)械一樣,盾構(gòu)運(yùn)行中存在大量過(guò)程控制、運(yùn)動(dòng)控制等系統(tǒng),對(duì)這些系統(tǒng)集中、有效地監(jiān)測(cè)控制顯得極其必要[1]。現(xiàn)有盾構(gòu)組態(tài)是通過(guò)計(jì)算機(jī)運(yùn)行Windows系統(tǒng),使用商業(yè)組態(tài)軟件開(kāi)發(fā)監(jiān)控界面,本地儲(chǔ)存并以窗體形式在就地端展示數(shù)據(jù)[2],這意味著必須在計(jì)算機(jī)附近部署顯示器,操作人員只能通過(guò)該顯示器與數(shù)據(jù)采集系統(tǒng)交互。目前使用比較普遍的商業(yè)組態(tài)軟件有WinCC[3-4]、Movicon[5]、組態(tài)王[6]等,需向軟件廠(chǎng)商支付版權(quán)費(fèi)用,數(shù)據(jù)采集終端成本較高[7],不利于在所轄工程中大范圍推廣應(yīng)用。上述軟件為國(guó)外企業(yè)開(kāi)發(fā),采集的數(shù)據(jù)包含全國(guó)各地土層地質(zhì)資料,信息較為敏感,使用閉源軟件可能造成敏感信息泄露。針對(duì)上述問(wèn)題,上海隧道工程有限公司管控中心開(kāi)發(fā)了盾構(gòu)施工監(jiān)控系統(tǒng)遠(yuǎn)程組態(tài),該軟件使用JavaSript和Html5來(lái)開(kāi)發(fā),不受制于商業(yè)組態(tài)軟件公司,支持各種操作系統(tǒng)和手機(jī)移動(dòng)端使用,可定制各種功能界面。
1 總體架構(gòu)
盾構(gòu)遠(yuǎn)程監(jiān)控組態(tài)軟件的主要功能是監(jiān)測(cè)盾構(gòu)參數(shù)變化、狀態(tài)報(bào)警、實(shí)時(shí)曲線(xiàn)等,采用顯示界面與云端數(shù)據(jù)庫(kù)的通訊方式,組態(tài)軟件顯示對(duì)象全面直接來(lái)自于盾構(gòu)機(jī)各個(gè)設(shè)備PLC。各個(gè)工地端采集到的數(shù)據(jù),發(fā)送到云端服務(wù)器里mongoDB數(shù)據(jù)庫(kù),再按照工程名稱(chēng)進(jìn)入到各個(gè)mySQL數(shù)據(jù)表內(nèi)。界面與數(shù)據(jù)庫(kù)之間通信使用JavaScript開(kāi)發(fā)的公用接口,數(shù)據(jù)訪(fǎng)問(wèn)采用銘文密鑰保證安全性,主程序讀取數(shù)據(jù)繪制出各種界面。盾構(gòu)遠(yuǎn)程組態(tài)軟件總體框架如圖1所示。
⑴ 現(xiàn)場(chǎng)數(shù)據(jù)采集:主要負(fù)責(zé)循環(huán)讀取PLC,通過(guò)OPC協(xié)議獲取盾構(gòu)機(jī)各個(gè)設(shè)備的實(shí)時(shí)信息,將現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)采集、轉(zhuǎn)換、存儲(chǔ)到本地,同時(shí)發(fā)送到云服務(wù)器上。
⑵ 云端數(shù)據(jù)庫(kù):主要負(fù)責(zé)接收各個(gè)工地端發(fā)送過(guò)來(lái)的數(shù)據(jù),并存儲(chǔ)到mongoDB實(shí)時(shí)數(shù)據(jù)庫(kù)內(nèi),同時(shí)數(shù)據(jù)會(huì)插入到RabbitMQ消息隊(duì)列,然后進(jìn)入到MySQL數(shù)據(jù)庫(kù)的各個(gè)對(duì)應(yīng)表中。
⑶ 組態(tài)顯示界面:主要負(fù)責(zé)將數(shù)據(jù)可視化展示在屏幕上,呈現(xiàn)盾構(gòu)的當(dāng)前信息、狀態(tài)報(bào)警、實(shí)時(shí)曲線(xiàn)等,實(shí)現(xiàn)刀盤(pán)、推進(jìn)、螺旋機(jī)、姿態(tài)、泥水管路等多種顯示效果,組態(tài)界面也可以在移動(dòng)設(shè)備上(手機(jī)、平板等)顯示。
2 開(kāi)發(fā)工具選擇
盾構(gòu)實(shí)時(shí)信息組態(tài)屬于數(shù)據(jù)采集與控制領(lǐng)域,業(yè)內(nèi)普遍采用專(zhuān)業(yè)組態(tài)軟件的方式開(kāi)發(fā),例如組態(tài)王、movicon等,但組態(tài)軟件不利于系統(tǒng)功能擴(kuò)展和移動(dòng)端開(kāi)發(fā)[7-8],且開(kāi)發(fā)周期長(zhǎng)、需要購(gòu)買(mǎi)價(jià)格不菲的加密狗授權(quán)等處處受制于人[9-10]。
上海隧道工程有限公司能自行生產(chǎn)盾構(gòu)機(jī),自主開(kāi)發(fā)盾構(gòu)組態(tài)軟件十分必要。目前軟件業(yè)界存在主流開(kāi)發(fā)語(yǔ)言為C++、java等。Java集中了所有關(guān)于軟件開(kāi)發(fā)和軟件工程研究的最新成果,面向?qū)ο蟆㈩?lèi)型安全、組件技術(shù)、自動(dòng)內(nèi)存管理、跨平臺(tái)異常處理、版本控制及代碼安全管理。設(shè)計(jì)html5的目的是為了在移動(dòng)設(shè)備上支持多媒體。新的語(yǔ)法特征被引進(jìn)以支持這一點(diǎn),如video、audio和canvas 標(biāo)記。html5還引進(jìn)了新的功能,可以真正改變用戶(hù)與文檔的交互方式,且支持手機(jī)端開(kāi)發(fā)。綜合以上考慮,本組態(tài)軟件使用JavaScript結(jié)合html5來(lái)開(kāi)發(fā)。
3 數(shù)據(jù)采集與云數(shù)據(jù)庫(kù)
各個(gè)工地現(xiàn)場(chǎng)數(shù)據(jù)采集客戶(hù)端與云端數(shù)據(jù)庫(kù)構(gòu)成星型架構(gòu),本地端主要負(fù)責(zé)OPC通訊,讀取預(yù)設(shè)PLC地址并做數(shù)據(jù)處理,將結(jié)果存儲(chǔ)到本地,伺機(jī)將處理好的數(shù)據(jù)發(fā)送到云服務(wù)器。云端數(shù)據(jù)庫(kù)依次響應(yīng)各客戶(hù)端的離散請(qǐng)求,依據(jù)項(xiàng)目編號(hào)將數(shù)據(jù)存儲(chǔ)至相應(yīng)數(shù)據(jù)庫(kù)表中,按照設(shè)定的掃描周期,定時(shí)批量讀取PLC寄存器。數(shù)據(jù)按照數(shù)據(jù)類(lèi)型依次處理后,寫(xiě)入指定的本地文件夾內(nèi)。為了保證網(wǎng)絡(luò)中斷后數(shù)據(jù)可以續(xù)傳、傳送數(shù)據(jù)可穩(wěn)定追溯行,數(shù)據(jù)以CSV文件形式保存在工地端電腦,按照年(YYYY)/月(MM)/日(DD)/時(shí)(HH24)形式存放。
數(shù)據(jù)傳輸服務(wù)負(fù)責(zé)將工地端PLC數(shù)據(jù),通過(guò)調(diào)用WEB API接口形式同步到云服務(wù)器端。數(shù)據(jù)采集服務(wù)開(kāi)機(jī)自動(dòng)啟動(dòng),復(fù)制掃描這些文件,如果有需要上傳文件則按照文件生產(chǎn)時(shí)間先后傳送??紤]到工地端電腦文件存放硬盤(pán)空間不大,設(shè)計(jì)了自動(dòng)刪除歷史數(shù)據(jù)功能,可自行配置數(shù)據(jù)保留在工地端電腦時(shí)間,超過(guò)時(shí)間的數(shù)據(jù)將會(huì)自動(dòng)刪除。
工地端電腦中數(shù)據(jù)上傳服務(wù)將數(shù)據(jù)上傳后,數(shù)據(jù)上傳接口會(huì)將最新數(shù)據(jù)保存到Mongo DB數(shù)據(jù)庫(kù)和MQ消息隊(duì)列,消息隊(duì)列中排隊(duì)后才做入庫(kù)操作。云數(shù)據(jù)庫(kù)配置如圖2所示。通過(guò)Mongo DB數(shù)據(jù)庫(kù)存放最新4小時(shí)內(nèi)實(shí)時(shí)數(shù)據(jù),開(kāi)發(fā)接口給相關(guān)程序,這樣做解決了用戶(hù)并發(fā)訪(fǎng)問(wèn)以及數(shù)據(jù)實(shí)時(shí)傳送的問(wèn)題。
4 監(jiān)控界面
盾構(gòu)是定制性產(chǎn)品,每臺(tái)盾構(gòu)的界面都不同,為便于管理盾構(gòu)施工遠(yuǎn)程組態(tài)軟件采用界面和數(shù)據(jù)庫(kù)分離,界面內(nèi)部由各個(gè)分系統(tǒng)模塊構(gòu)成,這樣就不使用任何開(kāi)發(fā)工具自帶的控件,保證界面網(wǎng)頁(yè)發(fā)布并能夠在不用類(lèi)型瀏覽器上跨平臺(tái)使用。操作人員通過(guò)組態(tài)界面,可以及時(shí)了解盾構(gòu)機(jī)上各個(gè)設(shè)備當(dāng)前工作狀態(tài)、出現(xiàn)的故障及其產(chǎn)生原因,根據(jù)需要對(duì)比當(dāng)前情況,進(jìn)行適當(dāng)?shù)恼{(diào)整, 以保證掘進(jìn)工作順利進(jìn)行。
4.1 盾構(gòu)組態(tài)界面
地鐵盾構(gòu)組態(tài)界面分為刀盤(pán)、推進(jìn)、螺旋機(jī)、加泥加水、同步注漿、鉸接、狀態(tài)報(bào)警、實(shí)時(shí)曲線(xiàn)、盾構(gòu)姿態(tài)等基礎(chǔ)模塊,各個(gè)模塊之間相互獨(dú)立,模塊中的具體內(nèi)容根據(jù)數(shù)據(jù)采集PLC表單決定,如圖3所示。
⑴ 刀盤(pán)和推進(jìn):刀盤(pán)區(qū)域主要是顯示刀盤(pán)扭矩?cái)?shù)值、刀盤(pán)轉(zhuǎn)動(dòng)的速度、刀盤(pán)的角度等信息。推進(jìn)區(qū)域主要顯示盾構(gòu)機(jī)狀態(tài)、千斤頂狀態(tài)兩種模式顯示,在該板塊還顯示上下左右千斤頂?shù)男谐讨?、油壓值、速度值等情況、刀盤(pán)的土壓情況以及當(dāng)前盾構(gòu)機(jī)推進(jìn)速度等信息。
⑵ 加泥加水和螺旋機(jī):螺旋機(jī)區(qū)域主要顯示螺旋機(jī)的轉(zhuǎn)速值、泄口油壓值和油壓值、前土壓值、后土壓值以及螺旋機(jī)當(dāng)前旋轉(zhuǎn)狀態(tài)等信息,加泥加水主要是#1、#2、#3、#4號(hào)口的壓力和流量。
⑶ 鉸接:鉸接主要顯示#1、#2、#3、#4號(hào)的鉸接行程,以及上下、左右的角度等信息。
⑷ 報(bào)警:報(bào)警區(qū)域主要是顯示異常數(shù)據(jù)變量等信息。
⑸ 姿態(tài):盾構(gòu)機(jī)姿態(tài)采取分級(jí)顯示,共分三級(jí):正常范圍(-50mm~50mm之間)為藍(lán)色方框,警示范圍(-75mm~75mm之間)為黃色方框,報(bào)警范圍(-100mm~100mm之間)為紅色方框。
⑹ 下拉曲線(xiàn):實(shí)時(shí)曲線(xiàn)主要顯示推進(jìn)和刀盤(pán)的各個(gè)量的實(shí)時(shí)變化曲線(xiàn),左右兩邊參數(shù)一樣可以同顯示同一變量和不同變量的曲線(xiàn)圖。
大直徑泥水平衡盾構(gòu),其組態(tài)界面除了基礎(chǔ)模塊以外,還有工作人員關(guān)心的刀盤(pán)電機(jī)、盾尾油脂、泥水管路等模塊。由于頂管與盾構(gòu)在設(shè)計(jì)、制造和維護(hù)上有很大區(qū)別,針對(duì)矩形頂管開(kāi)發(fā)了主控參數(shù)、管節(jié)泥漿、土體改良系統(tǒng)等模塊,如圖4所示。
4.2 報(bào)警信息
報(bào)警對(duì)于任何組態(tài)軟件都至關(guān)重要。有效的報(bào)警信息可以幫助工程施工人員及時(shí)地發(fā)現(xiàn)系統(tǒng)故障,對(duì)于預(yù)防危險(xiǎn)、安全生產(chǎn)意義重大。通過(guò)PLC采集到工地端的數(shù)據(jù)分為模擬量和開(kāi)關(guān)量?jī)煞N,部分開(kāi)關(guān)量本身就是報(bào)警數(shù)據(jù)。施工數(shù)據(jù)報(bào)警分為兩類(lèi):通過(guò)直接讀取PLC地址中開(kāi)關(guān)量報(bào)警;對(duì)模擬量數(shù)據(jù)人工設(shè)定閾值報(bào)警。這些開(kāi)關(guān)量一旦出現(xiàn)報(bào)警情況,就在組態(tài)頁(yè)面的報(bào)警欄中顯示出來(lái)。對(duì)于模擬量報(bào)警,請(qǐng)有經(jīng)驗(yàn)的專(zhuān)業(yè)人士設(shè)定這些量的閾值(最大值和最小值),超過(guò)閾值的部分實(shí)時(shí)數(shù)據(jù)頁(yè)面顯示為紅色,處于范圍內(nèi)的顯示為藍(lán)色。同時(shí)對(duì)于該變量的實(shí)時(shí)曲線(xiàn),也采用類(lèi)似的方法,超過(guò)范圍則顯示為紅色,范圍內(nèi)顯示為綠色,如圖5所示。
4.3 智能移動(dòng)組態(tài)
智能移動(dòng)組態(tài)界面是為了方便用戶(hù)使用手機(jī)、平板等,查看各個(gè)項(xiàng)目盾構(gòu)機(jī)設(shè)備情況。移動(dòng)段組態(tài)界面除了顯示盾構(gòu)各種設(shè)備實(shí)時(shí)狀態(tài)以外,還能讓用戶(hù)查看該盾構(gòu)機(jī)的產(chǎn)品信息,如圖6所示。
5 結(jié)束語(yǔ)
盾構(gòu)施工監(jiān)控遠(yuǎn)程組態(tài)軟件實(shí)現(xiàn)了組態(tài)軟件的功能,可遠(yuǎn)程實(shí)時(shí)監(jiān)控盾構(gòu)機(jī)各種設(shè)備狀態(tài)。截至目前,該軟件應(yīng)用到47個(gè)項(xiàng)目、127臺(tái)次盾構(gòu)機(jī)上,包括上海隧道工程有限公司及申通地鐵的所有項(xiàng)目,涵蓋了各種類(lèi)型盾構(gòu):能源隧道盾構(gòu)、土壓平衡盾構(gòu)、泥水平衡盾構(gòu)、異型盾構(gòu)、矩形頂管等。系統(tǒng)運(yùn)行正常、有效地監(jiān)控了盾構(gòu)工程施工建設(shè)的全部參數(shù)。本系統(tǒng)使用JavaScript和Html5開(kāi)發(fā),降低了開(kāi)發(fā)價(jià)格、避免了敏感信息泄露,可在各種操作系統(tǒng)上運(yùn)行。軟件設(shè)計(jì)注重實(shí)用性,界面美觀(guān)稍顯不足,需要進(jìn)一步美化。
參考文獻(xiàn)(References):
[1] 譚順輝,孟祥波,徐受天,蒲曉波.盾構(gòu)監(jiān)控系統(tǒng)人機(jī)界 面組態(tài)開(kāi)發(fā)[J].隧道建設(shè),2014.34(4):380-386
[2] 沈立新.盾構(gòu)實(shí)時(shí)遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)[J].鐵道建筑技術(shù),2010.8:34-38
[3] 高勇.基于WinCC盾構(gòu)刀盤(pán)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程應(yīng)用技術(shù),2011.18:4462-4464
[4] 戰(zhàn)桂禮,王慧鋒,羅曉明.Movicon X組態(tài)在氣瓶閥型式試驗(yàn)測(cè)試系統(tǒng)的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2010.8:3-5
[5] 李瑞先.組態(tài)王軟件在監(jiān)控系統(tǒng)中的應(yīng)用[J].電氣傳動(dòng)自動(dòng)化,2006.28(5):49-51.
[6] 胡國(guó)良.組態(tài)技術(shù)及其在模擬盾構(gòu)監(jiān)控系統(tǒng)中的應(yīng)用[J].機(jī)床與液壓,2008.1:140-142
[7] 張東星.盾構(gòu)設(shè)備信息化管理系統(tǒng)的研制[J].測(cè)控技術(shù),2007.26(2):84-86
[8] 徐受天,蒲曉波.基于OPC的盾構(gòu)地面數(shù)據(jù)采集和監(jiān)視系統(tǒng)設(shè)計(jì)[J].隧道建設(shè),2009.29(6):674-677
[9] 楊揚(yáng),龔國(guó)芳,胡國(guó)良,楊華勇.基于組態(tài)軟件的盾構(gòu)推進(jìn)液壓控制系統(tǒng)[J].機(jī)床與液壓,2006.7:126-128
[10] 龍偉,祝琴,鐘祥微.淺談組態(tài)軟件在過(guò)程控制中的應(yīng)用[J].中國(guó)儀器儀表,2004.8:1-3