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