摘要:集成開發技術是當前軟件工程領域的一個熱點。為了適應測井現場及解釋基地的需要,川慶鉆探工程有限公司測井公司通過多年的軟件集成研發技術的探索,開發了一套從4 mm磁帶讀寫、數據格式解編、數據預處理、專業解釋處理、測井綜合分析到測井圖形輸出等一系列功能齊全的測井資料處理解釋軟件包——GeoReveal(極睿)解釋平臺2010。現場應用效果表明:該平臺在系統數據管理上較好地解決了常見格式測井數據向解釋平臺的轉換和存儲問題;在專業分析方面,以簡單直觀的流程鏈操作方式,實現了測井解釋工作的完全屏幕化和電算化;在系統圖形繪制能力方面,以面向對象為基礎的測井資料復合型文檔新概念,實現了各類測井處理成果同通用辦公軟件的無縫對接,統一、規范了測井解釋圖件。GeoReveal解釋平臺解決了川慶鉆探工程有限公司測井公司多年來研究成果的軟件化和集成化問題,能以較低的成本和用戶使用風險、在較短的時間內完成測井解釋專業軟件平臺的集成開發工作。
關鍵詞:測井;資料解釋;集成開發技術;GeoReveal解釋平臺;軟件;管理
軟件集成開發是一項實實在在的技術[1],當今微軟的Windows操作系統、Office辦公系統能在個人計算機上占據主導地位,軟件集成開發是其做得最優秀的技術之一。為了適應測井現場及解釋基地的需要,川慶鉆探工程有限公司測井公司通過多年的軟件集成研發技術的探索,開發了一套從4mm磁帶讀寫、數據格式解編、數據預處理、專業解釋處理、測井綜合分析到測井圖形輸出等一系列功能齊全的測井資料處理解釋軟件包——GeoReveal(極睿)解釋平臺2010。
1 平臺集成管理技術
LogShell為GeoReveal解釋平臺的集成管理軟件,由井資源管理、解釋服務管理和網絡數據傳輸3大功能模塊構成。具體完成4 mm磁帶讀寫、測井數據格式轉換、平臺內部數據管理、數字處理方法快速啟動、圖形分析模板及成果文檔管理、平臺用戶間數據傳輸等主要工作。如圖1所示,在用戶界面上可以清晰地分兩大區域,共13個屬性夾方式的層疊窗口,上部為資源管理,下部為解釋服務管理;常駐內存的NetShell完成用戶間在局域網內點對點的通訊和井資源傳輸,實現平臺用戶間的網絡數據共享。
1.1 井資源管理
在圖1中,集成管理軟件界面上半部分4個窗口完成用戶工區管理、單井管理、測井項目管理和普通文件管理等工作。在井資源管理模塊中實現單井、測井項目、測井曲線的快速拷貝、復制、粘貼功能,用戶可以方便地實現測井項目的合并及預處理前的數據備份。

