日韩欧美视频一区-日韩欧美三区-日韩欧美群交P内射捆绑-日韩欧美精品有码在线播放免费-成人免费一区二区无码视频-成人免费一级毛片在线播放视频

樹人論文網一個專業的學術咨詢網站!!!
樹人論文網

VB.Net編寫實時通訊程序軟件開發論文發表

來源: 樹人論文網發表時間:2013-05-21
簡要:摘 要:本文介紹采用Visual Basic.Net開發南方全站儀實時通訊程序的經過和方法,實現了外業測量數據的實時同步處理,對外業工作及時的提供分析。

  摘 要:本文介紹采用Visual Basic.Net開發南方全站儀實時通訊程序的經過和方法,實現了外業測量數據的實時同步處理,對外業工作及時的提供分析。

  關鍵詞:全站儀,實時通訊

  1 概述

  隨著測繪技術的發展,全站儀在工程測量中的使用越來越廣泛。為了快速方便的獲取測量數據的分析結果,及時的對工程施工給出指示,那么我們就需要對測量數據進行實時處理,而處理數據的前提是我們能夠動態的獲取全站儀測量的數據,即全站儀實時通訊技術。我們用Visual Basic.Net編寫了南方全站儀實時通訊軟件。通過數據線將全站儀與筆記本電腦(或者電子手簿)連接,實現了全站儀每測量一次數據,都會自動的傳輸到電腦里面,通過后處理軟件,及時給出我們需要的數據分析結果。本文以南方NTS-360型號全站儀為例,介紹在測量工程中實時通訊技術的開發與應用。

  2 編程思路

  本程序的的編寫主要是用Microsoft Mscomm控件通過串口連接進行數據通訊。南方全站儀與計算機通訊的信號響應按照以下步驟實現:

  (1)計算機向儀器發送第一類指令(指令“C” ASCII碼:43H 30H 36H 37H 03H 0DH 0AH);

  (2)儀器檢查指令“C”的BCC,若接收的指令正確,則在0.05秒內儀器向計算機發送承認信號“ACK”。若接收的指令不正確,則儀器不向計算機發送回答信號。

  有效指令ACK ASCII碼:06H 30H 30H 36H 03H 0DH 0AH;

  無效指令NAK ASCII碼:14H 30H 32H 31H 03H 0DH 0AH;

  (3)若計算機在0.05秒內未接收到來自儀器的承認信號“ACK”,則計算機必須再發送一次指令“C”;

  (4)步驟3最多能重復10次,此后計算機會中斷通訊并顯示錯誤信息;

  (5)儀器接收到指令“C”后,開始測量;測量完畢,自動發送數據;

  (6)當計算機正確地接收數據并檢查BCC之后,必須在0.3秒之內向儀器發送“ACK”。當儀器接收到“ACK”,則通訊完畢;

  (7)若接收的數據有通訊錯誤,則計算機不會發送“ACK”。然后,儀器會再次向計算機發送同樣的數據;

  (8)步驟7最多能重復10次,此后計算機會中斷通訊并顯示錯誤信息。

  全站儀測量數據實時傳輸至計算機以后,通過后處理軟件對這些數據進行處理,就可以得到我們需要的分析結果了。例如,我們測量的坐標數據實時傳輸至計算機以后,可以通過后處理軟件直接比較所測數據與設計數據的偏差,及時的指導工程施工。

  3編程過程

  3.1建立用戶界面

  (1)運行Microsoft Visual Studio 2005,新建項目文件南方NTS-360全站儀測量實時通訊,將默認窗體名稱改為南方NTS-360全站儀測量實時通訊,在其界面下添加AxMSComm1控件,用來實現全站儀與計算機之間的數據傳輸。并添加以下各個控件,來構成整個程序的主界面。

  (2)定義變量協議的各項參數:

  Dim Out() As Byte '接收全站儀數據

  Dim TXDK As Integer '標記通訊端口

  Dim BTL、SJW、TZW、JY As String '標記波特率、數據位、停止位、校驗類型

  (3)添加通訊端口、波特率、數據位、停止位、校驗等幾組單選控件,用來對通訊協議參數的進行設置。

  雙擊COM1、COM2、COM3、COM4、COM5、COM6單選控件,編寫對應的如下代碼:

  TXDK = 1;

  雙擊1200、2400、4800、9600單選控件,編寫對應的如下代碼:

  BTL = 1200;

  雙擊7位、8位單選控件,編寫對應的如下代碼:

  SJW = 7;

  雙擊1位、2位單選控件,編寫對應的如下代碼:

  TZW = 1;

  雙擊無校驗(n)、奇校驗(o)、偶校驗(e)單選控件代碼,編寫對應的如下代碼:JY = n;

  添加一個文本框控件,用來設置通訊連接的超時時間限制。

  (4)雙擊開始測量按鈕,編寫以下代碼:

  '通訊協議參數設置

  With AxMSComm1

  .CommPort = TXDK '設置Com1為通信端口

  .Settings = BTL & “,” & JY & “,” & SJW & “,” & TZW

  .InBufferSize = 1024 '設置緩沖區接收數據為字節

  .OutBufferSize = 1024 '設置緩沖區發送數據為字節

  .InputLen = 0 '設置Input一次從接收緩沖讀取字節數

  .RThreshold = 1 '設置接收一個字節就產生OnComm事件

  .InputMode = 1 '設置接收數據類型為二進制

  End With

  '打開串口

  Try

  If AxMSComm1.PortOpen = False Then

  AxMSComm1.PortOpen = True

  Else

  AxMSComm1.OutBufferCount = 0

  End If

  Catch ex As Exception

  MsgBox(ex.ToString)

  End Try

  '通信開始

  Dim strCmd As String

  '發送坐標測量模式指令

  strCmd = "\0x5a\0x36\0x32\0x30\0x39\0x34\0x03\0x0d\0x0a"

  Try

  AxMSComm1.Output = strCmd

  Catch ex As Exception

  MsgBox(ex.ToString)

  Exit Sub

  End Try

  Thread.Sleep(300)

  '發送c指令

  strCmd = "\0x43\0x30\0x36\0x37\0x03\0x0d\0x0a"

  Try

  AxMSComm1.Output = strCmd

  Catch ex As Exception

  MsgBox(ex.ToString)

  Exit Sub

  End Try

  '發送Ack指令

  strCmd = "\0x06\0x30\0x30\0x36\0x03\0x0d\0x0a"

  Try

  AxMSComm1.Output = strCmd

  Catch ex As Exception

  MsgBox(ex.ToString)

  Exit Sub

  End Try

  (5)雙擊AxMSComm1控件,編寫以下代碼:

  Select Case AxMSComm1.CommEvent

  Case 1 'comEvSend發送數據

  Case 2 'comEvReceive讀取數據

  Out = AxMSComm1.Input

  Dim buf As String = ASCIIEncoding.GetString(Out) '數據類型轉換

  TextBox2.Text = TextBox2.Text & buf '顯示數據

  Case Else '傳輸事件出錯

  AxMSComm1.OutBufferCount = 0

  End Select

  3.2數據轉換

  在全站儀啟動坐標測量之后,實時傳輸至計算機的坐標數據格式如下:

  我們可以分析得出在坐標測量模式下的各項數據:

  “U” 坐標模式標識符

  “+00000002121” N坐標 0.175m

  “-00000000485” E坐標 0.485m

  “+00000000548” Z坐標 0.548m

  “m” 距離單位

  “3470702” 水平角

  “d” 角度單位

  “095” 校驗值

  依據此分析結果編寫代碼如下:

  Dim Str1,Str2 As String

  Dim N,E,Z As Double

  Str1 = TextBox2.Text

  Dim i As Integer = Str1.IndexOf("U")

  Str1.CopyTo(i + 1, Str2, 0, 12)

  N = Val(Str2)

  Str1.CopyTo(i + 13, Str2, 0, 12)

  E = Val(Str2)

  Str1.CopyTo(i + 25, Str2, 0, 12)

  Z = Val(Str2)

  通過以上步驟,我們實時的獲取了我們在測量工程作業中需要 N,E,Z坐標。如果需要角度測量、斜距測量等其他模式,只需修改對應的指令代碼和數據轉換代碼即可。

  4結論

  本文主要介紹全站儀的實時通訊技術在坐標測量模式下的實現方法,至于我們實時獲取了坐標數據之后,如何做進一步的分析處理,則需要根據各種測量工程的特點編寫對應的后處理軟件,來得到分析結果,以對工程施工進行指示、校正。

  本程序已經使用了2年之久,運行穩定,結果可靠,操作簡單,在外業及時的自動處理數據,給出分析結果,大大提高了工作效率。

  參考文獻

  [1] 季斌德,邵自修. 工程測量[M].北京:測繪出版社,2002.01.

  [2] 何保喜.全站儀測量技術[M].鄭州:黃河水利出版社,2005.08.

  [3] 武大測繪學院平差學科組.誤差理論與測量平差基礎[M].武漢:武漢大學出版社,2003.01

  [4]陳戰林,耿宏運.Visual Basic.NET高級編程[M].北京:電子工業出版1999.05

