《1 前言》

1 前言

随着现代传感技术、计算机与通信技术、信号分析与处理技术及结构振动分析理论的迅速发展,大型桥梁结构健康监测技术近年来已成为国内外工程界和学术界关注的热点。桥梁结构健康监测与安全评估系统总的目标是通过测量反映大桥环境激励和结构响应状态的某些信息,实时地监测大桥的工作性能和评估大桥的工作条件,以协助管养单位保证大桥的安全运营并为大桥的养护维修提供科学依据。

目前国内各个大桥的结构健康监测系统数据报表格式多样,且差异较大,并且这些报表大部分由手工完成,少部分由监测系统软件自动生成,这些报表软件针对性强,没有考虑其通用性及适用性,所以适用面非常窄,不能推广使用。为加快大桥管理部门的信息化进程,为大桥管理人员提供可靠、有效、准确、详实的大桥实时及历史数据,开发一套适用面广,灵活性高并能够自动化生成的通用报表具有重要的意义。

为了将上述报表的优点有机地结合起来,文章结合舟山大陆连岛工程结构运营健康监测系统的研发,利用微软的 .NET 平台中提供的报表工具 RDLC 进行报表系统的开发。

《2 报表定义语言 RDL》

2 报表定义语言 RDL

报表定义语言[1](report definition language,RDL)是一种用来定义报表的基于 XML 的计划语言。RDL 的目标是通过定义一种通用的允许报表定义交互的计划语言,促进商业报表产品之间的互用性。在微软的集成开发工具 VS.NET 2005 之前,SQL Server Reporting Services[2]中已经提供了一种被称为报表定义语言的语言;在 VS.NET 2005 中,Microsoft 提供了针对这种报表的设计器,并提供了在 WinForm 和 WebForm 中使用这种报表的能力。Microsoft 将这种报表的后缀定为 RDLC,RDL 仍然是 Report Definition Language 的缩写,C 代表 Client-side processing,代表了它的客户端处理能力。

RDLC 的特点有[2]:a. 简单易用的控件;b. 灵活的可定制性,用 XML 来描述一个报表,便于移植;c. 高度可编程性,在项目中,不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;d. 支持数据钻取功能;e. 导出的 Excel 文件格式非常完美,不需要安装 Excel,方便用户的编辑操作。

基于上述特性,选择 RDLC 作为报表系统的开发工具作为大型桥梁监测系统的报表模块具有很好的可扩展性,如图 1 所示 RDLC 的结构模型图,无论数据源是传统的数据库数据源还是基于 XML 的数据源,无论系统是基于 WinForm 的窗体界面还是基于 Web 的界面都可以很方便地进行移植和扩展。

《图1》

图1 RDLC 结构模型图

Fig.1 RDLC structure model diagram

《3 报表数据模型》

3 报表数据模型

报表作为桥梁结构状态的重要分析依据,每张报表都有其明确的分析主题,报表的定义过程是分析主题的建立过程。报表模型面向报表主题描述各类报表模板,报表模型是一个对象模型。报表的定义过程就是报表模型的实例化过程。

桥梁监测系统报表的种类大致可以分为 3 类,包括明细表、统计表和分析报表。明细表,即数据的原始记录,直接抽取表单的数据按照时间序列予以显示;统计报表,即汇总报表,根据类型不同或其他各种条件汇总表单数据,并按照特定格式予以显示;分析报表,在汇总报表的基础上增加数据计算,结构建模分析,得出分析结论显示于报表中。由此可以看出,3 种形式的报表存在着层次关系,明细表是基础,统计报表是按一定条件汇总明细表而成,而分析报表的分析数据则基于统计报表的计算结果。

《3.1 报表数据模型的定义》

3.1 报表数据模型的定义

报表数据模型[3]定义如下:

D ={Dt,Dd,Da}

其中:Dt,Dd 和 Da 分别为表单集合、数据集合和分析数据集合。

《3.2 报表数据模型的分析》

3.2 报表数据模型的分析

结构健康监测系统的自动化数据采集是实时进行的,采集来的数据属于海量数据,目前主要的数据压缩处理办法是提取特征值进入数据库来满足基本的统计和分析的需求。但是大跨径悬索桥由于监测种类较多,监测点规模庞大,提取出来的特征值在长期累积的情况下,数据量也是可观的。在这种情况下构建报表数据模型的实例,需要对结构进行进一步的划分。

