劉迪,楊永平,鄧標(biāo)
(云南省電力設(shè)計(jì)院,云南昆明 650053)
基于VB的全站儀數(shù)據(jù)通信和轉(zhuǎn)換
劉迪?,楊永平,鄧標(biāo)
(云南省電力設(shè)計(jì)院,云南昆明 650053)
介紹了VB中的MSComm控件的使用方法,討論了在計(jì)算機(jī)與全站儀之間進(jìn)行數(shù)據(jù)通訊的關(guān)鍵技術(shù)。最后,以徠卡全站儀為例,給出實(shí)現(xiàn)兩者數(shù)據(jù)通訊和格式轉(zhuǎn)換的應(yīng)用程序。
全站儀;MSComm;VB;數(shù)據(jù)通訊
隨著測(cè)繪技術(shù)的不斷發(fā)展、測(cè)繪儀器的更新?lián)Q代、計(jì)算機(jī)的全面普及,測(cè)繪工作越來(lái)越向自動(dòng)化、智能化方向發(fā)展[1]。尤其是智能全站儀的面世以及計(jì)算機(jī)技術(shù)的廣泛使用,更是導(dǎo)致測(cè)量工作的一次革命。目前,全站儀的功能越來(lái)越強(qiáng)大,應(yīng)用越來(lái)越廣泛。從碎部測(cè)量到地形圖數(shù)據(jù)采集,從縱橫斷面的測(cè)量到建筑物沉降監(jiān)測(cè),特別是自動(dòng)監(jiān)測(cè)系統(tǒng),全站儀都顯示出其特有的優(yōu)勢(shì)。因此,開(kāi)發(fā)全站儀內(nèi)部程序和內(nèi)存,減輕測(cè)繪人員勞動(dòng)強(qiáng)度,提高工作效率,就顯得越來(lái)越重要。
本文利用可視化語(yǔ)言Visua Basic開(kāi)發(fā)了全站儀通訊程序,并在徠卡TCR702、TCR802、TCR1201等多臺(tái)儀器中試用。為了實(shí)現(xiàn)測(cè)量數(shù)據(jù)與測(cè)量工作軟件的無(wú)縫聯(lián)結(jié),還開(kāi)發(fā)了全站儀數(shù)據(jù)格式轉(zhuǎn)換程序,現(xiàn)以徠卡TCR1201為例,介紹數(shù)據(jù)通訊的關(guān)鍵要點(diǎn)。
徠卡GSI數(shù)據(jù)記錄格式是徠卡儀器自帶的記錄格式,它是由字索引、測(cè)量數(shù)據(jù)構(gòu)成一個(gè)測(cè)量數(shù)據(jù)塊,一行記錄由一個(gè)或多個(gè)數(shù)據(jù)塊組成[2]。示例如下:
110002+00000P01 21.324+14936324 22.324+05058439 31..00+00003304 81..00+03192573 82..00+06581725 83..00+01508046 87..10+00001680
以上數(shù)據(jù)中110002+00000P01中“11”表示測(cè)量點(diǎn)號(hào)的字索引,用于標(biāo)識(shí)該數(shù)據(jù)塊,“+”之后的“P01”為測(cè)量點(diǎn)號(hào);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。接下來(lái)的三個(gè)數(shù)據(jù)塊表示目標(biāo)點(diǎn)的三維坐標(biāo),東坐標(biāo)Y=3 192.573 m,北坐標(biāo)X=6 581.725 m,高程H=1 508.046 m;87..10+00001680中的“87”表示棱鏡高,00001680是指棱鏡高1.680 m。GSI格式的字索引碼表如表1所示。
GSI格式字索引碼 表1
全站儀除了提供這種數(shù)據(jù)格式外,還可以用徠卡測(cè)量辦公軟件格式管理器中創(chuàng)建的自定義格式。對(duì)于徠卡全站儀,型號(hào)不同,格式管理器中的自定義格式也略有不同。根據(jù)本單位的工作需要和編寫(xiě)程序的方便,自定義格式如下:
依次表示點(diǎn)號(hào)、水平角、垂直角、斜距、東坐標(biāo)、北坐標(biāo)、正高、儀器高、棱鏡高和結(jié)束標(biāo)志。根據(jù)工程的不同需要,導(dǎo)出相應(yīng)的全站儀數(shù)據(jù),再轉(zhuǎn)換為測(cè)量軟件需要的數(shù)據(jù)格式,實(shí)現(xiàn)全站儀與測(cè)繪軟件的無(wú)縫聯(lián)結(jié)。
MicrosoftCommunicationsControl(以下簡(jiǎn)稱(chēng)MSComm)是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。利用MSComm控制就可以實(shí)現(xiàn)計(jì)算機(jī)與全站儀的串口通訊。MSComm控件有很多重要的屬性,但首先必須熟悉幾個(gè)屬性[3]。
MSComm控件屬性 表2
全站儀數(shù)據(jù)通訊可以分為事后內(nèi)存通訊和實(shí)時(shí)通訊,兩種方式在設(shè)置MSComm控件上完全一致?,F(xiàn)將事后內(nèi)存通訊程序的主要代碼示例如下:
全站儀數(shù)據(jù)導(dǎo)出來(lái),可進(jìn)行數(shù)據(jù)整理,即把自定義格式的數(shù)據(jù)全部讀出來(lái),界面如圖1所示。
圖1 事后內(nèi)存通訊數(shù)據(jù)整理
最后可以根據(jù)自己需要導(dǎo)出一定的數(shù)據(jù)格式,滿足測(cè)繪軟件的要求。
全站儀數(shù)據(jù)實(shí)時(shí)傳送與事后傳送有兩個(gè)區(qū)別,一是需要一個(gè)Timer控件來(lái)觸發(fā)計(jì)時(shí)器事件,二是數(shù)據(jù)格式為GSI格式。MSComm控件設(shè)置一樣,現(xiàn)將其他主要代碼示例如下:
在計(jì)時(shí)器事件中,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,即把GSI格式轉(zhuǎn)為測(cè)量常用的格式。在本例中,只提供轉(zhuǎn)換“點(diǎn)號(hào)”和“水平角”的代碼,其余的與轉(zhuǎn)換“水平角”的類(lèi)似。
圖2 實(shí)時(shí)通訊數(shù)據(jù)整理
MSComm控件是由一系列Windows API函數(shù)封裝集合而成,它使用戶避開(kāi)了對(duì)復(fù)雜的低層次函數(shù)的直接操作,提供標(biāo)準(zhǔn)的事件處理函數(shù)、過(guò)程,并通過(guò)屬性的方法進(jìn)行串行通訊參數(shù)的設(shè)置,可以較容易地解決串口通訊問(wèn)題。
本程序在多個(gè)變電站和線路測(cè)量工程的實(shí)際使用過(guò)程中運(yùn)行穩(wěn)定、操作簡(jiǎn)單、結(jié)果準(zhǔn)確、能減少測(cè)量人員的工作量,且數(shù)據(jù)輸出格式能滿足不同測(cè)量軟件的數(shù)據(jù)格式要求。
[1] 劉興權(quán),梁艷平,肖紅.計(jì)算機(jī)和全站儀通訊的關(guān)鍵技術(shù)[J].四川測(cè)繪,2000,23(3):121~122
[2] 徠卡測(cè)量系統(tǒng)有限公司.徠卡測(cè)量辦公室使用手冊(cè)[M].徠卡測(cè)量系統(tǒng)有限公司資料.
[3] 明日科技,高春艷,安劍等編.Visual Basic程序程序開(kāi)發(fā)范例寶典[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和電力工程測(cè)量的研究。