软件设计模式在数控测井系统中的应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:moovent_chrisx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在2011年社会实践期间有幸参加某公司的高性能数控测井系统项目的开发研制工作。该系统是在当前测井成套测井装备的基础上,为满足高精度,高性能,高效率的要求开发的测井系统。该系统由井下仪器系统、遥测系统、地面系统、软件系统和解释评价系统等子系统组成。设计模式是前人设计面向对象软件的经验和总结,大量实践经验证明在软件开发中灵活的使用设计模式可以极大的提高系统的稳定性、扩展性和维护性。描述在测井软件系统开发过程中,如何分析和发现相关模式,以及如何选择和应用设计模式,特别是介绍MVC模式在软件框架和相关系统模块中的应用和使用效果,在最后,讨论在实际项目开发中,设计模式应用的有关想法和教训。
  关键词:MVC;设计模式;数控测井系统
  中图分类号:TP311 文献标识码:A 文章编号:1671—7597(2012)0510131-02
  随着当前石油测井技术的发展,为了能更快更好地得到储层地层信息,2011年6月某公司成立了高性能数控测井系统项目,目的是提供一个从井下到地面以及解释评价的整套测井系统。系统的设计目标是一次测井,取得所有合格资料,并且能保证60井次的免维修率。整个系统由遥测系统、地面系统、井下仪器、解释评价系统和软件系统等子系统组成。整个测井软件系统完成三个主要任务:测井数据的采集、测井数据的工程值计算、测井过程的监控。测井数据采集主要是采集井下仪器通过测井遥测系统传输的测井数据,并保证数据的完整性、正确性。测井数据工程值计算主要是把采集的数据根据不同仪器刻度计算方法进行工程值的计算,测井过程监控主要是把计算的测井数据用曲线和图像的方式实时的显示在屏幕和打印成图,由测井操作员进行实时监控。
  设计模式是前人设计面向对象软件的经验和总结,在软件设计中引入设计模式开发方法,可以极大的提高软件系统的稳定性、可扩展性和可维护性。在测井软件系统框架进行分析和设计时,根据系统的稳定性、可扩展性和可维护性的要求,项目组经过细致分心,决定采用MVC设计模式。
  MVC模式构架包括三个部分:模型(Model)、视图(View)、控制(Control)。模型(Model)主要是对系统的数据和逻辑运算的封装。它独立与系统的界面和I/O。视图(View)把表示模型的数据和逻辑关系用特定的形式展示给用户。控制(Control)处理用户和软件之间的交互操作,当模型的数据发生更新时,控制随着模型的更新进行相应更新,但是整个更新过程,对外接口不变,对视图造成最少的影响。模型、视图、控制的相互分离有利于模块之间内聚性的提高和耦合性的降低。一个模型可以对应多个视图,由控制来传播模型的变化从而更新视图。
  MVC模式如何在测井软件系统实现,我们主要是从如下四个方面进行:
  1 分析系统功能。分离功能模型
  首先根据系统的主要任务进行系统的模块分解。根据测井软件系统数据采集、数据转换和测井监控三个主要任务,把系统分为三个模块对应于MVC模式的三个部分。其中模型(Model)对应于数据的采集和工程值的计算。测井视图(View)对应于测井监控功能。模型层实现下面四大功能:采集测井数据、处理测井数据、存储测井数据以及数据的刻度计算。初始化井下仪器和硬件平台,采集数据帧,井下仪器数据的中断处理,重组数据帧等任务由测井数据的采集模块实现。数据刻度计算主要是针对不同的仪器实现数据的刻度计算,即把获取到的测量数据对照刻度系数表进行计算,同时参考深度延迟数据来修正当前计算结果等。数据存储主要是测井数据的存储和原始数据的存储。这里我们采用的是测井公用的XTF格式作为数据存储的格式。数据的操作由控制负责,它是视图和模型之间数据交互的接口,完成的任务主要是提供数据输入和输出功能。
  2 视图的设计与实现
  视图主要是提供测井数据的图形显示。通过调用模型层中的数据操作方法,从而提取测井数据,然后根据不同的测井数据提供图像、波列、曲线等多种表现形式。在本系统的开发过程中,为了提高程序的健壮性和数据采集的稳定性,系统采用进程间通讯的消息传递方式与模型层和控制层进行交互。视图的实现本身就是一个独立的可执行程序,它通过TCP/IP网络与模型之间的进行通讯,视图主要包括绘图输出打印模块、数据显示模块和数据源模块等部分组成。数据源模块负责得到模型(Model)传递过来的数据,然后把数据再分配给相应的数据显示模块,数据显示模块设计成多个类的继承层次结构,其基类是全局绘图类(CDrawObj),从此父类派生出来的子类有图像类(CDrawImage)、波列类(CDrawWave)、曲线类(CDrawCurve)。绘图输出打印模块提供管理功能,负责数据显示的绘制和打印、视图的区域更新等功能。
  3 控制的设计与实现
  控制主要功能是提供用户的输入输出反馈,同时监控模型的数据变化,通知视图进行更新。由于控制和视图的耦台非常的紧密,在架构实现中,控制和视图是在一个应用程序中实现的。控制主要分为井下设备控制和视图控制两个部分。视图控制的功能是操作员调整视图显示的参数,包括鼠标的响应,键盘的响应以及用户对测井原始图的特殊要求如颜色的调整,曲线相对输出界面的位置和线的大小等。井下设备控制的功能主要是由操作人员根据呈现出的视图中曲线和图像信息,对仪器发出对应的状态控制命令,以保证测井过程中数据和仪器的安全。
  4 使用可动态添加算模型
  由于每次测井作业中下井仪器串的仪器种类和仪器的数量都是变化的,为了能更好的抽象出实际的测井模型,提高系统的灵活性,在模型中数据刻度计算部分,我们采用的动态添加的方式。我们把不同测井仪器的刻度算法封装到动态链接库,然后根据测井作业的不同,调用用不同的仪器动态库中的刻度算法。由于视图和控制与模型之间的松耦合,当用户添加算法模块,视图与控制基本不要修改。
  在采用MVC模式的软件框架后,整个系统分为两个部分,数据采集管理器和数据实时浏览器。数据采集管理器对应于模型(Model)的实现,数据实时浏览器器对应于视图(View)和控制Control)的实现。我们采用的是Visual C++.net基于Windows 2003平台来进行系统开发,采用MVC模式给我们带来了如下好处:
  1)由于模型(Model)与视图(View)和控制(Control)之间耦合关系很小,开发人员很快就在模型上建立了针对不同设备的视图,有地面系统控制室专用的视图系统,也有针对地下调试仪器临时用的视图系统,等等。这一举措极大地提高了调试人员的工作效率,显示了相当的实用性,硬件人员调试仪器时直接连接网线就可以一边看仪器一边看数据,不再需要象以前必须到地面系统控制室查看数据了。
  2)适合多硬件平台的跨接。由于不同的硬件平台上采集数据的方式部不同,有的系统采用的是PCI总线,有的是USB接入,有的是ISA卡接入,由于模型(Model)和视图(View)的松耦合,当要移植到不同的硬件平台上是我们只有修改相应的模型(Model),有可以实现对不同硬件平台的支持。
  3)良好的可维护性和扩展性。由于采用Model模式,系统模块功能划分明确,代码实现也相对容易,代码的错误不会在系统中扩散,同时由于可以动态添加仪器算法模块,当用户添加新仪器时,不需要更改系统程序,只有添加仪器动态库DLL就可以了。
  5结论
  在使用软件设计模式的方法进行应用系统的设计和开发的过程中,系统各个模块之间的逻辑关系相对独立,兼顾了高内聚和低耦合的特点,一个模型可以对应多个视图,模型(Model)、视图(View)、控制(Control)三部分又相对独立,体现了更好的重用性、维护性和扩展性。但是在实际应用软件设计模式的过程中,笔者认为开发人员对设计模式的理解和应用程度直接影响了使用的效果,经验越丰富,对设计模式的应用的就越好。而且在项目开发过程中,采用哪种模式,或者采用几种模式方案,这些需要在项目启动时多方论证,不断的尝试,判断模式是否满足实际项目的需要。特别要注意的是不能为了设计模式进行设计,也就是过分设计的问题。这样会导致设计过于复杂,偏离程序设计简约够用的基本原则。
  目前设计模式在软件开发中的应用正引起广大开发人员的注意,各大软件开发商也在软件开发工具中提供了有关设计模式的自动应用的工具,相信设计模式会越来越多应用于软件的设计和开发中。
