李邢凡 陳培新 郭雷
摘? 要:文章基于VB平臺(tái)的MSComm控件,采用第三代SiRFstar Ⅲ芯,通過RS232串口通訊采集船舶航行中GPS軌跡數(shù)據(jù);在計(jì)算機(jī)端將航跡數(shù)據(jù)進(jìn)行解析以及坐標(biāo)轉(zhuǎn)換等操作,進(jìn)而實(shí)現(xiàn)計(jì)算船舶回轉(zhuǎn)過程中性能的軟件系統(tǒng),使用戶更為簡(jiǎn)便地獲取船舶回轉(zhuǎn)過程中的參數(shù)。
關(guān)鍵詞:MSComm;GPS;串口通訊;回轉(zhuǎn)運(yùn)動(dòng);軟件系統(tǒng)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號(hào):2095-2945(2020)06-0018-03
Abstract: In this paper, based on the MSComm control of VB platform, the third-generation SiRFstar III core is used to collect GPS trajectory data during ship navigation through RS232 serial communication, and the track data are parsed and coordinate transformation are carried out on the computer side, and then the software system for calculating the performance of the ship in the turning process is realized, which makes it easier for users to obtain the parameters in the ship turning process.
Keywords: MSComm; GPS; serial communication; rotary motion; software system
1 船舶回轉(zhuǎn)運(yùn)動(dòng)的數(shù)學(xué)模型
船舶回轉(zhuǎn)是指直航船舶在操舵后,作縱移、橫移以及偏轉(zhuǎn)的一種運(yùn)動(dòng)過程?;剞D(zhuǎn)性代表船舶轉(zhuǎn)舵后作圓弧運(yùn)動(dòng)的能力,一般使用回轉(zhuǎn)半徑與船長(zhǎng)的比值D/L表征其性能優(yōu)劣,大多數(shù)船多集中在5~7。當(dāng)D/L≈3時(shí),表明性能較好,當(dāng)D/L≈10時(shí),則性能較差?;剞D(zhuǎn)半徑與船長(zhǎng)的比值通常在試驗(yàn)中獲得:穩(wěn)速直航的船舶在操舵后,快速操舵至規(guī)定舵角后并保持,直至艏向改變360°;隨后以此方法進(jìn)行相反和其它測(cè)試舵角下的回轉(zhuǎn),并獲取所需參數(shù)。回轉(zhuǎn)運(yùn)動(dòng)中船舶重心運(yùn)動(dòng)軌跡通常如圖1。
在定常回轉(zhuǎn)后,船舶運(yùn)動(dòng)的重心軌跡為圓,運(yùn)動(dòng)中的各參數(shù)也將不隨時(shí)間的變化而改變。此時(shí),船舶回轉(zhuǎn)運(yùn)動(dòng)方程的直徑可表示為[1]:
其中:Y、N分別為合力在動(dòng)坐標(biāo)系y軸的分量、繞重心的力矩,YV、NV則為對(duì)橫向速度分量v的位置導(dǎo)數(shù);W為船只重量;XG為船舶坐標(biāo)系下重心沿船長(zhǎng)方向的縱向坐標(biāo);u1、v1為船舶初始狀態(tài)下動(dòng)坐標(biāo)系在x、y軸方向的初速度;Yr、Nr則為對(duì)回轉(zhuǎn)角速度r的旋轉(zhuǎn)導(dǎo)數(shù);Yδ、Nδ則為對(duì)舵角δ的控制導(dǎo)數(shù);δ0為定?;剞D(zhuǎn)時(shí)的舵角。
回轉(zhuǎn)過程中的各主要參數(shù)(如戰(zhàn)術(shù)直徑、定?;剞D(zhuǎn)直徑、縱距、橫距、回轉(zhuǎn)周期、回轉(zhuǎn)角速度、回轉(zhuǎn)航速等)一般通過帶有GPS航行性能軟件系統(tǒng)獲得。本文設(shè)計(jì)將基于MSComm,采用SiRF芯片對(duì)航行性能軟件系統(tǒng)進(jìn)行設(shè)計(jì)。
2 系統(tǒng)GPS數(shù)據(jù)讀取與處理
2.1 系統(tǒng)選用GPS模塊簡(jiǎn)介
系統(tǒng)選用SiRFstar Ⅲ芯片,該芯片以20萬次/頻率的特點(diǎn)大幅提升了靈敏度,冷/暖/熱開機(jī)的時(shí)間縮減至42s/38s和8s,同時(shí)追蹤衛(wèi)星信道可達(dá)20個(gè)。SiRFstar Ⅲ目前已成為市場(chǎng)上性能卓越、性價(jià)非常高的一款GPS芯片,因此本為在設(shè)計(jì)中采用此款芯片作為軟件系統(tǒng)GPS模塊的核心。
2.2 GPS模塊的數(shù)據(jù)格式
對(duì)數(shù)據(jù)的處理本質(zhì)上是對(duì)串口通信的設(shè)計(jì),SiRFstar Ⅲ芯片采用標(biāo)準(zhǔn)NMEA-0183協(xié)議[2],該協(xié)議規(guī)定了各種航海儀器間傳輸資料的固定格式。因此,采用SiRFstar Ⅲ芯片的GPS模塊數(shù)據(jù)以固定的格式進(jìn)行輸出,檢索字符串即可從數(shù)據(jù)中獲得各種信息。主要GPS數(shù)據(jù)格式如下:
(1)定位數(shù)據(jù)的標(biāo)準(zhǔn)格式為:$GPGGA,(字段1~9),M,(字段10),M,(字段11~12)*hh(CR)(LF),各字段分別對(duì)應(yīng)時(shí)間、緯度、N/S(北緯或南緯)、經(jīng)度、E/W(東經(jīng)或西經(jīng))、質(zhì)量因子(0=無定位,1=實(shí)時(shí)GPS,2=差分GPS)、可使用的衛(wèi)星數(shù)(0~8)、水平精度因子(1.0~99.9)、天線高程、大地橢球面相對(duì)海平面高度(-999.9~9999.9,單位:m)、差分GPS數(shù)據(jù)年齡、差分基準(zhǔn)站號(hào)(0000~1023)、*總和校驗(yàn)域、hh 總和校驗(yàn)數(shù)、(CR)(LF)回車,換行。
(2)推薦定位信息數(shù)據(jù)的標(biāo)準(zhǔn)格式為:$GPRMC,(字段1~11)(CR)(LF),各字段分別對(duì)應(yīng)標(biāo)準(zhǔn)定位時(shí)間、定位狀態(tài)、緯度、北緯或南緯、經(jīng)度、東經(jīng)或西經(jīng)、相對(duì)位移速度、相對(duì)位移方向、日期、磁極變量、度數(shù)、檢查位。
(3)地面速度信息數(shù)據(jù)的標(biāo)準(zhǔn)格式為:$GPVTG,(字段1),T,(字段2),M,(字段3),N,(字段4),K,(字段5)*hh(CR)(LF),各字段分別對(duì)應(yīng)運(yùn)動(dòng)角度、真北參照系、運(yùn)動(dòng)角度、磁北參照系、水平運(yùn)動(dòng)速度、N=節(jié),Knots、水平運(yùn)動(dòng)速度、K=公里/時(shí),km/h、校驗(yàn)值。
3 本軟件系統(tǒng)的實(shí)現(xiàn)
3.1 RS232串口通訊
計(jì)算機(jī)內(nèi)部通過電位(即計(jì)算機(jī)中數(shù)據(jù)0、1)進(jìn)行數(shù)據(jù)儲(chǔ)存和傳輸,其中數(shù)字、字符及符號(hào)通常由8個(gè)電位進(jìn)行組合對(duì)應(yīng),如VB平臺(tái)中Byte數(shù)組元素即由8位構(gòu)成,用來表示整數(shù)0~255。計(jì)算機(jī)和傳感器間通訊便以0、1的數(shù)據(jù)形式進(jìn)行數(shù)據(jù)的傳輸。RS232串行接口廣泛應(yīng)用于計(jì)算機(jī)、傳感器設(shè)備間通訊,該接口有9個(gè)信號(hào)針腳,功能見表1。
功能上講,信號(hào)線由數(shù)據(jù)線、地線和聯(lián)絡(luò)控制線三類構(gòu)成,即TxD、RxD,GND,DSR、DTR、RI、DCD、RTS、CTS。RS232串口最初是連接調(diào)制解調(diào)器Modem傳輸使用,因此RS232的各個(gè)針腳一般與Modem有關(guān)。信號(hào)發(fā)送端與信號(hào)接收端直接傳輸時(shí),定義的信號(hào)多數(shù)并未得到使用,一般僅需2根數(shù)據(jù)線、2根握手線和1根地線,甚至部分設(shè)備信號(hào)的傳輸只需2根數(shù)據(jù)線和1根地線就可以實(shí)現(xiàn)全雙工異步串行通信,示意圖如圖2。
3.2 MSComm控件
MSComm是VB平臺(tái)中串行通訊的插件。編譯串口通訊程序時(shí),可直接調(diào)用該插件中的屬性函數(shù),用來實(shí)現(xiàn)端口通訊,為程序員編譯串口通訊程序節(jié)約時(shí)間。MSComm可為各串口間建立聯(lián)接,串口聯(lián)接到其他設(shè)備可實(shí)現(xiàn)計(jì)算機(jī)與設(shè)備間進(jìn)行數(shù)據(jù)接收、指令發(fā)送、響應(yīng)及監(jiān)視串行通訊連接中的事件和產(chǎn)生的錯(cuò)誤。
一般情況下,一個(gè)MSComm插件只與計(jì)算機(jī)的單個(gè)端口相互對(duì)應(yīng),并控制聯(lián)接該端口的設(shè)備。因此,在程序中添加幾個(gè)MSComm插件就控制相應(yīng)數(shù)量的串行端口。
3.3 串口通訊的實(shí)現(xiàn)
MSComm控件同VB平臺(tái)中其他程序一樣,其功能的實(shí)現(xiàn)是依靠控件屬性來完成,設(shè)定MSComm的屬性值即可實(shí)現(xiàn)所需的串口通信功能,如串行端口參數(shù)的設(shè)置、握手協(xié)議、緩沖區(qū)大小等均通過相應(yīng)屬性來設(shè)定。常用屬性、VB語法和作用如表2。
串口通訊程序的設(shè)計(jì)主要分為兩部分[3]:
(1)通訊端口的初始化設(shè)定:設(shè)置內(nèi)容主要有通訊協(xié)議、通訊、端口號(hào)碼、收發(fā)緩沖區(qū)大小、發(fā)送和接收數(shù)據(jù)的類型、波特率等[4]。初始化設(shè)定時(shí),部分項(xiàng)目的設(shè)置要根據(jù)實(shí)際設(shè)備遵循的通訊協(xié)議及其數(shù)據(jù)特征進(jìn)行。如某些具有固定波特率的傳感器,在端口參數(shù)初始化設(shè)置時(shí),端口波特率需與設(shè)備保持一致;接收和發(fā)送緩沖區(qū)大小也要依據(jù)設(shè)備的數(shù)據(jù)發(fā)出和發(fā)送給設(shè)備指令來進(jìn)行相應(yīng)的初始化設(shè)定。
本文設(shè)計(jì)軟件系統(tǒng)的GPS串口初始化代碼如下:
(2)OnComm事件處理:a.通訊端口的初始化設(shè)定完成后,程序?qū)⒋蜷_端口,端口數(shù)據(jù)隨后發(fā)送到MSComm的接收緩沖區(qū),OnComm事件得到觸發(fā);b.控件Input屬性讀取
數(shù)據(jù),并賦值給byte數(shù)組(單個(gè)byte變量為8位),結(jié)合設(shè)備輸出的原始數(shù)據(jù)類型,轉(zhuǎn)化處理得到所需數(shù)據(jù)信息;c.在RS232串口中,設(shè)備數(shù)據(jù)是以二進(jìn)制形式(8個(gè)二進(jìn)制數(shù))傳輸,再依據(jù)與設(shè)備的通訊協(xié)議中轉(zhuǎn)化成十進(jìn)制的數(shù)值變量。d.數(shù)據(jù)讀取和轉(zhuǎn)化均在OnComm事件中,在觸發(fā)事件后程序執(zhí)行事件中程序塊對(duì)接收到的數(shù)據(jù)進(jìn)行處理[5]。本文設(shè)計(jì)軟件系統(tǒng)的GPS數(shù)據(jù)接收處理程序?yàn)槔绦虼a為:
3.4 本軟件系統(tǒng)流程
綜上,基于MSComm控件,通過RS232串口通訊的軟件設(shè)計(jì)系統(tǒng)流程圖如圖3所示。
通過對(duì)上述獲取的船舶回轉(zhuǎn)運(yùn)動(dòng)中的GPS數(shù)據(jù)進(jìn)行解析及坐標(biāo)轉(zhuǎn)換,即可獲取船舶回轉(zhuǎn)運(yùn)動(dòng)中的關(guān)鍵參數(shù)。
4 結(jié)束語
通過MSComm控件,結(jié)合SiRF芯片特點(diǎn),利用RS232串口通訊在讀取船舶航行中GPS軌跡數(shù)據(jù)后,對(duì)這些數(shù)據(jù)進(jìn)行提取解析以及坐標(biāo)轉(zhuǎn)換,進(jìn)而可實(shí)現(xiàn)簡(jiǎn)單、方便的獲取船舶回轉(zhuǎn)過程中的參數(shù)。
參考文獻(xiàn):
[1]吳秀恒,等.船舶操縱性與耐波性[M].人民交通出版社,1999.
[2]Elliott D.Kaplan.GPS原理與應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[3]王樂.基于GPS的汽車操縱穩(wěn)定性研究[D].南京航空航天大學(xué),2007.
[4]徐紹銓,等.GPS測(cè)量原理及應(yīng)用[M].武漢:武漢大學(xué)出版社,2004.
[5]朱華統(tǒng),等.GPS坐標(biāo)系統(tǒng)的變換[M].北京測(cè)繪出版社,1994.