测井仪开发的总体设计

2009-09-26 09:37
新媒体研究 2009年18期
关键词:硬件软件

朱 波

[摘要]总体设计阶段是较为重要的阶段,设计质量的好坏直接影响到系统功能实现的好坏。此阶段的主要工作包括硬件体系结构的选择和上下位机软件各模块的规划及开发工具的选择。

[关键词]测井仪 硬件 软件

中图分类号:TE4文献标识码:A文章编号:1671-7597(2009)0920012-01

一、测井仪的硬件总体设计

本试井系统硬件电路由单片机多片系统及其外围接口电路、传感器信号调理电路两大部分组成。单片机多片系统及其外围接口电路是根据试井系统测量内容、存储容量、波形显示方式等要求设计的,是硬件系统的核心部分;传感器信号调理电路是根据传感器信号特征和试井要求所设计,主要完成传感器信号的极性转换、放大滤波等任务。

测试系统主要由五个模块组成:传感器、传感器信号调理电路、CPU最小系统、液晶显示模块和单片机-PC机通讯系统。

传感器输出信号经过信号调理电路,由80C196单片机内置的10位A/D转换器进行数据采集,数据存储在外部扩展的128KB的RAM中。

测试仪带有LCD图文显示界面和键盘控制微型系统,控制试井系统的数据采集存储、滤波处理和图形显示和打印。测试仪通过MAX202电平转换芯片与上位机连接,采用RS-232协议将测试仪数据上传至PC机。上位机软件对大量测井数据分类存档、显示打印。

二、测井仪软件总体设计

总体设计是解决软件系统“做什么”的问题,即将用户要求转化为能编程的施工蓝图。在总体设计阶段要达到如下的目标:

首先,提高可维护性。软件工程按阶段进行,但各阶段相互影响,由于软件维护费用极高,因此在设计阶段需要考虑设计一个可维护的软件,它体现在可读性、可扩充性和可修改性。

其次,提高可理解性。可理解性指结构清晰,层次分明,结构化程度高,文档规范化、标准化。对软件人员来说,要易读易理解,对用户来说要易使用。

再次,提高可靠性。可靠性包含正确性和健壮性两个方面,正确性指软件系统本身没有错误,健壮性指在输入数据不合理或异常时,软件系统还能适当工作,不造成严重的损害,这必须在设计阶段来考虑。软件可靠性是一个重要的目标,它涉及到软件系统能否投入使用,使用后效率是否好的问题。

总体设计要做的工作主要包括:进行模块划分,建立模块层次结构、调用关系,设计系统接口及人机界面等。

(一)下位机软件总体设计。本试井软件系统包含键盘操作、液晶屏幕显示和主板控制的小型系统,下面就本系统的模块设计、液晶显示界面设计、主程序的总体结构设计和键盘接口程序设计分别加以介绍。

1.下位机软件的模块设计。本系统主要由六大模块组成:测量、查询、回放(上传到PC机)、计算、标定和驱动大型打印机打印波形。

(1)测量模块。测量部分主要完成对反射波和功图信号(位移信号和载荷信号)的采集处理、显示和存储。为了测出正确的波形,应当有一个合理的数据采集方法。数据处理部分也是本模块的重要组成部分。测井深的反射波信号时外界干扰比较大,应添加硬件模拟滤波器,同时软件设计中也需进行采样数据处理:而对于载荷和位移信号由于外界干扰小,为了输出准确平滑的功图曲线,在软件设计中考虑了功图数据的数字滤波算法。

(2)查询模块。通过查询功能可以查询最近所测的若干口井的反射波波形和功图资料(根据井号调出显示),并可查询最近所计算过的液深数据(通过查询液深列表)。

(3)回放模块。将所存储的反射波波形或功图资料上传到PC机,PC机的接收程序由高级语言VC编写,可实现液面和功图波形显示、液深计算、打印输出等功能。

