Zeiss电子水准仪DINI12的应用心得及其应用程序的开发_第1页
Zeiss电子水准仪DINI12的应用心得及其应用程序的开发_第2页
Zeiss电子水准仪DINI12的应用心得及其应用程序的开发_第3页
Zeiss电子水准仪DINI12的应用心得及其应用程序的开发_第4页
Zeiss电子水准仪DINI12的应用心得及其应用程序的开发_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Zeiss 电子水准仪DI NI12的应用心得及其应用程序的开发吴兵, 朱学明(常州市新北测绘勘察中心, 江苏常州213022摘要介绍了DINI12电子水准仪使用的心得, 探讨了该仪器的相关程序的开发问题, 并给出了采用VB 语言编制的程序的关键程序代码。关键词DINI12水准测量数据传输1引言基于CCD 传感器和微处理技术的快速发展, 采用数字水准仪进行高精度水准测量已经进入工程应用阶段。德国Zei ss 公司生产的电子水准仪D IN I12作为这一新兴大家族中的佼佼者, 其测量精度已经达到013m m/km , 完全满足了进行高等级水准测量精度的要求。在生产实践中我们可以用它做高等级水准控

2、制, 做建筑物沉降测量等等。笔者在应用过程中积累了一定的经验在此予以总结, 并介绍一下为解决相关问题用Vi sual Ba sic 开发的一个传输平差程序。2D INI12应用心得在使用中, 测量作业人员应该注意以下几个方面:2. 1施测环境震动情况这也是一般自动安平仪器要注意的一个方面。DINI12对震动相当敏感, 因为它不像一般非电子水准测量仪器可以通过观测细微振动的范围得到一比较准确的值, 它在测量时需要大概2到3秒的时间, 所以很难保证是在仪器相对稳定的情况下测得数据。所以要特别注意地表震动, 风力等不利因素。对此除了一般架设仪器的措施外,D INI12电子水准仪有很好的解决方案, 在

3、很大程度上避免了不合格成果的出现, 那就是测量微动键。测量微动键可以在不稳定情况下观察望远镜成像情况的同时抓住某一稳定时段测量, 减少了操作键盘导致的仪器的振动, 并且有助于提高工作效率。施测环境的光线对于一般光学仪器来讲, 当光线过暗时可以用手电等工具照亮标尺面进行读数。而对于D IN I 来说光线的强弱, 尺面亮度的均匀性都能产生重要影响。当光线较暗或在望远镜中可以看到强光的反射时都会使测量时间延长, 影响测量的精度甚至无法测出数据。而且在尺面亮度不均匀如有树枝等阴影时也会使之无法测得数据。所以在作业时要注意光线问题, 在一定需要照明时也不采用聚光灯, 如果用手电也应取下灯头的聚光反射面。

4、2. 3施测时标尺的远近距离、可视长度和宽度理论上DIN I12可以在115m 100m 的范围内用一个仅为30cm 的最小视场就可以确定高程和视距的大小。DIN I 12仪器可以在标尺条码只能看到23m m 宽的情况下测得数据, 这一能力较之普通水准仪有着很大的优势。2. 4其它方面如在进行高等级水准测量时前后视距累计差有一定要求, 但实测时不能直接显示。应经常按键盘上的“8”键查看前、后视距累积, 看两者之差以保证数据合格。另外如果采用机载软件平差, 在进入线路测量模式前设置数据记录模式时应设置为R MC , 否则将无法平差。目前我们还没有充分挖掘出该仪器潜力只接触到它强大功能的一部分,

5、例如DIN I12还集成了全站仪模式。这一功能作为水准仪功能的一种扩展虽然在工作中尚未充分采用, 但经过摸索给予这一新功能相应工作空间肯定可以极大方便我们测量工作。3相关程序的实现DIN I12水准仪内置了一个平差软件, 但每个线路只能平差一次, 所以有必要实现数据在计算机上的平差, 以防在仪器上平差输入错误, 或是平差时仪器断电导致的错误。针对本单位实际, 笔者采用2. 212Vi sual Basic 语言编制了一个程序完成仪器的数据传输及平差工作。311程序实现的流程首先利用MSCo mm 控件将外业观测数据传入电脑, 再将数据备份, 输入线路名称、观测员等线路基本信息, 读取数据文件截

6、取相关数据段进行计算, 将计算结果填入Excel 表格相应单元格。在这个流程中主要是以下几个关键步骤:数据传输; 识别线路类型及其计算; 生成Excel 表格其中线路类型在D IN I 12里有aB FFB 、B F FB 、B F 等八种, 以下将以aB F FB 为例进行讨论。312数据传输在模块中定义了一个字符型变量St rset 和一个整型变量Int port 用来赋通讯参数值和端口, 并作用于整个工程。程序中将通讯参数值和端口定为某一默认值, 但为了程序将来进一步扩展, 所以设置了一个窗体对它可以进行修改。St rset ="9600,n ,8,1"“9600”为

7、波特率、“n ”为奇偶校验、“8”为数据位、“1”为停止位Intpo rt =1端口即为COM1在实现通讯前应将其赋给MSComm 控件的Settings 和CommPor t 属性如下:MSComm1. CommPor t =Intport MSComm1. Settings =Str set另外还需设置的属性还有以下几个:MSComm1. InBu fferCount =0清除接收缓冲区MSComm1. InputMode =comInputMode Text 数据通过input 属性以文本形式取回MSComm1. R Threshold =1接收缓冲区每收到一个字符会使MSComm 控件

8、产生OnComm 事件MSComm1. Por tOpen =Tr ue 打开通讯端口在仪器上将通讯参数设为相同的值后发送数据, 接受缓冲区接受到字符后使MSComm 控件产生OnComm 事件。然后再利用com EvRecei ve 事件, 在此事件中将传输过来的数据不断在Rich Text 2Box 控件中显示出来。具体源程序如下:Private Sub M SCom m1-OnCo mm ( Dim t As St ringOn Error Re sume Ne xtSelect Ca se MSComm1. Comm EventCase comEvReceiveL =" 数据

9、传输中" =MS I R T x B x T x =R T x B x T x +S End Sub当显示内容不再增加就用下拉菜单中“结束传输”来关闭端口并将内容备份。313识别线路类型及其计算DIN I12采用M5格式存储数据, 可在第一行看到线路类型。当确定某一类型后, 将数据文件打开一行一行地读取数据并并将它赋给字符型数组jg (具体源程序如下:Open CommonDialog1. FileName For Inp ut As #2ReDim jg (1000For i =1To 1000If EOF (2 The n G o To pc End IfLi ne Input

10、#2, jg(iIf Mid (jg(i, 30, 5 =" #" Or Mid (jg (i, 22, 20 ="Mea surement repea ted" -Or Mid (jg (i , 22, 12 =" Inverted rod" Or Mid (jg (i , 22, 10 ="No rmal rod" -Or Mid (jg (i , 22, 16 =" Station repeated" Then 将测量过程中无效数据或提示信息行剔除i =i -1End If Next i

11、pc :Close #2得到j g (这一数组后可以通过Mid (函数在每一个变量中截取所需数据, 并进行相应计算, 计算过程较为基础, 在此不再赘述, 但在截取数据和计算时应观察数据内在规则。以aB FFB 为例, 数据从第3行开始每取5行都是相似的, 所以应设置一个循环进行赋值, 循环变量每次增加5。同时因为是交替法, 所以在取得数据后计算高差时应考虑到奇数站和偶数站的区别。以下源程序可作参考:j =2Do While (Mid(jg(j+3 , 22, 8 <>" End -Line" If m Mod 2<>0ThenpointNa m1=M

12、id (jg(j +1 , 22, 8 pointNa m2=Mid (jg (j +2 , 22, 8 rB1=Val (Mid (jg (j +1 , 52, 15 rB2=Val (Mid (jg (j +4 , 52, 15 r F1=Val (Mid (jg (j +2 , 52, 15 r F2=Val(Mid (jg(j+3 , 52, 15 bD1=Val (Mid (jg(j+1 , 84, 7 D =V (M (j(j+ , , fD =V (M (j(j + , , fD =V (M (j (j +3 , , abel1. Cap tio n t Co mm1. n p

13、utich e t o 1. e t ich e t o 1. e t tEn d electb 2al id g 48471al id g 28472al id g 847Elsepoint Na m1=Mid (jg(j+2 , 22, 8 point Na m2=Mid (jg(j+1 , 22, 8 rB1=Val (Mid (jg(j+2 , 52, 15 rB2=Val (Mid (jg(j+3 , 52, 15 r F1=Val (Mid (jg(j+1 , 52, 15 r F2=Val (Mid (jg(j+4 , 52, 15 bD1=Val (Mid (jg(j+2 ,

14、84, 7 bD2=Val (Mid (jg(j+3 , 84, 7 fD1=Val(Mid (jg(j+1 , 84, 7 fD2=Val(Mid (jg(j+4 , 84, 7 End Ifh1=rB1-r F1h2=rB2-r F2h3=(h1+h2 /2求高差hh =hh +h3求高差累积d1=(bD1+bD2 /2d2=(f D1+fD2 /2dd =d1-d2求前后视距差SUM1=SUM1+dd 求前后视距差累积SUM2=SUM2+d1+d2求线路总长j =j +5Loop另外还需注意的是一个文件一般含有多条线路, 所以我们要在Do While (循环条件中进行判断线路的开始和结束

15、。314生成Excel 表格生成表格有两种方式, 一种就是直接用编程语言一次性完成, 一种是作出空白表格向其中填写数据。建议使用后者, 因为后者可以形成直观的空的样板表格, 避免了为生成表格布局而进行的繁复地调试, 同时可方便修改。其建立的源程序如下:创建e xcel application 对象.Set exceL -app =CreateObject (" Excel. Application" CommonDialog1.DialogT itle =" 保存线路" &n CommonDialog1. Filter =" 3. xl

16、 s"Co mmonDialog1. ShowSave 打开一个excel 文件exceL -app. Workbooks. Open FileNa me :=" c :win 2dowstable. xls"W or kbooks("table. xls" . ActivateSet exceL -wo rkbook =exceL -app. ActiveWor kbook exceL -workbook. SaveA s CommonDialog1. FileName用以下语句激活工作表就可以将数据写入表中了。exceL -app. W or ksheets(n . ActivateSet exceL -sheet =exceL -app. Ac tive Sheet因为向表格中填写以及改变单元格格式等都可以通过Excel 自带的“录制宏”的功能了解, 所以不详加阐述。为了表格的灵活性, 改变起始点高程要求中间点高程要相应改变, 以避免像在仪器内部平差那样不可修改。插入公式可以参考以下这段语句:exceL -sheet. Cells (m , 10 . SelectActive Cel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论