上一篇:沒有了
主站蜘蛛池模板: 日本邪恶全彩工囗囗番海贼王 | 亚洲精品AV无码永久无码 | 操他射他影院 | 国产成在线观看免费视频 | 香蕉eeww99国产精品 | 亚洲福利电影一区二区? | 99视频国产热精品视频 | 亚洲男人天堂2018av | 嘟嘟嘟在线视频免费观看高清中文 | 国产互换后人妻的疯狂VIDEO | AV无码久久无遮挡国产麻豆 | 日韩免费一区二区三区在线 | 日本一本道高清码v | 久久久精品久久久久特色影视 | 国色天香社区视频免费高清3 | 国产美女久久久久久久久久久 | 99热在线精品免费全部my | 黄页网站免费视频大全9 | 人人碰在线视频 | 国产欧美一区二区三区视频 | 人妻夜夜爽天天爽三区麻豆AV网站 | 国产人妻777人伦精品HD | 久久人人玩人妻潮喷内射人人 | 2018国产天天弄谢 | 9亚洲欧洲免费无码在线 | 电影日本妻子 | 久草大 | yellow在线观看免费高清的日本 | 欧美视频毛片在线播放 | 久久AAAA片一区二区 | 精选国产AV精选一区二区三区 | 永久免费在线视频 | 亚洲qingse中文字幕久久 | 日本一本在线播放 | 97久久无码精品AV | 美女视频黄色的 | 在线精彩视频在线观看免费 | 久久亚洲伊人 | 亚洲精品综合在线影院 | 亚洲国产成人精品不卡青青草原 | 亚洲免费网站观看视频 |