(4)计算模块。将测得的反射波波形通过接箍波法或音标法计算出油井的液面深度。接箍波法是通过在反射波上确定三条直线,其中前两条直线用来确定两个采样点间对应的实际距离,另外一条直线确定液面波的位置;音标法是通过在反射波上确定两条直线,一条用来确定音标的位置(两个采样点间对应的实际距离也就确定了),另一条确定液面的位置。

(5)标定模块。为了保证测量的准确性,减小由于零漂等原因造成的误差,应该定期对仪器进行标定。以标定载荷为例说明标定的方法,输入两个标准的载荷,测得它们对应的采样值,由于所用器件均为线性器件,两点确定一条直线,以后测得采样值可直接代入直线求其对应的实际载荷值。

(6)驱动大型打印机打印波形模块。为了便于存档,需要将波形打印出来。大型打印机总共有24针,这24针总共分成三部分,每一部分对应一个字节,每打印一次需向打印机输入一次数(3字节)指示打印机各打印针应如何运作。因此,应该设计一个合理的算法驱动打印机。要设计的各模块确定了,要显示的页面也就确定了。

2.液晶显示界面的总体设计。需要设计的界面众多,既有文本显示方式又有图形显示方式,工作量相当大。可以将一些显示相似的界面设计成通用的,例如可以将测量中的波形显示界面与查询、计算功能中的波形显示界面共用。液晶界面显示程序是根据界面设计要求,在液晶屏幕的对应坐标位置上写入字符(文本方式)或点(图形方式)。液晶屏幕上写字符的方法是:首先在液晶模块内部的RAM中建立所需字符的字模库CGRAM,并分配一个代码。计算字符在液晶屏幕上的具体地址,具体地址=首地址+纵坐标×屏幕宽度(字节宽度)+横坐标,液晶首址在64K空间内根据字模的大小可任意选取。将字符代码写入字符液晶屏幕地址,即可显示。

3.主程序的总体结构设计。系统上电后,首先初始化一些寄存器变量,然后进入主循环程序。主循环部分采用Windows消息循环原理,即有事件触发才进入相应的处理程序。主循环部分首先判断上位机有无通讯测试请求,若有请求则发送应答信号;否则进入下一部分。接下来需要判断有无键按下,若有键按下则进入相应的键盘处理程序;否则继续循环。

4.键盘接口程序设计。界面及界面处理程序是程序的重要组成部分,而程序从一个界面进入另外一个界面以及对该界面进行相应的处理,都需要用到键盘扫描程序。键盘扫描程序提供一个接口,即当某一个键按下时,都有一个相应的值与之对应。键盘扫描程序是主循环的一部分,也是整个程序的基础,因此,设计一个准确可靠的键盘扫描程序是必要的。

(二)上位机软件总体设计。上位机程序采用VC编写,接收下位机发送来的数据并保存,具有液面和功图显示、液深计算、打印输出等功能。

1. 数据接收部分。采用VC提供的MSCOMM控件,首先进行通讯测试(以检查线路连接是否完好),若通讯测试成功,则按照下位机发送数据的格式接收液面或功图数据,并将之存入文件。

2. 查询部分。查询接收到的功图或液面数据,可按井号或测量日期进行查询,并将其波形显示。

3. 显示和打印波形部分。在显示器或打印纸(不同的DC)上显示或打印某口井的液面或功图波形。

参考文献:

[1]顾洪代、李智林、刘甲辰,测井数据采集中滤波方法和参数的选择,测井技术,1999年第5期第23卷.

[2]徐爱钧,基于单片机的抽油井液面自动监测仪的设计与应用,测控技术,2001年第20卷第4期.

猜你喜欢
硬件软件
CAE软件操作小百科(57)
遗留或损坏 软件卸载没商量
有趣的识花软件
论计算机机房的管理与维护
Ovation系统调试阶段常见硬件故障诊断分析
云计算平台的计算机硬件远程实验室实现研究
并行硬件简介
即时通讯软件WhatsApp
丰富多彩的Android软件
如何在智能手机中安装软件