林彩霞,双 凯
(中国石油大学(北京)地球物理与信息工程学院,北京 102249)
测井装备上位机软件是测井装备非常重要的一部分,它负责对整个系统的控制,数据采集,显示和存储等功能,为石油勘探和油田开发提供非常重要的数据资料。
目前主流的测井仪器上位机软件基本上采用VC++进行开发,但是使用VC++进行软件开发对开发人员水平要求高且工作量大,不同模块需要从底层开发,出发点低,需要较长的开发周期[1]。
LabVIEW是一种图形化编程语言,作为数据采集和仪器控制软件的标准被广泛的应用于工业界、学术界和研究性实验室。LabVIEW是功能强大、灵活的多平台仪器和分析软件系统。用户可以根据自己的需要灵活地定义仪器的功能,使用人员可以通过软件编程或采用现有分析软件,实时、直接地对数据进行各种分析与处理。该软件使用模块函数,工程师不需要从最底层进行开发,可大大减少工作量,缩短项目开发周期。
文中旨在使用LabVIEW设计实现一种测井上位机系统,采用模块化设计方法,根据测井测量参数的特点,设计实现了数据采集、实时显示、数据库存储、数据查询。在软件开发过程中为了减少对硬件的依赖,根据实际采集数据特点,设计模拟数据源对软件系统各模块进行测试。
如图1所示,为测井装备地面系统总体设计模块图。为了保证系统的数据采集速度,采用硬件对采集到得数据进行处理。为了保证速度,系统采用硬件对上行数据的滤波、解码、解析,传送至上位机系统进行存储,显示;上位机产生的下行数据即对井下系统的控制命令经过封装和编码后传送至井下。
图1 总体设计方案Fig.1 Overall design scheme
根据实际需要,设计实现四通道随钻测量上位机数据采集系统。图2为上位机系统方案,如图2所示,主要包括6个模块:数据接收模块,数据处理模块,数据存储模块,数据查询模块,数据显示模块。
图2 上位机系统方案Fig.2 System scheme of upper system
传统测井仪器采用CPCI总线进行数据接收,设计这样的系统需要单独设计数据采集板卡,费时费力,而普通串口又不能满足数据高速传输的要求,所以文中设计方案采用USB作为接口实现对处理过的下行数据进行采集,同时为了在软件开发过程中不过分依赖于硬件的开发,使用模拟数据源对软件各个功能模块进行测试[2]。该模块根据服务表内容产生数据,将其发送到数据接收端口,由主程序对端口数据进行读取,端口数据暂时被读入缓冲区。数据处理模块主要负责对采集到得数据进行数据报格式封装解析和相应的计算处理;实时显示模块完成对处理后数据的显示;数据存储模块采用SQL Server进行数据存储;数据查询模块实现两种查询:基于时间范围的查询,基于通道参数的查询;数据显示模块包括波形图显示和表格显示两种,以曲线和数字两种方式对采集到得数据进行显示;同时根据实际需要可将相应数据导出到EXCEL表格。
在LabVIEW下,调用NI-VISA子程序控件,实现与USB设备的直接通信。NI-VISA从3.0开始支持与USB设备的通信,为了使用NI-VISA,必须先让Windows将NI-VISA作为设备的缺省驱动程序使用。要做到这点需要完成以下步骤:
1)安装NI-VISA后,启动VISA Driver Development Wizard程序,出现了为PXI/PCI或USB设备创建一个INF文档的向导,选择USB设备,点NEXT,出现VISA DDW基本设备信息窗口。
2)正确输入 USB的 PID和 VID,点击 NEXT,进行最后一步。
3)在USB Instrument Prefix中输入相应信息,并在“output file directory”中选择存放这些文档的目录,然后点击Finish。INF文档就被建好并保存至指定的位置。
4)复制生成的INF文件夹到系统盘windows文件夹下INF文件夹,点击右键安装[3]。
经过以上步骤后,当插上该USB接口时,Windows系统就能探测到,并根据INF硬件配置文件选择NI-VISA作为底层驱动程序。
图3所示为使用VISA串口进行数据采集的程序框图[4],经过上面的设置后该框图实现对端口数据的采集和下行命令发送的功能。
图3 数据采集程序图Fig.3 Program of data acquisition
传感器采集井下测井测量参数,通过电缆传送到数据处理板,进行滤波,解码,解析,传送到USB端口,端口采集到数据后对采集到得原始数据进行计算处理,得到相应的测井测量参数。
介绍两种基于LabVIEW的数据存储的方法。1)通过ACTIVEX技术,实现EXCEL表格的自动创建与数据的存取;2)在LabVIEW中,通过LabSQL工具包与SQL Server进行连接,将数据存入数据库中[5]。方法1适用于测井装备工作状态记录等小量数据存储,因此采用方法一生成数据报表;而对于从井下传送来的海量数据,采用方法2,通过对数据库的调用来实现。
在LabVIEW中,通过LabSQL工具包完成将采集数据向数据库的存储。基本程序如图4(a)所示。为了实现数据的实时存储,采用生产者/消费者设计模式(数据)的程序设计方法[6],生产者负责将采集并处理过的数据送入队列,消费者负责将队列中的数据存入到数据库中。如图4(b)所示,将采集到得数据存储到名称为DATA00的表中。
图4 存储模块Fig.4 Storage module
如图5(a)所示,为数据查询模块界面。数据查询模块包括按时间范围进行查询和按通道名进行查询两种方式,通过设置相应的时间范围和通道名,可获得指定的数据;从图中可以看出,通过规定时间段,程序能很好的实现相应数据的查询[7]。该模块包括EXCEL数据报表导出功能,系统自动创建EXCEL表格,将用户指定的数据导出到报表中,具体程序框图如图 5(b)所示。
图5 查询模块Fig.5 System query module
报表自动生成模块主要采用ACTIVEX技术,在LabVIEW中通过属性节点和调用节点对EXCEL表格进行操作[8],其中CONVERT子VI实现的功能是EXCEL表格中每个单元格的定位。
该随钻测量上位机系统由数据采集界面,数据查询界面,系统设置界面3个界面组成,通过选项卡标签可以实现界面的切换[9]。为了实现数据的实时显示,采用生产者/消费者模式(数据),生产者负责数据的采集处理,消费者负责数据的实时显示。图8为数据采集界面,打开‘显示’和‘存储’开关,系统在进行实时显示的同时对采集到得数据进行数据库存储[10]。图8为主程序运行的主界面截图,系统采用Labview自带波形图显示控件对采集到得数据进行存储,横坐标为采集到点的个数,纵坐标为该点所对应不同参数的数值,不同曲线对应不同的参数,坐标范围随采集到参数数值大小自动调整。通过模拟数据源测试,主界面的显示功能达到预期目标。
图6 模拟数据源测试图Fig.6 Test chart based on simulated data source
文中主要介绍了基于LabVIEW测井装备上位机系统的设计与实现,下行数据经过数据处理板的处理以后,经过USB接口传入上位机系统,通过数据处理模块对端口接收到得数据进行计算处理之后,对其进行显示,存储,查询。系统采用原始数据文件作为模拟数据源,对系统功能进行测试,证明系统性能已经达到预期目标。以LabVIEW为软件开发工具对随钻测量上位机软件进行开发,可缩短项目开发周期,提高编程效率,大大增强了随钻测量上位机系统的可扩展性。
[1]丁伟.石油测井车井上监测系统的设计与实现[J].石油天然气学报,2012,34(6):100-103.
DING Wei.The design and implementation of monitoring system of well logging wheeled machine[J].Journal of oil and gas,2012,34(6):100-103.
[2]刘涛,王军宁.测井软件系统的设计与实现[D].西安:西安电子科技大学,2008.
[3]程龙飞,何闻.基于LabVIEW的USB数据传输技术研究[J].机床与液压,2009,37(7):105-108.
CHENG Long-fei,HE Wen.Research on USB data transmission technology based on LabVIEW[J].Machine Tool&Hydraulics,2009,37(7):105-108.
[4]赵奇峰,闵涛,杨黔龙.基于LabVIEW串口数据采集系统设计[J].计算机技术与发展,2011, 21(11):224-226.
ZHAO Qi-feng,MIN Tao,YANG Qian-long.Design of serial data collection system based on LabVIEW [J].Computer Technology and Development,2011,21(11):224-226.
[5]张荣.LabVIEW数据库与报表的混合编程设计技术[J].信息与电子工程,2010,8(4):476-479.
ZHANG Rong.Design ofdatabaseand reporthybrid programmingbased on LabVIEW [J].Information and Electronic Engineering,2010,8(4):476-479.
[6]陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.
[7]李文涛,曹彦红,卜旭芳.LabVIEW数据库访问技术的实现及应用[J].工矿自动化,2012(2):69-71.
LI Wen-tao,CAO Yan-hong,PU Xu-fang.Implementation of database accessing technique of LabVIEW and its application[J].Industry and mine automation,2012,2:69-71.
[8]胡绍海,高亚峰,肖坦.基于LabVIEW的Excel报表生成技术研究[J].测控技术,2007,26(10):64-69.
HU Shao-hai,GAO Ya-feng,XIAO Tan.Excelreport generation technology based on LabVIEW[J].Measurement and control technology,2007,26(10):64-69.
[9]顾文武,何庆中,周铁.基于LabVIEW与智能仪器数据采集系统[J].仪表技术与传感器,2012(11):53-58.
GU Wen-wu,HE Qing-zhong,ZHOU Tie.Data acquisition system based on LabVIEW and intelligent instrument[J].Instrument Technique and Sensor,2012(11):53-58.
[10]何俊伟,张齐.Labview在多通道数据采集系统中的应用研究[D].广州:华南理工大学,2012.