刘争战 ,丁旭,申丽丽,王磊
(1.天津市测绘院,天津 300381;2.精密工程与工业测量国家测绘地理信息局重点实验室,湖北武汉 430079)
缆机吊装施工方法因具有安装简易、机动灵活、起重量大等特点,且可以服务于整个工程建设周期而不用移动、停工和撤出,已经成为国内外许多水电站建设过程中的重要施工模式[1]。大型坝体混凝土浇筑主要依靠缆机吊装混凝土料罐施工模式来进行数量众多、体积庞大、运动实时性强的混凝土料罐一旦发生碰撞会造成设备严重损坏甚至人员伤亡[2]。因此对大型施工机械的安全监测与灾害预警显得十分重要。因此需要实现自动判断设备当前运行状态的安全性,预测并显示运行中可能发生碰撞的障碍物,为司机提供安全的操作指导,具有良好的经济效益和广泛的应用前景[6]。
大型施工机械的安全监测与灾害预警系统的最重要的特点就是其时效性,因为施工机械经常处于运动状态,因此需要一个能快速获取数据并快速进行数据交换的通信系统;传统手工式的质量管理机制已很难适应现代化机械施工质量与进度控制、效益提高的迫切要求,因此本文利用快速、高效、准确的GPS测量技术和GPRS无线网络通讯技术,实时获取施工设备的位置,数据实时回传服务器,实现终端、服务器端并行处理的效果,保证防撞预警的时效性。
防撞预警系统可以分为三个模块:第一模块是数据采集模块,本文采用中海达Q5 GPS接收机,将接收机安装在施工设备的运动吊臂上,目的是随着设备的运动动态采集数据;第二模块是数据分析模块,该模块是运行在服务器端的程序集,用于实现施工现场的多台GPS接收机的回传数据的并行接收,剔除掉条件不好的数据和不满足解算条件的数据然后进行实时解算,最终给出预警的方案;第三模块是通信模块,通信部分是保证数据实时性的重要模块,本文着重对该模块进行分析研究。
流动站、参考站接收机的伪距和载波相位观测值以及数据检校标志通过发送天线发送到数据处理中心,所有GPS接收机的同步观测数据在数据处理中心一次性处理完成。如果由于网络中断或者是数据传输时间过长,则对历元进行筛选丢弃,直接解算下个历元的数据从而保证数据的实时性。
网络通信模块用于连接数据采集模块和数据分析模块,网络通信的质量的好坏直接决定了预警的时效性,系统采用GPRS技术接入网络,整个网络通信系统又可以分为三个部分,首先是客户端,实现串口通信和网络传输请求,然后是传输链路,外用GPRS无线网络,讲客户端请求以TCP/IP协议要求传送出去,最后就是服务器端,服务器端实现网络监听,一旦监听到有数据请求,则与客户端连接,实现数据交互。通信模块原理图如图1所示。
图1 数据交换系统架构图
GPS终端架设在施工设备运动的吊臂上,用于实时获取设备的运动状态,GPS获取的数据输出有两种格式:十进制ASCII码和二进制码。GPS的统一标准格式NMEA0183采用的十进制ASCII,该标准格式将处理后的数据进行编码输出,优点是易于识别和应用,但是不方便数据传输,且不能自由获取原始数据;因此本文获取二进制码数据,该输出格式虽然不直观,但是运算方便,且易于在计算机之间交换[1]。
本文采用中海达Q5接收机,该接收机采用新月-HC12A芯片,芯片输出的二进制消息的结构如表1所示,本文主要获取BIN1、BIN95和BIN96三个类型,要获取这三个类型的二进制数据,需要实现Win CE下的串口通信,串口通信的步骤是:选择串口名称;串口设置;打开串口;输入串口通信命令;关闭串口。新月-HC12A芯片串口通信命令:
上述命令行中$符号之后的表示表1中的Header,第二列95表示表1中的Data,用于规定获取的数据类型,第三列1表示获取数据的频率,<CR>和<CF>分别为回车符和换行符。串口打开后,一旦接收到通信命令,就会以该命令的设置向外输出二进制数据,程序将接受到的数据保存,存放数据缓冲区,等待网络传输至服务器端进行解算分析。
二进制消息结构 表1
由于移动终端、数据中心服务器两者之间的距离较远,而且移动监测点经常处于运动状态中,它与基准站和系统服务器之间不可能通过有线通信链路来实现信息的交互。在连续高频的GNSS数据采集条件下,为了保证实时性强、误码率低的数据传输,监控平台考虑了不同通信条件的特点,采用了组合型无线通信链路,采用GPRS和无线电台结合,以GPRS传输为主,电台通讯为辅的工作模式,当GPRS数据通讯的延迟量超过限值,则自动启用电台发送数据。无线网络通讯模块主要需要解决两大关键问题:实现数据传输的实时性和面向多终端负荷量保证。
无线网络通讯是为了把流动站GPS接收机(装在重型施工吊车机械臂上)采集的载波相位和伪距观测值,用无线网络的方式实时发回给基站解算,因为设置的GPS接收机的采样率是1s,所以数据量较大,对数据通讯的速度要求较高,需对传输延迟时间严格控制,以便实现高速实时数据读入计算机内存。流动站接收机的伪距和载波相位观测值以及数据检校标志通过发送天线发送到参考站数据处理中心,所有接收机的同步观测数据在数据处理中心一次性处理完成,如果由于网络中断或者是数据传输时间过长,则对历元进行筛选丢弃,直接解算下个历元的数据,且当延迟超过限值时则启用电台传输数据,从而保证数据的实时性。
由于防撞系统是面向多终端的,一般工程项目都存在多个终端接入GPRS,同时向数据中心传输数据,对于GPRS传输方式,只要终端请求通过,则允许用户接入网络,因此系统能承载的负荷量就取决于数据处理中心服务器的性能,实际工程应用中,中档配置的服务器便能满足系统的负荷承载。
本文在软件实现中,数据通信传输用最为广泛使用的Socket套接字编程来实现,Socket用于描述IP地址和端口,是一个通信句柄,应用程序通常通过“套接字”向网络发出请求或者应答网络请求[2]。Socket接口是TCP/IP网络的API,Socket接口定义许多函数或例程,程序员可以用他们来开发TCP/IP网络上的应用程序,以.Net平台为例,Socket类位于 System.Net.Socket命名空间下。首先服务器开启固定端口监听,在GPS终端连接成功时,两端都会产生一个Socket实例,操作这个实例,完成所需对话,图2给出了面向连接的Socket工作流程。
图2 Socket应用流程图
在工程实际中,往往是多台设备同时施工,要保证报警系统通信的正确性与时效性,服务器端必须采用多个线程来对各个终端进行实时监控,负责数据的接收和分析。为了提高程序的运行效率,在操作系统中提出了进程和线程的概念,进程是指一个可执行程序一次运行的过程,而线程是操作系统分配处理器(CPU)时间的基本单元,是系统中最小的执行单元[3]。多线程就是指在一个进程中执行多个线程,多个线程的同时执行,在一段时间内并行完成更多的任务,既加快了系统的反应速度,又提高了执行效率。多线程共存于应用程序中是现代操作系统中的基本特征和重要标志,在应用程序的编写中得到了广泛的应用。
在实现多测站观测数据并行解码的过程中,首先通过一个主线程读取各个测站的原始观测数据文件,然后根据测站的个数创建对应数量的子线程,每一个子线程负责一个测站观测数据的解码过程,主线程负责以时间片为单位使处理器在多个子线程之间不断切换,直到所有测站的解码过程完成,最后结束主线程。由于处理器运行速度很快,因此几乎所有子线程都在同时运行,这样就实现了多个测站观测数据的并行解码,算法流程如图3所示。
图3 多测站数据实时解码流程图
在实际测试过程中,共设置3个观测站,通过GPRS实时向服务器传输数据,同时调用本程序进行实时解码,测试结果表明,按照本文所述算法编写的程序能够实时、准确地对各个测站实施并行解码,并将解码结果写入RINEX标准文件,用于数据处理和分析。
本文采用C#实现通讯模块,基于中海达Q5进行二次开发,终端开发界面如图4所示,其中主要代码有:
图4 通讯模块终端界面
(1)串口原始二进制数据获取
(2)数据网络请求
(3)服务器端网络监听及多线程解算
在实际测试过程中,本文使用3台中海达GPS接收机进行实验,把外界条件设置成同一环境,考虑到大部分工程现场的大型施工设备运行速度都不是很快,若采样率过高系统数据量太大反而容易造成系统的延时,分析表明 1 s采样率足够满足系统需求。因此本文以 1 s采样率为例,开始试验,采集 10 min的观测数据,原始二进制数据一份保存在流动站本身,另一份则通过本文的通信模块传输到服务器终端。
对比流动端和服务器端的原始观测数据可以发现,两者无论是数据内容还是数据量都是相同的,这就保证了网络传输的正确性;最后,在程序中进行程序本身的传输时延测试,也完全满足防撞预警系统精度要求。因此可以总结得出,该数据交换传输模块能够准确实时的传输流动端的原始二进制数据至服务器,且多线程服务器技术能够满足多流动端需求,达到预警系统的数据解算需求,能够很好地应用于防撞预警系统中。
随着国家大型基础工程建设规模的提高和机械化施工的进程,施工现场设施的防撞预警显得越来越重要,本文介绍了防撞预警系统的原理,防撞预警最重要的就是数据分析的时效性,着重分析了其中的通信模块,它是基于GPRS技术接入网络实现多方外业监测数据实时回传数据中心的技术方法,阐述了通信模块实现的三个关键技术。通过实验测试表明,该基于GPRS的多线程通信模块无论是数据的正确性和时效性都得到很好的保证,能够满足实际应用的需求,有着广阔的应用范围。
[1]巨亚东,郭万里.多台缆机联合浇筑工艺在小湾水电站大坝混凝土浇筑中的应用[J].西北水电,2010(4):59~63.
[2]Zhang Zhiqiang,Wu Qingming,Xia Dayong.A collision early warning system for construct ion equipments of dam[J].Engineering Journal of Wuhan University.2007,40(1):134 ~137.
[3]何进,谢松巍.基于Socket的TCP/IP网络通讯模式研究[J].计算机应用研究,2001,18(8).
[4] 周礼.C#和.NET3.0第一步[M].北京:清华大学出版社,2008:327~334.
[5]Wu,H.,Tao,J.,Li,X.,Chi,X.,Li,H.,Hua,X.,Yang,R.,Wang,S.,Chen,N.A location based service approach for collision warning systems in concrete dam construction[J].Safety Science,2013,51(1):338 ~346.
[6]吴浩,陶婧,林丹等.支持大型水电站缆机吊装施工的安全监控平台研究[J].武汉理工大学学报,2012,34(10):127~131.
[7]孟祥广,郭际明.GPS接收机(OEM)二进制文件向RINEX 文件的转换[J].测绘工程,2009,18(5):18~21.
[8]吴浩,袁凌云,李新平等.面向大坝混凝土浇筑的缆机安全防撞系统设计及应用[J].安全与环境学报,2012,12(4):177~180.
[9] 任保刚,陈波,王仁礼.用多线程实现GPS接收机与PDA在Windows CE下的串口通信[J].测绘与空间地理信息,2005,28(4):57 ~60.