1.1.1 用戶工區管理
在集成管理軟件左上部“工區地圖”層疊窗口中,以表單形式顯示出用戶工區中所有單井資源。利用鼠標右鍵,彈出菜單來啟動單井資源的各項管理功能。
1.1.2 單井資源管理
在“工區地圖”中設置當前工作的目標井后,集成管理軟件右上角會以目錄樹的形式顯示出目標井中所有的測井項目。
“目標井資源”窗口完成該井中所有測井項目的管理,也是“測井曲線”及“成果文檔”窗口的導航目錄樹。在該窗口中,利用鼠標選中某一測井項目后,單擊鼠標右鍵,彈出菜單啟動單項目或多項目的各項處理功能。
“測井曲線”窗口完成某一測井項目中所有測井曲線的屬性查詢及各項處理功能。在該窗口中,利用鼠標選中曲線后,右鍵彈出菜單來啟動單曲線或多曲線的各項處理功能。
1.2 解釋服務管理
在平臺擴展開發技術支撐下,目前完成了7個方面共80個模塊的軟件集成研發工作,均以解釋服務子項目的方式進行管理,解釋服務子項目實現了專業處理方法與相關的圖形分析模板一并進行分類管理。圖1底部為平臺中的全波處理服務子項,它包括了新建綜合繪圖、全波處理流程管理、全波信提取、井眼補償處理、環向異性分析、地層滲透率反演及相關質量控制和圖形分析模板。
解釋平臺完全注冊后,按測井解釋工作所面臨的主要任務,缺省情況由8個解釋服務子項進行管理,即數據In/Out、常規數據預處理、常規數據分析、裸眼井儲層評價、工程測井評價、成像資料處理、全波資料處理、輔助工具。用戶可根據需要來增減或修改服務子項,例如:作一個區塊評價項目時,用戶可以將擴展開發的適應這個區塊的專用處理程序和新的一些圖形分析或數據交會分析模板一起新建一個解釋服務子項,這樣用戶就可以方便地在該服務子項中完成近期的解釋評價工作。
2 平臺擴展開發技術
平臺擴展開發技術是整個軟件工程中最關鍵的部分,它不但決定項目的研發進度,而且關系軟件平臺的穩定性,同樣影響以后軟件平臺的推廣使用范圍。對C++開發人員比較成熟的是動態鏈接庫技術[2],它即可以讓項目研究人員減少重復工作、實現軟件成果共
享,又能較好地解決技術保密的問題。
2.1 C++用戶擴展開發
表1為用戶擴展開發中常用函數庫,這5類函數庫都進行了面向對象封裝,可以較好地滿足各種層次開發人員的編程需要。表1中簡單地列出了單條曲線(常規、陣列)管理的基礎類CFIDi0和常規處理程序數據接口函數類Cl。ogProcess,以及用于測井繪圖和數據分析的函數類;C++程序開發人員可以按照Microsoft Visual Studio.net規則調用其中的類或函數來輕松完成用戶所需要的二次開發。

2.2 Fortran用戶擴展開發
對較早的一些使用Fortran語言開發的成果,以及解釋平臺的主體用戶,提供可視化、簡潔獨立的Fortran語言開發工具是一個較完整的測井解釋平臺所必不可少的任務。
LogFortran測井解釋處理程序開發環境,能將川慶測井公司原有DOS下開發的解釋處理程序直接編譯鏈接,生成Windows圖形環境下的執行程序,主要包括以下幾方面。
2.2.1 Fortran擴展庫
Fortran擴展庫LogSys.lib主要是針對常規測井資料處理而開發的多曲線輸入、輸出、多參數輸入的一系列子程序包,又稱為Fortran程序數據接口。
CONST:按照所處理的深度在緩沖區中讀取參數變量值。
IN:按照程序所定義的輸入曲線情況將該深度點的數據讀入緩沖區中,并對應匹配給程序的曲線變量。
OUT:按照程序所定義的輸出曲線情況將該深度點的輸出曲線變量值寫入緩沖區,并將緩沖區輸出塊數據寫回用戶區該井所在磁盤目錄中。
2.2.2 LogFortran開發環境
LogFortran是一個利用標準Fortran90編澤器將Fortran代碼編澤成目標代碼后,自動鏈接所需要的測井處理圖形界面和Fortran擴展庫LogSys.lib數據接口,形成能獨立運行的測井解釋處理程序。
2.2.3 新建解釋處理程序向導
LogFortran開發環境為用戶提供了新建程序向導,啟動新建子項后,開發人員可以在向導的幫助下,輕松地完成新建一測井處理程序的所有工作。
3 平臺綜合繪圖技術
平臺綜合繪圖軟件LogPlot繼承了國內外主流測井處理系統的多井繪圖思路,以面向對象為基礎,將各種測井資料、地質資料、錄井資料、巖心分析資料等信息設計成圖形對象,分別定義對象的屬性及其相互間關系來完成圖形排列和制圖。用戶可以輕松地將各種資料(測井曲線、成果剖面、交會圖、頻譜圖、傾角成果圖、聲電成像圖、波形變密度圖、質量控制圖……)任意組合形成復合型測井繪圖文檔。
3.1 類的劃分和繼承
一個多功能的繪圖軟件,就可以是一項龐大的工程,測井繪圖的研究較為成熟,但以前的繪圖軟件功能相對單一,針對不同目的都開發了各自獨立的軟件,這些圖件很難組合到一起,更不用說多井對比圖形的繪制。
要解決這些問題,采用面向對象程序設計理念是最佳的選擇[3]。在圖2軟件主要類的劃分及繼承關系圖中,CDrawObj類是直接從CObject繼承而來的所有測井圖形類的基類,主要保存著圖形對象的繪圖區域(m_Rect)和當前繪圖文檔的指針(*pDoc),完成光標在屏幕上的滾動DoScroll(CScrollView*pView),保存、顯示當前光標所在位置等功能,它是測井繪圖軟件所有對象動態識別的入口。