其他文献
摘要:PDM系统的应用,在企业开发过程中起到极大的推动作用,促进企业内部的协同创新,以及同零部件供应商的协同开发。事实证明,在各个行业,那些成功且具竞争实力的厂商,都是善于创新和改良、保护知识的佼佼者。同时,能够将创新知识快速而源源不断的转化为产品,这些产品的技术含量在业内都是处于领先的。由此可见,对企业知识的处理能力直接影响企业的竞争实力,一个企业想要确保差异化,就必须不断创新。在当今信息技术化
0 引言  机器视觉行业对于我国工业领域的发展是不可缺少的,要想提高产品质量,必须不断地改进检测方法和检测手段。那种靠人来检测,或抽检的方式已失去竞争力。机器视觉系统在控制劳动成本、提高产品质量、精度上有很大的优势,掌握机器视觉技术,有利于扩展科研思路,为相关项目打下良好的应用基础。
摘要:为了解计算机图书纸本与数位化阅读介面对读者与电子书市场的影响,本研究针对计算机图书读者进行网络问卷调查,结果显示:现阶段计算机图书出版可行性方式为纸本与电子书同步方式进行,数位化则可运用POD随需印刷机制及网路线上即时出版,既可落实环保概念,亦可达到节省纸张及印刷成本的目的;并可建立计算机图书出版零库存之管理概念,及让内文之修订、勘误及改版的工作更为迅速。亦可作为E-learning教材及数
0 引言  神经网络有结构简单,自学能力强,具有并行运算速度快、鲁棒性能好等特点,可以不依赖于控制对象的数学模型,从而减少系统对参数的依赖性。近年来在交流控制系统中得到了较为广泛的应用。矢量控制要涉及到大量的计算,工程上通常通过DSP来实现。本文采用神经网络代替传统的DSP方法来实现反馈信号运算功能,仿真表明神经网络对反馈信号有着较好的精度。由于神经网络本身内在的优点,它可以缩短调速系统的相应时间
0 引言  传动轴是用来传递动力的连接件,如果传动轴出现了问题则会影响动力传递,动力源不能有效的传递到相应的作业设施上,自然就无法进行作业。石油设备作业环境通常为油田作业现场,作业环境差,尤其是进行前期钻井、固井作业的设备是进行前期作业的设备,作业环境更是恶劣,这些设备上使用的传动轴在工作时,同时受到扭转、弯曲和压缩三种负荷,不仅承受静载荷,而且还受作业设备振动等因素影响,而附加有动载荷作用,受力
摘要:近些年来,zigbee无线传输技术发展的十分迅速,并且已经在很多领域中得到广泛的应用,其中将zigbee无线传输技术应用于数字图书馆中是当前数字图书馆建设中的一项重要研究内容。从对zigbee无线传输技术的相关概念的介绍谈起,然后就无线通信技术在数字图书馆中的应用现状与存在的问题进行说明,最后就zigbee无线传输技术在数字图书馆中的应用进行剖析。  关键词:zigbee;无线传输技术;数字