◎ 許娟 廖銘勝 郭婧 天津海事局
李棟 天津天元海科技開發(fā)有限公司
港域環(huán)境監(jiān)測系統(tǒng)是一個建于港口,用于監(jiān)測港域海洋環(huán)境素(如水溫、潮流、流向、水位、風力、風向等),并為船舶進出港、離靠泊提供安全保障的監(jiān)測服務網(wǎng)絡。其核心是及時將海洋環(huán)境要素觀測值予以傳輸和顯示。
為通航服務的海洋觀測浮標,最好是布設在航道,如果遠離航道,其數(shù)據(jù)有效性將會大大降低。但傳統(tǒng)的多功能浮標,忽略了浮標做為導助航設施的基本功能。為有效利用導航浮標,提高多功能浮標采集數(shù)據(jù)的可靠性。
天津港復式航道是國內(nèi)首條采用復式交通組織方式、世界最大集裝箱船舶可便捷進出港、雙進雙出“四車道”大幅提升通行效率,在復式航道保駕護航下,天津港已經(jīng)同世界上180多個國家和地區(qū)的500多個港口實現(xiàn)貿(mào)易往來,120條集裝箱航線和每月550余班航班直達世界各地。復式航道口門,距離河北省唐山市曹妃甸區(qū)南堡鎮(zhèn)10海里,距離大沽燈塔11海里,距離天津市濱海新區(qū)東突堤16海里,移動、電信、聯(lián)通三大運營商信號覆蓋比較弱,不能實現(xiàn)實時數(shù)據(jù)傳輸業(yè)務,利用北斗衛(wèi)星導航系統(tǒng)的短報文功能可以實現(xiàn)觀測數(shù)據(jù)的實時回傳。
圖1是2019年2月27日,攜帶電信設備進行拉距測試信號圖,實線是有信號區(qū)域,虛線是無信號區(qū)域。在大沽燈塔以內(nèi)信號很好,在東北和正東以及東南方向,離大沽燈塔12公里左右沒有信號。
圖2是2019年4月2日,攜帶電信設備進行拉距測試信號圖,實線是有信號區(qū)域,虛線是無信號區(qū)域。在大沽燈塔以內(nèi)信號很好,在正東以及東南方向,離大沽燈塔12公里左右信號非常弱,在1號燈浮標開始陸續(xù)有信號是河北省電信基站的信號,推測是唐山市豐南區(qū)黑沿子鎮(zhèn)或者唐山市曹妃甸區(qū)南堡鎮(zhèn)轄區(qū)內(nèi)的基站。
圖3是2019年4月2日,攜帶移動設備進行拉距測試信號圖,實線是有信號區(qū)域,虛線是無信號區(qū)域。在大沽燈塔以內(nèi)信號很好,但在大沽燈塔以東信號就非常弱,在錨地和錨地東部航道,有河北省移動基站的信號,推測是豐南區(qū)黑沿子鎮(zhèn)轄區(qū)內(nèi)的基站。
2019年5月9日-6月19日在3號浮標附近的2號浮標,進行了長時間電信和移動信號測試,在24號浮標進行了電信信號測試。
從圖4得知,2號浮標電信信號通訊成功率20%左右,移動信號通信成功率55%左右,但存在長時間無信號的情況,2019年6月11日-6月18日,移動和電信信號都出現(xiàn)長達數(shù)小時無信號情況。無論是電信還是移動信號都不穩(wěn)定。
圖1 2019年2月27日電信拉距測試圖
2019年6月2日-2019年6月6日,因大沽燈塔電信基站故障,導致2號浮標和24號浮標電信信號中斷。
中國北斗衛(wèi)星導航系統(tǒng)(英文名稱:BeiDou Navigation Satellite System,簡稱BDS)是中國自行研制的全球衛(wèi)星導航系統(tǒng),也是繼GPS、GLONASS之后的第三個成熟的衛(wèi)星導航系統(tǒng)。北斗衛(wèi)星導航系統(tǒng)(BDS)和美國GPS、俄羅斯GLONASS、歐盟GALILEO,是聯(lián)合國衛(wèi)星導航委員會已認定的供應商。
北斗衛(wèi)星導航系統(tǒng)由空間段、地面段和用戶段三部分組成,可在全球范圍內(nèi)全天候、全天時為各類用戶提供高精度、高可靠定位、導航、授時服務,并具備短報文通信能力,已經(jīng)初步具備區(qū)域導航、定位和授時能力,定位精度10米,測速精度0.2米/秒,授時精度10納秒。
2020年7月31日上午10時30分,北斗三號全球衛(wèi)星導航系統(tǒng)建成暨開通儀式在人民大會堂舉行,中共中央總書記、國家主席、中央軍委主席習近平宣布北斗三號全球衛(wèi)星導航系統(tǒng)正式開通。
北斗衛(wèi)星的短報文通信功能是北斗衛(wèi)星系統(tǒng)相比于其他衛(wèi)星定位系統(tǒng)非常獨特和實用的功能,在海事系統(tǒng)應用中,相對于其他的無線通信技術,具有獨特的價值和優(yōu)勢。如AIS系統(tǒng)、公用無線蜂窩通信系統(tǒng)(3G、4G、GPRS)、海事VHF電臺無線通信方式的覆蓋范圍只能達到沿海數(shù)十海里的范圍,無法在廣闊的中國海域提供通信服務;而海事衛(wèi)星或者其他衛(wèi)星通信服務的通信費用非常昂貴,北斗衛(wèi)星的短消息通信功能對于在廣闊的中國沿海海域范圍內(nèi),可以提供費用非常低的低帶寬通信功能,每個短消息可以發(fā)送約70個字節(jié)的信息量,這些信息量,對于海上船舶的指令傳遞、船舶、人員、貨物信息傳輸?shù)却罅筷P鍵的信息傳輸需求,具有很好的解決效果,同時,可針對位置報告、指揮控制、身份識別、情況通報、海上救援、北斗系統(tǒng)公告等典型北斗通信應用,設計精干高效、可靈活擴展的專用短信代碼協(xié)議,實現(xiàn)基于北斗系統(tǒng)的海事業(yè)務信息的高效傳輸和精確應用。
利用北斗傳輸?shù)暮Q笥^測航道浮標采用“北斗通信終端”替換原有的數(shù)據(jù)傳輸單元,把原來的公網(wǎng)傳輸和北斗傳輸改造升級為北斗傳輸。在天津海事局船舶交通管理中心機房增加一臺“北斗指揮機”,該指揮機外接北斗天線,收發(fā)多功能浮標的監(jiān)測數(shù)據(jù),該指揮機通過串口連接“北斗中轉服務器”,通過互聯(lián)網(wǎng)將多功能浮標監(jiān)測數(shù)據(jù)傳輸給“服務器接收程序”并與之交互,在經(jīng)過改造后的“數(shù)據(jù)接口接入服務”程序實現(xiàn)數(shù)據(jù)處理和保存。
當要發(fā)送的消息長度超出北斗單條短消息最大允許長度時,需要做好拆包、排序以及接收端的組包工作;做好數(shù)據(jù)丟包的續(xù)傳工作。
完整信息采用二進制信息方式,以字節(jié)方式傳送。
指定文件被拆開并分包,每包為76個字節(jié),尾包不足76字節(jié),使用0填充為76個字節(jié),分包規(guī)則為:
(1)首包:
包標識(1byte)+包數(shù)標識(1byte)+有用信息總長度(2byte)+信息內(nèi)容(71byte)
包標識:一個數(shù)字,標識此信息號碼,以后所有此信息子包均包含此包標識。軟件自動從16至255自動輪流使用。0表示此包內(nèi)容為命令類型。(命令類型包用于保證包通訊中的重發(fā)流程)。1表示位置信息包。2-15數(shù)字暫時備用。
包數(shù)標識:表示此包在信息包流的位置。首包為1,類推。最多255包。(表示最大發(fā)送約255*74個字節(jié)。)
有用信息總長度:表示有用信息的總字節(jié)數(shù),不含包標識、包數(shù)標識,有用信息總長度、校驗碼等附加信息長度。
(2)中間包:
包標識(1byte)+包數(shù)標識(1byte)+有用信息總長度(2byte)+信息內(nèi)容(74byte)
(3)尾包:
包標識(1byte)+包數(shù)標識(1byte)+有用信息總長度(2byte)+信息內(nèi)容(74byte)
圖2 2019年4月2日電信拉距測試
圖3 2019年4月2日移動拉距測試拉距測試
尾包中信息內(nèi)容不足74字節(jié),使用0填充為74字節(jié)。解包時候,在保證有用信息總長度正確的前提下,系統(tǒng)應自動判斷接收所有包數(shù),同時尾包內(nèi)填充字節(jié)自動忽略。
(4)命令包
包標識為0(1byte)+命令符(1byte)+參數(shù)(76byte)
包標識為0,標識命令型包。
有用信息長度:信息內(nèi)容中有用的字節(jié)數(shù)目。
命令包主要用于北斗通訊丟包時候的重發(fā)機制。
命令包內(nèi)容如下:
①ACK包
表示接收完整的命令包。
命令符:1(二進數(shù)),參數(shù):可以為無。
包內(nèi)容格式:
00 01
② END包
表示發(fā)送完畢,等待下一步的命令。
命令符:2(二進數(shù)),參數(shù):可以為無。
包內(nèi)容格式:
00 02
3)RESEND包
表示要求重發(fā)的命令包。
命令符:3(二進數(shù)),參數(shù):需要重發(fā)的包數(shù)標識,一個字節(jié)表示一個包。如果是0,表示全部重發(fā)。參數(shù)數(shù)目由消息長度決定。
圖4 2019年5月9日-6月19日長時間測試
圖5 信息接收流程圖
圖6 數(shù)據(jù)接收流程圖
圖7 信息發(fā)送流程圖
包內(nèi)容格式:示例
00 03 00 resend命令全部重發(fā)
00 03 01 02 03 表示重發(fā)1,2,3號包
00 03 04 06 表示重發(fā)4,6號包
00 03 24 30 表示重發(fā)24,30號包
如果一條resend命令無法表示所有重發(fā)的包數(shù)(超過76個包),用戶則需要利用協(xié)議分步發(fā)送resend包。即先要求一部分重發(fā),再要求另外一部分重發(fā)。
(1)加密。采用DES密機制。針對信息文件采用密鑰進行加密運算。后臺計算機采用同樣密鑰進行解密。
(2)壓縮。采用ZIP壓縮方式。利用JAVA壓縮代碼庫進行壓縮。北斗硬件包發(fā)送和接收規(guī)則
約定:一個完整信息稱為“一條記錄”。
一個記錄被分包發(fā)送后,每一個發(fā)送包稱為“一個數(shù)據(jù)包”
發(fā)送方為:T方
接收方為:R方
考慮到多點對一點的情況(船對岸)以及北斗1分鐘發(fā)送的限制,通訊無法采用雙向握手通訊機制。故采用如下對話機制。
①理想情況無丟包
T方掃描數(shù)據(jù)庫,發(fā)現(xiàn)新的“一條記錄”后,將此記錄讀出,拆包,隨后將每個“發(fā)送包”存入發(fā)送臨時表中。
T方向R方發(fā)送首包。
R方收到首包后,存入接收臨時表中。
T方等待1分鐘,隨后發(fā)送第二包。
R方收到包后,存入接收臨時表中。
圖8 數(shù)據(jù)發(fā)送流程圖
圖9 確認接收幀流程圖
圖10 確認超時流程圖
T方發(fā)送尾包后,等待R方回應。
R方收到尾包后,如果完整收到,發(fā)送命令包(ACK)至T方。表示完整收到。
T方接收到ACK包,則刪除臨時表,寫入正是表信息發(fā)送正確,表示一條信息發(fā)送順利完成。
② 存在丟包T方
T方發(fā)送時,任何時候都可能丟包,包括首、中、尾包。T方始終每分鐘發(fā)送,直至所有包發(fā)送結束。隨后進入等待狀態(tài)。等待時間為W(W一般可以設定為3)分鐘,如果依然沒有回應,則重復發(fā)送命令包(END),直至回應。如果發(fā)送N(一般為5)次后,依然沒有回應,則結束此記錄發(fā)送。
T方收到ACK命令包,則結束此記錄發(fā)送。
T方收到RESEND包,則依照RESEND內(nèi)容規(guī)定,連續(xù)發(fā)送數(shù)據(jù)包,直至所有resend包發(fā)送結束,進入等待狀態(tài)(重復上面等待過程)。等待時間為W(W一般可以設定為3)分鐘,如果依然沒有回應,則重復發(fā)送命令包(END),直至回應。如果發(fā)送N次后,依然沒有回應,則結束此記錄發(fā)送。
③存在丟包R方
圖11 浮標圖片
圖12 系統(tǒng)展示圖
R方收到任何一個信息包后,均可以根據(jù)包內(nèi)容,獲取信息總字節(jié)數(shù)目,計算出總信息包數(shù)目。進而判斷出自接收到此包后,至最后尾包發(fā)送結束,需要等待的分鐘數(shù)。如果收到命令包,則無需等待,直接回復。
R方待等待時間(等待所有包發(fā)送結束)過后,檢索接收臨時表,如果有遺漏數(shù)據(jù)包,則發(fā)送命令包(RESEND)至T方,同時計算出等待時間。
R方持續(xù)等待,待T 方將遺漏數(shù)據(jù)包發(fā)送。檢索接收臨時表,如果有遺漏數(shù)據(jù)包,則發(fā)送命令包(RESEND)至T方,同時計算出等待時間。
等待時間過后,R方如果接收完整,則給出ACK命令包。如果未完整,則給出RESEND命令包。
如果R方在等待期間收到任何END命令包,則按照等待時間結束處理。則根據(jù)信息完整性,給出RESEND或ACK命令包。如果此時R方臨時表為空(即沒有收到任何數(shù)據(jù)包),則R方給出的RESEND包中,參數(shù)為ALL,等待時間為2分鐘。
如圖11,12。
本文介紹了利用北斗傳輸?shù)暮Q笥^測航道浮標,該浮標在2020年1月17日拋設,經(jīng)歷了兩個冬季冰期考驗,連續(xù)1年運行正常。