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