您好, 访客   登录/注册

基于MSComm的GPS回转性能软件系统的设计

来源:用户上传      作者:

  摘  要:文章基于VB平台的MSComm控件,采用第三代SiRFstar Ⅲ芯,通过RS232串口通讯采集船舶航行中GPS轨迹数据;在计算机端将航迹数据进行解析以及坐标转换等操作,进而实现计算船舶回转过程中性能的软件系统,使用户更为简便地获取船舶回转过程中的参数。
  关键词:MSComm;GPS;串口通讯;回转运动;软件系统
  中图分类号:TP311 文献标志码:A         文章编号: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 船舶回转运动的数学模型
  船舶回转是指直航船舶在操舵后,作纵移、横移以及偏转的一种运动过程。回转性代表船舶转舵后作圆弧运动的能力,一般使用回转半径与船长的比值D/L表征其性能优劣,大多数船多集中在5~7。当D/L≈3时,表明性能较好,当D/L≈10时,则性能较差。回转半径与船长的比值通常在试验中获得:稳速直航的船舶在操舵后,快速操舵至规定舵角后并保持,直至艏向改变360°;随后以此方法进行相反和其它测试舵角下的回转,并获取所需参数。回转运动中船舶重心运动轨迹通常如图1。
  在定常回转后,船舶运动的重心轨迹为圆,运动中的各参数也将不随时间的变化而改变。此时,船舶回转运动方程的直径可表示为[1]:
  
  其中:Y、N分别为合力在动坐标系y轴的分量、绕重心的力矩,YV、NV则为对横向速度分量v的位置导数;W为船只重量;XG为船舶坐标系下重心沿船长方向的纵向坐标;u1、v1为船舶初始状态下动坐标系在x、y轴方向的初速度;Yr、Nr则为对回转角速度r的旋转导数;Yδ、Nδ则为对舵角δ的控制导数;δ0为定常回转时的舵角。
  回转过程中的各主要参数(如战术直径、定常回转直径、纵距、横距、回转周期、回转角速度、回转航速等)一般通过带有GPS航行性能软件系统获得。本文设计将基于MSComm,采用SiRF芯片对航行性能软件系统进行设计。
  2 系统GPS数据读取与处理
  2.1 系统选用GPS模块简介
  系统选用SiRFstar Ⅲ芯片,该芯片以20万次/频率的特点大幅提升了灵敏度,冷/暖/热开机的时间缩减至42s/38s和8s,同时追踪衛星信道可达20个。SiRFstar Ⅲ目前已成为市场上性能卓越、性价非常高的一款GPS芯片,因此本为在设计中采用此款芯片作为软件系统GPS模块的核心。
  2.2 GPS模块的数据格式
  对数据的处理本质上是对串口通信的设计,SiRFstar Ⅲ芯片采用标准NMEA-0183协议[2],该协议规定了各种航海仪器间传输资料的固定格式。因此,采用SiRFstar Ⅲ芯片的GPS模块数据以固定的格式进行输出,检索字符串即可从数据中获得各种信息。主要GPS数据格式如下:
  (1)定位数据的标准格式为:$GPGGA,(字段1~9),M,(字段10),M,(字段11~12)*hh(CR)(LF),各字段分别对应时间、纬度、N/S(北纬或南纬)、经度、E/W(东经或西经)、质量因子(0=无定位,1=实时GPS,2=差分GPS)、可使用的卫星数(0~8)、水平精度因子(1.0~99.9)、天线高程、大地椭球面相对海平面高度(-999.9~9999.9,单位:m)、差分GPS数据年龄、差分基准站号(0000~1023)、*总和校验域、hh 总和校验数、(CR)(LF)回车,换行。
  (2)推荐定位信息数据的标准格式为:$GPRMC,(字段1~11)(CR)(LF),各字段分别对应标准定位时间、定位状态、纬度、北纬或南纬、经度、东经或西经、相对位移速度、相对位移方向、日期、磁极变量、度数、检查位。
  (3)地面速度信息数据的标准格式为:$GPVTG,(字段1),T,(字段2),M,(字段3),N,(字段4),K,(字段5)*hh(CR)(LF),各字段分别对应运动角度、真北参照系、运动角度、磁北参照系、水平运动速度、N=节,Knots、水平运动速度、K=公里/时,km/h、校验值。
  3 本软件系统的实现
  3.1 RS232串口通讯
  计算机内部通过电位(即计算机中数据0、1)进行数据储存和传输,其中数字、字符及符号通常由8个电位进行组合对应,如VB平台中Byte数组元素即由8位构成,用来表示整数0~255。计算机和传感器间通讯便以0、1的数据形式进行数据的传输。RS232串行接口广泛应用于计算机、传感器设备间通讯,该接口有9个信号针脚,功能见表1。   功能上讲,信号线由数据线、地线和联络控制线三类构成,即TxD、RxD,GND,DSR、DTR、RI、DCD、RTS、CTS。RS232串口最初是连接调制解调器Modem传输使用,因此RS232的各个针脚一般与Modem有关。信号发送端与信号接收端直接传输时,定义的信号多数并未得到使用,一般仅需2根数据线、2根握手线和1根地线,甚至部分设备信号的传输只需2根数据线和1根地线就可以实现全双工异步串行通信,示意图如图2。
   3.2 MSComm控件
  MSComm是VB平台中串行通讯的插件。编译串口通讯程序时,可直接调用该插件中的属性函数,用来实现端口通讯,为程序员编译串口通讯程序节约时间。MSComm可为各串口间建立联接,串口联接到其他设备可实现计算机与设备间进行数据接收、指令发送、响应及监视串行通讯连接中的事件和产生的错误。
  一般情况下,一个MSComm插件只与计算机的单个端口相互对应,并控制联接该端口的设备。因此,在程序中添加几个MSComm插件就控制相应数量的串行端口。
  3.3 串口通讯的实现
  MSComm控件同VB平台中其他程序一样,其功能的实现是依靠控件属性来完成,设定MSComm的属性值即可实现所需的串口通信功能,如串行端口参数的设置、握手协议、缓冲区大小等均通过相应属性来设定。常用属性、VB语法和作用如表2。
  串口通讯程序的设计主要分为两部分[3]:
  (1)通讯端口的初始化设定:设置内容主要有通讯协议、通讯、端口号码、收发缓冲区大小、发送和接收数据的类型、波特率等[4]。初始化设定时,部分项目的设置要根据实际设备遵循的通讯协议及其数据特征进行。如某些具有固定波特率的传感器,在端口参数初始化设置时,端口波特率需与设备保持一致;接收和发送缓冲区大小也要依据设备的数据发出和发送给设备指令来进行相应的初始化设定。
  本文设计软件系统的GPS串口初始化代码如下:
  (2)OnComm事件处理:a.通讯端口的初始化设定完成后,程序将打开端口,端口数据随后发送到MSComm的接收缓冲区,OnComm事件得到触发;b.控件Input属性读取
  数据,并赋值给byte数组(单个byte变量为8位),结合设备输出的原始数据类型,转化处理得到所需数据信息;c.在RS232串口中,设备数据是以二进制形式(8个二进制数)传输,再依据与设备的通讯协议中转化成十进制的数值变量。d.数据读取和转化均在OnComm事件中,在触发事件后程序执行事件中程序块对接收到的数据进行处理[5]。本文设计软件系统的GPS数据接收处理程序为例程序代码为:
  3.4 本软件系统流程
  综上,基于MSComm控件,通过RS232串口通讯的软件设计系统流程图如图3所示。
  通过对上述获取的船舶回转运动中的GPS数据进行解析及坐标转换,即可获取船舶回转运动中的关键参数。
  4 结束语
  通过MSComm控件,结合SiRF芯片特点,利用RS232串口通讯在读取船舶航行中GPS轨迹数据后,对这些数据进行提取解析以及坐标转换,进而可实现简单、方便的获取船舶回转过程中的参数。
  参考文献:
  [1]吴秀恒,等.船舶操纵性与耐波性[M].人民交通出版社,1999.
  [2]Elliott D.Kaplan.GPS原理与应用[M].北京:电子工业出版社,2002.
  [3]王乐.基于GPS的汽车操纵稳定性研究[D].南京航空航天大学,2007.
  [4]徐绍铨,等.GPS测量原理及应用[M].武汉:武汉大学出版社,2004.
  [5]朱華统,等.GPS坐标系统的变换[M].北京测绘出版社,1994.
转载注明来源:https://www.xzbu.com/1/view-15118858.htm