用GeoCOM对测量机器人进行在线控制
第26卷第2期2009年6月
广东工业大学学报
JournalofGuangdongUniversityofTechnology
V01.26No.2June2009
用GeoCOM对测量机器人进行在线控制
王宇会,蒋利龙
(广东工业大学土木交通工程学院,广东广州510006)
摘要:C,eoCOM是对测量机器人进行二次开发的重要手段之一.介绍了用C,eoCOM对仪器进行在线控制的两种方
法——AscⅡ协议方式及函数调用方式,对其进行了比较。并提出了将其应用于变形监测工作的构想.
关键词:测量机器人;地理数据通讯接口;ASCII协议;函数调用协议中图分类号:P204
文献标识码:A
文章编号i1007-7162(2009)02-0061-04
TPSl000、TPSll00系列全站仪是I.eiea公司生产的智能型全站仪,又称测量机器人,是计算机技术与全站仪定位技术合为一体的真实体现….仪器可以在6种操作模式(OFF、Local、Online、RCS、GSI/Mess和Sleep)下工作,可以支持3种开发途
2ASC
lI码协议方式
ASCⅡ码协议方式可以在不支持MS-Windows的操作平台上对仪器进行控制操作.在此模式下,每一个在远程仪器上执行的进程都被赋予一个远程调用标识码,这个标识码用于仪器内部与一个特殊的请求之间的联系,例如:转换盘位的标识码是9028.以此方式来控制仪器时,首先由电脑向仪器发送请求,然后等待并解译应答.
2.1
径HJ——GSI、GeoBASIC和C,eoCOM,其中GeoCOM
可以对测量数据进行实时、复杂的处理,并把分析结果返回全站仪中,功能强大,应用广泛.1
GeoCOM简介
GeoCOM(地理数据通讯接口)是基于SUN公司
ASCⅡ码协议请求的格式ASCⅡ码协议请求的格式如下:
[<LF>]%R1Q,<RPC>[,<TrId>]:[<P0>]
的远程调用协议(RPC)而建立的,属于点对点的通信协议.两个通信的参与者:一个是客户端(即外部设备,通常为电脑)、一个是服务器(即仪器).一个通信单元由一个请求和相应的应答组成.所以,当电脑发送了一个请求给仪器,而且仪器向电脑发送回一个应答时,一个通信单元才算完成(见图1).
广————]
[,<P1>,…]<Term>
各部分的说明如下:
[]里面的为可选项,<>包含的是名称或描述性的内容,<>本身不是传输文本的一部分,没有被括号包括的文字是GeoCOM协议的一部分.各部分的意义详见表1.
表l
项目
<LF>
L——l
图1
服务器l客户端巨二二二二二二二|L———.—J
应答
请求广————1
ASClI协议请求的说明
意义
GeoCOM基础通讯
GeoCOM能够实现的功能很多,这些功能按照可以访问的仪器的传感器以及计算函数的不同,被划分为不同的GeoCOM子模块,共有12类:AUT(自动化)、BAP(基础应用)、BMM(基础人机对话)、COMF(通讯)、COM(通讯)、CSV(中心服务)、CTL(控制)、EDM(电子测距)、MOT(马达驱动)、SUP
初始化换行符,用来清空接收缓冲器GeoCOM请求类型1
远程调用协议的标识符,在0到65535之间
%R1Q
<RPC>
<TrID>可选择的处理ID,通常从1增加到7,在应答中相同
:
协议头和后面参数的分隔符
<Po>,<P1>,…参数0,参数l…
<Term>
(管理)、TMC(测量与计算)以及WIR(聊注册).
用GeoCOM对仪器进行在线控制的方式有两种:低级模式(即ASCII码协议的方式)和高级模式(即函数调用协议).
2.2
结束符字符串(缺省值为CR/LF,通过COM—SetTerminator修改)
ASCⅡ码协议的应答格式
ASC
II码协议的应答格式如下:
收稿日期:2008.06.05
作者简介:王宇会(1972一),女,讲师,主要研究方向为测量机器人的开发与应用.
62
广东工业大学学报
第26卷
%R1P,<GRC>[,<Trld>]:<RC>[,<P0>,<P1>,…]<Term>
各部分的意义如表2所示.
表2
ASCⅡ协议应答的说明
项目
意义
%RIP
GeoCOM应答类型l
…
GeoCOM的返回代码,表示通讯状态(如:O=RC-0K表示正常)
…
处理ID,与发送的请求的处理ID相同,如果请求中没有处理ID,则此值将被赋为0:
协议头和后面参数的分隔符
<RC>
远程过程调用中返回的代码(如:O表示成功执行)
<m>,<Pl>.…参警o,参数1,…,请求执行乒返回的参数,这’
’
些参数只有<GRC>为0时才是有效的
2.3利用ASCⅡ码协议对仪器进行控制的过程
首先用串行线将仪器与电脑相连,并设置相应的通信参数,然后开机并将仪器转入Online模式,如果通信正常,仪器就会向电脑发送信号:
%N1,0,255,,0%TO,0,0,:%R1P,0,0:0
此时,就可以向仪器发送指令了,具体的例子如下:
%R1Q,17017:2‘请求指令,17017表示测
量角度及距离,“:”后面的参数为测距模式(详细解
释请参见相应的手册).
%R1P,0,0:0,1.227735508245754,
1.350089140743085,3.72409690178598,2‘返回的应答字符串,得到水平和竖直度盘读数(弧度)以及斜距.3
函数调用协议
GeoCOM函数包内封装了用户与仪器进行通讯
时调用仪器上的子系统所需要的客户端调用接口,用户在使用时无需了解具体的实施过程和原理,直接调用这些功能即可,在此模式下,GeoCOM对不同的仪器提供了VB、VC的函数调用接口.3.1调用语句的一般形式(以VB为例)
VB一<子模块名>一<函数名>(<PO>,<P1>,…)示例:
VB_TMC_GetSimpleMea(ByValWmtTimeAsLoIlg,
OnlyAngleAsTMCHZV√冰G,
SlopeDistaneeAsDouble,ByValModeAs
Integer)
“VB一”表示用VB语言编写的程序命令(如果用VC来编写程序,则将其省略),“TMC”表示测量
与计算的子模块,GetSimpleMea为函数命令,表示进行角度及距离测量,()内是需要输人的参数及远程调用之后的返回数值,如本例中WaitTime(等待时间)及Mode(倾斜传感器的测量模式)是输人参数,执行远程调用后的测量数值存储于OnlyAngle(Geo-COM定义的一种数据类型,用于存储测量的水平及竖直度盘读数)和SlopeDistance(用于存储测量的倾斜距离)中,而函数值用来表示执行的情况,如TMC—DIST_ERROR表示测距无效等等.3.2程序框架
一个GeoCOM的应用程序至少应包括以下几部分(其中的语句以VB语言来写):-初始化GeoCOMVB_COM—Init()-建立与仪器的连接
VB—COM—OpenConnection(ByVal
PortAsInteger,
ByValBaudAsInteger,ByValRetriesAs
Integer)
一进行远程过程的调用大致的过程有:
将望远镜定位到指定的位置:
VB—AUT
MakePositionin94(HzAsDouble,
VAsDouble,
POSModeAsInterger,
A豫Mode
AsInterger.
bDummyAsBoolean)
精确照准目标:
VB—AUT_FineAdjust3(DSrchHz
AsDouble,
dSrchVAsDouble,bDummyAs
Boolean)
获得水平度盘、竖直度盘读数及距离数据:
VB_TMC_GetSimpleMea(ByValWaitTimeAskIlg,
OnlyAngleAsTMC_HZVANG,SlopeDiastaneeAsDouble,ByValModeAs
Integer)
在这里还可以根据需要,只获得角度/距离,也可以直接获得测量点的坐标.清空测量结果:
VB_TMC—DoMeasure(ByVal
CommandAsInteger,
ByValModeAsInteger)
执行其他操作(如换盘、照准下一目标等)-关闭打开的端口
VB—COM—CloseConnection().结束GeoCOM
第2期王宇会,等:用GeoCOM对测量机器人进行在线控制
63
VB—COM—End()据量大,工作异常繁重,而用GeoCOM来开发变形监测系统能够做到自动运行、无人值守.大致的过程如下:
1)建立与仪器的通讯.2)输人测站信息.
3)输入监测方案:包括起始时间、终止时间、两期观测的时间间隔、是否需要盘左盘右观测、每次观测的测回数、报警数值设置等等.
4)进行仪器学习:让仪器对定向点、参考点及监测点进行初次观测,并输人已知的定向点及参考点的信息.
5)进入监测循环:到达观测时间后仪器自动对参考点及监测点按照预设的监测方案进行观测,并将数据返回电脑;程序对观测数据进行处理,计算各监测点的坐标、本期位移量及总体位移量;将结果存入数据库以供查询、检索以及输出报表;当变形超过要求时进行报警.
6)到达结束时间后,关闭端口、退出GeoCOM.6
3.3开发程序的步骤(以在VB中开发为例)
1)将GeoCOM的动态链接库(GeoCOM.du及GeoCOM32.d11)拷贝到电脑的系统目录下;
2)打开或新建一个工程,将STUB32P.BAS及STUB—P.BAS模块添加到该工程中;
3)按照VB的编程规则以及用户的需求,进行程序的编译、调试,直到程序满足要求(调试及运行程序时应使电脑与仪器通过串行线连接).
4两种在线控制方式的特点及比较
GeoCOM是作为同步通讯来执行的,一个请求/应答不能被其他的请求/应答来打断,所以虽然ASCⅡ码协议支持在收到应答前,就向仪器发送下一个请求,但最好不要那样做,因为后面的请求信号会暂时保留在缓冲区内,当数量超过缓冲区的容量时,数据就会丢失.而对于函数调用协议,由于是在VB或VC里来编写程序的,在编程时应考虑VB及VC是事件驱动的"J,而在程序运行时应屏蔽掉不必要的事件,以防止程序运行出现问题.
在当前的版本中,ASCII码协议的每一次对话只支持一个通讯的通道.所以,一台电脑只能连接一台仪器.然而,ASCII码协议的未来发展能够使得一次连接多台仪器并与之通讯成为可能.
ASC
结束语
用ASCII码协议来对仪器进行控制时,用户能
够清晰地看到仪器与电脑的通讯过程,并能够及时处理通讯及远程调用时出现的各种情况,但是由于要求需要实时发送指令给仪器,开发潜力不是很大,但如果将来可以使得一台电脑同时控制几台仪器,也具有一定的应用前景.
用函数调用协议时,由于在程序中充分地考虑了运行时可能出现的各种情况,所以可以真正地做到无人值守,并且还可以使用远程控制,使得操作人员不去或尽量少去危险的地方进行观测,从而使得测量作业变得安全、轻松、快捷,所以具有较好的开发前景.参考文献:
[1]张正禄.测量机器人介绍[J].测绘通报,2001(5):17.[2]范百兴,夏治国.2003年全国测绘仪器综合学术年会论
文集[c]//TCA2003全站仪应用程序的三种开发途径,北京:中国测绘学会测绘仪器专业委员会,2003,54-57.[3]曹清,邱李华,郭志强.VisualBasic程序设计教程[M].
北京:机械工业出版社,2002.
[4]梅文胜,张正禄,郭际明,等.测量机器人变形监测系统
软件研究[J].武汉测绘科技大学学报:信息科学版,
2002,27(2):165—171.
II码协议是一句一句地向仪器发送指令
的,用户可以清楚地看到仪器与电脑之间的通讯过程,而函数调用协议是将整个工程作为一个整体来完成的.由于调用函数时往往会有几个返回代码用来表示执行情况(如望远镜定位函数VB—AUT—MakePositionin94的返回代码有:RC—OK、AUT—RC—
ANGLE——ERROR、AUT—.RC—.INCACC、RC——COM——
rI'IMEDOUT等等),所以在编写程序时,应对返回代码的处理做出充分的考虑,以使得程序能够自动处理运行过程中的各种情况,使其能按照预计的方案顺利地执行.
函数调用协议在执行的过程中,数据会实时返回电脑中,电脑可以及时地对观测数据进行处理,并可以利用电脑的强大功能对其进行储存、检索和输出,同时数据也可以再传回仪器.5
函数调用协议在变形监测中的应
用[4-5】
在目前的工程测量中,变形监测占了相当大的
[5]朱建军,贺跃光,曾卓乔.变形监测的理论与方法[M].
长沙:中南大学出版社,2003.
比重,而由于变形监测需要多期观测、观测量大、数(下转第73页)
第2期
黎燕霞,等:RS码纠错技术在PDF417码编译算法中的应用
ApplicationofErrorCorrectingTechnologyofRSCodein
EncodingandDecodingPDF417Codes
LiYah—xia,LiYang,“uYi—hong,XiongBang—hong
(FacultyofInformationEngineering,GuangdongUniversityofTechnology,Guangzhou510006,China)
Abstract:Itintroduces
encoding/decodeing
elTor
principlesofRScode,analyzes
to
PDF417codeand417nationalbar
codes
ents
standard,andapplies
correcting
technologyofRS
code
encodinganddecodingPDF417.Italsopres—
an
optimizationcheck—tablealgorithmforcalculating
position
errorcorrection
code
words,finallyrealizingPDF417
Call
error
correcting.Withthismethod,the
computed,anderrorKeywords:RS
can
of
error
correcting
code
anderrorscopeberapidlyandeffectively
becorrectedingoodtime.
correcting
code;PDF417code;encode;decode;elror
code
(上接第45页)
DispersionofCarbonNanotubesinAqueousSolutionwithGlycol
Liu
Zong-jian,ZhangRen-yuan,Mao
Ling—bo,LiHui—peng
Technology,Guangzhou510090,China)
(FacultyofMaterialsandEnergy,GuangdongUniversityof
Abstract:Afterbeingpurifiedwiththemixtureofsulfuricacidandnitricacid,thecarbonnanotubes(CNTs)were
dispersedinaqueoussolutionwithvarioussuffactantsbyultrasonicagitation.ThenthedispersityWSBevaluatedwithsettlementtime.TheexperimentalrersultsshowthatthecarbonnanotubesdisperseverywellintheHTABmulsifyingagentwithKey
an
or
OP
e.
appropriateconcentration.
active
words:multi—walledcarbonnanotubes(MWNTs);purification;surface
agent;dispersion
(上接第63页)
ExploitingtheGeoRobot
withGeoCOM
WangYu-hui,JiangLi-long
(Faculty
ofCiviland
TransportationEnsineering,GuangdongUniversityofTechnology,Guangzhou510006,China)
exploittheTPS1000
TPS1100
Abstract:GeoCOMisbroughtbyLeicacompanyexpedientlyfortheclient
rialTotalStation.Itintroducesthetwo
toor8e—
methods
ofusingGeoCOM
to
controlther11焉,andcomparesthem.Finally,
theapplicationoffunctioncallprotocolindeformationmonitoringsystemhasKey
been
proposed.
words:GeoRobot;GeoCOM;ASCIIprotocol;functioncallprotocol
用GeoCOM对测量机器人进行在线控制
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
王宇会, 蒋利龙, Wang Yu-hui, Jiang Li-long广东工业大学,土木交通工程学院,广东,广州,510006广东工业大学学报
JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY2009,26(2)1次
参考文献(5条)
1. 张正禄 测量机器人介绍[期刊论文]-测绘通报 2001(05)2. 朱建军;贺跃光;曾卓乔 变形监测的理论与方法 2003
3. 梅文胜;张正禄;郭际明 测量机器人变形监测系统软件研究[期刊论文]-武汉测绘科技大学学报 2002(02)4. 曹清;邱李华;郭志强 Visual Basic程序设计教程 20025. 范百兴;夏治国 2003年全国测绘仪器综合学术年会论文集 2003
引证文献(2条)
1. 蒋利龙 超高层建筑施工基准传递方法探讨[期刊论文]-广东工业大学学报 2010(4)2. 蒋利龙 超高层建筑施工基准传递方法探讨[期刊论文]-广东工业大学学报 2010(4)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_gdgydxxb200902015.aspx