林彩霞,雙 凱
(中國石油大學(北京)地球物理與信息工程學院,北京 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.