论文部分内容阅读
摘要:通过Excel VBA宏语言程序来解决重型动力触探试验的成果分析和自动化出图的问题,在工程实践中得到验证。将Excel强大的电子表格计算能力与Excel VBA增加的自动功能相结合,可方便地将试验结果输出为模版式图表,使试验成果管理得到规范和系统化,有利于开发程序所应用专业的技术推广或前沿拓展。从系统分析、软件工程的开发界面、数据流程设计、模块设计、关键技术、工作表设计原则与技巧等方面介绍了开发应用程序的特点和注意事项。
关键词:系统分析;数据流程;模块设计;关键技术;工作表设计
中图分类号:TP311.52 文献标识码:A 文章编号:1000-0666(2011)01-0108-05
0 概述
重型圆锥动力触探是土体原位测试的一种勘察技术。随着基础设施建设工作增多,特别是在公路等工程建设中,大量使用碎石桩处理软基技术,用重型动力触探试验对碎石桩的施工质量进行检测(张丽等,2002),快速、自动化处理动力触探试验数据的需求越来越高。尽快得出试验成果,为工程决策及时提供依据,已成为一个重要的环节,同时也是确保工程质量和安全的关键因素。Excel VBA是在Microsoft Excel 中使用的宏语言,主要为了增强Excel 软件使用的自动化能力。在岩土工程重型动力触探试验工作中,运用Excel强大的电子表格计算能力和Excel VBA增加的自动功能,可以轻松完成试验记录、统计计算和制作图表等特定任务。
1 系统分析
岩土工程勘察专业软件系统是为自动完成岩土工程重型动力触探试验统计计算和绘制成果图表而设计的。重型动力触探试验成果的数据处理主要有触探指标和触探曲线。触探指标包括阵击数、总击次、阵击击次平均值、阵击标准差、变异系数、探杆校正后不达标的阵击数等数理统计值。利用Excel 软件的图表功能可以根据录入的数据来编辑绘制触探曲线。笔者曾尝试用3个Excel工作簿的170个Sheet表编制了一套半自动的处理重型动力触探试验数据的程序组,其主要特点是:① 若以10 cm为一个锤击阵击单位,从1 m深度起算,每个试验终孔深度对应一个Sheet表,全套程序组可以处理深至18 m的重型动力触探试验数据;② 将每一个试验孔的原始测试数据、触探指标、触探曲线和试验文字记录汇总成试验成果图表;③ 利用Sheet表的单元格公式、函数和嵌入式图表的数据源自动链接功能制作成工作表模版,在录入原始测试数据的同时即生成触探指标、触探曲线。该程序组之所以称为“半自动”,就是在修正探杆长度时是采用手动输入修正系数于单元格公式中。一个熟练的制表分析员完成一个探孔的重型动力触探试验成果图表制作和打印,平均耗时6 min。
为了进一步增强用Excel处理触探试验数据的自动化能力,本系统的开发直接采用Microsoft Excel作为平台,它包括以下开发要素:用户界面设计、逻辑设计,面向对象或面向过程的程序以及数据层等。Excel 应用程序可以完成相当多的计算任务,可以满足多种应用程序需求,从用户界面、逻辑设计、报表设计到最终的打印,Excel都可以在设计上满足开发者的需求(黄睿,马然,2006;刘迎甫,2004)。本程序开发的全过程体现出Excel开发平台的优越性。
2 软件工程的开发界面
软件开发界面(VBE)为Excel工具按钮下的宏编辑器,同时按下Alt和F11键也可进入(图1)。图中在源代码窗口内正置设计一个输入钻探参数的用户窗体。
3 数据流程设计
数据流程如图2所示,Excel VBA数据源代码的运行特点是顺序执行,在1、2两个节点处有分支迂回。
4 模块设计
模块和窗体用于存放不同功能的程序过程或子过程,如图3所示,根据需要添加形成系统构架,符合面向对象的程序语言设计方法(郝效强等,2009)。
5 关键技术
由程序输出的版式图表有3个要求:能够对试验的基本情况进行记录和管理;能够给出试验结果的触探指标;用数据图表直观反映试验情况(图4)。
5.1 数据输入与转换
数据输入可采用程序本身的Excel表单元格直接录入,或从其它Excel表、文本文件、数据库等经过程序数据转换而导入(鱼明,2006;王建国等,2009)。
5.2 数据检查
根据重型动力触探试验的锤击数为1~50的整数的特点,在数据输入过程中,非此数据特点的其它误操作数据都由程序自动检查并提前产生错误更正提示(杜茂康,2005),以免后续程序出错或中断运行。
5.3 数据处理
锤击数随深度变化时,根据《岩土工程勘察规范》(GB50021-2001)的规定,必须按式(1)对实测数据作探杆长度修正(工程地质手册编委会,2007):
源代码采用动探深度内的阵击数作为For…Next语句的循环数,用Select Case…End Select分支语句判断锤击数,嵌套内用9个Select Case…End Select分支语句判断探杆长度后得到修正值。
其它数理统计值由公式和函数计算得到。
5.4 图表生成
输入数据后暂时不能作为源数据,因为在Excel中没有现成的方折曲线制作模具,笔者经过特殊数据转换后,在其它任何两个空白列形成图表源数据,再采用Excel的插入“散点图”功能,最后绘制成触探曲线。
本系统解决的关键技术有触探曲线生成和《工程地质手册》(第四版)的表3-2-4中有关动力触探试验探杆长度的修正系数表及其相互间的逻辑关系问题。
6 工作表设计原则
新设计的重型动力触探试验应用程序,仅用1个Excel工作簿内嵌宏语言而成。工作表分配大致有试验数据表、3个成果图表备份表、数据库、图库等。
(1)试验数据表是成果图表产生前的数据存储地和用户界面,其设计的基本准则是:对于不同目的的单元格使用不同的格式,包括字体、颜色等,在视觉上有层次感,容易区分不同单元格的作用。为防止用户输入无关或错误数据导致工作表发生错误,要尽量锁定除用户输入单元格之外的其他界面元素。在这方面,不同的设计者有不同的技巧(刘锦龙,2007),本系统采用工作表事件来控制锁定试验数据表中写有关键字段的单元格(Project-A & Dekiru系列编辑部,2007),当误点击这些单元格时光标会被自动移开。
(2)在自动完成试验成果图表的制作、打印的同时,程序自动备份试验成果图表在工作表中,可以分页预览或再次集中整页打印。
(3)试验数据表中的各段探杆深度数据、阵击深度数据、实测锤击数据和修正数据另外自动备份在数据工作表中。
(4)图库工作表用于自动备份图片格式的成果图表,可作为电子档案参考资料。
7 操作命令
本系统设计了高效便捷的操作按钮,随Excel VBA宏程序运行而自动加载。加载后在Excel工作表的命令栏出现“加载项”按钮,其下的程序菜单如图5所示。
8 结论
重型动力触探试验数据处理在使用Excel VBA 应用程序以后,完满流畅地解决了自动化功能的问题,可以非常方便地将试验结果输出为模版式图表,使试验成果管理得到规范化和系统化,有利于开发程序所应用专业的技术推广或前沿拓展。应用Excel VBA开发岩土工程勘察专业软件是一种新的尝试,为批量整理成果资料提供了强有力的工具。Excel是很普及的办公软件,在此平台有利于实用专业软件开发技术的推广。推广应用该程序后,我们完成了昆明新机场建设地震动试验,昆明高峣至海口、罗村口至富宁、云南水富至麻柳湾等高速公路工程建设碎石桩地基处理,还有贵州电解铝工程建设强夯地基处理等一批重点工程的累计上万张重型动力触探试验成果图表的制作,较好地保证了这些项目的进度。
关键词:系统分析;数据流程;模块设计;关键技术;工作表设计
中图分类号:TP311.52 文献标识码:A 文章编号:1000-0666(2011)01-0108-05
0 概述
重型圆锥动力触探是土体原位测试的一种勘察技术。随着基础设施建设工作增多,特别是在公路等工程建设中,大量使用碎石桩处理软基技术,用重型动力触探试验对碎石桩的施工质量进行检测(张丽等,2002),快速、自动化处理动力触探试验数据的需求越来越高。尽快得出试验成果,为工程决策及时提供依据,已成为一个重要的环节,同时也是确保工程质量和安全的关键因素。Excel VBA是在Microsoft Excel 中使用的宏语言,主要为了增强Excel 软件使用的自动化能力。在岩土工程重型动力触探试验工作中,运用Excel强大的电子表格计算能力和Excel VBA增加的自动功能,可以轻松完成试验记录、统计计算和制作图表等特定任务。
1 系统分析
岩土工程勘察专业软件系统是为自动完成岩土工程重型动力触探试验统计计算和绘制成果图表而设计的。重型动力触探试验成果的数据处理主要有触探指标和触探曲线。触探指标包括阵击数、总击次、阵击击次平均值、阵击标准差、变异系数、探杆校正后不达标的阵击数等数理统计值。利用Excel 软件的图表功能可以根据录入的数据来编辑绘制触探曲线。笔者曾尝试用3个Excel工作簿的170个Sheet表编制了一套半自动的处理重型动力触探试验数据的程序组,其主要特点是:① 若以10 cm为一个锤击阵击单位,从1 m深度起算,每个试验终孔深度对应一个Sheet表,全套程序组可以处理深至18 m的重型动力触探试验数据;② 将每一个试验孔的原始测试数据、触探指标、触探曲线和试验文字记录汇总成试验成果图表;③ 利用Sheet表的单元格公式、函数和嵌入式图表的数据源自动链接功能制作成工作表模版,在录入原始测试数据的同时即生成触探指标、触探曲线。该程序组之所以称为“半自动”,就是在修正探杆长度时是采用手动输入修正系数于单元格公式中。一个熟练的制表分析员完成一个探孔的重型动力触探试验成果图表制作和打印,平均耗时6 min。
为了进一步增强用Excel处理触探试验数据的自动化能力,本系统的开发直接采用Microsoft Excel作为平台,它包括以下开发要素:用户界面设计、逻辑设计,面向对象或面向过程的程序以及数据层等。Excel 应用程序可以完成相当多的计算任务,可以满足多种应用程序需求,从用户界面、逻辑设计、报表设计到最终的打印,Excel都可以在设计上满足开发者的需求(黄睿,马然,2006;刘迎甫,2004)。本程序开发的全过程体现出Excel开发平台的优越性。
2 软件工程的开发界面
软件开发界面(VBE)为Excel工具按钮下的宏编辑器,同时按下Alt和F11键也可进入(图1)。图中在源代码窗口内正置设计一个输入钻探参数的用户窗体。
3 数据流程设计
数据流程如图2所示,Excel VBA数据源代码的运行特点是顺序执行,在1、2两个节点处有分支迂回。
4 模块设计
模块和窗体用于存放不同功能的程序过程或子过程,如图3所示,根据需要添加形成系统构架,符合面向对象的程序语言设计方法(郝效强等,2009)。
5 关键技术
由程序输出的版式图表有3个要求:能够对试验的基本情况进行记录和管理;能够给出试验结果的触探指标;用数据图表直观反映试验情况(图4)。
5.1 数据输入与转换
数据输入可采用程序本身的Excel表单元格直接录入,或从其它Excel表、文本文件、数据库等经过程序数据转换而导入(鱼明,2006;王建国等,2009)。
5.2 数据检查
根据重型动力触探试验的锤击数为1~50的整数的特点,在数据输入过程中,非此数据特点的其它误操作数据都由程序自动检查并提前产生错误更正提示(杜茂康,2005),以免后续程序出错或中断运行。
5.3 数据处理
锤击数随深度变化时,根据《岩土工程勘察规范》(GB50021-2001)的规定,必须按式(1)对实测数据作探杆长度修正(工程地质手册编委会,2007):
源代码采用动探深度内的阵击数作为For…Next语句的循环数,用Select Case…End Select分支语句判断锤击数,嵌套内用9个Select Case…End Select分支语句判断探杆长度后得到修正值。
其它数理统计值由公式和函数计算得到。
5.4 图表生成
输入数据后暂时不能作为源数据,因为在Excel中没有现成的方折曲线制作模具,笔者经过特殊数据转换后,在其它任何两个空白列形成图表源数据,再采用Excel的插入“散点图”功能,最后绘制成触探曲线。
本系统解决的关键技术有触探曲线生成和《工程地质手册》(第四版)的表3-2-4中有关动力触探试验探杆长度的修正系数表及其相互间的逻辑关系问题。
6 工作表设计原则
新设计的重型动力触探试验应用程序,仅用1个Excel工作簿内嵌宏语言而成。工作表分配大致有试验数据表、3个成果图表备份表、数据库、图库等。
(1)试验数据表是成果图表产生前的数据存储地和用户界面,其设计的基本准则是:对于不同目的的单元格使用不同的格式,包括字体、颜色等,在视觉上有层次感,容易区分不同单元格的作用。为防止用户输入无关或错误数据导致工作表发生错误,要尽量锁定除用户输入单元格之外的其他界面元素。在这方面,不同的设计者有不同的技巧(刘锦龙,2007),本系统采用工作表事件来控制锁定试验数据表中写有关键字段的单元格(Project-A & Dekiru系列编辑部,2007),当误点击这些单元格时光标会被自动移开。
(2)在自动完成试验成果图表的制作、打印的同时,程序自动备份试验成果图表在工作表中,可以分页预览或再次集中整页打印。
(3)试验数据表中的各段探杆深度数据、阵击深度数据、实测锤击数据和修正数据另外自动备份在数据工作表中。
(4)图库工作表用于自动备份图片格式的成果图表,可作为电子档案参考资料。
7 操作命令
本系统设计了高效便捷的操作按钮,随Excel VBA宏程序运行而自动加载。加载后在Excel工作表的命令栏出现“加载项”按钮,其下的程序菜单如图5所示。
8 结论
重型动力触探试验数据处理在使用Excel VBA 应用程序以后,完满流畅地解决了自动化功能的问题,可以非常方便地将试验结果输出为模版式图表,使试验成果管理得到规范化和系统化,有利于开发程序所应用专业的技术推广或前沿拓展。应用Excel VBA开发岩土工程勘察专业软件是一种新的尝试,为批量整理成果资料提供了强有力的工具。Excel是很普及的办公软件,在此平台有利于实用专业软件开发技术的推广。推广应用该程序后,我们完成了昆明新机场建设地震动试验,昆明高峣至海口、罗村口至富宁、云南水富至麻柳湾等高速公路工程建设碎石桩地基处理,还有贵州电解铝工程建设强夯地基处理等一批重点工程的累计上万张重型动力触探试验成果图表的制作,较好地保证了这些项目的进度。