?

AIS電文解析技術研究

2012-06-30 10:46萬載東
江蘇船舶 2012年1期
關鍵詞:電文解碼串口

徐 忠,萬載東

(江蘇南通海事局,江蘇 南通 226004)

0 引言

AIS從開始發展到在船舶上強制安裝執行,經過了十余年的時間,目前AIS正處于實施和進一步發展成熟的階段。1998年美國海岸警衛隊與ROSS公司合作組建了新一代的AIS示范點。2000年荷蘭建設了“荷蘭內河船舶信息顯示與監控系統(INDRIS)”項目,該項目由12個AIS基站和30個AIS船站組成,此系統已投入運行并且效果良好。2005年Helsinki委員會宣布波羅的海AIS海上公共交通監控系統全面投入使用。中國從2005年開始,至2010年建設了全面覆蓋中國沿海和內河主要航道的AIS基站系統,對我國船舶實時動態監控和管理及區域船舶航行安全發揮了重要作用。

1 AIS電文解析軟件系統功能

為了從AIS基站或設備中獲得周圍船舶實時動態信息,需要對接收到的AIS電文進行解析,按照標準協議從中解析所需要的信息數據。本文研究中,采用了軟件編程解析技術。該軟件首先從AIS的串口接收數據,并根據 IEC 61162-1協議提取 ITURM.1371電文,然后根據ITU-RM.1371封裝電文內容提取所需要的船舶動靜態數據,然后在PC機上顯示船舶動靜態信息并實現對本船信息進行實時更新。設計過程中,主要實現了兩種功能:

(1)通過串口接受數據并解碼,然后通過信息框顯示實時顯示船舶信息并通過解碼框顯示對應的解碼信息。

(2)根據接收到的解碼信息判斷是否為本船數據,并通過文本框顯示本船信息,以達到對本船實時信息的掌握和監控。這兩個過程相輔相成,實現了信息的接受解碼與本船信息的動靜態顯示,完成了設計的要求并對以后的拓展與實際應用提供了方便。軟件編程使用.NET平臺下的c#語言,利用其優越性在美化界面、結構設計、功能實現等諸多方面進行了開發研究。在串行通信部分,采用了虛擬串口與串口調試助手,實現了對串口號、校驗位、波特率、數據位、停止位的控制與AIS船舶信息語句的傳輸;在解析部分,通過多線程的方法,實現了數據的實時分析解碼,并將解析信息和為解析前的接收信息分條顯示在系統界面中。

該AIS解析軟件可實現有關AIS電文的實時接收,并將其解碼為明文:如船舶的靜態信息與船舶的航速、經緯度等動態信息。同時將本船信息顯示在信息框中,便于對本船信息進行監控。

2 AIS電文解析軟件系統總體架構

AIS電文解析軟件系統的主要功能實現是通過串口設置和控制后通過串口接收AIS電文后實現對于電文實體部分的解析,并且通過合理規劃文本,實現了AIS電文和解碼信息的顯示。另外,通過本船信息顯示界面,顯示出實時更新的本船信息。通過本設計軟件,用戶可以實現對主要AIS船舶電文進行解析并顯示電文和明碼信息,可以實現對本船信息的實時更新。本系統的總體架構框圖見圖1。

該軟件系統通過主控模塊實現系統的中心調度,并通過串口模塊、顯示模塊和信息解碼模塊綜合實現系統的解碼顯示功能。AIS電文在串口模塊接收后,經過信息解碼模塊解碼后由顯示模塊顯示,從而實現系統的綜合功能。

圖1 系統需求框圖

3 AIS電文解析軟件系統具體實現

3.1 各模塊及函數設計

AIS電文解析軟件系統主要使用c#編程環境實現。整個系統包含3大模塊:串口模塊、顯示模塊和信息解碼模塊,各個模塊又包含若干函數和子函數,其中核心部分為電文解析模塊及其包含的各函數和其子函數。本設計詳細框架結構見圖2。

圖2 AIS電文解析軟件系統整體框圖

AIS電文解析軟件系統串口模塊實現串口設置和控制功能,可以對串口設置如串口號、波特率、校驗位、數據位、停止位等參數。串口打開后,由中心調度模塊從串口接收電文并分兩部分處理:一方面,由電文信息顯示模塊進行分條顯示,以便于用戶分析觀察對傳過來的電文暗碼進行分析觀察;另一方面由解碼信息顯示函數將電文拆解后提取有效信息并拼接,而后調用電文解析函數對電文的有效編碼部分進行解析并顯示在系統主界面中,同時由顯示本船信息子函數對本船信息的顯示進行實時更新和顯示。本系統的顯示界面同時具有清空電文信息模塊和清空解碼信息的函數,可以讓用戶更方便的查看分析信息。

解碼模塊是本軟件系統的核心。主控模塊將解碼有效信息傳給解碼模塊后,字符串再由解碼模塊的轉二進制函數轉換為二進制串后由取位解析函數解析成解碼信息明文。最后由拼接模塊拼接成整體信息后由主控模塊傳給顯示界面模塊進行顯示。

3.2 電文解析實例

本軟件的核心是電文解析模塊,其作用是將電文的暗碼解譯為信息明文。其中運用的是AIS協議中的電文解析協議。

為了讓解碼過程更加明了,有必要將電文解析舉出示例。以下以電文5為例進行電文解析部分的實例解釋,電文5以外的各電文在解析過程方面大同小異。電文與示例見表1。

AIS電文解析部分以字段“電文ID”為例,截取經轉二進制函數處理后的暗文的1~6位,即:000101,經二進制轉十進制函數轉化后即得電文5的電文號。AIS電文解析信息由顯示模塊顯示在系統界面并最終實現與用戶交互。

表1 電文5示例

4 結語

本軟件通過串口接收AIS電文后,實現了對AIS電文的解析,并且通過各顯示模塊,實現了AIS電文和解碼信息的分條顯示。另外,通過本船信息顯示界面,實時對本船信息進行更新。但是在實際設備中,可能出現意外的電文傳輸問題,如串口發送延時等待等。因此,本設計還要進行容錯處理,以使其更加適合于實際應用。但是,本文的研究和開發為將來的更深層研究搭建了基本框架,并且完成了AIS電文解碼系統的基本設計要求,對于今后AIS系統應用和同類軟件的設計開發具有指導意義。

[1]黃麗卿,胡穩才,邵哲平.AIS輸出數據包的解包技術研究[J].集美大學學報,2005,(1):37 -41.

[2]催嵐波.船舶通信與導航[M].哈爾濱:哈爾濱工程大學出版社,2007.

[3]普瓦拉,等..NET程序設計:從Java到c#[M].湖北:華中科技大學,2004.

[4]徐布克,等..NET程序設計案例教程:Visual c#2008[M].北京:中國鐵道出版社,2008.

[5]周瑜明,等..NET平臺與c#面向對象程序設計[M].北京:電子工業出版社,2010.

[6]費拉基亞蒂,等..NET數據服務c#高級編程[M].北京:清華大學出版社,2002.

[7]周紅安,等.21條學通c#[M].北京:電子工業出版社,2009.

猜你喜歡
電文解碼串口
《解碼萬噸站》
基于NPORT的地面綜合氣象觀測系統通信測試方法及故障處理
一種與內部缺陷儀設備通訊的接口模塊
MT799更正電文能否被視為信用證修改
基于EM9000工控板高性能雙串口通信模型設計與實現
一種基于數據庫描述的電文參數通用解算方法
解碼eUCP2.0
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
船舶電子設備串口數據的軟件共享方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合