水利工程坝体变形监测数据处理系统研究
2015-10-21汪清忠
汪清忠
【摘要】主要介绍笔者在从事水利工程变形监测工作过程中总结开发的软件包。该软件包在水利工程坝体变形监测工程中得到应用,能方便、快捷地处理与该工程相关的所有分部工程(如精密水准、垂线、引张线、伸缩仪和精密量距等)的数据,并使用数据库管理系统进行管理。本文重点阐述与水利坝体变形监测数据相关的处理程序之编程思路,介绍以周期性观测为特点的变形监测工作中基于VBA编程的MS(微软)OfficeXP套件程序开发。
【关键词】水利工程坝体变形监测;数据处理;VBA编程;MSOfficeXP套件程序开发
0引言
水利工程由于规模浩大,技术复杂,施工期长等特点,为了施工期的工程安全和将来水工建筑物的运行安全,以及水利水电工程科学研究的需要,在水利工程各主体工程建筑物和一些主要的附属建筑物部位,都布设了安全监测项目。水利工程安全监测主要包括精密水准、垂线、引张线、伸缩仪和精密量距等分部工程,各类数据的计算繁琐,工作量较大,周期性强。我们集多年来测量实践和编程技巧,编制出能完成该变形监测项目中的所有数据的计算处理软件包。该软件包包括三个相互紧密联系的部分:数据传输、数据处理和数据库管理系统。笔者通过对其结构的分析,叙述MSOffice XP套件工具在变形监测工作中的简单应用和VBA的一般编程思路。该软件包可作为水利坝体自动化监测的一个主要模块,可解决变形测量工作中的诸多难题,具有较大的实用性。
1.软件包功能组成和计算实例
前已述及,本软件包包括三个主要模块:数据传输、数据处理和数据库管理。数据传输模块主要是将现场采集的原始数据通过串口输入计算机。该模块的实现涉及到串口编程;
数据处理模块用VBA开发,具有如下功能:a.精密水准数据处理程序;b.跨河水准计算程序;c.精密水准位移量计算;d.高差自动摘录;e.形成平差文件(武汉大学科傻系统文件格式);f.平面测角、测边数据处理程序;g.正倒垂线数据处理、位移计算程序;h.引张线数据处理、位移计算程序;i.伸缩仪数据处理、位移计算程序;j.精密量距数据处理、位移计算程序;k.竖直传高数据处理、位移计算程序。
数据库管理模块用MSOfficeAccess开发,它将数据处理模块处理后的所有数据导入数据库,用数据库管理系统管理所有数据,进而可根据需要生成报表、绘制图表,直观地描述各变形监测点的变形趋势。将这些子模块构建在一个统一的操作平台上是本软件包的第四个功能,这项工作由VisualBasic6.0完成。
软件包中各子程序功能各异,计算公式及处理方法亦有很大的不同,但在程序的实现上有异曲同工之妙。以下是一个计算结果实例:表1为某测次观测值,文字部分为说明;表2为计算结果;图1为各期累计位移量过程线图。
2.软件包程序实例
2.1变形监测工作一般过程
仍以正倒垂线数据处理、位移计算程序为例:表1为外业掌上电脑记录的原始观测文件(水利工程坝体监测工程中使用自动化垂线监测仪器,其记录的格式与本文中不同,但这并不妨碍本软件包的通用性),通过数据传输模块,经串口将数据导入工作站计算机中,形成扩展名为.dat的文本数据文件;数据处理模块对文本数据应用垂线计算的有关公式(由于不是本文论述的重点故不予推导介绍)进行处理,形成位移计算结果报表(见表2);数据库管理模块则将本期累计位移值和改化后原始数据导入数据库,之后可绘制各类报表(如图1)进行分析、预报。
2.2程序设计重点步骤解析
(1)、数据传输
串口传输是时下比较常见的数据通讯方式。一般来讲,VB6.0下编制串口数据传输程序主要采用两种方式:调用WINAPI函数或使用VB6.0自带的串口通讯控件。由于有很多介绍这方面内容的书籍文献,笔者对此不多作介绍。
(2)、数据处理
a、录入数据
EXCEL电子表格处理数据具有很大的优势,其主要原因在于:支持VBA编程;每项数据有固定行列地址,便于编程。目前外业采集数据形成的原始观测文件一般是文本文件,那么如何自动调入Excel中从而交与程序处理?可在程序中调用以下函数(WinAPI函数)实现这个功能:
限于篇幅限制不能详细介绍这个函数的各项参数意义。该函数在功能上是弹出一个对话框,要用户选择原始文本文件,以逗号或空格为界将各个数据分别填入EXCEL单元格中,从而使得每个数据有了固定的地址。以下程序代码是将文本文件读入Excel,然后再将测值赋予变量以进行处理:
b、数据计算
通过录入数据,所有本次观测数据均被读入相应变量,接下来的工作是纯数学运算问题,在程序实现上也是相当简单的。
c、录入数据库
通过软件包的专用接口,可将计算处理后的位移量和原始观测值导入ACCESS数据库。这在程序实现上也较为简单,主要工作是用ACCESS编制程序界面。该数据库由四个表组成:原始观测数据表、位移量表、测点信息表和测次表。具有查询、报表、窗体和制图等功能。
d、编制报表
通常,编制报表可使用数据库,这样不仅操作简单,易于管理各种数据、图表,而且可绘制精美的位移过程线图(如图1所示)。
(3)、构建操作平台
本软件包中的所有数据处理子模块都用VBA编制,那么如何在一个统一的操作平台下完成这些功能?最一般的方法是用VB6.0设计框架平台,即传统意义下的WINDOWS多文档视图结构,然后编制菜单、工具条以便调用子程序模块。有一定VB6.0编程经验的读者对此不会陌生,这里笔者重点提醒的是在VB6.0中调用EXCEL(调用WORD、ACCESS的方法类似):
1)在工程中引用MicrosoftExcel类型库:
从"工程"菜单中选择"引用"栏;选择MicrosoftExcel11.0ObjectLibrary(ExcelXP),然后选择"确定"。表示在工程中要引用EXCEL类型库。
2)在通用对象的声明过程中定义EXCEL对象:
3、结束语
水利坝体安全监測工作历来受到重视,本文结合水利坝体施工的特点,利用自动化监测设施、数据处理工具和配套计算机软硬件设施进行施工期的安全监测,并用数据库工具对变形规律进行研究,对沉降的变化趋势进行预报,可以更好地指导施工。本文中提到的数据处理软件包在实践上有较高的使用价值。
值得一提的是:本文中列举的程序实例实现代码具有一定的通用性,处理一些规律性较强的数据组时,读者只须稍加变更,便可以引用。至于文中提到的VBA编程思路,也有一定的普遍性。