刘迪,杨永平,邓标
(云南省电力设计院,云南昆明 650053)
基于VB的全站仪数据通信和转换
刘迪∗,杨永平,邓标
(云南省电力设计院,云南昆明 650053)
介绍了VB中的MSComm控件的使用方法,讨论了在计算机与全站仪之间进行数据通讯的关键技术。最后,以徕卡全站仪为例,给出实现两者数据通讯和格式转换的应用程序。
全站仪;MSComm;VB;数据通讯
随着测绘技术的不断发展、测绘仪器的更新换代、计算机的全面普及,测绘工作越来越向自动化、智能化方向发展[1]。尤其是智能全站仪的面世以及计算机技术的广泛使用,更是导致测量工作的一次革命。目前,全站仪的功能越来越强大,应用越来越广泛。从碎部测量到地形图数据采集,从纵横断面的测量到建筑物沉降监测,特别是自动监测系统,全站仪都显示出其特有的优势。因此,开发全站仪内部程序和内存,减轻测绘人员劳动强度,提高工作效率,就显得越来越重要。
本文利用可视化语言Visua Basic开发了全站仪通讯程序,并在徕卡TCR702、TCR802、TCR1201等多台仪器中试用。为了实现测量数据与测量工作软件的无缝联结,还开发了全站仪数据格式转换程序,现以徕卡TCR1201为例,介绍数据通讯的关键要点。
徕卡GSI数据记录格式是徕卡仪器自带的记录格式,它是由字索引、测量数据构成一个测量数据块,一行记录由一个或多个数据块组成[2]。示例如下:
110002+00000P01 21.324+14936324 22.324+05058439 31..00+00003304 81..00+03192573 82..00+06581725 83..00+01508046 87..10+00001680
以上数据中110002+00000P01中“11”表示测量点号的字索引,用于标识该数据块,“+”之后的“P01”为测量点号;21.324+14936324的“21”表示水平角,14936324是水平角为“149°36′32.4″”;22.324+05058439中的“22”表示垂直角,05058439是天顶距“50°58′43.9″”;31..00+00003304中的“31”表示斜距,00003304是斜距3.304 m。接下来的三个数据块表示目标点的三维坐标,东坐标Y=3 192.573 m,北坐标X=6 581.725 m,高程H=1 508.046 m;87..10+00001680中的“87”表示棱镜高,00001680是指棱镜高1.680 m。GSI格式的字索引码表如表1所示。
GSI格式字索引码 表1
全站仪除了提供这种数据格式外,还可以用徕卡测量办公软件格式管理器中创建的自定义格式。对于徕卡全站仪,型号不同,格式管理器中的自定义格式也略有不同。根据本单位的工作需要和编写程序的方便,自定义格式如下:
依次表示点号、水平角、垂直角、斜距、东坐标、北坐标、正高、仪器高、棱镜高和结束标志。根据工程的不同需要,导出相应的全站仪数据,再转换为测量软件需要的数据格式,实现全站仪与测绘软件的无缝联结。
MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。利用MSComm控制就可以实现计算机与全站仪的串口通讯。MSComm控件有很多重要的属性,但首先必须熟悉几个属性[3]。
MSComm控件属性 表2
全站仪数据通讯可以分为事后内存通讯和实时通讯,两种方式在设置MSComm控件上完全一致。现将事后内存通讯程序的主要代码示例如下:
全站仪数据导出来,可进行数据整理,即把自定义格式的数据全部读出来,界面如图1所示。
图1 事后内存通讯数据整理
最后可以根据自己需要导出一定的数据格式,满足测绘软件的要求。
全站仪数据实时传送与事后传送有两个区别,一是需要一个Timer控件来触发计时器事件,二是数据格式为GSI格式。MSComm控件设置一样,现将其他主要代码示例如下:
在计时器事件中,对实时数据进行转换,即把GSI格式转为测量常用的格式。在本例中,只提供转换“点号”和“水平角”的代码,其余的与转换“水平角”的类似。
图2 实时通讯数据整理
MSComm控件是由一系列Windows API函数封装集合而成,它使用户避开了对复杂的低层次函数的直接操作,提供标准的事件处理函数、过程,并通过属性的方法进行串行通讯参数的设置,可以较容易地解决串口通讯问题。
本程序在多个变电站和线路测量工程的实际使用过程中运行稳定、操作简单、结果准确、能减少测量人员的工作量,且数据输出格式能满足不同测量软件的数据格式要求。
[1] 刘兴权,梁艳平,肖红.计算机和全站仪通讯的关键技术[J].四川测绘,2000,23(3):121~122
[2] 徕卡测量系统有限公司.徕卡测量办公室使用手册[M].徕卡测量系统有限公司资料.
[3] 明日科技,高春艳,安剑等编.Visual Basic程序程序开发范例宝典[M].北京:人民邮电出版社,2009
Data Communication and Converting of Total Station Based on Visual Basic
Liu Di,Yang YongPing,Deng Biao
(Yunnan Electric Power Design Institute,Kunming 650051,China)
The using methods of VB MSComm contron are introduced in the paper,and the key technologys of data communication between computer and total station are discussed.At last,the application of data communication and converting are shown based on the example of Leica total station.
Total Station;MSComm;Visual Basic;Data Communication
1672-8262(2011)01-120-03
P209
B
2010—05—26
刘迪(1981—),男,工程师,主要从事GPS和电力工程测量的研究。