杨云洋 肖慧琴
(铁道第三勘察设计院集团有限公司,天津 300142)
Application of non Leica total station instrument in GeoMos software
YANG Yunyang XIAO Huiqin
非徕卡全站仪在GeoMos软件中的应用研究
杨云洋肖慧琴
(铁道第三勘察设计院集团有限公司,天津300142)
Application of non Leica total station instrument in GeoMos software
YANG YunyangXIAO Huiqin
摘要GeoMos软件是徕卡公司研发的一款非常优秀、稳定的变形监测软件,但是该软件只支持徕卡公司的产品。研究使用单片机拦截、转发COM口数据的方法,有效地解决了非徕卡全站仪与GeoMos间的兼容性问题。
关键词GeoMos单片机监测全站仪
GeoMos软件是徕卡公司研发的一款非常优秀、稳定的变形监测软件,在变形监测领域,该软件应用最广泛。GeoMos软件可通过COM口指令控制全站仪、水准仪、测距仪等设备进行周期性自动测量,但是该软件只支持徕卡公司生产的产品(例如全站仪、水准仪、测距仪等),为整合资源,节约生产成本,研究了使用单片机拦截、转发COM口数据的方法,有效地解决了GeoMos软件兼容其他品牌全站仪的方法。
1解决方法的主体思想
GeoMos软件进行周期性自动化监测用到的主要设备有(以全站仪为例):装有GeoMos软件的计算机、通信电缆、徕卡全站仪等。将计算机通过电缆与全站仪进行连接,如图1所示,通信电缆一头连接电脑的COM口,另一头连接全站仪的COM口。
图1 计算机与全站仪通信连接
GeoMos软件控制全站仪进行自动测量的方法为:GeoMos向COM口发送指令,全站仪收到指令后执行相应的操作(例如进行距离测量、读取角度值等),然后将结果返回给计算机,发送的指令和返回的结果都为字符串形式。
其他品牌的全站仪(以拓普康全站仪为例),也可通过向COM口发送指令形式控制全站仪进行测量,发送的指令和返回的结果也为字符串形式。在计算机与全站仪的通信线缆中间加一个设备,用来进行如下操作:①将GeoMos软件发送的徕卡全站仪指令转换为拓普康全站仪指令;②将拓普康全站仪返回的结果转为徕卡全站仪的格式,即可将问题解决。以拓普康全站仪为例叙述该方法的实现手段。
2解决方法的实现手段
采用在计算机与全站仪的通信线缆中间加一个单片机来转换全站仪指令格式与返回结果,如图2所示。单片机主要任务如下:①拦截来自GeoMos软件的徕卡全站仪指令后,将其转换为拓普康全站仪指令并向全站仪发送;②拦截到拓普康全站仪返回值后,将其转换为徕卡全站仪格式并向GeoMos软件发送。
图2 实现手段示意
单片机为双COM口单片机,单片机的COM1与计算机连接,COM2与全站仪进行连接。自动化监测通常为长时间的监测,通常需要监测好几个月,然而单片机受到外界因素的影响可能会有死机的情况发生。为保证稳定性,单片机必须带有“看门狗”(“看门狗”探测到单片机死机后,会自动重启单片机),如图3所示。
图3 自带“看门狗”的双COM口单片机
上述单片机的COM1接电脑,COM2接全站仪,需要编写的代码有:①COM1拦截GeoMos软件发送来的指令;②转换COM1拦截下来的指令,进行转换并向COM2发送;③COM2拦截全站仪的返回结果,进行转换并向COM1发送。
以下为部分程序代码:
void uart_isr()interrupt 4 //COM1拦截来自GeoMos软件的徕卡全站仪指令
{
if( RI ) RI=0;
dat_Com1=SBUF;
if( TI ) TI=0;
if(dat_Com1==0x25)
oIndex_com1=0;
dats_Com[oIndex_com1]=dat_Com1;
oIndex_com1++;
if(oIndex_com1>=2)
{
if(dats_Com[oIndex_com1-2]==0x0d&&dats_Com[oIndex_com1-1]==0x0a)
{
flag_com1=1;
oIndex_com1=0;
}
}
}
void uart2_isr()interrupt 8 //COM2拦截来自拓普康全站仪的返回值
{
if( S2CON & 0x01 )
{
S2CON &=~0x01;
dat_Com2=S2BUF;
}
if( S2CON & 0x02 )
{
S2CON &=~0x02;
}
if(dat_Com2==0x25)
oIndex_com2=0;
dats_Com[oIndex_com2]=dat_Com2;
oIndex_com2++;
if(oIndex_com2>=2)
{
if(dats_Com[oIndex_com2-1]==0x0d)
{
flag_com2=1;
oIndex_com2=0;
}
}
}
void main()
{
init();
WDT_CONTR=0x36;//看门狗,防止单片机死机
while(1)
{
if(flag_com1==1)
{
......//向串口2发送数据
flag_com1=0;
}//if(flag_com1==1)
if(flag_com2==1)
{
......//向串口1发送数据
flag_com2=0;
}//if(flag_com2==1)
WDT_CONTR=0x36;//看门狗,防止单片机死机}
}
3应用案例
某地铁附近进行深基坑的开挖,基坑离地铁14 m,要求对地铁250 m左右的范围进行24 h监测,需要用到2台全站仪。现有一台徕卡全站仪,一台拓普康全站仪,为实现使用GeoMos软件控制两台全站仪进行自动化监测,使用了本文所述的解决方法,成功地将拓普康全站仪接入GeoMos软件,运行半年多以来,未出现故障,取得了良好的效果。图4为监测现场,图5为监测现场所用到的自动化监测设备。
图4 监测现场
图5 采集箱内部
4应用前景与展望
该方法有效地解决了其他品牌的全站仪在GeoMos软件中的兼容性问题,有效地整合了现有资源,节约了生产成本,取得了良好的效果。本方法可进一步应用在解决其他品牌的水准仪、测距仪、倾斜传感器等设备与GeoMos软件的兼容性问题。
参考文献
[1]匡团结,张志刚.自动化监测系统在某高速铁路运营监测中的应用[J].铁道勘察,2013(4):3-5
[2]范红波.铁路施工便梁沉降自动化监控系统开发与应用[J].铁道勘察,2012(1):26-27
[3]梅文胜,杨红.测量机器人开发与应用[M].武汉:武汉大学出版社,2011
[4]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2014
[5]刘祖强,张正禄.工程变形监测分析预报的理论与实践[M].北京:中国水利水电出版社,2008
[6]武汉测绘科技大学测量平差教研室.测量平差基础[M].北京:测绘出版社, 1994
[7]崔希璋,於宗俦,陶本藻,等.广义测量平差[M].武汉:武汉大学出版社,2005
[8]张正禄,等.工程测量学[M].武汉:武汉大学出版社,2005
中图分类号:P209
文献标识码:B
文章编号:1672-7479(2015)02-0027-03
作者简介:第一杨云洋(1981—),2009年毕业于武汉大学大地测量学与测量工程专业,硕士,工程师,E-mail:yyuny998@126.com。
收稿日期:2015-01-12