3.2 程序實現方法
LogPlot采用多文檔多視(MultiDocument-MultiView)框架,文檔類從OLE文檔類繼承而來(class CLogPlotDoc:public ColeDocument),支持對象嵌入。整個繪圖文檔采用3個對象鏈表類(CObList)來管理,圖頭對象管理類m_HeadList,與深度有關對象管理類m_TrackList,標注對象管理類m_RemObjList。鏈表類支持動態空間分配,用戶可以根據自己的需要來任意組合復雜的圖件。
繪圖設備的映射模式采用MM_ANISOTROPIC模式,SetMapMode函數可以輕松地實現圖件的靈活縮放功能。
3.2.1 屏幕上圖形平滑過渡
為實現屏幕圖形的平滑滾動及對象操作時圖形的平滑過渡,LogPlot采用了雙設備描述表,在內存中定義一個與顯示設備完全兼容的設備描述表m_MemDC,實現用戶的所有操作,再利用CDC類的BitBlt功能將剪裁框內的圖像拷貝到顯示設備上。
3.2.2 保存為超長位圖文件
生成測井行業的超長圖形文件,按通常的方法很難實現。LogPlot采用了將繪圖設備中的內容分塊讀出,然后按位圖文件格式寫入磁盤文件,這樣既可以解決超長位圖的問題,又可以靈活改變圖形的灰度,減少文件大小。如單色、16色、16位色、24位色等位圖文件。
3.2.3 形成Unix系統下的光柵文件
Unix系統下的光柵文件可以利用系統的CAT命令在GS612、XEROX等繪圖儀上輸出,Unix系統下的光柵文件它實際上是單色圖形點陣,一字節對應繪出8個點,1代表著色,0代表不著色,LogPlot是在磁盤上形成單色位圖文件后,將位圖文件里位圖點陣區的數據讀出,對二進制數據的每位取反(“~”操作),寫入光柵文件。
4 平臺應用情況
目前該軟件平臺正擔負著川慶鉆探工程有限公司測井公司內外部市場主要測井解釋處理任務,為測井解釋技術成果集成提供了有形化的平臺。在川慶鉆探工程有限公司地質研究院、中國石油西南油氣田公司等10家二級單位相關專業人員的近百臺計算機上廣泛使用,取得了較好的應用效果。平臺的全面推廣使用,最大限度地提高了測井解釋人員的工作效率和工作質量,并為多專業中間技術成果共享提供很好的技術支撐。
5 結束語
集成開發技術使GeoReveal(極睿)解釋平臺具有較好的穩定性和擴展性。在系統數據管理能力方面,較好地解決了常見格式的測井數據向解釋平臺的轉換和存儲;在專業分析能力方面,簡單直觀的流程鏈操作方式,實現了測井解釋工作的完全屏幕化和電算化,極大地減少了測井解釋人員日常繁瑣的事務;在系統圖形繪制能力方面,以面向對象為基礎的測井資料復合型文檔新概念,實現了各類測井處理成果同通用辦公軟件的無縫對接,統一規范的測井解釋圖件,最大限度地提高了測井解釋人員的工作效率和工作質量。
參考文獻
[1] 胡廣書.數字信號處理——理論、算法與實現[M].北京:清華大學出版社,1999.
[2] 官章全,劉加明.Visual C++ 6.0類庫大全[M].北京:電子工業出版社,1999.
[3] 蘭蕓.Visual C++ 6.0編程實例精解[M].北京:北京希望電子出版社.2000.
(本文作者:趙中明 齊寶權 張樹東 川慶鉆探工程有限公司測井公司)
贊 賞 分享
您可以選擇一種方式贊助本站
支付寶轉賬贊助
微信轉賬贊助