李永波
(辽宁省交通规划设计院有限责任公司,辽宁 沈阳 110001)
JTG/T H21—2011《公路桥梁技术状况评定标准》(下简称《标准》)[1]规定了公路桥梁技术状况评定方法和计算过程,该计算过程比较烦琐,重复性工作较多,当桥梁规模较大、产生病害的构件较多时,由人来完成此项工作会十分费时、费力,且容易出错,而计算机最擅长重复计算工作,所以编写相关的程序,借助计算机来计算就成为一种必然趋势。
2012 年,刘国金[2]基于ExcelVBA 编制了一种初步的计算程序,但该程序在计算效率等方面依然存在如下不足:①计算前需要人工统计全桥各部件产生病害的构件数量。②通过程序生成构件编号后,需要根据病害类型逐一地对每个构件的病害评定标度进行填写,构件较多时,实际操作过程比较烦琐。可见,该程序并未实现由病害到评分的完全自动化计算。③该程序没有给出针对构件层的中间评定结果,不容易校核计算结果的准确性。
2016 年,姚伟等[3]引入矩阵运算法,将桥梁技术状况评分计算的每个步骤都转化为矩阵之间的简单运算,使得整个计算过程更加直观易懂。但该文未给出实际应用层面的计算程序。
2016 年,吴圣贤[4]针对《标准》应用问题进行研究,对《标准》在实施过程中遇到的桥梁结构构件如何合理划分、重要病害构件数量影响的定量分析、构件重要病害数量影响的定量分析这3 个方面的问题,通过计算对比,得出了相关的结论,提出了相关技术问题的解决办法,并基于VB 语言开发了相应的管理系统桥梁技术状况评定软件。但该软件进行计算的前提是,需要将现场采集的一条条病害记录人工输入该软件,录入过程较烦琐,且计算完成后,不能输出评定计算的中间过程,不容易校核计算过程的正确与否。
本文基于VBA 编程语言,将桥梁技术状况评定计算过程转化为ExcelVBA 程序,实现了公路桥梁技术状况评定计算的自动化,且计算表格能呈现中间计算过程,方便操作者对计算结果进行核对。
该程序包含3 个参数表和2 个计算表:参数表分为病害类型表、t值表及检测指标扣分值表。病害类型表是依据《标准》第5 章,确定各部件的病害类型及每种病害类型的最大标度;t值表是依据《标准》中表4.1.2 及各部件的构件总数,确定各部件的t值;检测指标扣分值表是依据《标准》中表4.1.1,确定某构件各检测指标扣分值。计算表分为病害表和评分表,病害表用于录入病害记录和呈现评分计算的中间过程,评分表用于汇总最终计算结果。
准备工作主要包括两方面内容:①将桥梁病害统计表录入到病害表内,通过便携式手持电子设备进行现场检测,检测完成后自动导出病害记录;②统计桥梁各部件的构件总数,并将其填入计算表内。
桥梁技术状况评定过程主要包含以下几个方面。
病害记录梳理及排序。采用VBA 自定义函数,从病害记录表中提取构件编号,并对所有病害依次按缺损位置(部件类型)、构件编号、缺损类型以及评定标度大小进行排序,一是为后续进行扣分排序做准备,二是使全桥病害更具条理性,易于进行中间计算过程的校核。鉴于篇幅有限,文中不再给出“提取构件编号”和“病害排序”的相应代码。
逐条病害扣分及扣分排序。采用循环结构,逐条读取各构件病害,根据各条病害评定标度及病害类型,确定各条病害扣分,然后对各构件按各病害类型的扣分值从大到小排序,并统计各部件中缺损构件数量。单条病害扣分程序主要代码如下(鉴于篇幅有限,文中未给出扣分排序代码):
桥梁构件、部件及总体技术状况评定。根据《标准》第4.1.1~4.1.4 条,对桥梁各构件、部件及总体技术状况逐级进行评定计算。构件评分计算程序主要代码如下(鉴于篇幅有限,文中未给出部件评分计算代码):
最后,将上述计算结果通过Excel公式整理汇总到评分表。
该程序基于ExcelVBA 编程环境,构建了针对《标准》中技术状况评定方法的计算表格,可一步式实现由病害到评定结果的计算,能准确、高效地进行桥梁技术状况评定计算,极大地提高了桥梁检测评定工作的效率,同时能呈现中间计算过程,方便操作者对计算结果进行核对。