劉爭(zhēng)戰(zhàn) ,丁旭,申麗麗,王磊
(1.天津市測(cè)繪院,天津 300381;2.精密工程與工業(yè)測(cè)量國(guó)家測(cè)繪地理信息局重點(diǎn)實(shí)驗(yàn)室,湖北武漢 430079)
纜機(jī)吊裝施工方法因具有安裝簡(jiǎn)易、機(jī)動(dòng)靈活、起重量大等特點(diǎn),且可以服務(wù)于整個(gè)工程建設(shè)周期而不用移動(dòng)、停工和撤出,已經(jīng)成為國(guó)內(nèi)外許多水電站建設(shè)過程中的重要施工模式[1]。大型壩體混凝土澆筑主要依靠纜機(jī)吊裝混凝土料罐施工模式來進(jìn)行數(shù)量眾多、體積龐大、運(yùn)動(dòng)實(shí)時(shí)性強(qiáng)的混凝土料罐一旦發(fā)生碰撞會(huì)造成設(shè)備嚴(yán)重?fù)p壞甚至人員傷亡[2]。因此對(duì)大型施工機(jī)械的安全監(jiān)測(cè)與災(zāi)害預(yù)警顯得十分重要。因此需要實(shí)現(xiàn)自動(dòng)判斷設(shè)備當(dāng)前運(yùn)行狀態(tài)的安全性,預(yù)測(cè)并顯示運(yùn)行中可能發(fā)生碰撞的障礙物,為司機(jī)提供安全的操作指導(dǎo),具有良好的經(jīng)濟(jì)效益和廣泛的應(yīng)用前景[6]。
大型施工機(jī)械的安全監(jiān)測(cè)與災(zāi)害預(yù)警系統(tǒng)的最重要的特點(diǎn)就是其時(shí)效性,因?yàn)槭┕C(jī)械經(jīng)常處于運(yùn)動(dòng)狀態(tài),因此需要一個(gè)能快速獲取數(shù)據(jù)并快速進(jìn)行數(shù)據(jù)交換的通信系統(tǒng);傳統(tǒng)手工式的質(zhì)量管理機(jī)制已很難適應(yīng)現(xiàn)代化機(jī)械施工質(zhì)量與進(jìn)度控制、效益提高的迫切要求,因此本文利用快速、高效、準(zhǔn)確的GPS測(cè)量技術(shù)和GPRS無線網(wǎng)絡(luò)通訊技術(shù),實(shí)時(shí)獲取施工設(shè)備的位置,數(shù)據(jù)實(shí)時(shí)回傳服務(wù)器,實(shí)現(xiàn)終端、服務(wù)器端并行處理的效果,保證防撞預(yù)警的時(shí)效性。
防撞預(yù)警系統(tǒng)可以分為三個(gè)模塊:第一模塊是數(shù)據(jù)采集模塊,本文采用中海達(dá)Q5 GPS接收機(jī),將接收機(jī)安裝在施工設(shè)備的運(yùn)動(dòng)吊臂上,目的是隨著設(shè)備的運(yùn)動(dòng)動(dòng)態(tài)采集數(shù)據(jù);第二模塊是數(shù)據(jù)分析模塊,該模塊是運(yùn)行在服務(wù)器端的程序集,用于實(shí)現(xiàn)施工現(xiàn)場(chǎng)的多臺(tái)GPS接收機(jī)的回傳數(shù)據(jù)的并行接收,剔除掉條件不好的數(shù)據(jù)和不滿足解算條件的數(shù)據(jù)然后進(jìn)行實(shí)時(shí)解算,最終給出預(yù)警的方案;第三模塊是通信模塊,通信部分是保證數(shù)據(jù)實(shí)時(shí)性的重要模塊,本文著重對(duì)該模塊進(jìn)行分析研究。
流動(dòng)站、參考站接收機(jī)的偽距和載波相位觀測(cè)值以及數(shù)據(jù)檢校標(biāo)志通過發(fā)送天線發(fā)送到數(shù)據(jù)處理中心,所有GPS接收機(jī)的同步觀測(cè)數(shù)據(jù)在數(shù)據(jù)處理中心一次性處理完成。如果由于網(wǎng)絡(luò)中斷或者是數(shù)據(jù)傳輸時(shí)間過長(zhǎng),則對(duì)歷元進(jìn)行篩選丟棄,直接解算下個(gè)歷元的數(shù)據(jù)從而保證數(shù)據(jù)的實(shí)時(shí)性。
網(wǎng)絡(luò)通信模塊用于連接數(shù)據(jù)采集模塊和數(shù)據(jù)分析模塊,網(wǎng)絡(luò)通信的質(zhì)量的好壞直接決定了預(yù)警的時(shí)效性,系統(tǒng)采用GPRS技術(shù)接入網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)通信系統(tǒng)又可以分為三個(gè)部分,首先是客戶端,實(shí)現(xiàn)串口通信和網(wǎng)絡(luò)傳輸請(qǐng)求,然后是傳輸鏈路,外用GPRS無線網(wǎng)絡(luò),講客戶端請(qǐng)求以TCP/IP協(xié)議要求傳送出去,最后就是服務(wù)器端,服務(wù)器端實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)聽,一旦監(jiān)聽到有數(shù)據(jù)請(qǐng)求,則與客戶端連接,實(shí)現(xiàn)數(shù)據(jù)交互。通信模塊原理圖如圖1所示。
圖1 數(shù)據(jù)交換系統(tǒng)架構(gòu)圖
GPS終端架設(shè)在施工設(shè)備運(yùn)動(dòng)的吊臂上,用于實(shí)時(shí)獲取設(shè)備的運(yùn)動(dòng)狀態(tài),GPS獲取的數(shù)據(jù)輸出有兩種格式:十進(jìn)制ASCII碼和二進(jìn)制碼。GPS的統(tǒng)一標(biāo)準(zhǔn)格式NMEA0183采用的十進(jìn)制ASCII,該標(biāo)準(zhǔn)格式將處理后的數(shù)據(jù)進(jìn)行編碼輸出,優(yōu)點(diǎn)是易于識(shí)別和應(yīng)用,但是不方便數(shù)據(jù)傳輸,且不能自由獲取原始數(shù)據(jù);因此本文獲取二進(jìn)制碼數(shù)據(jù),該輸出格式雖然不直觀,但是運(yùn)算方便,且易于在計(jì)算機(jī)之間交換[1]。
本文采用中海達(dá)Q5接收機(jī),該接收機(jī)采用新月-HC12A芯片,芯片輸出的二進(jìn)制消息的結(jié)構(gòu)如表1所示,本文主要獲取BIN1、BIN95和BIN96三個(gè)類型,要獲取這三個(gè)類型的二進(jìn)制數(shù)據(jù),需要實(shí)現(xiàn)Win CE下的串口通信,串口通信的步驟是:選擇串口名稱;串口設(shè)置;打開串口;輸入串口通信命令;關(guān)閉串口。新月-HC12A芯片串口通信命令:
上述命令行中$符號(hào)之后的表示表1中的Header,第二列95表示表1中的Data,用于規(guī)定獲取的數(shù)據(jù)類型,第三列1表示獲取數(shù)據(jù)的頻率,<CR>和<CF>分別為回車符和換行符。串口打開后,一旦接收到通信命令,就會(huì)以該命令的設(shè)置向外輸出二進(jìn)制數(shù)據(jù),程序?qū)⒔邮艿降臄?shù)據(jù)保存,存放數(shù)據(jù)緩沖區(qū),等待網(wǎng)絡(luò)傳輸至服務(wù)器端進(jìn)行解算分析。
二進(jìn)制消息結(jié)構(gòu) 表1
由于移動(dòng)終端、數(shù)據(jù)中心服務(wù)器兩者之間的距離較遠(yuǎn),而且移動(dòng)監(jiān)測(cè)點(diǎn)經(jīng)常處于運(yùn)動(dòng)狀態(tài)中,它與基準(zhǔn)站和系統(tǒng)服務(wù)器之間不可能通過有線通信鏈路來實(shí)現(xiàn)信息的交互。在連續(xù)高頻的GNSS數(shù)據(jù)采集條件下,為了保證實(shí)時(shí)性強(qiáng)、誤碼率低的數(shù)據(jù)傳輸,監(jiān)控平臺(tái)考慮了不同通信條件的特點(diǎn),采用了組合型無線通信鏈路,采用GPRS和無線電臺(tái)結(jié)合,以GPRS傳輸為主,電臺(tái)通訊為輔的工作模式,當(dāng)GPRS數(shù)據(jù)通訊的延遲量超過限值,則自動(dòng)啟用電臺(tái)發(fā)送數(shù)據(jù)。無線網(wǎng)絡(luò)通訊模塊主要需要解決兩大關(guān)鍵問題:實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和面向多終端負(fù)荷量保證。
無線網(wǎng)絡(luò)通訊是為了把流動(dòng)站GPS接收機(jī)(裝在重型施工吊車機(jī)械臂上)采集的載波相位和偽距觀測(cè)值,用無線網(wǎng)絡(luò)的方式實(shí)時(shí)發(fā)回給基站解算,因?yàn)樵O(shè)置的GPS接收機(jī)的采樣率是1s,所以數(shù)據(jù)量較大,對(duì)數(shù)據(jù)通訊的速度要求較高,需對(duì)傳輸延遲時(shí)間嚴(yán)格控制,以便實(shí)現(xiàn)高速實(shí)時(shí)數(shù)據(jù)讀入計(jì)算機(jī)內(nèi)存。流動(dòng)站接收機(jī)的偽距和載波相位觀測(cè)值以及數(shù)據(jù)檢校標(biāo)志通過發(fā)送天線發(fā)送到參考站數(shù)據(jù)處理中心,所有接收機(jī)的同步觀測(cè)數(shù)據(jù)在數(shù)據(jù)處理中心一次性處理完成,如果由于網(wǎng)絡(luò)中斷或者是數(shù)據(jù)傳輸時(shí)間過長(zhǎng),則對(duì)歷元進(jìn)行篩選丟棄,直接解算下個(gè)歷元的數(shù)據(jù),且當(dāng)延遲超過限值時(shí)則啟用電臺(tái)傳輸數(shù)據(jù),從而保證數(shù)據(jù)的實(shí)時(shí)性。
由于防撞系統(tǒng)是面向多終端的,一般工程項(xiàng)目都存在多個(gè)終端接入GPRS,同時(shí)向數(shù)據(jù)中心傳輸數(shù)據(jù),對(duì)于GPRS傳輸方式,只要終端請(qǐng)求通過,則允許用戶接入網(wǎng)絡(luò),因此系統(tǒng)能承載的負(fù)荷量就取決于數(shù)據(jù)處理中心服務(wù)器的性能,實(shí)際工程應(yīng)用中,中檔配置的服務(wù)器便能滿足系統(tǒng)的負(fù)荷承載。
本文在軟件實(shí)現(xiàn)中,數(shù)據(jù)通信傳輸用最為廣泛使用的Socket套接字編程來實(shí)現(xiàn),Socket用于描述IP地址和端口,是一個(gè)通信句柄,應(yīng)用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求[2]。Socket接口是TCP/IP網(wǎng)絡(luò)的API,Socket接口定義許多函數(shù)或例程,程序員可以用他們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序,以.Net平臺(tái)為例,Socket類位于 System.Net.Socket命名空間下。首先服務(wù)器開啟固定端口監(jiān)聽,在GPS終端連接成功時(shí),兩端都會(huì)產(chǎn)生一個(gè)Socket實(shí)例,操作這個(gè)實(shí)例,完成所需對(duì)話,圖2給出了面向連接的Socket工作流程。
圖2 Socket應(yīng)用流程圖
在工程實(shí)際中,往往是多臺(tái)設(shè)備同時(shí)施工,要保證報(bào)警系統(tǒng)通信的正確性與時(shí)效性,服務(wù)器端必須采用多個(gè)線程來對(duì)各個(gè)終端進(jìn)行實(shí)時(shí)監(jiān)控,負(fù)責(zé)數(shù)據(jù)的接收和分析。為了提高程序的運(yùn)行效率,在操作系統(tǒng)中提出了進(jìn)程和線程的概念,進(jìn)程是指一個(gè)可執(zhí)行程序一次運(yùn)行的過程,而線程是操作系統(tǒng)分配處理器(CPU)時(shí)間的基本單元,是系統(tǒng)中最小的執(zhí)行單元[3]。多線程就是指在一個(gè)進(jìn)程中執(zhí)行多個(gè)線程,多個(gè)線程的同時(shí)執(zhí)行,在一段時(shí)間內(nèi)并行完成更多的任務(wù),既加快了系統(tǒng)的反應(yīng)速度,又提高了執(zhí)行效率。多線程共存于應(yīng)用程序中是現(xiàn)代操作系統(tǒng)中的基本特征和重要標(biāo)志,在應(yīng)用程序的編寫中得到了廣泛的應(yīng)用。
在實(shí)現(xiàn)多測(cè)站觀測(cè)數(shù)據(jù)并行解碼的過程中,首先通過一個(gè)主線程讀取各個(gè)測(cè)站的原始觀測(cè)數(shù)據(jù)文件,然后根據(jù)測(cè)站的個(gè)數(shù)創(chuàng)建對(duì)應(yīng)數(shù)量的子線程,每一個(gè)子線程負(fù)責(zé)一個(gè)測(cè)站觀測(cè)數(shù)據(jù)的解碼過程,主線程負(fù)責(zé)以時(shí)間片為單位使處理器在多個(gè)子線程之間不斷切換,直到所有測(cè)站的解碼過程完成,最后結(jié)束主線程。由于處理器運(yùn)行速度很快,因此幾乎所有子線程都在同時(shí)運(yùn)行,這樣就實(shí)現(xiàn)了多個(gè)測(cè)站觀測(cè)數(shù)據(jù)的并行解碼,算法流程如圖3所示。
圖3 多測(cè)站數(shù)據(jù)實(shí)時(shí)解碼流程圖
在實(shí)際測(cè)試過程中,共設(shè)置3個(gè)觀測(cè)站,通過GPRS實(shí)時(shí)向服務(wù)器傳輸數(shù)據(jù),同時(shí)調(diào)用本程序進(jìn)行實(shí)時(shí)解碼,測(cè)試結(jié)果表明,按照本文所述算法編寫的程序能夠?qū)崟r(shí)、準(zhǔn)確地對(duì)各個(gè)測(cè)站實(shí)施并行解碼,并將解碼結(jié)果寫入RINEX標(biāo)準(zhǔn)文件,用于數(shù)據(jù)處理和分析。
本文采用C#實(shí)現(xiàn)通訊模塊,基于中海達(dá)Q5進(jìn)行二次開發(fā),終端開發(fā)界面如圖4所示,其中主要代碼有:
圖4 通訊模塊終端界面
(1)串口原始二進(jìn)制數(shù)據(jù)獲取
(2)數(shù)據(jù)網(wǎng)絡(luò)請(qǐng)求
(3)服務(wù)器端網(wǎng)絡(luò)監(jiān)聽及多線程解算
在實(shí)際測(cè)試過程中,本文使用3臺(tái)中海達(dá)GPS接收機(jī)進(jìn)行實(shí)驗(yàn),把外界條件設(shè)置成同一環(huán)境,考慮到大部分工程現(xiàn)場(chǎng)的大型施工設(shè)備運(yùn)行速度都不是很快,若采樣率過高系統(tǒng)數(shù)據(jù)量太大反而容易造成系統(tǒng)的延時(shí),分析表明 1 s采樣率足夠滿足系統(tǒng)需求。因此本文以 1 s采樣率為例,開始試驗(yàn),采集 10 min的觀測(cè)數(shù)據(jù),原始二進(jìn)制數(shù)據(jù)一份保存在流動(dòng)站本身,另一份則通過本文的通信模塊傳輸?shù)椒?wù)器終端。
對(duì)比流動(dòng)端和服務(wù)器端的原始觀測(cè)數(shù)據(jù)可以發(fā)現(xiàn),兩者無論是數(shù)據(jù)內(nèi)容還是數(shù)據(jù)量都是相同的,這就保證了網(wǎng)絡(luò)傳輸?shù)恼_性;最后,在程序中進(jìn)行程序本身的傳輸時(shí)延測(cè)試,也完全滿足防撞預(yù)警系統(tǒng)精度要求。因此可以總結(jié)得出,該數(shù)據(jù)交換傳輸模塊能夠準(zhǔn)確實(shí)時(shí)的傳輸流動(dòng)端的原始二進(jìn)制數(shù)據(jù)至服務(wù)器,且多線程服務(wù)器技術(shù)能夠滿足多流動(dòng)端需求,達(dá)到預(yù)警系統(tǒng)的數(shù)據(jù)解算需求,能夠很好地應(yīng)用于防撞預(yù)警系統(tǒng)中。
隨著國(guó)家大型基礎(chǔ)工程建設(shè)規(guī)模的提高和機(jī)械化施工的進(jìn)程,施工現(xiàn)場(chǎng)設(shè)施的防撞預(yù)警顯得越來越重要,本文介紹了防撞預(yù)警系統(tǒng)的原理,防撞預(yù)警最重要的就是數(shù)據(jù)分析的時(shí)效性,著重分析了其中的通信模塊,它是基于GPRS技術(shù)接入網(wǎng)絡(luò)實(shí)現(xiàn)多方外業(yè)監(jiān)測(cè)數(shù)據(jù)實(shí)時(shí)回傳數(shù)據(jù)中心的技術(shù)方法,闡述了通信模塊實(shí)現(xiàn)的三個(gè)關(guān)鍵技術(shù)。通過實(shí)驗(yàn)測(cè)試表明,該基于GPRS的多線程通信模塊無論是數(shù)據(jù)的正確性和時(shí)效性都得到很好的保證,能夠滿足實(shí)際應(yīng)用的需求,有著廣闊的應(yīng)用范圍。
[1]巨亞東,郭萬里.多臺(tái)纜機(jī)聯(lián)合澆筑工藝在小灣水電站大壩混凝土澆筑中的應(yīng)用[J].西北水電,2010(4):59~63.
[2]Zhang Zhiqiang,Wu Qingming,Xia Dayong.A collision early warning system for construct ion equipments of dam[J].Engineering Journal of Wuhan University.2007,40(1):134 ~137.
[3]何進(jìn),謝松巍.基于Socket的TCP/IP網(wǎng)絡(luò)通訊模式研究[J].計(jì)算機(jī)應(yīng)用研究,2001,18(8).
[4] 周禮.C#和.NET3.0第一步[M].北京:清華大學(xué)出版社,2008:327~334.
[5]Wu,H.,Tao,J.,Li,X.,Chi,X.,Li,H.,Hua,X.,Yang,R.,Wang,S.,Chen,N.A location based service approach for collision warning systems in concrete dam construction[J].Safety Science,2013,51(1):338 ~346.
[6]吳浩,陶婧,林丹等.支持大型水電站纜機(jī)吊裝施工的安全監(jiān)控平臺(tái)研究[J].武漢理工大學(xué)學(xué)報(bào),2012,34(10):127~131.
[7]孟祥廣,郭際明.GPS接收機(jī)(OEM)二進(jìn)制文件向RINEX 文件的轉(zhuǎn)換[J].測(cè)繪工程,2009,18(5):18~21.
[8]吳浩,袁凌云,李新平等.面向大壩混凝土澆筑的纜機(jī)安全防撞系統(tǒng)設(shè)計(jì)及應(yīng)用[J].安全與環(huán)境學(xué)報(bào),2012,12(4):177~180.
[9] 任保剛,陳波,王仁禮.用多線程實(shí)現(xiàn)GPS接收機(jī)與PDA在Windows CE下的串口通信[J].測(cè)繪與空間地理信息,2005,28(4):57 ~60.