舟山大陆连岛工程结构健康监测系统所容纳到自动化监测系统的桥梁中包含 1 座悬索桥、1 座斜拉桥、3 座连续梁桥,这个系统结构目录树的层次划分为:桥梁—监测类型—监测布点单元—监测点。针对各个监测点,需要展示的报表对应于报表数据模型中的表单集合,它反映的是该监测点按照时间顺序数据的变化趋势;针对监测布点单元,需要展示的报表对应于报表数据模型中的数据集合,它反映的是某个监测断面(我们称之为单元)的所有监测点数据统计值的对比情况。还有一种统计报表是需要多种监测类型经过分析计算才可以得到的,此类报表属于报表数据模型中的分析数据集合,针对分析数据模型,涉及到高频率采样原始数据的分析和相关联的监测项目的统计结果,需要单独的软件模块来对原始数据和相关联数据进行分析。

《4 数据报表软件结构设计》

4 数据报表软件结构设计

文章采用 vs2005.Net 作为开发平台,使用面向对象的 C#语言作为开发工具。

《4.1 编码方式》

4.1 编码方式

C#是一种精确、简单、类型安全、面向对象的语言[4, 5]。.Net代表一个集合,一个环境,它可以作为平台支持下一代 Internet 的可编程结构。C#是 .Net 的代表语言。

监测系统报表软件界面设计采用多文档结构视图,多文档界面可以同时展示出多个子窗体,即可以同时展示监测系统的多种检测项目报表;大量数据的操作与统计会耗费很长的时间,多文档的界面利用多线程的技术,解决了界面假死的问题,使得用户可以同时进行多项耗时的统计操作。

《4.2 报表多模板设计》

4.2 报表多模板设计

软件模块化设计要求高内聚低耦合,通过设计多个报表的模板,把报表上需要展示的不同信息以参数的形式传递到报表模版中,可以提高软件的可重用性与可扩展性。

在舟山大陆连岛工程结构健康监测系统的软件报表设计中对不同类型的报表预先定义一个模板,之后通过代码调用数据进入报表数据源,RDLC 的报表是基于 XML 语言的,它是一种动态的语言,在生成这个 RDLC 报表时它可以从填充了数据的报表数据源中自动地读出数据并按照模板规划好的方式展现在控件中。

舟山大陆连岛工程结构健康监测系统报表软件中有如下几种报表模板:监测点报表模板、监测单元报表模板、车流量统计报表模板、GPS 统计报表模板等,每种模板又针对不同的应用需求对应几个具体的模板。

《4.3 报表展示内容设计》

4.3 报表展示内容设计

舟山大陆连岛工程结构健康监测系统的报表界面力求简洁,能够直观地反映出桥梁监测点的状态及趋势,所以报表的展示内容设计主要包含以下主要内容:标题、副标题、曲线、数据区域、图片。

上述内容基本反映出了全部相关的数据,标题展示出了该报表的点名或单元名,副标题可以展示出该报表的组织方式,例如是日报表还是月报表,曲线可以展示数据的变化趋势或者展示不同点之间的对比情况,数据区域按照模板结构展示出详细的数据情况,图片展示出了测点的具体布置情况。

《4.4 报表一体化设计》

4.4 报表一体化设计

为方便大桥管理部门方便地生成一个月、一年或几年的一份包含大量统计信息的报表,通过一键式的操作来得到这样的报表成为报表系统的一个重要需求。

舟山大陆连岛工程结构健康监测系统的报表在一体化设计上利用了 RDLC 的动态报表特性,用户通过在结构目录树中的选择,系统生成各个目录树节点的子报表,最后自动把子报表合成一份报表完成报表的一键式自动生成。

《5 结语》

5 结语

监测系统的数据分析属于统计问题,如何设计具有良好性能的报表解决方案是当前监测系统研究的热点之一。文章提出一种基于 RDL 的报表方案,并通过项目工程实践对该方案进行了应用分析。实践表明,该方案具有灵活性高、一体化程度高和可操作性强的优点。该方案能为监测数据的动态展示、结构识别和状态评估提供良好的支撑基础,对目前发展迅速的桥梁结构健康监测系统数据报告方案设计具有现实参考意义。