




已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于Forward平臺(tái)的二次開(kāi)發(fā)流程,時(shí)新磊 長(zhǎng)江大學(xué)生產(chǎn)測(cè)井實(shí)驗(yàn)室 2009.11.10,參考書(shū)籍,均有電子版,安裝Forward和SDK后提供 重點(diǎn)是WellBase技術(shù)開(kāi)發(fā)手冊(cè),Contents,Forward/WellBase簡(jiǎn)介,1,開(kāi)發(fā)一個(gè)方法模塊的操作步驟,2,源代碼說(shuō)明,3,模塊的掛接實(shí)現(xiàn),4,Forward/WellBase簡(jiǎn)介,WellBase(Well Basic Analysis System Environment)是為了滿足勘探、開(kāi)發(fā)測(cè)井資料分析處理的需要而設(shè)計(jì)開(kāi)發(fā)的測(cè)井解釋平臺(tái)底層,是構(gòu)成Forward和Watch測(cè)井系統(tǒng)的基礎(chǔ),具有測(cè)井?dāng)?shù)據(jù)輸入、測(cè)井資料預(yù)處理、測(cè)井資料基本處理、測(cè)井解釋成果輸出等功能,由平臺(tái)數(shù)據(jù)底層和平臺(tái)工具兩部分組成。,WellBase,數(shù)據(jù)底層,數(shù)據(jù)管理工具,平臺(tái)工具,預(yù)處理工具,成果輸出工具,應(yīng)用工具,Forward/WellBase簡(jiǎn)介,為滿足我國(guó)勘探開(kāi)發(fā)測(cè)井解釋處理的需要,由CNPC油氣勘探部和油氣開(kāi)發(fā)部組織全國(guó)各油田測(cè)井單位、研究院和院校的優(yōu)秀測(cè)井軟件人員,組成測(cè)井軟件開(kāi)發(fā)項(xiàng)目組,對(duì)七五和八五攻關(guān)成果進(jìn)行優(yōu)選和整理,在建立WellBase環(huán)境的基礎(chǔ)上開(kāi)發(fā)完成了具有我國(guó)獨(dú)立自主版權(quán)的勘探測(cè)井解釋系統(tǒng)Forward(Formation Oil&Gas Reservoir Well_Logging Analysis & Research & Development)和生產(chǎn)測(cè)井解釋系統(tǒng)Watch(Well_Logging Analysis Technique for Casing Hole),Forward/WellBase簡(jiǎn)介,WellBase開(kāi)發(fā)工具包(SDK) 為幫助您快速開(kāi)發(fā)測(cè)井處理程序,WellBase提供其軟件開(kāi)發(fā)工具包SDK(Software Development Kit)。 SDK中提供了大量的Fortran和C+輸入輸出接口函數(shù),并分類進(jìn)行了面向?qū)ο蠓庋b SDK還提供了多種開(kāi)發(fā)工具,幫助您快速生成各種測(cè)井應(yīng)用源程序框架,通過(guò)必要的修改后便可產(chǎn)生各種應(yīng)用程序。,Forward/WellBase簡(jiǎn)介,安裝WellBase開(kāi)發(fā)工具包(SDK) bin目錄中存放平臺(tái)所有可執(zhí)行文件及動(dòng)態(tài)庫(kù)。在WellBase上開(kāi)發(fā)的應(yīng)用程序的執(zhí)行文件必須存放在該目錄下 bin的子目錄dlldecode中存放數(shù)據(jù)解編動(dòng)態(tài)庫(kù)。用戶開(kāi)發(fā)完成的數(shù)據(jù)解編動(dòng)態(tài)庫(kù)必須存放在該目錄下才能夠被數(shù)據(jù)解編程序加載和調(diào)用。 bin的子目錄dllprocess中存放處理方法動(dòng)態(tài)庫(kù)。用戶開(kāi)發(fā)完成的處理方法動(dòng)態(tài)庫(kù)必須存放在該目錄下才能夠被綜合常規(guī)處理程序加載和調(diào)用 include目錄中存放利用C或C+語(yǔ)言對(duì)平臺(tái)進(jìn)行開(kāi)發(fā)時(shí)需要的所有頭文件,Forward/WellBase簡(jiǎn)介,安裝WellBase開(kāi)發(fā)工具包(SDK) lib目錄中存放利用Fortran、C或C+語(yǔ)言對(duì)平臺(tái)進(jìn)行開(kāi)發(fā)時(shí)需要的所有庫(kù)文件 source目錄中存放WellBase平臺(tái)提供的所有源程序。其子目錄method中存放處理方法動(dòng)態(tài)庫(kù)源程序;process中存放Fortran處理方法源程序;processframe中存放處理部分框架源程序,decode中存放部分解編源程序,Forward/WellBase簡(jiǎn)介,安裝WellBase開(kāi)發(fā)工具包(SDK) template目錄中存放處理程序的繪圖模板、缺省處理參數(shù)文件以及參數(shù)可視編輯控制文件, 處理程序的模板目錄名稱采用處理程序名,處理程序的繪圖模板、缺省處理參數(shù)文件(*.def)以及參數(shù)可視編輯控制文件(*.cfg)均存放在該目錄下。 系統(tǒng)的模板目錄與bin等目錄平級(jí)。進(jìn)行用戶登記時(shí)可將用戶的模板目錄修改為用戶缺省模板目錄(用戶名template)或用戶缺省指定目錄。采用用戶缺省模板目錄的優(yōu)點(diǎn)在于不同的用戶具有各自的模板目錄,用戶修改模板時(shí)不會(huì)影響其他用戶,Forward/WellBase簡(jiǎn)介,安裝WellBase開(kāi)發(fā)工具包(SDK) workspace目錄為用戶工作區(qū),其中存放用戶處理井的數(shù)據(jù),其目錄結(jié)構(gòu)如右圖所示。 一口井的全部數(shù)據(jù)存放在名為“#井名”的目錄下,可以采用一個(gè)WIS文件保存該井的全部數(shù)據(jù),也可將數(shù)據(jù)分類(例如,按測(cè)井系列分類)保存為多個(gè)WIS文件。采用拖拉方式處理井時(shí),缺省打開(kāi)“井名.wis”文件。 tapedata目錄中存放若干可供練習(xí)使用的測(cè)井原始數(shù)據(jù)文件。 系統(tǒng)的用戶工作區(qū)目錄與bin等目錄平級(jí)。進(jìn)行用戶登記時(shí)可將用戶的工作區(qū)目錄修改為用戶缺省目錄(用戶名workspace)或用戶缺省指定目錄。采用用戶缺省工作區(qū)目錄的優(yōu)點(diǎn)在于不同的用戶具有各自的工作區(qū)目錄,用戶修改井?dāng)?shù)據(jù)時(shí)不會(huì)影響其他用戶。,Forward/WellBase簡(jiǎn)介,WellBase SDK提供的主要C+類,開(kāi)發(fā)一個(gè)方法模塊的操作步驟,利用WellBase可以開(kāi)發(fā)三種類型的擴(kuò)展模塊/程序: 測(cè)井處理動(dòng)態(tài)庫(kù) DLL庫(kù) 測(cè)井處理動(dòng)態(tài)庫(kù)是一種外掛式的測(cè)井處理模塊,開(kāi)發(fā)人員利用動(dòng)態(tài)庫(kù)來(lái)完成測(cè)井資料的計(jì)算過(guò)程,由測(cè)井常規(guī)處理框架LogProcess動(dòng)態(tài)調(diào)用,并由LogProcess實(shí)現(xiàn)圖形操作、數(shù)據(jù)同步、參數(shù)編輯等過(guò)程,通過(guò)調(diào)用動(dòng)態(tài)庫(kù)的計(jì)算模塊完成整個(gè)處理過(guò)程。測(cè)井常規(guī)處理框架如下圖所示 測(cè)井處理框架應(yīng)用 EXE程序 測(cè)井處理框架是一種基于LogFrame底層的多文檔或單文檔應(yīng)用程序。LogFrame底層定義了應(yīng)用類CLogFrameApp、主窗口類CLogMDIMainFrame、子窗口類CLogChildFrame、文檔類CLogProcessDoc、視圖類CLogProcessView及許多圖形對(duì)象類,應(yīng)用軟件僅需完成自己的處理方法對(duì)象類。通過(guò)底層函數(shù),應(yīng)用程序可以訪問(wèn)所有的圖形對(duì)象、修改圖形的顯示方式、控制鼠標(biāo)動(dòng)作、加入自己的圖形對(duì)象,是一個(gè)真正的應(yīng)用程序 數(shù)據(jù)解編動(dòng)態(tài)庫(kù) DLL庫(kù) 數(shù)據(jù)解編動(dòng)態(tài)庫(kù)是一種外掛式的測(cè)井?dāng)?shù)據(jù)解編模塊,開(kāi)發(fā)人員利用動(dòng)態(tài)庫(kù)來(lái)完成對(duì)單個(gè)文件的解編過(guò)程,由WellBase平臺(tái)的LogTape主應(yīng)用程序來(lái)實(shí)現(xiàn)對(duì)磁帶機(jī)或磁盤(pán)文件的控制,配置解編動(dòng)態(tài)庫(kù)及調(diào)用順序,主計(jì)算模塊通過(guò)解編動(dòng)態(tài)庫(kù)的文件識(shí)別、信息掃描和數(shù)據(jù)轉(zhuǎn)換函數(shù)實(shí)現(xiàn)對(duì)測(cè)井?dāng)?shù)據(jù)的解編,開(kāi)發(fā)一個(gè)方法模塊的操作步驟,測(cè)井應(yīng)用程序一般結(jié)構(gòu) 輸入:指定要處理的曲線 處理:對(duì)曲線數(shù)據(jù)進(jìn)行加工 輸出:生成新的曲線或重寫(xiě)現(xiàn)有曲線 WellBase 完成了井?dāng)?shù)據(jù)格式的管理(Wis) 完成了井繪圖功能 開(kāi)發(fā)者所需要做的工作 多數(shù)情況下只需要編寫(xiě)處理代碼,開(kāi)發(fā)一個(gè)方法模塊操作步驟,首先建立一個(gè)應(yīng)用圖像框架工程:,開(kāi)發(fā)一個(gè)方法模塊操作步驟,代碼窗口,操作步驟流程如下,熟悉了解待開(kāi)發(fā)的模塊的原理和解釋方法 利用Forward SDK提供的VC6.0“測(cè)井分析動(dòng)態(tài)庫(kù)自動(dòng)生成器”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) 編寫(xiě)Method方法的代碼 撰寫(xiě)以下文件 參數(shù)可視化配置文件(.CFG) 缺省參數(shù)文件(.DEF) 缺省繪圖模塊(.PPR) 編譯調(diào)試,反復(fù)修改直到符合要求,源代碼說(shuō)明,由Wizard產(chǎn)生的項(xiàng)目包括下列文件(XXX為方法名): XXX.cpp 主文件,實(shí)現(xiàn)入口函數(shù)DoProcess和About,DoProcess函數(shù)構(gòu)造處理方法對(duì)象,并調(diào)用該方法的處理函數(shù)進(jìn)行處理。About函數(shù)顯示版本、版權(quán)等信息。 XXX.def 模塊定義文件,定義兩個(gè)引出函數(shù)DoProcess和About。 XXX.rc 資源文件。 XXXMethod.cpp 處理方法對(duì)象源文件,實(shí)現(xiàn)所有的處理函數(shù)。定義輸入、輸出曲線及參數(shù)名稱。 XXXMethod.h 處理方法對(duì)象頭文件,定義處理方法對(duì)象及其函數(shù),定義輸入、輸出曲線及參數(shù)變量 。 Stdafx.cpp 預(yù)編譯源文件。 Stdafx.h 預(yù)編譯頭文件。 Resource.h 資源符號(hào)定義頭文件。 Readmt.txt 工程說(shuō)明文件。,源代碼說(shuō)明,定義輸入曲線,描述方法所需的輸入曲線: 在XXXMethod.h頭文件的InVar結(jié)構(gòu)中定義輸入曲線數(shù)據(jù)變量,可以是各種類型的變量或數(shù)組,變量的類型和井?dāng)?shù)據(jù)文件中實(shí)際存放曲線的類型無(wú)關(guān),有數(shù)據(jù)底層實(shí)現(xiàn)不同類型數(shù)據(jù)的轉(zhuǎn)換過(guò)程,例子中定義兩個(gè)輸入曲線變量GR和SP,都為單精度浮點(diǎn) 在XXXMethod.cpp中定義INCURVE結(jié)構(gòu)數(shù)組變量(該結(jié)構(gòu)在LogProcess.h中定義,關(guān)于該結(jié)構(gòu)具體說(shuō)明參考ClogProcess底層),數(shù)組的元素個(gè)數(shù)通過(guò)宏變量NNoI給出,它的值為輸入曲線條數(shù),例子中為兩條輸入曲線,該值為2。 對(duì)定義的INCURVE結(jié)構(gòu)數(shù)組變量PInCurve賦值,每條曲線結(jié)構(gòu)的變量代碼和數(shù)據(jù)采樣個(gè)數(shù)必須和InVar結(jié)構(gòu)變量中指定的一致。若輸入曲線數(shù)據(jù)結(jié)構(gòu)InVar中定義的某條曲線變量類型不是單精度浮點(diǎn),則在PInCurve結(jié)構(gòu)數(shù)據(jù)中對(duì)應(yīng)的元素中指定變量代碼類型,若輸入曲線數(shù)據(jù)結(jié)構(gòu)InVar中定義的某條曲線變量是數(shù)組,則在PInCurve結(jié)構(gòu)數(shù)據(jù)中對(duì)應(yīng)的元素中指定采樣點(diǎn)數(shù)。,源代碼說(shuō)明,定義輸出曲線,描述方法所產(chǎn)生的輸出曲線: 在XXXMethod.h頭文件的OutVar結(jié)構(gòu)中定義輸出曲線數(shù)據(jù)變量,可以是各種類型的變量或數(shù)組,變量的類型與井?dāng)?shù)據(jù)文件中實(shí)際存放曲線的類型無(wú)關(guān),有數(shù)據(jù)底層實(shí)現(xiàn)不同類型數(shù)據(jù)的轉(zhuǎn)換過(guò)程,例子中定義兩個(gè)輸出曲線變量XGR和XSP,都為單精度浮點(diǎn)。 在XXXMethod.cpp中定義OUTCURVE結(jié)構(gòu)數(shù)組變量(該結(jié)構(gòu)在LogProcess.h中定義,關(guān)于該結(jié)構(gòu)具體說(shuō)明參考ClogProcess底層),數(shù)組的元素個(gè)數(shù)通過(guò)宏變量NNoO給出,它的值為輸出曲線條數(shù),例子中為兩條輸出曲線,該值為2。 對(duì)定義的OUTCURVE結(jié)構(gòu)數(shù)組變量POutCurve賦值,每條曲線結(jié)構(gòu)的變量代碼和數(shù)據(jù)采樣個(gè)數(shù)必須和OutVar結(jié)構(gòu)變量中指定的一致。若輸出曲線數(shù)據(jù)結(jié)構(gòu)OutVar中定義的某條曲線變量類型不是單精度浮點(diǎn),則在POutCurve結(jié)構(gòu)數(shù)據(jù)中對(duì)應(yīng)的元素中指定變量代碼類型,若輸出曲線數(shù)據(jù)結(jié)構(gòu)OutVar中定義的某條曲線變量是數(shù)組,則在POutCurve結(jié)構(gòu)數(shù)據(jù)中對(duì)應(yīng)的元素中指定采樣點(diǎn)數(shù),源代碼說(shuō)明,定義輸入?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)具體說(shuō)明參考ClogProcess底層),數(shù)組的元素個(gè)數(shù)通過(guò)宏變量NNoC給出,它的值為輸入?yún)?shù)個(gè)數(shù),例子中為兩個(gè)輸入?yún)?shù),該值為2。 在XXXMethod.cpp中,定義參數(shù)缺省值數(shù)組變量PARA,并賦缺省值,源代碼說(shuō)明,方法調(diào)用過(guò)程: 第一步:主程序裝入方法動(dòng)態(tài)庫(kù),并調(diào)用DoProcess函數(shù),將井文件名和參數(shù)名傳遞到該函數(shù)中,控制轉(zhuǎn)移到該函數(shù)。 第二步:DoProcess函數(shù)構(gòu)造處理方法對(duì)象,并調(diào)用方法對(duì)象的Processing函數(shù),控制轉(zhuǎn)移到該函數(shù)。 第三步:Processing函數(shù)實(shí)現(xiàn)數(shù)據(jù)處理后,返回到DoProcess函數(shù)。 第四步:DoProcess函數(shù)刪除方法對(duì)象,返回由Processing函數(shù)返回的數(shù)值,控制回到主程序。 第五步:主程序釋放方法動(dòng)態(tài)庫(kù),根據(jù)DoProcess的返回代碼判斷是否刷新圖形及同步數(shù)據(jù),若返回值小于零,不刷新圖形和同步數(shù)據(jù),否則刷新圖形和同步數(shù)據(jù),模塊的掛接實(shí)現(xiàn),第一步:將
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能家居個(gè)性化安裝與全面售后服務(wù)補(bǔ)充協(xié)議
- 西師版六年級(jí)上冊(cè)數(shù)學(xué)教學(xué)計(jì)劃的未來(lái)展望
- 跨國(guó)集團(tuán)工業(yè)廠房分割轉(zhuǎn)讓及國(guó)際商務(wù)合同
- 離散分布參數(shù)系統(tǒng)的事件觸發(fā)迭代學(xué)習(xí)控制
- 直播公會(huì)會(huì)員權(quán)益保障合作協(xié)議
- J公司財(cái)務(wù)風(fēng)險(xiǎn)評(píng)價(jià)與控制研究
- 大數(shù)據(jù)應(yīng)用渠道共建合作協(xié)議
- Siglec-15調(diào)節(jié)STAT1-STAT3通路促進(jìn)肝癌細(xì)胞增殖和遷移
- 國(guó)際合同快遞保險(xiǎn)保價(jià)服務(wù)與責(zé)任界定合同
- 俄羅斯遠(yuǎn)東地區(qū)開(kāi)發(fā)融資合同
- 《煤礦重大危險(xiǎn)源評(píng)估報(bào)告》
- 部編版《道德與法治》六年級(jí)下冊(cè)第1課《學(xué)會(huì)尊重》精美課件
- 企業(yè)VI設(shè)計(jì)報(bào)價(jià)清單
- 監(jiān)控工程驗(yàn)收單-范本模板
- 浙江開(kāi)放大學(xué)2024年《法律文化》形考作業(yè)1-4答案
- 政治審查表(模板)
- T∕CACM 1107-2018 中醫(yī)治未病實(shí)踐指南 亞健康中醫(yī)干預(yù)
- 數(shù)字貿(mào)易學(xué) 課件 第20、21章 數(shù)字絲綢之路與數(shù)字基礎(chǔ)設(shè)施、數(shù)字自由貿(mào)易與數(shù)字貿(mào)易壁壘
- 地理畢業(yè)生實(shí)習(xí)報(bào)告5000字范本2篇
- (完整版)鋁合金門(mén)窗施工合同范本
- 新生兒音樂(lè)療法課件
評(píng)論
0/150
提交評(píng)論