




已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于Forward平臺的二次開發(fā)流程,時新磊 長江大學(xué)生產(chǎn)測井實(shí)驗(yàn)室 2009.11.10,參考書籍,均有電子版,安裝Forward和SDK后提供 重點(diǎn)是WellBase技術(shù)開發(fā)手冊,Contents,Forward/WellBase簡介,1,開發(fā)一個方法模塊的操作步驟,2,源代碼說明,3,模塊的掛接實(shí)現(xiàn),4,Forward/WellBase簡介,WellBase(Well Basic Analysis System Environment)是為了滿足勘探、開發(fā)測井資料分析處理的需要而設(shè)計(jì)開發(fā)的測井解釋平臺底層,是構(gòu)成Forward和Watch測井系統(tǒng)的基礎(chǔ),具有測井?dāng)?shù)據(jù)輸入、測井資料預(yù)處理、測井資料基本處理、測井解釋成果輸出等功能,由平臺數(shù)據(jù)底層和平臺工具兩部分組成。,WellBase,數(shù)據(jù)底層,數(shù)據(jù)管理工具,平臺工具,預(yù)處理工具,成果輸出工具,應(yīng)用工具,Forward/WellBase簡介,為滿足我國勘探開發(fā)測井解釋處理的需要,由CNPC油氣勘探部和油氣開發(fā)部組織全國各油田測井單位、研究院和院校的優(yōu)秀測井軟件人員,組成測井軟件開發(fā)項(xiàng)目組,對七五和八五攻關(guān)成果進(jìn)行優(yōu)選和整理,在建立WellBase環(huán)境的基礎(chǔ)上開發(fā)完成了具有我國獨(dú)立自主版權(quán)的勘探測井解釋系統(tǒng)Forward(Formation Oil&Gas Reservoir Well_Logging Analysis & Research & Development)和生產(chǎn)測井解釋系統(tǒng)Watch(Well_Logging Analysis Technique for Casing Hole),Forward/WellBase簡介,WellBase開發(fā)工具包(SDK) 為幫助您快速開發(fā)測井處理程序,WellBase提供其軟件開發(fā)工具包SDK(Software Development Kit)。 SDK中提供了大量的Fortran和C+輸入輸出接口函數(shù),并分類進(jìn)行了面向?qū)ο蠓庋b SDK還提供了多種開發(fā)工具,幫助您快速生成各種測井應(yīng)用源程序框架,通過必要的修改后便可產(chǎn)生各種應(yīng)用程序。,Forward/WellBase簡介,安裝WellBase開發(fā)工具包(SDK) bin目錄中存放平臺所有可執(zhí)行文件及動態(tài)庫。在WellBase上開發(fā)的應(yīng)用程序的執(zhí)行文件必須存放在該目錄下 bin的子目錄dlldecode中存放數(shù)據(jù)解編動態(tài)庫。用戶開發(fā)完成的數(shù)據(jù)解編動態(tài)庫必須存放在該目錄下才能夠被數(shù)據(jù)解編程序加載和調(diào)用。 bin的子目錄dllprocess中存放處理方法動態(tài)庫。用戶開發(fā)完成的處理方法動態(tài)庫必須存放在該目錄下才能夠被綜合常規(guī)處理程序加載和調(diào)用 include目錄中存放利用C或C+語言對平臺進(jìn)行開發(fā)時需要的所有頭文件,Forward/WellBase簡介,安裝WellBase開發(fā)工具包(SDK) lib目錄中存放利用Fortran、C或C+語言對平臺進(jìn)行開發(fā)時需要的所有庫文件 source目錄中存放WellBase平臺提供的所有源程序。其子目錄method中存放處理方法動態(tài)庫源程序;process中存放Fortran處理方法源程序;processframe中存放處理部分框架源程序,decode中存放部分解編源程序,Forward/WellBase簡介,安裝WellBase開發(fā)工具包(SDK) template目錄中存放處理程序的繪圖模板、缺省處理參數(shù)文件以及參數(shù)可視編輯控制文件, 處理程序的模板目錄名稱采用處理程序名,處理程序的繪圖模板、缺省處理參數(shù)文件(*.def)以及參數(shù)可視編輯控制文件(*.cfg)均存放在該目錄下。 系統(tǒng)的模板目錄與bin等目錄平級。進(jìn)行用戶登記時可將用戶的模板目錄修改為用戶缺省模板目錄(用戶名template)或用戶缺省指定目錄。采用用戶缺省模板目錄的優(yōu)點(diǎn)在于不同的用戶具有各自的模板目錄,用戶修改模板時不會影響其他用戶,Forward/WellBase簡介,安裝WellBase開發(fā)工具包(SDK) workspace目錄為用戶工作區(qū),其中存放用戶處理井的數(shù)據(jù),其目錄結(jié)構(gòu)如右圖所示。 一口井的全部數(shù)據(jù)存放在名為“#井名”的目錄下,可以采用一個WIS文件保存該井的全部數(shù)據(jù),也可將數(shù)據(jù)分類(例如,按測井系列分類)保存為多個WIS文件。采用拖拉方式處理井時,缺省打開“井名.wis”文件。 tapedata目錄中存放若干可供練習(xí)使用的測井原始數(shù)據(jù)文件。 系統(tǒng)的用戶工作區(qū)目錄與bin等目錄平級。進(jìn)行用戶登記時可將用戶的工作區(qū)目錄修改為用戶缺省目錄(用戶名workspace)或用戶缺省指定目錄。采用用戶缺省工作區(qū)目錄的優(yōu)點(diǎn)在于不同的用戶具有各自的工作區(qū)目錄,用戶修改井?dāng)?shù)據(jù)時不會影響其他用戶。,Forward/WellBase簡介,WellBase SDK提供的主要C+類,開發(fā)一個方法模塊的操作步驟,利用WellBase可以開發(fā)三種類型的擴(kuò)展模塊/程序: 測井處理動態(tài)庫 DLL庫 測井處理動態(tài)庫是一種外掛式的測井處理模塊,開發(fā)人員利用動態(tài)庫來完成測井資料的計(jì)算過程,由測井常規(guī)處理框架LogProcess動態(tài)調(diào)用,并由LogProcess實(shí)現(xiàn)圖形操作、數(shù)據(jù)同步、參數(shù)編輯等過程,通過調(diào)用動態(tài)庫的計(jì)算模塊完成整個處理過程。測井常規(guī)處理框架如下圖所示 測井處理框架應(yīng)用 EXE程序 測井處理框架是一種基于LogFrame底層的多文檔或單文檔應(yīng)用程序。LogFrame底層定義了應(yīng)用類CLogFrameApp、主窗口類CLogMDIMainFrame、子窗口類CLogChildFrame、文檔類CLogProcessDoc、視圖類CLogProcessView及許多圖形對象類,應(yīng)用軟件僅需完成自己的處理方法對象類。通過底層函數(shù),應(yīng)用程序可以訪問所有的圖形對象、修改圖形的顯示方式、控制鼠標(biāo)動作、加入自己的圖形對象,是一個真正的應(yīng)用程序 數(shù)據(jù)解編動態(tài)庫 DLL庫 數(shù)據(jù)解編動態(tài)庫是一種外掛式的測井?dāng)?shù)據(jù)解編模塊,開發(fā)人員利用動態(tài)庫來完成對單個文件的解編過程,由WellBase平臺的LogTape主應(yīng)用程序來實(shí)現(xiàn)對磁帶機(jī)或磁盤文件的控制,配置解編動態(tài)庫及調(diào)用順序,主計(jì)算模塊通過解編動態(tài)庫的文件識別、信息掃描和數(shù)據(jù)轉(zhuǎn)換函數(shù)實(shí)現(xiàn)對測井?dāng)?shù)據(jù)的解編,開發(fā)一個方法模塊的操作步驟,測井應(yīng)用程序一般結(jié)構(gòu) 輸入:指定要處理的曲線 處理:對曲線數(shù)據(jù)進(jìn)行加工 輸出:生成新的曲線或重寫現(xiàn)有曲線 WellBase 完成了井?dāng)?shù)據(jù)格式的管理(Wis) 完成了井繪圖功能 開發(fā)者所需要做的工作 多數(shù)情況下只需要編寫處理代碼,開發(fā)一個方法模塊操作步驟,首先建立一個應(yīng)用圖像框架工程:,開發(fā)一個方法模塊操作步驟,代碼窗口,操作步驟流程如下,熟悉了解待開發(fā)的模塊的原理和解釋方法 利用Forward SDK提供的VC6.0“測井分析動態(tài)庫自動生成器”Wizard產(chǎn)生初始代碼 修改代碼: 修改輸入曲線描述結(jié)構(gòu)和輸入曲線數(shù)據(jù)緩沖結(jié)構(gòu) 修改輸出曲線描述結(jié)構(gòu)和輸出曲線數(shù)據(jù)緩沖結(jié)構(gòu) 修改參數(shù)描述信息結(jié)構(gòu)、參數(shù)數(shù)據(jù)緩沖結(jié)構(gòu)和參數(shù)默認(rèn)值結(jié)構(gòu) 編寫Method方法的代碼 撰寫以下文件 參數(shù)可視化配置文件(.CFG) 缺省參數(shù)文件(.DEF) 缺省繪圖模塊(.PPR) 編譯調(diào)試,反復(fù)修改直到符合要求,源代碼說明,由Wizard產(chǎn)生的項(xiàng)目包括下列文件(XXX為方法名): XXX.cpp 主文件,實(shí)現(xiàn)入口函數(shù)DoProcess和About,DoProcess函數(shù)構(gòu)造處理方法對象,并調(diào)用該方法的處理函數(shù)進(jìn)行處理。About函數(shù)顯示版本、版權(quán)等信息。 XXX.def 模塊定義文件,定義兩個引出函數(shù)DoProcess和About。 XXX.rc 資源文件。 XXXMethod.cpp 處理方法對象源文件,實(shí)現(xiàn)所有的處理函數(shù)。定義輸入、輸出曲線及參數(shù)名稱。 XXXMethod.h 處理方法對象頭文件,定義處理方法對象及其函數(shù),定義輸入、輸出曲線及參數(shù)變量 。 Stdafx.cpp 預(yù)編譯源文件。 Stdafx.h 預(yù)編譯頭文件。 Resource.h 資源符號定義頭文件。 Readmt.txt 工程說明文件。,源代碼說明,定義輸入曲線,描述方法所需的輸入曲線: 在XXXMethod.h頭文件的InVar結(jié)構(gòu)中定義輸入曲線數(shù)據(jù)變量,可以是各種類型的變量或數(shù)組,變量的類型和井?dāng)?shù)據(jù)文件中實(shí)際存放曲線的類型無關(guān),有數(shù)據(jù)底層實(shí)現(xiàn)不同類型數(shù)據(jù)的轉(zhuǎn)換過程,例子中定義兩個輸入曲線變量GR和SP,都為單精度浮點(diǎn) 在XXXMethod.cpp中定義INCURVE結(jié)構(gòu)數(shù)組變量(該結(jié)構(gòu)在LogProcess.h中定義,關(guān)于該結(jié)構(gòu)具體說明參考ClogProcess底層),數(shù)組的元素個數(shù)通過宏變量NNoI給出,它的值為輸入曲線條數(shù),例子中為兩條輸入曲線,該值為2。 對定義的INCURVE結(jié)構(gòu)數(shù)組變量PInCurve賦值,每條曲線結(jié)構(gòu)的變量代碼和數(shù)據(jù)采樣個數(shù)必須和InVar結(jié)構(gòu)變量中指定的一致。若輸入曲線數(shù)據(jù)結(jié)構(gòu)InVar中定義的某條曲線變量類型不是單精度浮點(diǎn),則在PInCurve結(jié)構(gòu)數(shù)據(jù)中對應(yīng)的元素中指定變量代碼類型,若輸入曲線數(shù)據(jù)結(jié)構(gòu)InVar中定義的某條曲線變量是數(shù)組,則在PInCurve結(jié)構(gòu)數(shù)據(jù)中對應(yīng)的元素中指定采樣點(diǎn)數(shù)。,源代碼說明,定義輸出曲線,描述方法所產(chǎn)生的輸出曲線: 在XXXMethod.h頭文件的OutVar結(jié)構(gòu)中定義輸出曲線數(shù)據(jù)變量,可以是各種類型的變量或數(shù)組,變量的類型與井?dāng)?shù)據(jù)文件中實(shí)際存放曲線的類型無關(guān),有數(shù)據(jù)底層實(shí)現(xiàn)不同類型數(shù)據(jù)的轉(zhuǎn)換過程,例子中定義兩個輸出曲線變量XGR和XSP,都為單精度浮點(diǎn)。 在XXXMethod.cpp中定義OUTCURVE結(jié)構(gòu)數(shù)組變量(該結(jié)構(gòu)在LogProcess.h中定義,關(guān)于該結(jié)構(gòu)具體說明參考ClogProcess底層),數(shù)組的元素個數(shù)通過宏變量NNoO給出,它的值為輸出曲線條數(shù),例子中為兩條輸出曲線,該值為2。 對定義的OUTCURVE結(jié)構(gòu)數(shù)組變量POutCurve賦值,每條曲線結(jié)構(gòu)的變量代碼和數(shù)據(jù)采樣個數(shù)必須和OutVar結(jié)構(gòu)變量中指定的一致。若輸出曲線數(shù)據(jù)結(jié)構(gòu)OutVar中定義的某條曲線變量類型不是單精度浮點(diǎn),則在POutCurve結(jié)構(gòu)數(shù)據(jù)中對應(yīng)的元素中指定變量代碼類型,若輸出曲線數(shù)據(jù)結(jié)構(gòu)OutVar中定義的某條曲線變量是數(shù)組,則在POutCurve結(jié)構(gòu)數(shù)據(jù)中對應(yīng)的元素中指定采樣點(diǎn)數(shù),源代碼說明,定義輸入?yún)?shù): 在XXXMethod.h頭文件的InpVar結(jié)構(gòu)中定義輸入?yún)?shù)變量,變量的類型必須是單精度浮點(diǎn)。 在XXXMethod.cpp中INPNAME類型字符串?dāng)?shù)組變量(該結(jié)構(gòu)在LogProcess.h中定義,關(guān)于該結(jié)構(gòu)具體說明參考ClogProcess底層),數(shù)組的元素個數(shù)通過宏變量NNoC給出,它的值為輸入?yún)?shù)個數(shù),例子中為兩個輸入?yún)?shù),該值為2。 在XXXMethod.cpp中,定義參數(shù)缺省值數(shù)組變量PARA,并賦缺省值,源代碼說明,方法調(diào)用過程: 第一步:主程序裝入方法動態(tài)庫,并調(diào)用DoProcess函數(shù),將井文件名和參數(shù)名傳遞到該函數(shù)中,控制轉(zhuǎn)移到該函數(shù)。 第二步:DoProcess函數(shù)構(gòu)造處理方法對象,并調(diào)用方法對象的Processing函數(shù),控制轉(zhuǎn)移到該函數(shù)。 第三步:Processing函數(shù)實(shí)現(xiàn)數(shù)據(jù)處理后,返回到DoProcess函數(shù)。 第四步:DoProcess函數(shù)刪除方法對象,返回由Processing函數(shù)返回的數(shù)值,控制回到主程序。 第五步:主程序釋放方法動態(tài)庫,根據(jù)DoProcess的返回代碼判斷是否刷新圖形及同步數(shù)據(jù),若返回值小于零,不刷新圖形和同步數(shù)據(jù),否則刷新圖形和同步數(shù)據(jù),模塊的掛接實(shí)現(xiàn),第一步:將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修合同電子協(xié)議書模板
- 融資合同解除協(xié)議書范本
- 花錢辦工作協(xié)議合同
- 解除臨時工聘用合同協(xié)議
- 藥品類廣告合同協(xié)議
- 規(guī)避責(zé)任協(xié)議書范本
- 苗木看護(hù)協(xié)議書范本
- 藝術(shù)涂料工程合同協(xié)議
- 裝修勞動協(xié)議合同書模板
- 益新中學(xué)模擬試題及答案
- 2024秋期國家開放大學(xué)《國家開放大學(xué)學(xué)習(xí)指南》一平臺在線形考(任務(wù)一至五)試題及答案
- 影視鑒賞智慧樹知到答案2024年南華大學(xué)
- 知識產(chǎn)權(quán)法(四川師范大學(xué))智慧樹知到答案2024年四川師范大學(xué)
- 2024-2030年中國羊絨市場銷售格局與未來發(fā)展動向追蹤報(bào)告
- 足療技師免責(zé)協(xié)議書
- 延長石油招聘筆試試題
- 古代詩人名人韓愈人物介紹課件
- 中華護(hù)理學(xué)會成人腸內(nèi)營養(yǎng)支持護(hù)理團(tuán)標(biāo)解讀
- 《1.4莖和葉》說課稿、教案、教學(xué)設(shè)計(jì)和同步練習(xí)
- 部編版《道德與法治》六年級下冊第1課《學(xué)會尊重》精美課件
- 企業(yè)VI設(shè)計(jì)報(bào)價(jià)清單
評論
0/150
提交評論