(大地测量学与测量工程专业论文)基于gprs的wince+gts720全站仪数据自动传输研究.pdf_第1页
(大地测量学与测量工程专业论文)基于gprs的wince+gts720全站仪数据自动传输研究.pdf_第2页
(大地测量学与测量工程专业论文)基于gprs的wince+gts720全站仪数据自动传输研究.pdf_第3页
(大地测量学与测量工程专业论文)基于gprs的wince+gts720全站仪数据自动传输研究.pdf_第4页
(大地测量学与测量工程专业论文)基于gprs的wince+gts720全站仪数据自动传输研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(大地测量学与测量工程专业论文)基于gprs的wince+gts720全站仪数据自动传输研究.pdf.pdf 免费下载

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

文档简介

辽宁工程技术大学硕士学位论文 摘要 随着各学科不断地融合,远程数据通讯将广泛应用于测绘领域本文 提出了w i n d o w sc e 操作系统的g t s 一7 2 0 全站仪同计算机实现远程数据通讯 的思路,并介绍了如何根据接收到的坐标数据实现在a u t o c a d 上展点以及 将数据存入a c c e s s 数据库的功能。本系统功能具有以下特点: 全站仪向计算机传输数据是实时的、自动的; 在a u t o c a d 上展点时,a u t o c a d 不阻塞。 由于应用了远程通讯技术,该系统使用起来有较大的灵活性,对接收 数据的计算机的位置没有要求,根据实际情况可以选择在室内也可以选择 在野外。 关键词:全站仪;g p r s ;远程数据通讯 辽宁工程技术大学硕士学位论文 a b s t r a c t a l o n gw i t hv a r i o u sd i s c i p l i n e su n c e a s i n g l ya m a l g a m a t i n g ,t h el o n gr a n g e d a t ac o m m u n i c a t i o nw i l lw i d e l ya p p l yt om a p p i n gd o m a i n t h i st h e s i sc o m eu p w i t ht h et h o u g h tt h a tg t s 7 2 0t o t a ls t a t i o ni n s t r u m e n tb e a r i n go p e r a t i n g s y s t e mo fw i n d o w sc er e a l i z el o n gr a n g ed a t ac o m m u n i c a t i o nw i t h t h e c o m p u t e r ,a n dt h a tp l o t t i n go fp o i n t sc a nb ec a r r i e do u ti na u t o c a do nb a s eo f t h ec o o r d i n a t e so fp o i n t sa n dd a t ac a nb es t o r e d 协t h ea c c e s sd a t a b a s ea tt h e s a m et i m e t h ef u n c t i o n so ft h es y s t e mh a v et h ef o l l o wf a c t o r s : t h ed a t a t r a n s m i t t i n gf r o mt o t a ls t a t i o n i n s t r u m e n tt o c o m p u t e r i s r e a l - t i m e ,a u t o m a t i c ; t h ea u t o c a dd o n tb l o c kw h e np o i n t si sp l o t t i n g b e c a u s eo ft h ea p p l i c a t i o no ft h el o n g - r a n g ec o m m u n i c a t i o n st e c h n o l o g y , t h es y s t e mc a nb ea p p l i e df l e x i b l y ,c o m p u t e rc a nb ei n d o o r so ro u t d o o r s a c c o r d i n gt ot h ea c t u a ls i t u a t i o n k e yw o r d s :t o t a ls t a t i o ni n s t r u m e n t :g p r s ;l o n gr a n g ed a t ac o m m u n i c a t i o n 辽宁工程技术大学硕士学位论文 1 前言 1 1 选题背景 目前,全站仪和计算机数据通讯一般都采用有线方式进行,其缺点是传 输距离受到数据线长度的限制,尽管出现了以蓝牙为代表的近距离无线通 讯技术,但还是不能从根本上解决问题。如果采用以上方式把全站仪测定的 数据实时传输到计算机中,就需要现场携带计算机,并且要求计算机和全站 仪一同作业或近距离作业,这显然是很不方便的。因而在实际工作中一般都 是先完成外业测量工作,然后把所有数据一起传输到计算机中,再完成内业 处理工作。这种内外业分离的作业模式不利于实时发现错误,并实时改正, 一旦返工将耗费大量的入力和物力;而且全站仪不能实时得到内业处理中心 ( 计算机部分) 的技术支持,现场发现的闯题不能实时得到解决,这样势必 会影响工作效率。g p r s 的出现使得远程数据通讯广泛应用于生产生活的各个 领域,由于g p r s 网络是建立在移动网络基础之上的,其优点是网络覆盖范 围广,传输的距离没有限制口1 。随着各学科融合不断提高,远程数据通讯应 用于测绘领域将是测绘技术一个新的发展方向“1 ,当前拥有w i n c e 嵌入式操 作系统全站仪的出现,使得全站仪的二次开发简单且容易开发出功能强大的 程序“1 。基于以上情况我们可以开发基于g p r s 的w i n c e 全站仪数据通讯系 统,实现了远程数据通讯,从而接收数据的计算机根据实际情况可以在野外, 也可以在室内。这一系统的实现将把采集数据的全站仪和数据处理的计算机 联为一体,可以实现数据采集和数据处理的一体化作业,两者可以根据需要 提供相互支持。 1 2 系统功能要点 因为开发本系统的目的是服务于测绘行业,如果单纯实现通讯的功能作 用并不大,考虑到实用的目的,本通讯系统具有如下特点: 实时性:全站仪测定的坐标能实时传输到计算机中; 自动性:只要全站仪和计算机建立好连接后,计算机端不需要任何操作, 同时全站仪只需实施正常测量也不需任何其它的操作,就能实现全站仪测定 辽宁工程技术大学硕士学位论文 2 的坐标传输到计算机中。 另外考虑到a u t o c a d 是测绘行业常用的工具软件,所以在通讯的基础上 实现了在a u t o c a d 上展点的功能,因为接收到的数据是实时的、自动的,所 以在a u t o c a d 上展点也是实时的、自动的,而且点的实体、点号及高程分别 展在三个图层上,而且在展点时a u t o c a d 不会阻塞;最后还实现了将接收到 的数据存入a c c e s s 数据库的功能。 l 3 论文研究内容 本文以w i n d o w sc e 操作系统的g t s - 7 2 0 全站仪为例,研究了全站仪和 计算机远程数据通讯的阔题。要实现上述功能需要研究以下问题: 。 ( 1 ) 分析了嵌入式开发要点和g t s - 7 2 0 全站仪开发函数的使用,解决 了实时获得全站仪测定坐标的问题; ( 2 ) 通过分析t c p i p 网络体系结构和s o c k e t 网络编程接口,解决了 数据自动传输的问题; ( 3 ) 分析了m f c 联合0 b j e c t a r x 开发a u t o c a d 的方法,把网络通讯功 能应用到a u t o c a d 中,实现了根据传输到计算机中的坐标数据进行自动在 a u t o c a d 上展点的功能; ( 4 )研究了a d o 连接a c c e s s 数据库的方法,实现了动态建立a c c e s s 数据库及传输到计算机中的数据自动存入a c c e s s 数据库的功能。 辽宁工程技术大学硕士学位论文 3 2 系统开发环境及相关知识简介 在开发此系统前需要先选择软硬件环境: ( 1 ) 嵌入式开发工具的选择:本系统开发使用的全站仪是拓普康公司 的彩屏w i n c e ( 嵌入式操作系统) 智能全站仪七t s 一7 2 0 ,此全站仪上安装的操 作系统是w i n c e n e t 4 2 ,用e v c ( 嵌入式开发工具) 进行开发要求开发工具 的版本同其开发出的程序运行所在的操作系统的版本必须一致邸,所以用 e v c 4 0 ( e v c n e t ) 极其补丁e v c 4 s p 2 e x e 开发g t s 一7 2 0 全站仪。 ( 2 ) a u t o c a d 开发工具的选择:o b j e c t a r x 代表a u t o c a d 最高开发水 平的开发技术。用o b j e c t a r x 开发出的程序与a u t o c a d 共享地址空间, 可 直接访问a u t o c a d 数据库哺1 o b j e c t a r x 相比其它的开发工具在运行速度、 稳定性及运行效率上优势明显超越其它开发工具,考虑到版本的兼容性选择 在v c 6 0 环境下用o b j e c t a r x 2 0 0 2 开发a u t o c a d 2 0 0 2 。 ( 3 ) 对计算机软硬件的要求:对接收数据的计算机的硬件及操作系统 没有什么特别的要求,普通配置的计算机安装x p 操作系统即可,但必须接 入i n t e r n e t 。 ( 4 )无线网卡的选择:嵌入式系统中软件同硬件是相关的,所以选 择网卡很重要。g t s - 7 2 0 全站仪有三个接口,分别是u s b b 接口、r s - 2 3 2 c 六芯接口、c f ( i i 型) 接口。原则上应该选r s 一2 3 2 c 这种接口,因为它执行了 统一标准h 1 ,只要有这种接口不需要任何驱动就能使用。但实际选购中, 市场上标准接口无线网卡只有9 芯的和2 5 芯的,6 芯接口是没有的。最后经 过反复咨询厂家技术人员和试验,本系统选定了熊猫p w 8 2 8 cg p r sc f ( i 型) 接口的无线网卡( 如图2 - 2 ) ( c f ( i i 型) 接口兼容c f ( i 型) 接口) 。只有网卡 是不够的,另外还必须有开通g p r s 业务的s l m ( s u b s c r i b e ri d e n t i t y m o d u l e ) 卡,因为g p r s 是移动公司的业务,所以s i m 卡必须也是移动公司 的” 辽宁工程技术大学硕士学位论文 4 图2 - 1g j r s 一7 2 0 全站仪 2 1w i n c e 操作系统简介 图2 - 2p m 8 2 8 c 无线网卡 w c e 是为各种嵌入式系统和产品设计的一种压缩的、高效的、可升级的 操作系统( o s ) 凹3 。其多线性、多任务、全优先的操作系统环境是专门针对资 源有限而设计的。这种模块化设计使嵌入式系统开发者和应用软件开发者能 够定做各种产品。从操作系统内核的角度看,w i n c e 具有灵活的电源管理功 能,包括睡眠唤醒模式;从编程的角度看,w i nc e 所支持的编程界面是大 家所熟悉的w i n 3 2a p i 的子集,它支持6 0 0 多种最常用的w i n 3 2a p i n ”。它 具有专门为实时嵌入应用而设计的抢先式多任务的操作系统核心,可以烧入 r o m ,操作系统核心只用5 0 0 k 字节的r o m 和2 5 0 k 字节的r a m 。 2 2e v c 简介 e v c 是m i c r o s o f t 公司推出的w i n c e 程序的可视化开发工具,是e m b e d d e d v i s u a lt o o l 的重要组成部分n “。利用e v c 用户可以开发出规模较大,功能 较复杂的w i n c e 应用程序和流式驱动程序,w i n c e 应用程序的开发不同于 w i n d o w s 桌面应用程序的开发,其中主要表现在开发桌面应用程序时,应用 程序同时在桌面操作系统中运行,而在开发w i n c e 应用程序时,则需要将 辽宁工程技术大学硕士学位论文 w i n c e 应用程序下载到目标设备上运行,所以我们开发基于g t s 一7 2 0 全站仪 的应用程序时要保持p c 机与g t s 一7 2 0 全站仪相连。所以本系统程序在p c 机 中开发,在全站仪中运行,当然e v c 4 0 本身为开发者提供了模拟运行环境, 可将程序下载到模拟器环境中运行,这样仅有一台p c 机亦可完成w i n c e 程 序的开发工作。需要注意的是,应用程序在模拟器中运行需要网络支持,如 果开发人员没有网络支持应安装虚拟网络环境珈环网络适配器。另外一 般情况下,应用程序在模拟器中与在g t s - 7 2 0 全站仪中运行结果并不完全一 致,在模拟器中正常运行的程序在g t s - 7 2 0 全站仪中也可能出现无法运行或 运行出错的情况,因此程序开发最终结果应在g t s - 7 2 0 全站仪中试验、运行, 并最终通过。 2 3o b j e c t a r x 简介 a u t o c a d 强大的生命力在于它的通用性、多种工业标准和开放的体系结 构。其通用性使得它在机械、船舶、建筑等领域得到了极为广泛的应用,但 是不同的行业标准使得各领域在使用a u t o c a d 的过程中均需根据自身特点进 行定制或开发。o b j e c t a r x ( a u t o c a dr u n t i m ee x t e n s i o n ) 作为继a u t o l l s p 、 a d s 后的第三代开发工具,采用全新的面向对象“引编程技术、使对a u t o c a d 的开发从形式到内容均发生了巨大的变化,受到了a u t o c a d 用户和程序开 发人员的一致欢迎。0 b j e c t a r x 环境下的开发技术代表以p c 机为硬件平台的 a u t o c a d 应用软件最先进的开发技术。a r x 程序本质上是w i n d o w s 动态链接 库( d l l ) 程序“”,它与a u t o c a d 共享地址空间,可直接调用a u t o c a d 的核 心函数,还可直接访问a u t o c a d 数据库的核心数据结构和代码,以便能够在 运行期间扩展a u t o c a d 固有的类及其功能,创建能够全面享受a u t o c a d 固有 命令特权的新命令,在o b j e c t a r x 应用程序中定义的命令与a u t o c a d 的内部 命令运行方式相同,而且在o b j e c t a r x 应用程序中创建的实体对象和 a u t o c a d 中创建的实体对象没有区别,o b j e c t a r x 程序与a u t o c a d 、w i n d o w s 之问均采用w i n d o w s 消息传递机制直接通信。o b j e c t a r x 程序在运行速度, 稳定性及运行效率上优势明显超越其它开发工具,因此选择o b j e c t a r x 作为 开发工具。 辽宁工程技术大学硕士学位论文6 2 4g p r s 简介 在计算机和通讯相互结合的过程中,交换的方式也随着实际的需要不断 的修改和完善1 ,g p r s 是通用分组无线业务( g e n e r a lp a c k e tr a d i o s e r v i c e ) 的英文简称,是在现有g s m 系统上添加一些网络节点软硬件设备发 展出来的一种新的数据通讯承载业务,目的是为g s m 用户提供分组形式的数 据业务( g s m 网络的语音通信是电路交换方式) “”。作为向3 g ( g e n e r a t i o n ) 标准过渡的2 5 g 的无线数据业务,g p r s 被认为是第二代移动通信向第三代 演进的重要一步“”正因为其数据传输采用了分组方式,所以使得g p r s 网 络可以直接和i n t e r n e t ( i n t e r n e t 数据传输也采用分组方式) 相连,使得 移动网络和互联网连成一体。g p r s 特别适用于间断的、突发性的、频繁的、 少量的数据传输,也适用于偶尔的大量数据传输。 2 5 数据库简介 数据库是指一组排列成易于处理或读取的相关的记录,根据数据模型可 分为三种:层次模型( 采用树型结构) 、网络模型( 采用无向图型结构) 、关 系模型( 采用二维表结构) 。关系型数据库是最常用的一种数据库,它是根 据表,记录和字段之间的关系进行组织和访问的一种数据库。m i c r o s o f t a c c e s s 就是一种常用的关系型数据库,它是一种功能完备的系统,几乎包含 了所有数据库领域的所有技术和内容“”。 a d o ( a c t i v e xd a t ao b j e c t s ) ,是微软推出的又一项数据库访问技术,是建 立在o l e d b 基础之上的典型的0 l e d b 使用程序,是o l e d b 的高层接口,具有 o l e d b 的所有功能,且隐藏了o l e d b 的复杂语法,性能好且容易学“”。a d o 是面向对象的,其作为a c t i v e x 的一部分,也是m i c r o s o f t 的组件对象模型 ( c o m ) 的一部分,它的面向组件的框架用以将程序组装在一起。 a d o x ( a c t i v e xd a t ao b j e c t se x t e n t i o n ) 扩展了a d o 的对象模型,提供了 十几个新的对象,它们都可以和a d o 配合使用,a d o x 可以用来执行一系列 用a d o 无法单独实现的功能。a d o x 另一个强大的功能是可以用c a t a l o g 对 象来创建新的数据库,并通过表、字段、索引对象的a d d 方法向数据库添加 辽宁工程技术大学硕士学位论文7 表、字段、索引和关键字段。 2 6g t s 7 2 0 全站仪“们简介 2 0 0 3 年1 1 月,拓普康公司在中国市场隆重推出世界首创的彩屏w i n c e 智能全站仪_ g t s 一7 2 0 ( 图2 3 ) 系列。g t s - 7 2 0 系列采用h i l a c h is h 4c p u , 处理器的速度高达2 0 0 m h z ,采用m i c r o s o f tw i n d o w sc e n e t4 2 0 中文操 作系统,2 5 6 m br a m ,6 4 m br o m ,1 6 m b 机内存储盘,并采用c f 卡扩展数 据存储空问。该仪器计算机部分的特点如下: 图2 - 3g t s 一7 2 0 全站仪 3 5 英寸6 4 k 色t f t 彩色触摸屏( 2 4 0 3 2 0 点阵) ,方便的人机对话 方式使测量作业更快捷更高效。仪器全部采用简体中文显示,界面亲切自然; 拥有w i n c e 操作系统,其界面和计算机w i n d o w s 操作界面相同用户使用简单 习惯;采用了标准的w i n c e 系统平台,二次开发更容易可针对不同行业的需 求,开发专业的应用软件;配备c f 数据存储卡系统,可扩充海量数据存储; 配备方便、高速、通用的u s b 数据传输接口,可直接和u s b 打印机相连;并 配有常规的r s 一2 3 2 c 串口。总之,由于拓普康w i n c e 智能全站仪- 6 t s 一7 2 0 系列具有:高性能的计算机c p u 、w i n c e 操作系统、彩色触摸显示屏、全中 文显示、c f 数据存储卡、u s b 接口等特点。 辽宁工程技术大学硕士学位论文 3 系统总体设计 系统总体设计分为两部分; 全站仪部分:实时获得测定点的坐标,并把测定的坐标数据实时发送 给计算机端接收数据的程序。 计算机部分:自动接收全站仪测定的坐标,并根据坐标数据进行自动 展点及将数据存入a c c e s s 数据库。系统的总体流程如下图3 - 1 : 全站仪端程序 计算机端程序 图3 - 1 程序总体流程 辽宁工程技术大学硕士学位论文 3 1 全站仪端程序设计 如下图3 - 2 所示全站仪端程序共有四个菜单: “项目”菜单:实现建立一个文本文件的功能,全站仪测定的坐标存入 这个文件; 。定向”菜单:实现定向的功能,其中包括两点定向,和点、方位角定 向; “测量”菜单:实现测量点坐标的功能,测定坐标之后显示如图3 - 3 所 示的对话框,提示用户输入点号,然后将坐标数据存入文件。如果和计算机 端程序建立好连接后,同时能将测定的坐标实时发送给计算机; “g p r s ”菜单:单击“建立连接”子菜单后弹出如图3 - 4 所示的对话框, 实现和计算机端程序建立连接的功能,如果建立好连接后,单击。发送实时 坐标”子菜单就会打开发送实时坐标的开关,这样测定的坐标在存储的同时 就会发送给计算机同时也能发送和接收文本文件和坐标数据。 图3 2 程序界面图3 3 存储及发送数据对话框 3 2 计算机端程序设计 如下图3 - 6 所示在a u t o c a d 2 0 0 2 ( 已加载了数字化地图软件m d 6 5 ) 的 基础上实现了一个通讯功能的“g p r s ”菜单。点击“建立连接”子菜单就会 弹出如图3 - 5 所示的实现监听功能的对话框。在建立好连接之后,点击。自 辽宁工程技术大学硕士学位论文 l o 动展点”的予菜单就会新建三个图层,然后就能根据接收到的坐标数据将点 的实体、点号、点的高程分别展在三个图层上,点击。写入数据库”子菜单, 能将接收到坐标数据存入a c c e s s 数据库同时也能向全站仪发送文本文件 和坐标数据。 图3 4 发起连接对话框图3 5 监听对话框 图3 - 6 “g p r s ”通讯菜单界面 以下将分三章来论述本系统的实现原理:第四章论述如何实时获得测定 点坐标;第五章论述如何把测定点的坐标发送给计算机,计算机实现自动接 收数据的功能,第六章论述如何在实现自动接收数据的前提下,实现在 a u t o c a d 上展点和把数据存入a c c e s s 数据库的功能。 辽宁工程技术大学硕士学位论文 4 开发g t s 7 2 0 全站仪 开发g t s - 7 2 0 全站仪是为了实时获得全站仪测定的坐标数据,本系统采 用全站仪开发函数,开发一个测量点坐标的接口程序来实现实时返回全站仪 测定的坐标的功能,进而实现实时发送数据的功能。 4 i 嵌入式开发要点 嵌入式开发( e v c ) 同在台式机上开发有很多的相同点,只要熟悉v c 的 开发,进行e v c 开发比较容易上手,但在e v c 下进行开发同在v c 开发还是 有很多不同点的,对这些不同之处加以了解,对于一个v c 程序员在e v c 下 开发是必要的,与传统的通用台式机相比,嵌入式开发具有以下特点: ( 1 ) 嵌入式开发程序的编写不是在嵌入式系统下进行,而是在台式机 下迸彳亍,用模拟器或嵌入式设备进行调试,最终在嵌入式设备上运行。在本 系统中把程序从台式机下载到全站仪上,必须确保p c 机上安装了m i c r o s o f t a c t i v e s y n c 。a c t i v e s y n c 既可以从g t s - 7 2 0 全站仪的配套光盘中得到,也可 以从微软网站免费下载。用g t s - 7 2 0 全站仪的数据传输线与p c 机进行连接, 然后打开m i c r o s o f ta c t i v e s y n c ,选择。文件”菜单中。进行连接”,按照 连接向导即可完成连接。 ( 2 ) w i n c e 设备中的资源很少,运行w i n c e 程序的设备几乎都没有用 于大量存储的硬盘没有硬盘不仅仅意味着无法存储大的文件而且无法通过 将数据交换到硬盘来刨建虚拟r a m 。所以w i n c e 程序几乎都运行在低内存的 环境中内存分配经常会因为缺少资源而失败。当空闲内存达到一个很低的 危险水平时,w i n c e 可能会自动终止程序这种对r a m 的限制对w i n c e 程序 造成了极大的影响,并且是将现有的w i n d o w s 程序向w i n c e 移植的主要难 点之一圳 ( 3 )在编写w i n c e 应用程序时应当注意的一个特征是u n i c o d e 。与用 单个的8 位数值来对一个字符进行编码的a s c i i 码标准不同,u n i c o d e 是用 一个1 6 位数值来表示一个字符。因为世界上已知的字符都能用6 5 5 3 6 个可 能的u n i c o d e 值中的某一个来表示,所以u n i c o d e 使得将程序移植到不同的 辽宁工程技术大学硕士学位论文 国际市场非常简单。程序使用u n i c o d e 的结果是每一个字符占用两个字节而 不是一个字节,于是字符串长度将是原来的两倍程序员在假定字符串长度 和缓冲区大小时必须很小心,现在已不能假定2 6 0 字节的缓冲区能容纳2 5 9 个字符,然后以0 结束。所以在e v c 开发程序时要分清字符的类型是u n i c o d e 还是a s c 。例如在w i n c e 系统下,表示文本文件的字符是c h a r ( a s c i i ) 型, 但在文本框和对话中的字符是宽型( u n i c o d e ) 的,要表示这类字符,就不能 用c h a r 而要用t c h a r 表示。它们之间可以通过函数进行转换。 ( 4 ) w i n d o w sc e 包括许多为特定环境设计的新w i n d o w s 控件。新的控 件包括在一个很短的行上提供类似菜单和工具栏功能的命令栏,节省了 w i n d o w sc e 设备的屏幕空间。 ( 5 ) 理解目标平台,要注意到w i n c e 编程的另一个方面是w i n c e 可分 解并重新配置,以更好地适应目标市场或设备。程序员需要理解目标平台, 并在尝试使用一组可能在那种设备上不支持的函数之前检查在那个特殊的 平台上有哪些函数是可用的。在编译程序时,必须要知道c p u 的类型,本系 统所用g t s 一7 2 0 全站仪上的c p u 类型是h i t a c h i 型号是s h 4 。因为嵌入式开 发程序的编译是针对特定c p u 的,否则程序在目标平台上将不能运行。 ( 6 )不要使用相对路径,与w i n d o w sn t 不一样,w i n d o w sc e 没有当 前目录这个概念,因此,任何路径只是相对于根目录而言的。如果你的软件 给文件或目录使用相对路径,那么你很可能把它们移到别的地方了。例如, 路径“a b c ”在w i n c e 中被当作“a b c ”看待。 4 2 用e v c 对g t s 7 2 0 全站仪进行开发的几点说明 ( 1 )用于对g t s - 7 2 0 全站仪进行开发的p c 机应安装的e v c 4 0 ,及其 补丁( e v c 4 s p 2 e x e ) 可以从微软网站免费下载。 ( 2 )对g t $ - 7 2 0 全站仪进行开发的p c 机上还必须同时安装有 g t s - 7 2 0 s d k 。g t s 一7 2 0 s d k 包含有专用于g t s 一7 2 0 全站仪的接口指令,该平 台软件属于t o p c o n 公司保密软件,必须在与t o p c o n 公司签订保密协议后从 t o p c o n 事务所得到 ( 3 )对g t s 一7 2 0 全站仪的开发同对p d a 进行开发拥有的模拟器不同, 辽宁工程技术大学硕士学位论文 如果程序中用到了全站仪的开发函数,则它不支持p c 机与目标设备断开的 情况下对代码进行编译和调试或者执行。所以,此时所有代码的编译、调试、 和执行都应当在p c 机与g t s 一7 2 0 全站仪连接并通讯良好的情况下进行。 ( 4 ) 设置中文环境,由于对话框和其它资源需要支持中文显示,所以 必须将所有资源语言设置为中文。 ( 5 ) 在根据全站仪测定的水平距离和垂直距离计算平面坐标和高程时 需进行地球曲率和大气折光的改正。尤其地球曲率对垂直距离的影响是很大 的,如果测定的垂直距离不进行曲率改正,在用全站仪三角高程法测量高程 时l k m 能差7 c m 左右但在本系统中用f p t s r e q u e s t ( ) 开发函数实现测量 功能时不必考虑上面的因素,因为开发函数本身能够返回已经进行了上述改 正的坐标,这些参数的设置可以在仪器自带的标准测量程序中进行设置 4 3 程序实现的方法 本模块的实现用到六个全站仪开发函数幢“: ( 1 )f p t s s e t s t n c 0 0 r d :设定全站仪位置的坐标; ( 2 )f p t s s e t i n s t h e i g h t :设定仪器高及棱镜高; ( 3 )f p t s s e t h a n g l e :设定水平度盘: ( 4 )f p t s r e q u e s t :开始测量; ( 5 )f p t s s t o p m e a s :停止测量; ( 6 )f p t s r e a d m e a s :读取字符串 本模块的实现思路; ( 1 ) 程序开始时需要必须建立一个文本文件,且文件的路径及名称必 须是全局的或者是全局类的成员变量,因为存入坐标时必须知道文本文件的 路径及名称; ( 2 ) 在测量之前要对仪器进行设站,设站的主要目的是获得坐标计算 的起算数据,因为仪器测定的数据只是角度和距离的信息。要想测定在当地 坐标系统下的坐标,必须直接或间接的知道仪器设站点的坐标和起算方位 角。另外还需要对仪器高和棱镜高进行设置考虑到棱镜高需要经常重新设 置,所以仪器高和棱镜高单独用一个对话框进行设置,且程序中要有能保留 辽宁工程技术大学硕士学位论文 上一次设定的仪器高的功能,因为在同一站上仪器高是不改变的; ( 3 ) 测量所得的数据是一个包含很多信息的字符串,所以程序必须对 字符串分割后才就能获得被测点的坐标; ( 4 ) 测定完坐标后,将弹出一个对话框,将显示测定的坐标,并提示 用户输入点号: ( 5 ) 在坐标存储时要注意,仪器测定返回的字符串是宽型( t c h a r * ) 而文本文件所需的字符串是窄型的( c h a r * ) ,如果不将字符处理直接存入文 本文件,打开文本文件会发现两个字符之间有一个小方框,这是因为没有进 行字符转换的原因,函数_ i d e c h a r t o m u l t i b y t e ( ) 和w c s t o m b s 0 就能实现把 宽字节字符串转换成窄字节字符串。 本模块的关键是实现定向和测量的功能,下面将详细介绍: 4 3 1 仪器设站功能的实现 设站通常包括两种方法;一种是已知一个点的坐标和以这点为起点的一 条线的方位角( 图3 - 1 ) ,这种定向方法较简单,不用经过计算直接设置即 可。但更为常用的是两点定向的方法( 图3 - 2 ) ,这种方法要求计算出后视 点到仪器点所成直线的方位角。 图3 - 1 点、方位角定向对话框图3 2 两点定向对话框 下面介绍两点定向设站的关键步骤 做好对话框界面后需把文本框关联一个d o u b l e 数据类型( 表3 - 1 ) ,因 为在e v c 中把c s t r i n g 类转换成d o u b l e 类型是较复杂的,而且错误易发生 辽宁工程技术大学硕士学位论文 在在运行阶段,难以调试。在用a t a n ( ) 函数求角度时,要注意到它的返回 值范围是( 一万2 ,z 2 ) ,且所求的角度是同直线方向无关的,而测量中 方位角是有方向的。如图3 - 3 所示用函数a t a n 0 求得o n 、0 m 的角度是一 样的,这显然是不正确的,处理的方法是: 表3 1 成员变量表 点变量类型 变量名 基准站纵坐标 d o u b l e b a s e x 基准站横坐标 d o u b l e b a s e y 后视点纵坐标 d o u b l e b a c k x 基准站横坐标 d o u b l e b a c k y 、 图3 - 3 方位角示意图 需要对b a c k x b a s e x 的值的正负做判断,如果小于零,必须将a t a n 0 函数返回值加上万 if ( ( b a c k x b a s e x ) o z i m u t h = a t a n ( ( b a c k y - b a s e y ) ( b a c k x b a s e x ) ) e ls eif ( ( b a c k x b a s e x ) 0 ) ) z i m u t h = p l 2 : i f ( ( b a c k x - b a s e x - - 0 ) & & ( y c r e a t e ( i d d m o d a l l e s s ,c w n d :f r o m h a n d l e ( a d s w a c a d m a i n w n d0 ) ) ; 调用m o d a l l e s s d i a l o g 类的函数s e r v i c e l i s e n ( ) 实现监听的功能 p d l g 一 s e r v i c e l i s e n ( ) : ( 4 ) d i a l o g l i s e n 类中o n s h o w i p 0 函数的实现 初始化资源 w s a s t a r t u p ( - v e r s i o n r e q u e s t e d ,& w s a d a t a ) : c h a rh o s t n a m e 3 2 : 返回主机名 g e t h o s t n a m e ( h o s t n a m e ,3 2 ) : h o s t e n t * p h o s t : 根据主机名获取主机i p 结构体 p h o s t = g e t h o s t b y n a m e ( h o s t n a m e ) ; 将i p 结构体的i p 地址成员变量赋值给i p n a m e u n s i g n e dl o n gi p n a m e = ( 奉( ( d w o r d * ) p h o s t 一 h a d d r 一1 i s t 0 ) ) : i n a d d rs t r u c t i p : 将i p n a m e 赋值给结构体成员变量 辽宁工程技术大学硕士学位论文3 3 s t r u c t i p s _ u n sa d d r = i p n a m e 把s t r u c t i p 转成主机字节序 c h a r * i p n a m e = i n e t n t o a ( s t r u 在静态文本框中显示i p t i p ) s e t d l g i t e m t e x t ( i i ) c s h o w i p ,i p n a m e ) : 清除资源 w s a c l e a n u p ( ) : ( 5 ) c o n n e c t d i a l o g 类中0 n b t n c o n n e c t o 函数的实现 初始化资源 w s a s t a r t u p ( - v e r s 主o n r e q u e s t e d ,w s a d a t a 建立流式套接字c c o n c c o n = s o c k e t ( a f i n e t ,s o c k s t r e a m ,0 ) : 定义地址结构体c a d d s o c k a d d r i nc a d d : 获取用户输入的地址字符串 g e t d i g i t e m t e x t ( i d c e d i t l ,w i d e a d r e s s ) : 将宽型字符串w i d e a d r e s s 转换成窄型字符串i p a d r e s s c h a ri p a d r e s s 2 0 】: f o r ( i n tj = o :j ( - i d e a d r e s s g e t l e n g t h o :j + + ) i p a d r e s s 0 = w i d e a d r e s s o 】: 在字符串i p a d r e s s 尾添加空字符 i p a d r e s s w i d e a d r e s s g e t l e n g t ho - o : 将字符串i p a d r e s s 转换成网络字符序地址后赋给c a d d 的成员变量 c a d d s i n a d d r s _ u n s _ a d d r = i n e t a d d r ( i p a d r e s s ) : 地址家族赋给c _ a d d 的成员变量 c _ a d d s i n f a m i i y = a f i n e t : i n tp o r t : 获取用户输入的端口号 p o r t = g e t d l g i t e m i n t ( i d c e d i t 4 ) ; 辽宁工程技术大学硕士学位论文 把p o r t 转换成网络字节序后赋值给结构体成员变量 c _ a d d s i n p o r t = h t o n s ( p o r t ) ; 向接收数据的计算机发起连接 c o n n e c t ( c _ c o n 。( s o c k a d d r * ) c a d d ,s i z e o f ( s o c k a d d r ) 四、对程序的说明 ( 1 ) 在实现网络通讯的类的头文件中需包含文件“w i n s o c k 2 h ”,并 在工程属性链接选项中添加链接库文件“w s 2 3 2 1 i b ”; ( 2 ) 调用w s a s t a r t u p 0 函数的作用是初始化w s 2 3 2 d l l 库文件; ( 3 ) 计算机端用于接收网络消息的对话框必须是非模式的,因为如果 是模式对话框,在接收数据或等待连接时a u t o c a d 将会阻塞; ( 4 )在创建m o d a l l e s s d i a l o g 类和i i s e n d i a l o g 类的对话框时必须 将其设置为a u t o c a d 主窗口的子窗口,否则无法创建消息循环; ( 5 ) 接收数据的计算机在实现监听功能时i p 用i n a d d r a n y 代表。而 不应是确定的i p ,因为不同主机i p 不同; ( 6 ) b i n d 0 函数只能在同一地址结构体绑定一次,因为某一地址被成 功绑定到某一套接字上之后,系统将保留这个地址的端口号,如果再次绑定 将会引起错误; ( 7 ) 在全站仪端发送数据时一定要多发送一个字符的长度,以便接收 数据端在末尾自动加上空字符( 0 ) ,否则接收端接收的字符串在结尾将 产生乱码。当接收端的缓冲区长度比发送的数据小时,那么实际接收字符的 个数就等于发送数据的长度,也就是接收数据的计算机端无法自动在每次接 收的字符串末尾加上空字符,这就需要我们手动进行处理。方法是在定义缓 冲区大小时对最后一个数组成员赋值成空字符( 0 ) ,并且在接收数据 时,所用的缓冲区长度要比定义的小一个字符; ( 8 ) 内网i p 和外网i p 的问题:如果计算机是通过局域网连接i n t e r n e t 的,那么分配给主机的i p 是内网i p ,例如( 1 9 2 1 6 8 1 2 4 4 ) ,全站仪端输入 这种i p 是根本无法建立连接的,解决这个问题包含两部分:获取外网的 i p :d i a l o g l i s e n 类中o n s h o w i p 0 函数无法获取外网的i p ,因为在内网中 辽宁工程技术大学硕士学位论文 是不存在外网i p 的,解决的方法是在外网放置一个程序,本地程序访闯这 个外网的程序,那么外网的程序就可以获得本地电脑的外网i p ,然后外网程 序把这个i p 发送给本地程序即可但这样做比较麻烦,其实通过打开路由 器的设置界面( 图4 - 8 ) 或者通过i n t e r n e t 上的查询工具都可以获得本地主 机的外网i p ,它的实现原理正如前面介绍的那样在外网i p 、外网端口 号同内网i p 、内网端口号之间进行映射。其方法是局域网选用路由器连接外 网,因为路由器有端口转发的功能,但集线器和交换机是不具备这种功能的 馐”。路由器设置端口转发方法如图4 - 9 、4 - 1 0 : 图4 - 8 获取外网i p 辽宁工程技术大学硕士学位论文 图4 - 1 0 端口映射 5 3 2 全站仪接收计算机发送的数据 通过前面介绍胃s 从s y n c s e l e c t ( 异步选择) 的f d w r i t e 事件触发条件可 知,通过事件触发条件发送数据只是在特定条件才能实现,所以计算机向全 站仪发送数据时要做一个命令响应函数,只要在这个函数内用已连接的套接 字s _ a c c e p t 发送数据即可。全站仪端接收数据的功能比较简单,所以无须 使用套接字i o 模型,但要考虑到两个问题,第一:接收数据时程序不能阻 辽宁工程技术大学硕士学位论文 塞,因为在阻塞模式下,在等待接收数据的过程中,程序就会处于死锁状态, 如果接收不到数据,将无法进行任何操作第二:全站仪端程序接收数据的 缓冲区不能设置太大,因为w i n c e 下内存是比较小的,这样做是不合理的。 解决上述两个问题的方法是:把接收数据的套接字设成非阻塞模式,用 w h i l e ( t r u e ) 循环来不断的接收数据,如果接收数据失败或遇到事先规定好 的标记文件结束的符号就跳出循环。流

温馨提示

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

评论

0/150

提交评论