论文部分内容阅读
[摘 要]在可控震源使用中,最为关键的是对震源的质量监控,这直接影响震源激发质量。但是标配的管理软件无法实现对可控震源进行长时间的状态分析,得出综合评价结果,为此开发本软件。本文详细介绍了软件开发过程及后期实现效果,实现了对震源工作状态的综合分析评价,实际使用中取得了良好的经济效益。
[关键词]可控震源 质量控制 VBA 宏
中图分类号:TG333.2 文献标识码:A 文章编号:1009-914X(2013)14-0264-01
前言
可控震源系统作为一种高效环保的震源系统,在地震勘探行业得到越来越广泛的应用。它与炸药震源的最大不同点就是,可控震源的激发效果好坏,不仅仅从地震记录来控制,应当从源头就控制震源本身的工作状态。可控震源本身工作正常是保障激发质量的前提,所以对可控震源进行质量监控是保障可控震源施工质量的关键环节。震源系统都配置了震源管理及质量监控软件,我们可以从系统上实时监控每台震源的工作状态,但是这些系统的统计功能却无法满足实际地震生产的需要,只能用来实时监控,无法对一段时间内某台震源的工作情况进行综合分析评价,以确定该震源是否工作稳定,并且评价震源是否工作正常的一个关键标准是,是否与同时工作的其它震源性能一致,而不仅仅是符合规定的限值,而这些随机标配的质量控制软件都无法完成。为此,我决定自己开发分析程序,对单台或者多台震源对比分析,以对震源的工作状态进行综合评价,更好的实现对震源质量进行监控,指导震源机械师进行故障排除。
1 可行性分析
可控震源系统配套的软件管理系统,一般都具有实时监控震源状态的质量控制模块,并且可以将震源工作状态数据导出,所以我们可以获取震源所有工作状态数据,包括相位、畸变、出力幅度等。通过编程对1天或者更长时间的数据进行分析,可以得到更为准确的震源评价结果。输出结果一般分为两种存储方式,文本文件和SEGD文件[1]。因为软件说明书都附带了文件格式说明,所以可以很容易通过编程实现对数据的读取分析。考虑到对文本文件的操作更为简单,所以选择针对文本文件开发程序分析评价。
2 软件开发
2.1 开发环境及编程语言的选择
在开发之初,首先考虑自己比较熟悉的程序开发环境包括:Delphi, c++ build,Visual C等可视化编译环境,考虑到该程序主要针对文本文件进行操作,而以上几种编程语言,针对文本文件的函数以及针对文本字符串的函数都相对薄弱,需要自己编写大量函数满足对文本文件的操作,而真正对文本文件操作方便,使用简单的编程语言是Visual Basic,所以决定放弃自己熟悉的编程语言,采用Visual Basic编译环境进行程序开发。但是面对完全陌生的编译环境,如何能够快速完成程序开发,成了横亘面前的头道难题。在对Visual Basic编程进行学习的过程中,接触到了VBA编程。通过对VBA编程的了解,发现VBA是集成到微软office程序中的脚本语言,来源于Visual basic编程[2]。VBA编程的劣势是代码执行效率低,但在开发过程中可以大量借助Excel的各种函数及图表实现程序开发[2],大量节约开发时间。由于对Excel较为熟悉,并且该程序不是大的软件系统,所以执行效率不是关键问题,为了节约开发时间,尽快完成软件开发,决定采用Excel下的VBA编程来实现该程序。
2.2 程序代码编写
2.2.1 VBA编程可以借助Excel下的宏录制功能,把大部分功能实现后再对宏代码进行修改实现自己的意圖,但是我发现使用宏录制功能产生的代码繁复冗杂,代码执行效率低下,并且不容易阅读,为之后的程序维护带来麻烦。所以我决定直接编写大部分代码,只用宏实现一些简单功能。
4 结束语
VBA编程可以大量借助Excel的图表、公式及函数,并可以利用宏录制,节约大量的开发时间,不失为一种针对日常应用小软件的简单高效的开发工具。本文提到的可控震源状态数据分析软件,完全通过VBA编程实现,能够满足软件设计初期提出的设计思想,解决了对单台震源长时间工作状态的分析,及多台震源的对比分析以方便做出综合评价的问题。评价结果对于震源机械师了解震源综合工况,准确判断故障具有重要指导意义,在实际应用中产生了良好的经济效益。
参考文献
[1] Sercel VE464 V3.0 User′s Manual,France:Sercel,2010.11.
[2] Mastering VBA,2nd Edition,[美]Guy Hart-Davis,杨密,杨乐,柯树森,译,电子工业出版社,2008.6.
[3] Excel 2010 VBA,编程与实践,罗刚君,章兰新,黄朝阳,编著,电子工业出版社,2010.11.
[关键词]可控震源 质量控制 VBA 宏
中图分类号:TG333.2 文献标识码:A 文章编号:1009-914X(2013)14-0264-01
前言
可控震源系统作为一种高效环保的震源系统,在地震勘探行业得到越来越广泛的应用。它与炸药震源的最大不同点就是,可控震源的激发效果好坏,不仅仅从地震记录来控制,应当从源头就控制震源本身的工作状态。可控震源本身工作正常是保障激发质量的前提,所以对可控震源进行质量监控是保障可控震源施工质量的关键环节。震源系统都配置了震源管理及质量监控软件,我们可以从系统上实时监控每台震源的工作状态,但是这些系统的统计功能却无法满足实际地震生产的需要,只能用来实时监控,无法对一段时间内某台震源的工作情况进行综合分析评价,以确定该震源是否工作稳定,并且评价震源是否工作正常的一个关键标准是,是否与同时工作的其它震源性能一致,而不仅仅是符合规定的限值,而这些随机标配的质量控制软件都无法完成。为此,我决定自己开发分析程序,对单台或者多台震源对比分析,以对震源的工作状态进行综合评价,更好的实现对震源质量进行监控,指导震源机械师进行故障排除。
1 可行性分析
可控震源系统配套的软件管理系统,一般都具有实时监控震源状态的质量控制模块,并且可以将震源工作状态数据导出,所以我们可以获取震源所有工作状态数据,包括相位、畸变、出力幅度等。通过编程对1天或者更长时间的数据进行分析,可以得到更为准确的震源评价结果。输出结果一般分为两种存储方式,文本文件和SEGD文件[1]。因为软件说明书都附带了文件格式说明,所以可以很容易通过编程实现对数据的读取分析。考虑到对文本文件的操作更为简单,所以选择针对文本文件开发程序分析评价。
2 软件开发
2.1 开发环境及编程语言的选择
在开发之初,首先考虑自己比较熟悉的程序开发环境包括:Delphi, c++ build,Visual C等可视化编译环境,考虑到该程序主要针对文本文件进行操作,而以上几种编程语言,针对文本文件的函数以及针对文本字符串的函数都相对薄弱,需要自己编写大量函数满足对文本文件的操作,而真正对文本文件操作方便,使用简单的编程语言是Visual Basic,所以决定放弃自己熟悉的编程语言,采用Visual Basic编译环境进行程序开发。但是面对完全陌生的编译环境,如何能够快速完成程序开发,成了横亘面前的头道难题。在对Visual Basic编程进行学习的过程中,接触到了VBA编程。通过对VBA编程的了解,发现VBA是集成到微软office程序中的脚本语言,来源于Visual basic编程[2]。VBA编程的劣势是代码执行效率低,但在开发过程中可以大量借助Excel的各种函数及图表实现程序开发[2],大量节约开发时间。由于对Excel较为熟悉,并且该程序不是大的软件系统,所以执行效率不是关键问题,为了节约开发时间,尽快完成软件开发,决定采用Excel下的VBA编程来实现该程序。
2.2 程序代码编写
2.2.1 VBA编程可以借助Excel下的宏录制功能,把大部分功能实现后再对宏代码进行修改实现自己的意圖,但是我发现使用宏录制功能产生的代码繁复冗杂,代码执行效率低下,并且不容易阅读,为之后的程序维护带来麻烦。所以我决定直接编写大部分代码,只用宏实现一些简单功能。
4 结束语
VBA编程可以大量借助Excel的图表、公式及函数,并可以利用宏录制,节约大量的开发时间,不失为一种针对日常应用小软件的简单高效的开发工具。本文提到的可控震源状态数据分析软件,完全通过VBA编程实现,能够满足软件设计初期提出的设计思想,解决了对单台震源长时间工作状态的分析,及多台震源的对比分析以方便做出综合评价的问题。评价结果对于震源机械师了解震源综合工况,准确判断故障具有重要指导意义,在实际应用中产生了良好的经济效益。
参考文献
[1] Sercel VE464 V3.0 User′s Manual,France:Sercel,2010.11.
[2] Mastering VBA,2nd Edition,[美]Guy Hart-Davis,杨密,杨乐,柯树森,译,电子工业出版社,2008.6.
[3] Excel 2010 VBA,编程与实践,罗刚君,章兰新,黄朝阳,编著,电子工业出版社,2010.11.