标题 | Vb编写潮位遥报仪数据接受软件的设计与实现 |
范文 | 邢娜 摘要:该文介绍了VB开发“遥报仪数据记录器v1”软件编写的原理,通过该软件将潮位遥报仪的原始数据及接收数据的时间及潮位信息一同显示,并可以保存数据中的接受时间,潮位和站台信息,从而减少了使用潮位遥报仪时的工作量。 关键词:VB;潮位遥报仪;功能原理 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)01-0110-02 1 概述 局技术中心开发的潮位遥侧系统(岸台)通过水位传感器(超声波或压力式)能自动测量潮位变化,同时经由数传电台构成的无线通讯网络,向各接收机(船台)发送潮位信息。船台只要连接好设备,打开电源就可以直接使用,比人工验潮简单方便。 但是潮位遥报仪船台使用时必须要手工记录潮位,加大了外业测量的工作量。潮位遥报仪自带有数据输出接口,通过编写应用程序来接受并记录潮位遥报仪的数据,以减少外业记录的工作量。 本程序开发采用由微软公司开发的时间驱动的变成语言VB,它拥有方便的图形用户界面开发工具和控件,程序员可以轻松的使用VB提供的组件创建自己的应用程序,本文介绍的便是Vb编写的“遥报仪数据记录器v1”这个自己编写的小程序用来自动记录潮位。 2 潮位遥报仪数据传输方式和数据格式 潮位遥报仪采用RS-232串口数据输出。计算机进行串口通信时,必须打开串口并进行初始化后才能开始数据的发送和接收,通信完成后才能开始数据的发送和接受处理,通信完成后应及时关闭串口。 VB读取串口数据使用自带的MSCOMM控件。简单设置通讯串口号,通讯参数,通讯状态,就可以直接读取串口数据,使用十分方便。潮位遥报仪的数据通讯参数为:波特率4800bit/s,数据位8bit/s,停止位1bit,检验位,无。 潮位遥报仪的数据输出格式如下: “蝌 WHHH0612181710#05+00.79M” 以上的数据为例,以“HHH”作为数据判断的符号,后面的06年12月18日17时05分,站台号:05号,潮位0.79M。 3 软件系统设计与主要功能 本软件是单一功能的应用软件,只能设计一个窗口,如图1。 窗口的功能分区为:串口通讯设计(左)功能操作按钮(中),数据显示窗口(右和右下)三大部分。 串口通讯设置部分,由于潮位遥报仪的通讯参数已知,所以主要的操作是更改连接设备所用的串口号就可以正常使用了。 功能操作区,主要有打开,关闭串口,保存潮位信息等。当软件用来连续工作时,且数据较多时,可以在此处设置只显示部分数据。 数据显示窗口,分为上下两个窗口,上面的窗口主要用来显示串口接收到的所有信息,下面的窗口显示经过去除乱码后提取出的有用的潮位信息和相应的接收到信息的时间,输出的数据便是潮位数据显示窗口所显示的信息数据。 4 关键技术与算法实现 4.1 串口通讯设置中的串口号的确定 本软件中参考部分电脑串口相关资料,使用一定的算法将使用的串口编号通过一个combobox的下拉列表显示出来,此部分的程序代码如下[2]; For I= 1 To 100 列出所有可以使用的串口号 On Error Resume Next 当运行发生错误时,控件转到下一个循环 MSComm1.comm Port=I MSComm1.PortOpen=True Select Case Err.Number Case0 Commbo5.AddItem“COM”&Trim(I) MSComm1 Port Open=False Case 8005 MSComm1 Port Open=False End Select Err=0 Next 4.2 串口数据信息的识别 串口数据中有部分有部分乱码数据,所以需要识别出可用的信息:如站台号和潮位值。 本软件使用的是查找数据位的标志的方法来识别,如查找到数据中有数据头“HHH”和数据尾“M”的标志时,就截取出中间包括有站台号和潮位的信息数据并显示在数据显示窗口中。 详细的代码如下: If InStr(1,r_tide,“HHH”)Then ‘ 判断并取出潮位数据 If InStr(1,r_tide,“M”)Then r_data=Mid(r_tide,Instr(1,r_tide,“#”,vb_TextCompare),10) If tide_old<>r_data Then 只顯示最新数据 Text2.Text=text2.Text+Format(Time,“hh:mm:ss”)+“,”+r_data+vbCrLF tide_old=r_data Data_n=data_n+1 End If End If End If 4.3 数据记录 在程序窗口界面中有“保存”功能,可以直接保存数据显示窗口2中的已经识别出的数据; 当数据记录超过3个时,每接受一个数据就自动将数据窗口1中的数据保存在程序目录下的日期+tide_orig_data.txt文件中,这样当电脑发生异常启动后能保证数据记录器已经记录的完整数据。 串口原始读取数据(右) 4.4 数据显示 程序窗口的下半部分是数据显示部分。如果潮位数据有较大的跳动就容易在图表窗口发现数据的异常。是一个很使用的数据补充显示功能。 在应用程序中经常会使用图表表现数据,这个可视的方式可以更清晰地反映数据的变化趋势和进行数据对比,是支持决策最为直观的工具。在VB中可以使用MSCHART控件创建图表,并可以方便,快捷地显示各种类型的图表[3]。本程序利用的是MSCHART控件对识别出的数据进行图形显示。并同时更新4个数组来实现时间坐标轴的自动缩放功能。关键程序代码如下: ‘将数据奉新到显示数组中 If Option1.Value=True Then MSChart1.Chart Data=tidedata12 Else If Option2.value=true Then MSChart1.Chart Data=Tidedata 36 Else If Option3.value=True Then MSChart1.Chart Data=tide data72 Else MSChart1.Chart Data=tide data144 End If 5 软件优点 本软件已经成功应用于多次实验和世纪测量过程,其优点如下: 1) 操作简单 在外业测量时,只需使用数据线将电脑和潮位遥报仪连接好,再打开本程序,通过设置连接所用的串口就可以直接使用,操作方便。 2) 功能简单实用 软件打开后,只要串口有数据就可以显示到数据接收窗口中,并且可以自动在识别的数据之前增加当前系统时间,这样可以防止潮位发射台的时间不准确对数据的影响。 可以自动保存已经接收到的数据到程序目录下的临时文件中,可以有效减少机器故障对数据记录的影响,功能实用。 6 结束语 本文介绍了一种使用自主实现潮位遥报仪数据接收与采集的自研软件。“遥报仪数据记录器V1”。通过介绍的软件可以将潮位遥报仪的原始数据及接收数据的时间一同顯示。并可以保存数据中的接收时间,潮位和站台信息,具有很好的实用价值。 本程序当前只实现了简单的数据记录功能,潮位的图形显示,保存为其他数据格式等功能在后期的版本中会增加,完善程序功能。 参考文献: [1] 罗海英.基于vc++的GPS状态监控与数据采集软件的设计与实现[J].测绘通报,2010(12):27-29. [2] 孙秀梅.Visual Basic开发技术大全[M].北京:人民邮电出版社,2007:711-725,544. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。