黃 煥(廣東海洋大學(xué)航海學(xué)院,廣東 湛江 524000)
?
NAVTEX接收機(jī)及岸臺工作仿真設(shè)計與實現(xiàn)
黃煥
(廣東海洋大學(xué)航海學(xué)院,廣東湛江524000)
摘要:為了使學(xué)員熟悉NAVTEX接收機(jī)的操作過程,全面理解NAVTEX系統(tǒng)的工作流程,提高實操訓(xùn)練效果,在C#環(huán)境下設(shè)計并實現(xiàn)了NAVTEX接收機(jī)和岸臺工作仿真軟件。NAVTEX接收機(jī)仿真軟件仿真度高,能實現(xiàn)電文接收、設(shè)置岸臺和電文拒收、電文打印、電文顯示與管理等主要功能,基于UDP廣播模式的岸臺工作仿真軟件能夠模擬不同岸臺的工作情況向局域網(wǎng)中廣播電文。實驗表明,岸臺工作仿真軟件能以較為合理的方式廣播電文,兩種仿真軟件配合運行,有效地提高了實訓(xùn)效果。
關(guān)鍵詞:NAVTEX接收機(jī);岸臺工作;仿真軟件;局域網(wǎng);UDP廣播
GMDSS(Global Maritime Distress and Safety System—全球海上遇險與安全系統(tǒng))模擬器是基于局域網(wǎng)的一種仿真模擬軟件,它模擬各種GMDSS船用通信設(shè)備實現(xiàn)船與船、船與岸之間的仿真通信,為學(xué)員認(rèn)識GMDSS設(shè)備界面、熟悉GMDSS設(shè)備操作過程以及使用GMDSS設(shè)備進(jìn)行水上通信提供了極大的幫助。NAVTEX(Navigational Telex—航行警告電傳)接收機(jī)可以接收NAVTEX岸臺廣播的海上安全信息,是各海區(qū)航行船舶必須配備的設(shè)備,因此,作為NAVTEX接收機(jī)仿真軟件的NAVTEX模擬器,是GMDSS模擬器必不可少的一個仿真模塊。以日本FURUNO公司生產(chǎn)的NX-700型NAVTEX接收機(jī)為原型,在C#環(huán)境下開發(fā)了對應(yīng)的NAVTEX模擬器,同時,為配合該NAVTEX模擬器的工作,使學(xué)員能感受到模擬器接收電文的情形,閱讀到與實際情況基本相符的電文,提高仿真及實訓(xùn)的效果,開發(fā)了基于UDP(User Datagram Protocol—用戶數(shù)據(jù)報協(xié)議)的NAVTEX岸臺工作仿真軟件,該軟件能以較為合理的方式向局域網(wǎng)中的NAVTEX模擬器廣播NAVTEX電文。通過兩種仿真軟件的協(xié)同運作,不僅能使學(xué)員熟練掌握NAVTEX模擬器的操作過程,而且加深了學(xué)員對整個NAVTEX系統(tǒng)的理解,可充分滿足NAVTEX設(shè)備操作培訓(xùn)教學(xué)的需要。
1.1NAVTEX岸臺工作過程
世界航行警告業(yè)務(wù)把世界可航行的海域劃分為21個航行警告區(qū)(包括新增的、在建的5個區(qū)),每個航行警告區(qū)內(nèi)最多可以設(shè)置24個播發(fā)臺,以英文字母A~X標(biāo)識[1]。為避免同頻干擾,這些播發(fā)臺采用分時播發(fā)方式廣播電文。一般按一個航行警告區(qū)內(nèi)共有24個播發(fā)臺來制定播發(fā)計劃,這24個臺分成4組,每組有6個播發(fā)臺,在1 h內(nèi),每臺播發(fā)的時間是分開的,只能播發(fā)10 min,這6個播發(fā)臺在1個小時內(nèi)的工作的時序如圖1所示。
圖1 NAVTEX岸臺工作時序Fig.1 Working schedule of NAVTEX Coast Station
第1組播發(fā)臺按照圖1的模式工作完1 h后,再到第2組按照相同的模式工作1 h,以此類推,等第4組完成它的工作后,又輪到第1組工作。這樣,就保證了在每一個時間段只有1個臺在播發(fā),有效的避免了同頻干擾。
1.2NAVTEX電文格式
NAVTEX岸臺發(fā)送的電文格式如圖2所示。
圖2 NAVTEX電文格式Fig.2 Message format of NAVTEX
其中,定相信號起同步作用,在接收端并不打印顯示;ZCZC是電文起始字組;B1B2B3B4是電文的技術(shù)編碼,B1為播發(fā)臺識別,B2為電文類型識別,B3B4為電文編號,例如,在第11航行警告區(qū),技術(shù)編碼QA12代表該電文是上海NAVTEX岸臺播發(fā)的第12號航行警告;NNNN是表示電文結(jié)束的字組。技術(shù)編碼是電文的關(guān)鍵識別,接收機(jī)可根據(jù)岸臺和電文的拒絕接收設(shè)置情況,檢查技術(shù)編碼中的B1和B2,以確定是否接收對應(yīng)的電文。
GMDSS模擬器運行在如圖3所示的局域網(wǎng)之上,學(xué)生機(jī)安裝GMDSS模擬器的學(xué)生程序,教師機(jī)安裝教師程序。學(xué)生機(jī)之間的通信是模擬船與船之間的通信,教師機(jī)具有管理協(xié)調(diào)功能,有時可模擬岸臺與學(xué)生機(jī)進(jìn)行船岸通信。
圖3 GMDSS模擬器運行的局域網(wǎng)Fig.3 LAN for GMDSS simulator
NAVTEX岸臺采用廣播方式發(fā)射電文,電文廣播完畢,岸臺并不關(guān)心接收機(jī)是否接收了電文。UDP是網(wǎng)絡(luò)通信中的一種無連接傳輸協(xié)議,在局域網(wǎng)中基于UDP進(jìn)行信息廣播類似于NAVTEX岸臺的廣播模式,因此,把岸臺工作仿真軟件安裝在圖3的教師機(jī)上,基于UDP向局域網(wǎng)中的NAVTEX模擬器廣播電文,就可以較真實的模擬NAVTEX系統(tǒng)的實際工作情況。
筆者模仿真實設(shè)備的外觀和各個按鈕的布局,采用圖形處理軟件進(jìn)行界面建模,在C#環(huán)境下開發(fā)了NAVTEX模擬器,它的界面仿真度高,實現(xiàn)了NAVTEX真機(jī)的主要功能,主界面如圖4所示。模擬器可實現(xiàn)1個國際頻率(518 kHz)和2個本地頻率(490 kHz,4209.5 kHz)的電文接收,主要功能包括接收電文、電文列表顯示、查看電文、篩選顯示電文、電文打印、電文上鎖、自動刪除電文、設(shè)置岸臺和電文拒收、設(shè)定用戶選擇顯示電文、設(shè)置若干重要參數(shù)、各類信息提示及狀態(tài)提示,以及自診斷測試等。軟件開發(fā)的關(guān)鍵點主要在于電文管理,組件使用及打印機(jī)仿真等3方面。
圖4 NAVTEX模擬器主界面Fig.4 Main interface of NAVTEX simulator
3.1電文管理
NX-700型NAVTEX接收機(jī)具有豐富的電文管理功能,如電文按接收時間排序顯示所有電文,篩選顯示用戶設(shè)定的電文,篩選顯示航行警告、氣象警告和搜救電文,篩選顯示字符錯誤率低于4%的電文,以及過期電文自動刪除等等。單條電文除了包含電文正文信息之外,還包括接收時間、技術(shù)編碼、電文是否上鎖、電文是否被查看以及電文字符差錯率等附加信息。另外,接收機(jī)需要管理在3個頻率上接收到的電文,使得電文管理難度加大。采用文本文件儲存電文,會帶來諸多不便,NAVTEX模擬器屬于客戶端軟件,客戶端不便安裝大型數(shù)據(jù)庫,而ACCESS作為小型數(shù)據(jù)庫具有很多優(yōu)點,且C#可以直接操作ACCESS文件而不需要客戶端安裝ACCESS,因此,采用了ACCESS進(jìn)行模擬器的電文管理,相關(guān)的表結(jié)構(gòu)如表1所示,3個頻率模式均采用相同的表結(jié)構(gòu)。
國際頻率模式下,在所有電文中篩選出“Alert Message”(即航行警告、氣象警告和搜救電文),采用SQL語句“Select * From dbSaveMessage Where [MessageType in('A','B','D','L')] Order By RcvTime-Num DESC”。在所有電文中篩選出“Good Message”(即字符差錯率低于4%的電文),采用SQL語句“Select * From dbSaveMessage Where ErrorRate<4 Order By RcvTimeNum DESC”。需要的電文被篩選出來后,按新收到的電文在前的方式排序(即降序),因此,在SQL語句中包含“Order By RcvTimeNum DESC”。很明顯,使用ACCESS可使得每一條電文記錄結(jié)構(gòu)清晰,電文管理變得井井有條。
表1 電文管理ACCESSTable 1 ACCESS table for message management
3.2使用組件
NX-700型接收機(jī)界面特別,使用C#環(huán)境下的單一基礎(chǔ)控件難以實現(xiàn)高仿真度,采用多種基礎(chǔ)控件組合,布局和外觀經(jīng)過特別處理后可形成組件,這些組件外觀具有較高的仿真度,可從外部訪問屬性和調(diào)用方法,對于具有共性的界面,可使用同一組件進(jìn)行仿真[2],提高了開發(fā)效率。模擬器采用的主要組件如圖5所示。主程序通過加載和移除不同組件實現(xiàn)界面的切換,基于界面標(biāo)識函數(shù)返回的結(jié)果,在外部調(diào)用組件的各種方法,實現(xiàn)對組件的有效控制。
電文列表組件屬于公用組件,可用于3個頻率接收電文的列表顯示。圖6為電文列表組件顯示518 kHz電文列表的情況,該組件具有很高的仿真度。主程序所在的窗口根據(jù)需要分別通過指令this.Controls.Add(mainfilelist1)和this.Controls.Remove(mainfilelist1)加載和移除該組件。該組件包含了眾多方法,如downclick()方法可驅(qū)動黑框和滾動條向下移動,調(diào)用initialalarmfile()方法可篩選顯示航行警告、氣象警告和搜救信息三類重要電文,并對組件界面做出相應(yīng)調(diào)整。
圖5 模擬器中的主要組件Fig.5 Main components of NAVTEX simulator
圖6 電文列表組件Fig.6 Component for message list
3.3打印機(jī)仿真
打印功能是NAVTEX接收機(jī)的重要功能,模擬器實現(xiàn)了對選定電文的模擬打印。通過對定時器程序的控制,模擬真實打印機(jī)的打印過程,使電文以合適的速度打印呈現(xiàn)。操作員可能會在很短時間內(nèi)對多條電文發(fā)出打印指令,模擬器設(shè)置了打印緩存,打印機(jī)每打印完一篇電文,就搜索緩存,若還有待打印的電文就繼續(xù)打印,直到緩存中沒有待打印的電文為止。
4.1仿真要求
根據(jù)實操訓(xùn)練的需要,提出以下仿真要求。
1)向局域網(wǎng)廣播的電文應(yīng)該具有多樣性,即仿真軟件應(yīng)能向局域網(wǎng)發(fā)送多個岸臺所廣播的不同類型的電文,以利于學(xué)員感受接收不同岸臺所發(fā)送的不同電文的情形,觀察岸臺和電文拒收設(shè)置的效果。
2)在實操訓(xùn)練時,NAVTEX模擬器的開機(jī)時間一般不會太長,電文發(fā)射的時間間隔不應(yīng)過長,即保證在NAVTEX模擬器開機(jī)的有限時間內(nèi)有足夠量的電文在局域網(wǎng)中廣播,供學(xué)生機(jī)接收。按照NAVTEX岸臺實際的工作情況,每次發(fā)射完畢后,需要等較長時間再做下一次發(fā)射,因此,岸臺工作仿真不需跟實際情況完全相符,而應(yīng)該是實際工作過程的微縮。
3)GMDSS模擬器還包括了除NAVTEX模擬器之外的其他多種模擬設(shè)備,這些模擬設(shè)備之間也需要通過局域網(wǎng)進(jìn)行大量的網(wǎng)絡(luò)通信,因此,為了避免局域網(wǎng)中出現(xiàn)太多的數(shù)據(jù)包而負(fù)擔(dān)過重,仿真模型在短時間內(nèi)不能向局域網(wǎng)發(fā)射過多數(shù)據(jù)包,也就是說,電文發(fā)射的時間間隔不能過短。從另外一個角度看,若電文發(fā)射的時間間隔過短,會使得學(xué)生機(jī)端忙于接收電文,影響學(xué)員的其他操作。
4)因地理位置關(guān)系,只需要模仿中國所在的第11航行警告區(qū)岸臺工作的情況。
4.2發(fā)射幀格式和時間處理
圖7 岸臺廣播幀格式Fig.7 Frame format of Coast Station broadcast
實際的NAVTEX岸臺廣播采用分時播發(fā)方式,類似于通信技術(shù)中的TDM(時分多路復(fù)用)。根據(jù)前述的NAVTEX岸臺工作過程,實際的岸臺廣播可由圖7所示的幀格式表示。圖7中,將一天24 h設(shè)為1幀,1個時隙設(shè)為10 min,1個分幀有24個時隙,共4 h。1個分幀內(nèi),4個組的24個播發(fā)臺在規(guī)定的時隙內(nèi)順序工作。很明顯,1 d共有6個分幀,144個時隙。按照仿真要求2),1個時隙設(shè)為10 min顯然太長,按照仿真要求3),時隙又不能太短,因此,認(rèn)為時隙設(shè)為3~5 min較為適宜。本仿真軟件設(shè)定時隙為3.75 min,1幀為9 h(144 3.75 min),是實際幀(24 h)的0.375倍。考慮到實驗室一天只工作8 h,外加若干中午休息時間,把24 h的實際幀壓縮到9 h是合理的。
NAVTEX岸臺的發(fā)射時間統(tǒng)一采用世界協(xié)調(diào)時(UTC),在實際幀中,每個發(fā)射臺以UTC時間00:00為基準(zhǔn),在指定的時隙內(nèi)發(fā)射。比如,中國廣州NAVTEX播發(fā)臺(標(biāo)識為N)在第14和第38時隙的UTC播發(fā)時段分別為2:10~2:19和6:10~6:19,剩余各時隙號分別為62、86、110和134,對應(yīng)不同的播發(fā)時段。很明顯,每一發(fā)射臺工作的時隙號以24為遞增量,兩次相鄰發(fā)射的時間間隔約為4 h。實際幀被壓縮后,如果發(fā)射時間未加處理,在NAVTEX模擬器上顯示的接收時間是無法體現(xiàn)這種時間關(guān)系的。為解決此問題,岸臺工作仿真軟件采用如圖8所示的方法獲取電文的發(fā)射時間。為方便說明,約定:1)Tlocal表示當(dāng)?shù)貥?biāo)準(zhǔn)時間,(Tlocal)Date表示Tlocal的年月日,(Tlocal)Time表示Tlocal的時、分和秒;2)Toffset表示當(dāng)?shù)貢r間相對于UTC的偏移量,中國使用北京時間,處于東八區(qū),Toffset設(shè)為8 h;3)每個時隙內(nèi)允許發(fā)射n篇電文,因時隙已被壓縮,一般n取1或2。
圖8中,若在北京時間8:00~16:59之間啟動發(fā)射程序,則允許發(fā)射電文,發(fā)射時間經(jīng)過特別處理后,體現(xiàn)了它的實際規(guī)律。若在北京時間8:00之前或17:00之后啟動發(fā)射程序,則不發(fā)射電文,與實驗室工作時間基本相符。
4.3數(shù)據(jù)封裝及UDP廣播
教師機(jī)端首先按數(shù)據(jù)標(biāo)志、發(fā)射時間、技術(shù)編碼和電文內(nèi)容4個組成部分將數(shù)據(jù)封裝打包。其中,數(shù)據(jù)標(biāo)志用以標(biāo)示該數(shù)據(jù)包為NAVTEX電文,發(fā)射時間基于圖8產(chǎn)生,技術(shù)編碼中的發(fā)射臺識別由時隙號推算獲得。然后,以UDP廣播模式向局域網(wǎng)發(fā)射該數(shù)據(jù)包,關(guān)鍵代碼如下:
Socket sock=new Socket(AddressFamily.Inter-Network,SocketType.Dgram,ProtocolType.Udp);//初始化一個Scoket實例,采用UDP傳輸
IPEndPoint iep=new IPEndPoint(IPAddress.Broadcast,9095);//在端口9095廣播,此為518 kHz廣播端口
……。
sock.SendTo(buffer,iep);//廣播緩存中的數(shù)據(jù)
圖8 UTC發(fā)射時間的生成過程Fig.8 Generation process of UTC time for sending
學(xué)生機(jī)端的NAVTEX模擬器通過啟動接收線程來實現(xiàn)接收,關(guān)鍵代碼如下:
IPEndPoint iep=new IPEndPoint(IPAddress.Any,9095);//偵聽局域網(wǎng)內(nèi)部所有IP和廣播端口9095
……。
Thread thrRecv=new Thread(new ThreadStart(ReceiveMessage));//實例化接收線程
thrRecv.Start();//啟動接收線程
NAVTEX模擬器關(guān)機(jī)后,通過指令thrRecv.Abort()停止接收線程,以終止信息的接收。
4.4軟件實現(xiàn)及運行實測
在C#環(huán)境下開發(fā)的NAVTEX岸臺工作仿真軟件如圖9所示,軟件相關(guān)參數(shù)設(shè)置和主要功能如下:
1)每一幀中的時隙設(shè)為3.75 min,每一時隙允許廣播電文1篇;
2)電文按照種類和所屬播發(fā)臺分類儲存,輪到某一播發(fā)臺廣播時,軟件自動從對應(yīng)的文件夾中讀取電文進(jìn)行UDP廣播;軟件可在3個頻率上,基于不同的端口采用相同的幀格式做仿真廣播;
圖9 NAVTEX岸臺工作仿真軟件界面Fig.9 Interface for the simulation software of the work of NAVTEX Coast Station
3)因地理位置關(guān)系,518 kHz頻率模式下,在香港臺、三亞臺、廣州臺、福州臺、上海臺、大連臺、日本門司臺、韓國W臺的工作時隙內(nèi)播發(fā)具體電文,其他臺的工作時隙內(nèi)以廣播測試電文為主;490 kHz和4 209.5 kHz頻率模式下,臺灣的Lintou臺、Yenliaoken臺、Keelung臺和Linyuan臺的時隙內(nèi)廣播具體電文,其他時隙以廣播測試電文為主;
4)教師搜集到新的NAVTEX電文后,可在輸入框內(nèi)輸入該電文,設(shè)置好電文應(yīng)由哪個電臺負(fù)責(zé)發(fā)射后,點擊“保存暫不發(fā)送”即可儲存到對應(yīng)的文件夾下等待發(fā)射,點擊“立即發(fā)射并保存”可以將電文立刻發(fā)射并保存到對應(yīng)的文件夾下,這與NAVTEX岸臺對優(yōu)先等級很高、需要立即發(fā)送的電文的處理方式類似。
岸臺工作仿真軟件安裝在教師機(jī)上后,經(jīng)過一段時間的運行,所廣播的電文被NAVTEX模擬器接收到。對某NAVTEX模擬器設(shè)置為在518KHz頻率模式下只接收H(日本門司臺)、L(香港臺)、N(廣州臺)、O(福州臺)、Q(上海臺)和R(大連臺)的廣播,圖6顯示了該模擬器接收電文的列表信息,其中所顯示的電文廣播時間與實際規(guī)律一致。
該NAVTEX模擬器仿真度高,再結(jié)合岸臺工作仿真軟件的仿真廣播,在實訓(xùn)中取得了良好的效果。為了使學(xué)員能在短時間內(nèi)充分感受到接收電文的情形,強(qiáng)化訓(xùn)練效果,仿真軟件壓縮了發(fā)射時間,且并未考慮無線電波傳播的距離、噪聲干擾和多徑衰落對通信的影響。
參考文獻(xiàn)
[1]陳放.GMDSS通信設(shè)備與業(yè)務(wù)[M].大連:大連海事大學(xué)出版社,2008.
[2]魏偉,林毅.船舶通信系統(tǒng)模擬器的設(shè)計與實現(xiàn)[J].中國航海,2013,36(4):21-24.
[3]中國海事服務(wù)中心.GMDSS設(shè)備操作[M].北京:人民交通出版社,2013.
[4]余謙,黃立文.基于網(wǎng)絡(luò)的GMDSS模擬軟件設(shè)計與實現(xiàn)[J].武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版),2010,34(1):167-170.
[5]彭曉星,周劍敏,從偉.F77衛(wèi)星船站電話模擬通信的開發(fā)與實現(xiàn)[J].中國航海,2008,31(1):38-41.
[6]郝春強(qiáng).C#基礎(chǔ)與實例教程[M].北京:中國電力出版社,2005.
[7]林長川,洪爰助,東昉.基于Visual C#.Net的GMDSS模擬器設(shè)計與實現(xiàn)[J].系統(tǒng)仿真學(xué)報,2007,19(6):1256-1259.
[8]蔣效彬,任鴻翔,劉晶晶.船用NBDP通信設(shè)備的仿真實現(xiàn)與實操評估[J].科學(xué)技術(shù)與工程,2015,15(12):250-255.
[9]陳萱華,朱仙寶.無線電導(dǎo)航儀通用仿真模塊研究及設(shè)計[J].實驗室研究與探討,2011,30(8):94-97.
[10]黃煥.GMDSS模擬器實現(xiàn)語音通信的設(shè)計[J].艦船電子工程,2006,153(3):144-147.
[11]劉紅屏,王化民.GMDSS原理與綜合業(yè)務(wù)[M].大連:大連海事大學(xué)出版社,2008.
(責(zé)任編輯:任萬森)
Design and Realization of the Simulation of NAVTEX Receiver and the Work of Coast Station
HUANG Huan
(Maritime College,Guangdong Ocean University,Zhanjiang 524000,China)
Abstract:In order to make the students to be familiar with the operation process of NAVTEX receiver,to understand the workflow of NAVTEX system and to improve training effect,the simulation softwares of NAVTEX receiver and the work of coast station were developed under C# environment.The simulation software of NAVTEX receiver is very similar to the real,and its functions include reception of messages,rejection setting of coast stations and messages,printing of received messages,displaying and managing of received messages.Simulation software of the work of coast station based on UDP broadcast can send message to LAN by simulating the working situation of coast station.Experiments show that simulation software of the work of coast station can broadcast messages to the LAN through reasonable pattern,and combination use of these two soft-wares can improve training effect efficiently.
Keywords:NAVTEX receiver; the work of coast station; simulation software; LAN; UDP broadcast
作者簡介:黃煥(1977—),男,講師,碩士,從事船舶通信導(dǎo)航、計算機(jī)在航海中的應(yīng)用及航海教育研究.Email:gdouhh@163.com
基金項目:廣東海洋大學(xué)自然科學(xué)基金(0812105)
收稿日期:2015-11-20
doi:10.3969/j.issn.1673-9159.2016.01.014
中圖分類號:U675.2
文獻(xiàn)標(biāo)志碼:A
文章編號:1673-9159(2016)01-0079-06