新四季網

用於油井管理編程的高級圖形程式語言和工具的製作方法

2023-07-04 03:14:16

專利名稱:用於油井管理編程的高級圖形程式語言和工具的製作方法
技術領域:
0002本發明的實施例一般涉及油藏模擬,例如油井管理計算 機程序,其可與用來解油藏方程的油藏模擬電腦程式結合使用。
背景技術:
0003本部分打算向讀者介紹本領域的各個方面,它們可能與 本發明的示例性實施例關聯並在下面進行描述和/或要求保護。相信這 個論述有助於向讀者提供促進對本發明特殊技術的更好理解的信息。 因此,應該理解,這些陳述應從這個角度理解而非對現有技術的介紹。
0004油藏模擬是從油藏模型的動態推斷實際油藏狀態的過程。 因為石油油藏中質量轉移和流體流動過程如此複雜,所以油藏模擬都 是用計算機完成的。執行計算從而模擬油藏的電腦程式被稱為油藏 模擬器。油藏模擬的目的是理解出現在石油油藏中的複雜的化學、物 理和流體流動過程,從而預測油藏的未來狀態,並增加碳氫化合物的 採收率。油藏模擬器可解決通常不能以其他方式解決的油藏問題。例 如,油藏模擬器可預測油藏管理決定的後果。油藏模擬通常被稱為油 藏內流動的流體動力學,但在更大的意義上,也可稱為總石油系統, 該系統包括油藏、地表設施以及任何相互關聯的重要活動。
0005用於判斷每個時間點的油藏情況的方程系統的求解受邊 界條件約束,如源匯項(sink and source term)。例如,源匯項描述了模 擬模型中多少流體被注入到不同位置的油井中或從其中抽出。這些源 匯項被規定為時間的函數,從而控制方程的解。而且,它們表示根據 如何操作油井和管理油藏選擇的操作限制。
0006在進行模擬研究時,表示油井開工率或作業率(叩emting rate)的源匯項可被不同地設置。根據模擬模型的大小和複雜度和模擬 研究的目的,選擇這些源匯項作為時間函數的過程可能是非常錯綜復 雜的並可能涉及編寫複雜的算法和程序。為模擬模型設置這些油井產 量和邊界條件所編寫的程序通常被稱為油井管理邏輯或油井管理程 序。同樣地,油井管理程序可經配置來判斷關於在預測周期的持續時 間油井的各種方面,如哪些油井生產;產量多少;如何滿足不同地表 設備的多個限制;何時關閉油井和何時再開採油井;何時安排油井維 修或新井鑽探;以及在不同位置注入多少氣或水來幫助保持油藏壓力。
0007油井管理程序通常是經訓練的程式設計師以標準程式語言, 如FORTRAN, (3或0++編寫的,這些程序通常很大,g卩, 一般生成數 千行代碼。因此,通常需要相當量的時間來設計、實施、測試和讓最 終用戶接受油井管理程序。因為程序是以低級語言編寫的,因此對於 最終用戶不易讀。進一步地,調查在預測研究過程中出現的許多情景 的需求可能涉及在短時間內頻繁修改程序。因為程序是以低級語言編 寫的,所以最終用戶也必須依靠程式設計師修改程序,這進一步延遲了該 過程。
0008因此,現有技術需要改進的方法和系統來生成使得最終 用戶能夠頻繁修改程序的油井管理程序。

發明內容
0009本發明的實施例針對油藏模擬方法,其包括構建具有一 個或更多個組件的分級邏輯圖。每個組件表示一組編程代碼。該方法 進一步包括轉換分級的邏輯圖為編程代碼,該代碼被配置為管理油藏 模擬。
0010在一個實施例中,該方法進一步包括(即,包含)在圖 形用戶界面上顯示分級的邏輯圖。
0011在另一個實施例中,編程代碼是C+十和FORTRAN中的一種。
0012在又一個實施例中,分級的邏輯圖提供管理油藏模擬的 編程代碼的高級結構化的視圖。
0013在又一個實施例中,每個組件可擴展成一個或更多個子組件。
0014在又一個實施例中,該方法進一步包括在分級邏輯圖轉 換為編程代碼的過程中生成調試代碼。
0015在又一個實施例中,該方法進一步包括為每個組件生成文檔資料。
0016在又一個實施例中, 該方法進一步包括執行編程代碼從而生成模擬的油藏。
0017在又一個實施例中, 該方法進一步包括使用模擬的油藏來預測油藏的動態。
0018在又一個實施例中, 該方法進一步包括使用模擬的油藏來從油藏生產碳氫化合物。
0019在又一個實施例中, 組件包括經配置來描述或定義設施的設施組件。
0020在又一個實施例中,設施包括油井、鑽井平臺和油田之一。
0021在又一個實施例中,設施組件包括一個或更多個次序組件(sequence components),每個次序組件經配置來標記編程代碼中主 邏輯部分的開始。
0022在再一個實施例中,每個次序組件包括一個或更多個通配組件(generic component),每個通配組件經配置來執行一個或更多 個邏輯步驟以管理油藏的模擬。
0023在又一個實施例中,每個通配組件包括經配置來規定邏輯條件的if一test (是否測試)組件。
0024在又一個實施例中,轉換分級邏輯圖包括轉化是否測試if—test組件的邏輯條件為編程代碼。
0025在又一個實施例中,轉換分級邏輯圖包括為邏輯條件解 析編程代碼中設施的引用(reference)。
0026在又一個實施例中,為邏輯條件解析編程代碼中設施的引用包括,如果是否測試if—test組件所屬的通配組件是set—loop (set循環)組件的一部分,則將設施的引用設置為由set循環set_loop組件定義的設施。
0027在又一個實施例中,為邏輯條件解析編程代碼中對設施 的引用進一步包括,如果是否測試if—test組件所屬的通配組件是至少 一個次序組件的一部分,則將設施的引用設置為由設施組件描述 (facility component description)定義的設施。
0028在又一個實施例中,為邏輯條件解析編程代碼中設施的 引用進一步包括,如果是否測試if—test組件所屬的通配組件沒有嵌套 在任何set循環Set_l00p組件中,且如果通配組件是配置為子程序 (subroutine)的次序組件的一部分,則將設施的引用設置為調用次序 組件的設施,這個邏輯條件是次序組件的一部分。
0029在又一個實施例中,每個通配組件包括經配置來執行循 環結構的循環組件。
0030在又一個實施例中,循環結構是while循環、for循環和 set循環(set—loop)之一。
0031在又一個實施例中,每個通配組件包括退出循環條件 quit—loop_condition,其經配置來判斷循環結構的結束。
0032在又一個實施例中,轉換分級邏輯圖包括轉化退出循環 條件quit—loop—condition為編程代碼。
0033在又一個實施例中,轉換分級邏輯圖包括為退出循環條 件quit—loop—condition解析編程代碼中設施的引用。
0034在又一個實施例中,為退出循環條件quit—lo叩—condition 解析編程代碼中設施的引用包括設置設施的引用為是否測試if—test組 件定義的邏輯條件。
0035在又一個實施例中,循環組件包括經配置來規定邏輯條 件的是否測試if一test組件。
0036在又一個實施例中,轉換分級邏輯圖包括轉化循環組件 的過濾條件為編程代碼。
0037在又一個實施例中,每個通配組件包括經配置執行命令 的執行動作execute—action組件。
0038在又一個實施例中,轉換分級邏輯圖包括轉化執行動作 execute action組件的命令為編程代碼。
0039在又一個實施例中,轉換分級邏輯圖包括為命令解析編 程代碼中設施和/或流體相的引用。
0040在又一個實施例中,為命令解析編程代碼中設施和/或流 體相的引用包括為是否測試if—test組件引用條件,是否測試if—test組 件定義執行動作execute—action組件所屬的每個通配組件。
0041在又一個實施例中,為命令解析編程代碼中設施和/或流 體相的引用包括,如果執行動作execute—action組件是set循環setjoop 組件的一部分,則設置設施的引用為由set循環set—loop組件定義的設 施。
0042在又一個實施例中,執行動作execute—action組件引用函數。
0043在又一個實施例中,執行動作execute—action組件包括嵌 套通配nested—generic組件,其經配置來執行一個或更多個邏輯操作從 而管理油藏的模擬。
0044在又一個實施例中,轉換分級邏輯圖包括轉化執行動作 execute—action組件為編程代碼。
0045在又一個實施例中,轉換分級邏輯圖包括轉化通配組件 為編程代碼。
0046在又一個實施例中,每個通配組件包括嵌套通配 (nested—generic)組件,其經配置來執行管理油藏模擬的一個或更多 個邏輯操作。
0047在又一個實施例中,轉換分級邏輯圖包括轉化次序組件 為編程代碼。
0048在又一個實施例中,組件包括設施組件,其經配置來描 述或定義設施,且轉換分級邏輯圖為編程代碼包括存儲設施名稱。
0049在又一個實施例中,轉換分級邏輯圖包括為過濾條件解 析編程代碼中設施的引用。
0050在又一個實施例中,為過濾條件解析編程代碼中設施的 引用包括,如果循環組件是set循環set—loop結構,則設置設施的引用 為由循環組件定義的設施。
0051在又一個實施例中,組件被分組成一個或更多個容器(container)組件。
0052本發明的實施例也針對計算機系統,其包含處理器和包 括程序指令的存儲器,所述指令可由處理器執行從而構造具有一個或 更多個組件的分級邏輯圖,其中每個組件表示一組編程代碼;並轉換 分級邏輯圖為被配置用來管理油藏的模擬的編程代碼。
0053在又一個實施例中,存儲器進一步包括在圖形用戶界面 上顯示分級邏輯圖的程序指令。
0054在另一個實施例中,編程代碼是C+十和FORTRAN之一。
0055在又一個實施例中,分級邏輯圖提供管理油藏模擬的編 程代碼的高級結構化視圖。
0056本發明的實施例也針對預測油藏動態(performance of a reservoir)的方法。該方法包括用圖形用戶界面構建分級邏輯圖。分級 邏輯圖包括一個或更多個組件,且每個組件表示一組編程代碼。該方 法進一步包括通過圖形用戶界面顯示分級邏輯圖,轉換分級邏輯圖為 被配置用來模擬油藏動態的編程代碼,並執行編程代碼從而生成模擬 的油藏。
0057在一個實施例中,該方法進一步包括使用模擬的油藏來 預測油藏的動態。
0058在另一個實施例中,該方法進一步包括使用模擬的油藏 來從油藏生產碳氫化合物。
0059在再一個實施例中,分級邏輯圖是可調整的。
0060本發明的實施例也針對用來執行油藏模擬的計算機實施 的方法或模擬系統。該方法進一步包括構建表示油井管理程序的分級 邏輯圖,其中分級邏輯圖包括一個或更多個組件,每個組件都表示一 組編程代碼;將該分級邏輯圖解碼為低級編程代碼;編譯低級編程代 碼;將低級編程代碼連結為油藏模擬程序;從油藏模擬程序生成油藏 模擬模型;和存儲來自油藏模擬模型的結果。
0061此外,本方法可包括其他方面。例如,該方法可包括根 據油藏模擬模型評估油藏或生成評估報告。而且,該分級邏輯圖可被 配置為設置油井產量和油藏模擬模型的邊界條件。油藏模擬器模型可 包括油藏和設施,其中設施表示油藏和輸送位置之間流動路徑上的物
理設備,其中設施是鑽井平臺、歧管、泵、壓縮機、分離器、管路和 鑽塔之一。此外,油藏模擬模型的模擬可用來對油藏中發生的化學, 物理和流體流動過程進行建模,從而預測油藏的未來狀態和提高來自 油藏的碳氫化合物開採量。


0062本技術的前面和其他優點可在閱讀下面的詳細說明並參 考附圖後而變得明顯。
0063圖1A示出按照本發明一個或多個實施例預測油藏動態的 方法的示例性流程圖。
0064圖1B示出按照本發明一個或多個實施例構建分級邏輯圖 的示例性流程圖。
0065圖2示出按照本發明一個或多個實施例的具有FAC圖標 和S圖標的佔位符號的示例性顯示。
0066圖3示出按照本發明一個或多個實施例的分級邏輯圖的 示例性開端視圖(preliminary view)。
0067圖4示出按照本發明一個或多個實施例的分級邏輯圖的
第二示例性開端視圖。
0068圖5示出按照本發明一個或多個實施例的OMAX,其作
為用在油井管理編程環境中的預定義條件的例子。
0069圖6示出按照本發明一個或多個實施例的分級邏輯圖的 第三示例性開端視圖。
0070圖7示出按照本發明一個或多個實施例的示例性數據窗 口,其提示用戶選擇循環類型。
0071圖8示出按照本發明一個或多個實施例的預定義條件的 示例性列表。
0072圖9示出按照本發明一個或多個實施例的示例性次序組 件,其具有帶三個獨立通配組件的容器組件。
0073圖IO示出按照本發明一個或多個實施例的分級邏輯圖的 第四示例性開端視圖。
0074圖11示出按照本發明一個實施例的示例性預定義條件"無違反(NoViolation)"。
0075圖12示出按照本發明一個或多個實施例的分級邏輯圖的 第五示例性開端視圖。
0076圖13示出按照本發明一個或多個實施例的預定義命令"每 次減少一個"(DecreaseONE—AT—A—TIME)的示例性選擇。
0077圖14示出按照本發明一個或多個實施例的分級邏輯圖的 第六示例性開端視圖。
0078圖15示出按照本發明一個或多個實施例的示例性最終形 式的分級邏輯圖,其中沒有移去未選擇的組件或未定義的組件。
0079圖16示出按照本發明一個或多個實施例的示例性的執行 動作execute—action組件,其具有經配置來調用被顯示出來的函數的次 序組件。
0080圖17示出按照本發明一個或多個實施例的用於解碼分級 邏輯圖的方法的示例性流程圖。
0081圖18A和18B示出按照本發明一個或多個實施例的解碼 通配組件的方法的示例性流程圖。
0082圖19示出示例性計算機網絡,本發明實施例可在其中實施。
0083圖20示出按照本發明一個或多個實施例的具有嵌套通配 nested—generic組件的示例性分級邏輯圖。
具體實施例方式
0084下面給出了詳細的說明。每個所附的權利要求定義一個 獨立發明,為了侵權用途,獨立發明被當作包括權利要求中限定的多 種元素或限制的等價物。根據上下文內容,下面所說的"發明"在某 些情形中僅指某些特定實施例。在其他情形中,應該認識到,對"發 明"的引用指在一個或多個,但不必是所有權利要求中陳述的主題。 下面更詳細地描述每個發明,包括具體實施例、形式和例子,但本發 明不局限於這些實施例、形式或例子,它們都包括在此,從而使得在 該專利中的信息與可用信息和技術結合時,本領域技術人員能夠做出 和使用本發明。下面定義這裡使用的各種術語。就權利要求中所使用
的術語在下面沒有定義來說,其應給予本領域技術人員已經給予該術 語的最廣定義,如一個或多個印刷出版物或授權的專利給出的那樣。
附圖中的特定實施例
0085本發明的各種實施例涉及油藏模擬,油藏模擬是多孔和 可滲透巖石中一個、兩個或三個流體相的三維(3D)流動數值模擬。 三個流體相是碳氫化合物液體(油)、碳氫化合物蒸汽(氣體)和水相 (水)。
0086電腦程式被用來構建油藏模擬模型,該模型適當地表 徵巖石和流體特性,且該電腦程式也用來響應規劃的油井作業而計 算模擬模型隨時間的演化,從而除去可銷售流體,並在某些情形中取 代這些價值較低的流體來維持壓力。
0087油藏模擬模型是通過將感興趣體積細分(離散化或網格 化)為許多多邊形單元。單元的數目通常在幾萬到幾十萬。感興趣體 積是以油和氣累積的範圍和與油及氣體壓力連通的水的範圍區域性地 且垂直地定義的。其面積可以是幾個平方英裡,且厚度可以是幾百, 甚至幾千英尺。
0088模擬單元的狀態是其由壓力及其內容定義的,即,單元 內的油、氣和水的量。模擬的目標是計算單元狀態隨時間的演化。演 化由初始狀態並由通過油井從系統時間相關地移出(生產)流體或將 流體加入系統(注入)控制。
0089單元狀態由於在成對的相鄰單元之間或單元與井之間的 流體流動而隨時間變化。流體從高壓流到低壓。壓力梯度是通過井筒 從油藏移出流體(生產)或將流體加入油藏(注入)而導致產生的, 井筒穿過多孔和滲透性巖石。在油藏內,流體匯聚(流向)生產井筒 並從注入井筒分散(流出)。
0090在有限差油藏模擬模型的背景中,流體流動是在鄰近單 元對之間計算的,且對於井筒穿過的單元,是在單元和井筒之間計算 的。為了將流體流動模型化,相關方程的近似形式是為每個單元建立 的,從而表達質量轉換和相流速和壓力差之間的關係。單元集合的這 些方程的聯立(近似)解可得到在單個時間每個單元的壓力和內容物。
可求解這些方程來確定邊界條件控制下每個時間點的油藏狀態,如源 匯項,其說明多少流體被注入到模擬模型中不同位置的油井中或從其 中排出。
0091表示油井作業率的源匯項可在進行模擬研究時作不同設 定。開始時,歷史匹配過程可用來驗證模擬模型。為了確保模擬模型 是實際油藏的優良表示,用歷史動態數據校準該模擬模型,該數據通 常包括在規則間隔的生產的流體容積的測量值和油井中壓力的周期性 測量值。在該相中,用為油井產量收集的數據規定源匯項。然後,執 行模擬模型並調整油藏特性從而與從油田觀察的數據對應。
0092在驗證模擬模型後,模擬模型可用來提供預報未來油藏 和油井動態的預測。在該操作模式中,即使對於未來日期的油井產量 數據是不可知的,也可規定源匯項。模擬模型可用來研究許多可能的 預測情形。對於每個情形,可為邊界條件集選擇某些設定,從而研究 操作油藏的可能策略並與不同操作限制一致。
0093無論在歷史匹配還是預測模式中,選擇和規定邊界條件 來操作模擬模型可能都不是簡單的過程,且在很多情形中,可能涉及 大量的編程。在預測模式中,編程通常被用來設定油井產量和邊界條 件。編寫成設定模擬模型的油井產量和邊界條件的程序通常也稱為油 井管理邏輯或油井管理程序。照此,油井管理程序是增加到油藏模擬 程序的組件,該模擬程序被用來求解油藏方程。
0094油井管理程序通常被設計成靈活的並解決許多類型的油 藏要求。該程序通常包括許多步驟或代碼塊,它們是以預定義的次序 可執行,從而分析對設施強加的限制和要求。如果任何限制被違反或 破壞,則程序可執行一系列調整從而修改油井作業條件直到限制不再 被違反。對於每個限制違反,可做出大量調整,且大量不同的井可以 是調整的候選。在開發並編碼油井管理程序後,通常該程序被編譯並 與其餘油藏模擬器代碼連結,且最終組合的軟體包被用於油藏的預測 研究。
0095因此,本發明的不同實施例根據開發一層由圖形界面支 持的組件提出了一種編程解決方案,從而創建高級編程方法。該程序 是用特殊高級語言通過圖形環境創建的。最終的程序然後被轉換為低級程式語言,如CW、 FORTRAN等等。
0096在構建電腦程式方面,本發明的實施例給出一個範例 性轉化,因為用戶通過使用組件作為圖形環境中的構建塊來組裝邏輯 分支而構建程序,而非在文本編輯器環境中編寫低級0++指令。因此, 該實施例以分級形式顯示高級邏輯組件的分支,而非顯示數千行低級 編程代碼。這些邏輯組件的分支經配置轉化為數千行低級編程代碼。 為了使組裝程序的任務更容易,可開發預造(pre-fabricated)邏輯分支 庫,且其可作為額外的預定義構建塊利用。
0097圖1A示出按照本發明一個或多個實施例預測油藏動態的 方法l的示例性流程圖。在方塊IO,構建表示油井管理程序的分級邏 輯圖。本發明的多種實施例針對構造構建分級邏輯圖的方法,其在下 文中參考圖1B更詳細地描述。在方塊20,分級邏輯圖被解碼為低級 編程代碼。本發明的各種實施例針對解碼過程,其在下面參考圖17— 18描述。在方塊30,低級編程代碼可被編譯並和油藏模擬程序連結。 低級編程代碼可通過本領域人員公知的傳統方法編譯和連結。在方塊 40,油藏模擬程序被執行,以生成油藏模擬模型。在方塊50,油藏模 擬模型被用來預測油藏動態。該油藏模擬模型可生成報告,這些報告 被用來從油藏生產碳氫化合物,如方塊60所示。油藏模擬模型可包括 油藏和/或設施,其中設施表示油藏和輸送位置之間流動路徑中的物理 設備。設施可包括平臺、歧管、泵、壓縮機、分離器、管路、鑽塔和 其他合適設施中的一個或更多個。進一步,油藏模擬模型的模擬可用 來模擬油藏中發生的化學、物理和流體流動過程,從而預測油藏的未 來行為和提高來自所述油藏的碳氫化合物開採量。
0098圖1B示出按照本發明一個或多個實施例構建分級邏輯圖 的方法100的示例性流程圖。分級邏輯圖可轉化為計算機語言,如0++、 FORTRAN等。解碼和轉化過程在下面參考圖17 — 18描述。圖形用戶 界面可與構建分級邏輯圖結合使用,從而促進用戶和本發明軟體應用 實施例之間的交流。如此,圖2—4、 6、 10、 12、 14和15示出示例性 分級邏輯圖,如同它們是按照本發明一個或多個實施例構建的。此外, 圖5、 7—8、 11和13示出可顯示的各種示例性數據窗口,以構建分級 邏輯圖。
0099參考圖1B中方塊110,具有FAC圖標的佔位符號和具有 S圖標的佔位符號顯示在計算機顯示屏上。FAC圖標表示分級體系內 最高級組件,而S圖標表示分級體系內的次最高級組件。圖2示出按 照本發明一個或多個實施例的示例性分級邏輯圖200,其具有FAC圖 標210的佔位符號和S圖標220的佔位符號。S圖標220的佔位符號向 內首行縮排地顯示在FAC圖標210的佔位符號下面。
00100這裡所用的組件被定夂為用於構建分級邏輯圖的對象或 元素。每個組件表示一組編程代碼,其可在分級邏輯圖轉化為低級編 程代碼時生成。轉化過程下面參考圖18A和18B更詳細地說明。每個 組件可通過輸入數據定義,輸入數據可轉化為低級編程代碼的一部分。
00101在方塊120, FAC圖標的描述是從用戶接收的。該描述 可以是設施的名稱,如油井、鑽井平臺、油田等。FAC圖標的描述也 可以是正在構建的分級邏輯圖的分支名稱。類似地,FAC圖標表示設 施組件,其經配置來開始分級邏輯圖的新分支和/或引入設施。回去參 考示例性分級圖200,設施組件的描述是鑽井平臺ABC,如圖3所示。 在接收設施組件的描述後,該描述顯示給用戶。分級邏輯圖中可表示 一個以上的設施組件。
00102在方塊120, S圖標的描述也是從用戶接收的。S圖標表 示一連串的通配組件("次序組件"),其中通配組件是主要組件,其經 配置來執行分級邏輯圖中的某些邏輯步驟。通配組件在下面更詳細地 說明。次序組件標記分級邏輯圖中邏輯部分的開始。邏輯部分可以是 主程序的一部分,或次序組件可引入新子程序。每個設施組件可具有 一個或更多個次序組件。回去參考示例性分級圖200,次序組件的描述 是鑽井平臺處理邏輯(Platform—Processing—Logic),如圖3所示。
00103在方塊130,在接收到次序組件的描述後,該描述被顯 示給用戶且具有G圖標的佔位符號被顯示在S圖標下面。回去參考示 例性分級圖200, G圖標230的佔位符號顯示在S圖標220的佔位符號 下面,如圖3所示。G圖標表示次最高級組件,該組件為通配組件。 每個次序組件可以由一個或更多個通配組件定義。
00104在方塊140,在接收到通配組件描述後,顯示該描述且 通配組件的可能子組件的一個或更多個佔位符號顯示在G圖標下面。回去參考示例性分級圖200,通配組件的描述是應用鑽井平臺最大產油 量約束(Apply—Platform_MaximumOilRate_Constraint),如圖4所示。 可能的子組件包括是否測試if_test組件、循環組件、退出循環條件 quit—1o叩—condition組件、執行動作execute—action組件和嵌套通配 nested—generic組件。在一個實施例中,可能的子組件以其被處理的次 序顯示。這些子組件中的每個都可用來定義通配組件。回去參考示例 性分級圖200,是否測試if—test組件可由C圖標410表示,循環組件 可由循環圖標420表示,執行動作execute一action組件可由EA圖標430 表示,且嵌套通配nested—generic組件可由G圖標440表示,它們都顯 示在圖4中。然而,應該注意雖然用戶可定義子組件的任何順序,但 顯示和最終處理子組件的順序遵從預定次序。
00105開始,是否測試if—test組件允許用戶規定一個或更多個 邏輯限制或條件。如果通過接收其描述來選擇是否測試if_test組件, 則可提示用戶從預定義條件的列表中選擇,如方塊150中所示。用在 油井管理編程環境中的預定義條件的例子可包括測試是否違反設施的 油產量、氣產量、水產量、氣油比率、水油比率等的最大或最小限制。 圖5示出顯示OMAX 510的示例性數據窗口 ,作為用在油井管理編程 環境中預定義條件的例子。OMAX 510的低級編程代碼是TestCondition =CurrentFacility.OilRate > CurrentFacility.MaximumOilRate (湖!|試條件= 當前設施的油產量>當前設施的最大油產量)。OMAX經配置來對照設 施的最大地表相油產量測試設施的地表相油產量。可替換地,用戶可 在方塊150中構建或規定他/她自己的條件。 一旦預定義條件確定,預 定義條件的描述鄰近對應於是否測試if_test組件的C圖標顯示,如方 塊155所示。回去參考示例性分級圖200, OMAX鄰近C圖標600顯 示,如圖6所示。一個以上的是否測試if—test條件可由"AND"或"OR" 運算符接合規定,從而定義通配組件的複雜測試條件。
00106循環組件允許用戶在所需電腦程式中建模循環結構。 循環結構通常被用來以重複方式執行某個邏輯塊,直到滿足某些條件 或限制。循環結構的例子包括while_loop (while循環),for—loop (for 循環)和set—loop (set循環)。在油井管理編程中,set—loop循環結構 通常被用來重複一組設施的元素。例如,set—loop循環結構可用來為預定義油井集合中的候選油井重複某些調整。如上所述,可通過接收循 環組件的描述選擇循環組件。基於該選擇,可提示用戶從列表中選擇
循環類型,如方塊160所示。為了示例目的,圖7示出示例性數據窗 口,其顯示按照本發明一個或多個實施例的設置定義參數列表730和 循環類型列表720。 SetType (設置類型)740和UserSet (用戶設置) 710已經被選擇用來指示set—loop循環結構作為循環類型。
00107
一旦選擇特定的循環類犁,可提示用戶為循環組件規定 一個或更多個條件。循環組件的條件通常可稱為過濾條件。對於 set—loop循環結構,過濾條件定義要窮盡循環的設施集合應包括或應排 除哪個設施。用在油井管理編程中的過濾條件的例子包括以超過某個 規定值的氣產量過濾油井子集。可提示用戶從預定義條件列表810中 選擇,如圖8所示。在該示例性數據窗口中,圖8示出用戶己經選擇 預定義條件 ACTIVE ( 活動的 ) AND FACILITY—DESCRIPTOR—PRODUCER (設施—描述符—生產者)。應用 到油井的條件ACTIVE (活動的)指沒有關閉的油井。
條件FACILITY—DESCRIPTOR—PRODUCER (設施—描述符_生產 者)指是生產井(不是注入井)的油井。條件AND顯然是邏輯運算符。 可替換地,用戶也可規定他/她自己的條件。 一旦選擇或規定條件,如 方塊166所示,為每個規定的條件顯示C圖標,如方塊168所示。回 去參考示例性分級圖200,圖10示出循環圖標1000和3個C圖標1010, 描述Active—Producers(活動的—生產者)顯示在循環圖標上面,ACTIVE AND FACILITY—DESCRIPTOR—PRODUCER (活動的AND設施—描述 符—生產者)顯示在C圖標上面。
00108定義循環組件的條件後,用戶可定義一個或更多個退出 循環條件quit—loop—condition組件,它們與循環組件關聯。退出循環條 件quit一loopjondition組件通常由決定循環何時結束或退出的條件或限 制定義。這樣,退出循環條件quit—loop—condition組件通常被稱為"何 時停止(stop when)"條件。可提示用戶從預定義條件列表中選擇,類 似於以是否測試if—test組件的預定義條件列表提示用戶的方式。圖11 示出示例性數據窗口 1100,其顯示No Violation (無違反)1110作為退 出循環條件quit—loop—condition組件的所選的預定義條件。No Violation條件被配置為當是否測試ifjest組件定義的條件(如OMAX)不再被 違反時,停止循環操作。可替換地,用戶也可定義另一個條件。在接 收退出循環條件quit—loop—condition組件的描述和退出循環條件 quit_loop—condition組件的條件後,如方塊170所示, 一個或更多個對 應於這些條件的C圖標可以鄰近它的描述顯示,如方塊172所示。回 去參考示例性分級圖200,圖12示出其上方有NoViolation的C圖標 1200。
00109用戶也可定義一個或更多個執行動作execute—action組 件,其經配置來執行某個命令或函數。在接收執行動作execute—action 組件的描述後,可提示用戶從預定義命令列表中選擇,如方塊180所 示。油井管理編程環境中命令的例子包括對油井執行某些調整,關閉 油井,鑽探油井,改變油井產量,減小油井產量等。用戶可提供額外 的數據,以進一步定義所選命令。圖13示出示例性數據窗口 1300,其 中的Decrease—Type (減小類型)1310和ONE—AT—A—TIME (每次一個) 1320被選擇作為執行動作execute—action組件的預定義命令。在方塊 185, 一旦執行動作execute—action組件已經描述和定義,則顯示EA圖 標,描述鄰近其顯示。回去參考示例性分級圖200,圖14示出EA圖 標1400,描述Reduce—wells—lxl (減少—油井—lxl)鄰近其顯示。已經 除去未選擇或未定義組件的最終形式的分級邏輯圖200在圖15中示 出。
00110進一步,執行動作execute—action組件也可由次序組件 定義,該次序組件被配置成調用另一個實施例中的函數或子程序。以 該方式,執行動作execute—action組件可經配置來調用特定的子程序。 作為例子,圖16示出具有次序組件1620的執行動作execute—action組 件1610,其經配置來調用函數或子程序。此夕卜,執行動作execute_action 組件可包括嵌套通配nested—generic組件1630。
00111嵌套通配nested—generic組件被定義為另一個通配組件 內的通配組件(或在執行動作execute—action組件內)。嵌套通配 nested—generic組件也可由G圖標表示。在接收到嵌套通配 nested—generic組件的描述後,如方塊190所示,該嵌套通配 nested—generic組件可能的子組件的佔位符號顯示在G圖標下面,如方
塊195所示。這些子組件包括是否測試if一test組件、循環組件、退出 循環條件quit—loop—condition組件、執行動作execute—action組件和嵌 套通配nested—generic組件。然後用戶可選擇這些組件中的任一個來定 義嵌套通配nested—generic組件。進一步,每個通配組件可具有一個以 上的嵌套通配nested—generic組件。使用該嵌套能力,可以用許多層嵌 套的邏輯構建複雜的邏輯鏈,其中每個層都以一個或更多個通配組件 模型化。以該方式,嵌套通配nested—generic組件提供通配組件,其具 有建模複雜邏輯結構的靈活性。
00112如果嵌套通配nested_generic組件被選擇來定義執行動 作execute—action組件,貝!J嵌套通酉己nested—generic組件可在執行動作 execute—action組件被處理後立即被處理。以一個或更多個嵌套通配 nested—generic組件定義的執行動作execute—action組件可用來處理取決 於執行動作execute一action組件中定義的命令的成敗的邏輯。例如,如 果命令被首先執行,然後檢查其成敗從而判斷是否執行另一個命令。 例如,可檢查維修油井的命令來判斷其是否成功。如果維修不成功, 則關閉油井。
00113雖然本發明的實施例是參考一個設施組件、 一個次序組 件、 一個通配組件和一個執行動作execute—action組件描述的,但其他 實施例可包括具有一個或更多個設施組件、次序組件、通配組件和/或 執行動作execute—action組件的分級邏輯圖。設施組件、次序組件、通 配組件和執行動作execute—action組件可以它們自頂向下顯示的順序被 處理。
00114
一旦分級邏輯圖建立,則分級邏輯圖被解碼為低級可編 譯代碼,如C++, FORTRAN等。解碼過程可通過執行"輸出步驟" 進行,在該步驟中分級邏輯圖的所有組件被轉化為低級代碼。用戶也 可在完成分級邏輯圖之前的任意時刻査看任意組件的低級代碼。圖17 示出按照本發明一個或多個實施例的方法1700的示例性流程圖,其用 於解碼以方法100構建的分級邏輯圖。在方塊1710,設施組件和次序 組件的描述存儲在存儲器中。回去參考圖15所示的示例性分級邏輯圖 200 ,鑽井平臺ABC是作為設施組件的描述存儲的, Platform_Processing—Logic (鑽井平臺處理邏輯)是作為次序組件的描述存儲的。在方塊1720,每個次序組件被解碼。在方塊1725,次序組 件的每個通配組件以它們出現在分級邏輯圖中自頂向下的順序被解 碼。通配組件的解碼過程在下面參考圖18A和18B更詳細地說明。在 方塊1730,判斷設施組件是否包括任何其他次序組件。如果還有更多 的次序組件,那麼下一個次序組件如方塊1720所示那樣處理。次序組 件可以以分級邏輯圖規定的順序被處理。然而,如果沒有更多次序組 件,則判斷分級邏輯圖是否含有任何更多的設施組件,如方塊1740所 示。設施組件也可以以分級邏輯圖中規定的順序被處理。如果有更多 的設施組件,則下一設施組件和相關的次序組件的描述被存儲到存儲 器中,如方塊1710所示。然而,如果沒有更多設施組件,則處理結束。 以該方式,所有設施和次序組件被解碼。
00115圖18A和18B示出按照本發明一個或多個實施例解碼通 配組件方法的示例性流程圖。在方塊1805,判斷待解碼通配組件是否 具有是否測試if—test組件。如果有是否測試if_test組件,則是否測試 if—test組件的條件或限制被轉化為低級編程代碼,如方塊1810所示。 如果條件是預定義的,則從存儲在存儲器的庫中檢索對應於這些條件 的低級編程代碼。回去參考分級邏輯圖200,結合參考圖5說明的 OMAX的選擇,OMAX的低級編程代碼是TestCondition = CurrentFacility.OilRate > CurrentFacility.MaximumOilRate。然後,在方 塊1815,設施引用得以解析。也就是,低級代碼條件中的任何設施引 用被解析。如果與是否測試if—test組件關聯的通配組件嵌入到set循環 set—loop組件定義的循環中,貝U CurrentFacility (當前設施)的引用被 設定為由循環定義的設施。可替換地,如果與是否測試if—test組件關 聯的通配組件沒有嵌入到循環中,則CurrentFacility的引用被設定為由 設施組件描述定義的設施。繼續上面引用的例子,CurrentFacility是引 用是否測試if—test條件OMAX中設施的代碼變量,而含OMAX的通 配組件不是set循環set_loop組件的一部分。因此,CurrentFacility被設 定為PlatformABC (鑽井平臺ABC),其是設施組件的設施名稱。如果 沒有是否測試if一test組件出現,則處理繼續到方塊1820,其在下面的 段落詳細說明。
00116在方塊1820,判斷通配組件是否具有循環組件。如果有循環組件,則循環組件被轉化為低級代碼。作為該轉化的一部分,基 於循環組件下面的組件上下文中規定的內容,循環組件可以判斷是否 需要循環結構。如果需要循環結構,則轉化可建立循環結構並創建變 量從而用作訪問單個元素的循環計數器變量。然而,如果沒有通配組 件具有循環組件,則判斷通配組件是否包括執行動作組件,如下面在
方塊1850中描述的那樣。
00117在方塊1825,判斷循環糹耳件是否具有過濾條件。如果沒 有過濾條件,循環組件的循環類型在方塊1838中被解碼。然而,如果 過濾條件存在,則過濾條件轉化為低級編程代碼,如方塊1830所示。 如上所述,如果過濾條件是預定義的,那麼對應於過濾條件的低級編 程代碼可從存儲在存儲器的庫中獲取。回去參考分級邏輯圖200,並結 合 參 考 圖 8 說 明 的 ACTIVE AND FACILITY DESCRIPTOR—PRODUCER的選擇,預定義條件ACTIVE (活動的)的低級編程代碼可以是candidate.get—is—active,且預定義條 件FACILITY—DESCRIPTOR—PRODUCER (設施—描述符—生產者)的 低級編程代碼可以是candidate.facility—descriptor = "Producer"。在方塊 1835,解析過濾條件中的設施的引用。例如,如果循環組件是set循環 set—loop組件,則由set循環set—loop組件定義的設施可用作供該set 循環set—loop組件下面的組件使用的引用設施。結合參考圖IO說明的 Active—Producers (活動的一生產者)的選擇,回去參考分級邏輯圖200, Active—Producers是set循環set—loop組件,其被配置為對油井集合執 行循環。同樣地,set循環set—lo叩組件下面的邏輯的引用設施被設定 為當前被Acitve—Producers的set循環set—loop組件處理的油井。和set 循環set—loop組件過濾條件有關的術語"候選者(candidate)"指為該 集合所考慮的設施類型。稱為"候選者"的設施類型由set循環set—lo叩 組件的數據定義。在該情形中,Active—Producers是set循環setjoop 組件,其經配置來對油井集合執行循環,且因此,術語"候選者"指 油井。 一旦設施引用被解析,循環組件的循環類型在方塊1838被解碼。 循環類型可以是while循環、for循環或set循環。
00118
一旦循環組件被解碼,則判斷通配組件是否具有退出循 環條件quit—loop—condition組件,如方塊1840所示。如果存在退出循
環條件quit—loop—condition組件,則條件轉化為低級編程代碼,如方塊 1845所示。然而,如果沒有退出循環條件quit—loop—condition組件存在, 則處理進入到方塊1850,其在下面的段落詳細說明。如上所述,如果 條件是預定義的,那麼對應於該條件的低級編程代碼可從存儲在存儲 器的庫中獲取。在一個實施例中,如果退出循環條件quitjoop—condition 是預定義條件"無違反"NoViolation,則該條件被配置成在是否測試 if—test組件定義的條件不再有效時停止循環。'因此,在這類實施例中, 引用為是否測試if_test組件定義的條件。回去參考分級邏輯圖200並 參考圖15,退出循環條件quit一loopjondition是預定義條件"無違反" NoViolation,其參考預定義條件OMAX,該條件被配置為對照最大油 產量測試鑽井平臺的油產量。
00119在方塊1850,判斷通配組件是否具有執行動作 execute—action組件。如果存在執行動作execute_action組件,則執行動 作execute—action組件的命令被轉化為低級編程代碼,如方塊1855所 示。如果沒有執行動作execute_action組件存在,則處理進入到方塊 1880,其在下面的段落詳細說明。如上所述,如果命令是預定義的, 則對應於預定義命令的低級編程代碼可從存儲在存儲器的庫中獲取。 回去參考分級邏輯圖200,並參考圖13, Decrease ONE—AT一A一TIME (每次減少一個)的低級編程代碼是調用預定義函數,從而一次減少 一個油井的油井產量。
00120在方塊1860,解析執行動作execute—action組件中任何 設施引用和/或流體相引用。在一個實施例中,流體相引用可通過參考 是否測試if—test組件的條件來解析,該條件定義執行動作execute—action組件所屬的通配組件。在另一個實施例中,如果執行動作execute_action 組件在set循環setjoop組件創建的循環內,那麼CurrentFacility的任 意引用被設定為由set循環s(lo叩組件定義的設施。可替換地,如果 執行動作execute—action組件不是set循環set—loop組件的一部分,則 任何CurrentFacility引用可被設定為1)如果當前通配組件是嵌套在 某些前面通配組件中的組件,則是前面的set循環set—loop組件中定義 的設施,或2)設施組件描述中定義的設施。回去參考分級邏輯圖200, 並參考圖15 ,執行動作execute_action組件1510與Active—Procedures set循環(set—loop)組件1520成對,並因此,Decrease ONE—AT—A_TIME (每次減少一個)的低級代碼中CurrentFacility的任何引用由 Active一Producersset循環組件正在處理的當前油井定義。此外,流體相 的引用指回OMAX,它是是否測試if—test組件的條件。減少每個油井 的量是在每次減少調整之前和之後從限制OMAX和油井產量確定的, 該限制OMAX引用鑽井平臺的當前油產量。
00121在方塊1865,判斷執行動作execute—action組件是否有 任何嵌套通配nested—generic組件。如果嵌套通配nested—generic組件 存在,則按照這裡所述的方法1800中說明的方塊解碼屬於執行動作組 件的嵌套通配組件。回去參考分級邏輯圖200並參考圖15,執行動作 execute—action組件1510,艮卩Reduce—wells_lxl ,沒有嵌套通配 nested—generic組件。因此,在方塊1860解析設施引用和/或流體相引 用後,對第一通配組件的處理結束。回去參考在方塊1865的査詢,如 果沒有嵌套通配neste(^generic組件存在,則處理進入方塊1880,其將在下面的段落詳細說明。
00122圖20示出按照本發明一個或多個實施例的具有嵌套通 配nested—generic組件的分級邏輯圖。該實施例包括通配組件,其具有 循環組件set—of—all—wells (所有油井集)和第一嵌套通配 ( nested—generic ) 組 件check—water—cut—try—workover—then—if—not_successfUl—shut—in—well (檢査含水量,然後嘗試油井維修,如果不成功就關閉油井)。第一嵌套通 配 nested—generic 組件包括是否測試 if—test 組件 Checkjf—water—cut—exceeds—maximum—value (檢査含水量是否超過最 大值),其已經被預定義為TestCondition = CurrentFacility.water_cut > CurrentFacility.water—cut—maximum,這裡water—cut (含7jC量)=生產的 液體中水的部分。第一嵌套通配nested_generic組件進一步包括執行動 {乍 execute—action 組件Perform—workover—then—test—result_if_not—successfbl_shut_in—well (進行油井維修,然後測試結果如果不成功就關閉油井),其被配置為關閉油 井穿孔從而減少油井中的水產量。執行動作execute—action組件包括第 二嵌套通配nested—generic組件If—adjustment—fails—shut—in一well (如果調整失敗就關閉油井),其包括是否測試if一test組件 Execution—of—command—not—successful (執行命令不成功),該組件已經 被預定義,以判斷當前命令是否成功。當前命令指在執行動作 execute—action組件中定義的命令,執行動作execute—action組件是嵌套 的通配組件最靠近的父層嵌套,在這裡是否測試if—test組件被調用。 在該實施例中,如果油井維修執行動作(execute—action)不成功(即 條件為真),那麼油井可用執行動作execute_action組件Shut—in—well (關閉油井)關閉。
00123在方塊1875,判斷通配組件是否具有任何其他執行動作 execute一action組件。如果執行動作execute—action組件存在,那麼處理 返回到方塊1855,在這裡下一執行動作execute—action組件的命令被轉 化為低級編程代碼。如果沒有執行動作execute—action組件存在,則判 斷通配組件是否具有任何嵌套通配nested_generic組件,如方塊1880 所示。如果嵌套通配nested—generic組件存在,那麼每個嵌套通配 nested—generic組件是按照方法1800中描述的方塊解碼的,解碼順序是 分級邏輯圖上顯示的順序,如方塊1885所示。如果嵌套通配 nested—generic組件不存在,則處理結束。
00124除了條件和命令,其他組件,如通配組件、執行動作 execute—action組件和set循環set_loop組件也可轉化為編程代碼。例如, 通配組件可被配置成檢査其子組件並要求子組件將其自身轉化為編程 代碼片段。那麼,通配組件可被配置成採用最終的代碼片段,注意可 能需要的變量聲明,並將片段組合到一起完成轉化任務。類似地,執 行動作execute—action組件可被配置成檢査其子組件,決定其是否應調 用函數(如果次序子組件存在)或執行某個標準命令。執行動作 execute—action組件也可被配置成檢査是否定義任何嵌套通配 nested—generic子組件,且如果定義了,則激活每個嵌套通配 nested—generic子組件的轉化。類似地,set循環set—loop組件可被配置 成判斷是否建立循環結構,且如果建立,則創建循環結構所需的變量 並生成處理循環結構的代碼。組件轉化為低級代碼也可用面向對象的 編程方法執行且不必以線性的自頂向下(top-down)次序執行。
00125可按照這裡所述的本發明實施例創建並解碼的另一類組
件是容器組件,其可用來將其他組件,如次序組件、通配組件或執行
動作execute—action組件分組到單個容器即組件中。用戶可定義僅在容 器內使用的局部變量。雖然許多變量是程序按需要自動建立的,但是 用戶總需要能夠規定他/她自己的局部變量。在圖形用戶界面環境中, 容器組件可擴展或收縮。例如,可建立包括二十個通配組件的次序組 件,通配組件被分到4個容器組件中,每個容器組件具有5個通配組 件。當次序組件被擴展時,用戶可僅看到在次序組件下面的4個容器 組件。當容器組件擴展時,用戶可看到5個通配組件,其構成擴展的 容器組件。圖9示出次序組件的例子,其具有帶有3個獨立通配組件 的容器組件。
00126雖然本發明的多個實施例是參考為油井管理的目的而創 建的電腦程式描述的,這些實施例也可以用於為其他應用創建計算 機程序。而且,其他實施例考慮各種組件組合從而創建更適於其他應 用的組件集合。
00127這裡所述的各種實施例可結合硬體或軟體實施,如果合 適,也可兩者都結合。因此,本發明的該方法和設備,或某些方面或 其部分可採取程序代碼(即指令)的形式,程序代碼包括在有形的介 質中,如軟盤、CD-ROM (光碟只讀存儲器)、硬碟驅動器或任何其他 機器可讀的存儲介質,其中當程序代碼被加載到機器中並被機器如計 算機執行時,機器就成為實踐本發明的設備。在可編程計算機上的程 序代碼執行的情形中,計算裝置通常可包括處理器、處理器可讀的存 儲介質(包括易失性存儲器和非易失性存儲器和/或存儲元件)、至少一 個輸入裝置、至少一個輸出裝置。 一個或多個程序可利用本發明的領 域專用編程模型的創建和/或實現,如通過使用數據處理API等,該一 個或多個程序優選以高級過程或面向對象的程式語言實現,從而與計 算機系統通信。然而,如果需要,(多個)程序可以彙編語言或機器語 言實現。在任何情形下,語言可以是編譯或解釋型的語言,並可與硬 件實現結合。
00128圖19示出計算機網絡1900,本發明實施例可在其中實 施。計算機網絡1900包括系統計算機1930,其可以實施為任何傳統個 人計算機或工作站。系統計算機1930可與一個或多個硬碟存儲裝置1950通信,其可以是外部硬碟存儲器裝置。設想硬碟存儲裝置1950 是傳統的硬碟驅動器,且類似地,可以通過區域網或遠程訪問的方式 實施。硬碟存儲裝置1950可用來存儲任何和/或全部程序指令、測量數 據和所需結果。
00129在一個實施例中,系統計算機1930可從硬碟存儲器裝 置1950檢索適當的數據從而構建分級邏輯圖,並按照對應於這裡所述 方法的程序指令將該圖解碼或轉化為低級編程代碼。程序指令可以計 算機程式語言,如C++、 Java等編寫。程序指令可存儲在計算機可讀 存儲器中,如程序盤存儲器裝置1960。當然,存儲程序指令的存儲介 質可以是用於存儲電腦程式的任何傳統類型,包括硬碟驅動器、軟 盤、CD-ROM和其他光學介質、磁帶等。
00130按照優選實施例,系統計算機1930主要將輸出呈現在 圖形顯示器1927上,或可替換地經印表機1928輸出。系統計算機1930 可在硬碟存儲介質上存儲上述方法的結果供以後使用和進一步分析。 鍵盤1926和指向裝置(如滑鼠、軌跡球等)1925可提供給計算機系統 1930,使得能夠進行交互操作。
00131按照本發明的一個實施例,程序盤存儲裝置I960包括 圖形用戶界面1970,其允許用戶通過查看、編輯和操縱圖形環境中的 邏輯分支而編程。圖形用戶界面1970被配置成和集成的開發環境 (IDE) —起工作。IDE可包括編輯器,其和文本和圖形模式的邏輯、 交叉引用和搜索能力、擴展浙疊(collapse)特徵一起工作,從而控制 邏輯分支的顯示和用來比較不同邏輯分支的比較工具。IDE和在圖形 環境中工作的能力使得構建程序和維護程序的任務更容易並更有效。
00132圖形用戶界面1970提供不同控制項來創建組件和構建樹 分支。界面實現利用了多級組件架構,從而促進自頂向下設計和構建 程序的實現。以該方式,程序可自頂向下逐層構建。
00133使用分級邏輯圖方法來編程的許多優點中的一個是它自 動強加程序的高度結構化設計和視圖。程序被分成邏輯部分,每個邏 輯部分由獨立的邏輯分支表示。每個邏輯分支是高度結構化的,從具 有固定架構的一組構建方塊(即,組件)構建。每個分支是用IDE中 內置的圖形界面強加的自頂向下過程構建的。本發明實施例的另一個優點是分級邏輯圖提供高級、緊湊形式的完整電腦程式。
00134以低級代碼,如C+十編寫的複雜程序可能難於閱讀和 理解,即使它是良好結構化的。代碼趨向於以多次函數調用展開,函 數可嵌套幾層深。使用程序的分級表示提供管理螢屏上的邏輯顯示的 簡易方式。分級結構的分支可摺疊或擴展,從而幫助閱讀和管理邏輯, 特別是在處理複雜分支時。分支可摺疊從而隱藏細節並顯示邏輯的高 級視圖,或它們可擴展從而示出任意所選層的詳細信息。分支可在同 一窗口中串聯展開,或可擴展到新窗口中從而幫助查看和管理螢屏顯 示。當因為質量控制要對程序執行代碼走查時,查看圖形化邏輯的能 力表示顯著優勢。通過隱藏/擴展樹的各個層或分支,諸如審閱程序設 計,執行代碼的詳細分析和檢查邏輯的任務可更容易並更有效地執行。 代碼走查可以顧客參與審閱的方式執行從而確保所有用戶規範都滿 足。審閱和檢査邏輯的能力導致更好質量的程序。
00135當需要快速改變時,為了幫助維護程序,樹結構的每個 分支可以是活動的或非活動的,以便嘗試不同邏輯形式。在最終的程 序轉化為低級代碼時,非活動分支可忽略。用戶界面實現允許分支被 臨時去激活且隨後再激活。特殊符號(如"X")可用在圖形界面上從 而標記分支為非活動的。這個功能允許用戶查看和比較不同的邏輯實 施。不同編程解決方案可在同一程序文件內保持並評註。
00136本發明實施例的另一個優點涉及調試。編寫幫助測試、 調試和驗證0++程序的調試指令可能是單調並費時的工作。本發明實 施例的一個重要益處是能夠實施自動調試技術,從而使得驗證塊更自 動化和高效。在轉化為低級代碼時可產生分級結構的每個分支,以生 成其自己的調試代碼。此外,分級邏輯圖可被用作幫助跟蹤由調試代 碼生成的不同級輸出的精確路標。可產生調試代碼的每個部分,以自 動引用分級結構中的精確位置,在這裡調試代碼被配置成創建某些中 間輸出。因為調試代碼僅在轉化為低級代碼時生成,所以其不和分級 邏輯圖一起顯示也不妨礙讀取圖的能力。在轉化塊中可啟用或關閉自 動調試代碼生成。對於程序的生產發行,當不再需要調試代碼時,關 閉調試代碼可將其從交付的程序中除去,從而避免與執行嵌入的調試 代碼關聯的任何計算開銷處罰。
00137本發明實施例的另一個優點針對評註。組件可被分配唯 一的描述,其有助於讀取和理解每個分支及分級邏輯圖的每個層的過 程。這進而使執行代碼走查更容易,如前面的討論。此外,描述可用 來評註由組件實現的邏輯。描述可以是高級偽代碼,其清楚說明可由 組件執行的(多個)指令。例如,是否測試if一test組件的描述可以是 check—if—maximum—gas—rate—is_exceeded (檢査是否超過最大的氣產
量),且通配組件的描述可以是 check—minimum—oil_production—rate—and—if—violated—drill—more—wells
(檢査最小的油生產率,並且如果違反了它就鑽更多的油井)。給組件 分配清楚並有意義的描述可導致為代碼創建即時評註,這有助於對程 序的後續維護。此外,每個組件便於用戶存儲額外的評註,包括假設、 解釋、方法、經驗/學習等,從而幫助理解邏輯並輔助程序的維護。
00138本發明實施例的另一個益處是在分級邏輯程序內刪除、 拷貝或粘貼邏輯分支的功能。為了使得這些操作安全,在每次操作之 後對分級邏輯程序執行驗證檢查。規則可被編程到待檢査和分解的組 件中。內建在組件設計中的通信模型允許組件訪問分級結構上上下下 的所有層中的數據從而分解具有上下文依賴(context dependency)的 規則。例如,當拷貝分支到新位置時,檢査可能無效的上下文。新位 置可能沒有使拷貝分支的執行有效所需的限制違反測試的類型。可替 換的,拷貝的分支可能需要訪問設施(例如,鑽井平臺)的數據,該 設施沒有在目的地節點定義。另一個常見問題包括未聲明的局部變量。 在拷貝分支後,檢査需要聲明並在目的地節點插入的局部變量。
00139本發明實施例的另一個優點是能夠創建高度通配並高度 可再利用的邏輯。通配代碼可用邏輯段或分支編程,該邏輯段或分支 是上下文敏感的並含最少量的硬編碼數據。每個邏輯分支適配在分級 樹的特定位置並可從周圍樹提取信息從而分解上下文敏感指令。這使 邏輯對程序其他部分或其他程序容易地"可即插即用"。編寫通配、可 即插即用代碼的能力使得可能構建可再用邏輯的模板庫,其可提供給 用戶從而幫助建立他們的油井管理程序。
00140在組合分級邏輯圖的過程中執行的另一個常見操作是再 使用內建在其他程序中或來自模板庫的邏輯分支。在該情形中,操縱涉及跨不同邏輯"容器"拷貝邏輯分支。可能要執行額外的檢査來使 該拷貝操作安全。組件名稱、數據和定義的衝突,以及用在邏輯中的 變量的衝突可能需要檢測和解決。組件可被編程從而檢查這些衝突, 並要麼自動解決衝突要麼警告用戶從而在需要是採取行動。例如,當 從外部源拷貝分支時,所拷貝分支的某些子分支可能具有已經存在於 目標樹中的描述。可檢査具有相同描述的組件是否具有相同的數據/定 義。如果組件是複合或混合組件,則檢查可包括詳細研究和比較屬於 該組件的每個節點。如果定義同意,則不執行校正塊。否則,拷貝的 具有描述衝突的節點可能自動被再次描述從而解決衝突,且可發出警 告從而警告用戶。這些內部檢査使得從外部源拷貝邏輯分支更容易也 更安全。
00141雖然本發明的技術易受各種修改和變化的形式影響,但 是上面討論的示例性實施例已經作為例子示出。然而,應該再次理解, 本發明不局限於這裡公開的特定實施例。實際上,本發明的技術涵蓋 落在所附權利要求限定的本發明精神和範圍內的所有修改、等價物和 可替換方案。
權利要求
1.一種油藏模擬方法,其包括構建具有一個或更多個組件的分級邏輯圖,其中每個組件表示一組編程代碼;以及轉換所述分級邏輯圖為編程代碼,該編程代碼被配置成管理油藏的模擬。
2. 如權利要求1所述的方法,進一步包括在圖形用戶界面上顯示 所述分級邏輯圖。
3. 如權利要求1所述的方法,其中所述編程代碼是C+十和 FORTRAN之一。
4. 如權利要求1所述的方法,其中所述分級邏輯圖提供用於管理 所述油藏的模擬的高級結構化視圖。
5. 如權利要求1所述的方法,其中每個組件可擴展成一個或更多 個子組件。
6. 如權利要求1所述的方法,進一步包括在轉換所述分級邏輯圖 為編程代碼的過程中生成調試代碼。
7. 如權利要求1所述的方法,進一步包括生成每個組件的文檔資料。
8. 如權利要求1所述的方法,進一步包括執行所述編程代碼從而 生成模擬油藏。
9. 如權利要求8所述的方法,進一步包括使用所述模擬油藏來預 測油藏動態。
10. 如權利要求8所述的方法,進一步包括用所述模擬油藏來從所述油藏生產碳氫化合物。
11. 如權利要求1所述的方法,其中所述組件包括被配置成描述或定義設施的設施組件。
12. 如權利要求11所述的方法,寞中所述設施包括油井、鑽井平臺和油田之一。
13. 如權利要求11所述的方法,其中所述設施組件包括一個或更多個次序組件,每個次序組件被配置成標記所述編程代碼中主邏輯部 分的開始。
14. 如權利要求13所述的方法,其中每個次序組件包括一個或更多個通配組件,每個通配組件被配置成執行一個或更多個邏輯操作從 而管理所述油藏的模擬。
15. 如權利要求14所述的方法,其中每個通配組件包括被配置成規定邏輯條件的"是否測試"組件。
16. 如權利要求15所述的方法,其中轉換所述分級邏輯圖包括轉化所述"是否測試"組件的邏輯條件為編程代碼。
17. 如權利要求16所述的方法,其中轉換所述分級邏輯圖包括為所述邏輯條件解析所述編程代碼中設施的引用。
18. 如權利要求17所述的方法,其中為所述邏輯條件解析所述編程代碼中所述設施的引用包括,如果所述"是否測試"組件所屬的通配組件是set循環組件的一部分,就設置所述設施的引用為由所述set 循環組件定義的設施。
19. 如權利要求n所述的方法,其中為所述邏輯條件解析所述編 程代碼中所述設施的引用包括,如果所述"是否測試"組件所屬的通 配組件是至少一個所述次序組件的一部分,則設置所述設施的引用為 由所述設施組件描述定義的設施。
20. 如權利要求17所述的方法,其中為所述邏輯條件解析所述編程代碼中所述設施的引用進一步包括,如果所述"是否測試"組件所屬的所述通配組件沒有嵌套在任何set'循環組件下,且如果所述通配 組件是被配置為子程序的次序組件的一部分,則設置所述設施的引用 為調用所述邏輯條件是其一部分的次序組件的設施。
21. 如權利要求14所述的方法,其中每個通配組件包括被配置成 執行循環結構的循環組件。
22. 如權利要求21所述的方法,其中所述循環結構是while循環, for循環和set循環的之一。
23. 如權利要求21所述的方法,其中每個通配組件包括"退出循 環條件",該"退出循環條件"被配置成判斷所述循環結構的結束。
24. 如權利要求23所述的方法,其中轉換所述分級邏輯圖包括轉 化所述"退出循環條件"為編程代碼。
25. 如權利要求24所述的方法,其中轉換所述分級邏輯圖包括為 所述"退出循環條件"解析所述編程代碼中設施的引用。
26. 如權利要求25所述的方法,其中為所述"退出循環條件"解 析所述編程代碼中所述設施的引用包括設置所述設施的引用為"是否 測試"組件定義的邏輯條件。
27. 如權利要求21所述的方法,其中所述循環組件包括被配置成規定邏輯條件的"是否測試"組件。
28. 如權利要求14所述的方法,其中轉換所述分級邏輯圖包括轉 化所述循環組件的過濾條件為編程代碼。
29. 如權利要求14所述的方法,其中每個通配組件包括被配置成 執行命令的"執行動作"組件。
30. 如權利要求29所述的方法,其中轉換所述分級邏輯圖包括轉 化所述"執行動作"組件的命令為編程代碼。
31. 如權利要求30所述的方法,其中轉換所述分級邏輯圖包括為 所述命令解析所述編程代碼中設施和/或流體相的引用。
32. 如權利要求31所述的方法,其中為所述命令解析所述編程代 碼中設施和/或流體相的引用包括為"是否測試"組件引用條件,該"是否測試"組件定義所述"執行動作"組件所屬的每個通配組件。
33. 如權利要求31所述的方法,其中為所述命令解析所述編程代 碼中設施和/或流體相的引用包括,如果所述"執行動作"組件是set 循環組件的一部分,則設置所述設施的引用為由所述set循環組件定 義的設施。
34. 如權利要求29所述的方法,其中所述"執行動作"組件引用 函數。
35. 如權利要求29所述的方法,其中所述"執行動作"組件包括 嵌套通配組件,其被配置成執行一個或更多個邏輯操作從而管理所述 油藏的模擬。
36. 如權利要求29所述的方法,其中轉換所述分級邏輯圖包括轉化所述"執行動作"組件為編程代碼。
37. 如權利要求14所述的方法,其中轉換所述分級邏輯圖包括轉 化所述通配組件為編程代碼。
38. 如權利要求14所述的方法,其中每個通配組件包括嵌套通配 組件,其被配置成執行一個或更多個邏輯操作以管理所述油藏的模 擬。
39. 如權利要求13所述的方法,其中轉換所述分級邏輯圖包括轉 化所述次序組件為編程代碼。
40. 如權利要求1所述的方法,其中所述組件包括設施組件,其 被配置成描述或定義設施,且其中轉換所述分級邏輯圖為編程代碼包 括存儲所述設施的名稱。
41. 如權利要求28所述的方法,其中轉換所述分級邏輯圖包括為 所述過濾條件解析所述編程代碼中設施的引用。
42. 如權利要求41所述的方法,其中為所述過濾條件解析所述編 程代碼中所述設施的引用包括,如果所述循環組件是set循環結構, 則設置所述設施的引用為由所述循環組件定義的設施。
43. 如權利要求1所述的方法,其中所述組件被分組成一個或更 多個容器組件。
44. 一種計算機系統,其包括 處理器;以及存儲器,其包括可由所述處理器執行的指令,從而-建立具有一個或更多個組件的分級邏輯圖,其中每個組件表示一 組編程代碼;以及轉換所述分級邏輯圖為編程代碼,該編程代碼被配置成管理油藏 的模擬。
45. 如權利要求44所述的計算機系統,其中所述存儲器進一步包 括在圖形用戶界面上顯示所述分級邏輯圖的程序指令。
46. 如權利要求44所述的計算機系統,其中所述編程代碼是C++ 和FORTRAN之一。
47. 如權利要求44所述的計算機系統,其中所述分級邏輯圖提供 所述編程代碼的高級結構化視圖,用於管理所述油藏的模擬。
48. —種預測油藏動態的方法,其包括用圖形用戶界面構建分級邏輯圖,其中所述分級邏輯圖包括一個 或更多個組件,其中每個組件表示一組編程代碼;通過所述圖形用戶界面顯示所述分級邏輯圖;轉換所述分級邏輯圖為編程代碼,該編程代碼被配置成管理油藏 的模擬;以及執行該編程代碼從而生成模擬的油藏模型。
49. 如權利要求48所述的方法,進一步包括用模擬的油藏來預測 所述油藏動態。
50. 如權利要求48所述的方法,進一步包括用模擬的油藏來從所 述油藏生產碳氫化合物。
51. 如權利要求48所述的方法,其中所述分級邏輯圖是可調整的。
52. 如權利要求48所述的方法,其中所述編程代碼是C+十和 FORTRAN之一。
53. 如權利要求48所述的方法,其中所述分級邏輯圖提供所述編 程代碼的高級結構化視圖,用於管理所述油藏的模擬。
54. 如權利要求48所述的方法,進一步包括在轉換所述分級邏輯 圖為所述編程代碼的過程中生成調試代碼。
55. 如權利要求48所述的方法,其中所述組件包括設施組件,其 被配置成描述或定義設施。
56. 如權利要求55所述的方法,其中所述設施包括油井、鑽井平 臺和油田之一。
57. 如權利要求55所述的方法,其中所述設施組件包括一個或更 多個次序組件,每個次序組件被配置成標記所述編程代碼中主邏輯部 分的開始。
58. 如權利要求13所述的方法,其中每個次序組件包括一個或更 多個通配組件,每個通配組件被配置成執行一個或更多個邏輯操作從 而管理所述油藏的模擬。
59. 如權利要求58所述的方法,其中每個通配組件包括被配置成 規定邏輯條件的"是否測試"組件。
60. 如權利要求59所述的方法,其中轉換所述分級邏輯圖包括轉 化所述"是否測試"組件的所述邏輯條件為編程代碼。
61. 如權利要求60所述的方法,其中轉換所述分級邏輯圖包括為 所述邏輯條件解析所述編程代碼中設施的引用。
62. 如權利要求61所述的方法,其中為所述邏輯條件解析所述編 程代碼中所述設施的引用包括,如果所述"是否測試"組件所屬的所述通配組件是set循環組件的一部分,則設置所述設施的引用為由所述set循環組件定義的設施。
63. 如權利要求61所述的方法,其中為所述邏輯條件解析所述編 程代碼中所述設施的引用進一步包括,如果所述"是否測試"組件所 屬的所述通配組件是至少一個所述次序組件的一部分,則設置所述設 施的引用為由所述設施組件描述定義的設施。
64. 如權利要求61所述的方法,其中為所述邏輯條件解析所述編 程代碼中所述設施的引用進一步包括,如果所述"是否測試"組件所 屬的所述通配組件沒有嵌套在任何set循環組件下,且如果所述通配 組件是被配置為子程序的次序組件的一部分,則設置所述設施的引用 為調用所述邏輯條件是其一部分的次序組件的設施。
65. 如權利要求59所述的方法,其中每個通配組件包括被配置成 執行循環結構的循環組件。
66. 如權利要求65所述的方法,其中所述循環結構是while循環, for循環和set循環之一。
67. 如權利要求65所述的方法,其中每個通配組件包括"退出循環條件",該"退出循環條件"被配置成判斷所述循環結構的結束。
68. 如權利要求67所述的方法,其中轉換所述分級邏輯圖包括轉 化所述"退出循環條件"為編程代碼。
69. 如權利要求68所述的方法,其中轉換所述分級邏輯圖包括為 所述"退出循環條件"解析所述編程代碼中設施的引用。
70. 如權利要求69所述的方法,其中為所述"退出循環條件"解 析所述編程代碼中所述設施的引用包括設置所述設施的引用為由所 述"是否測試"組件定義的邏輯條件。
71. 如權利要求65所述的方法,其中所述循環組件包括被配置成 規定邏輯條件的"是否測試"組件。
72. 如權利要求58所述的方法,其中轉換所述分級邏輯圖包括轉 化所述循環組件的過濾條件為編程代碼。
73. 如權利要求58所述的方法,其中每個通配組件包括被配置成 執行命令的"執行動作"組件。
74. 如權利要求73所述的方法,其中轉換所述分級邏輯圖包括轉 化所述"執行動作"組件的命令為編程代碼。
75. 如權利要求75所述的方法,其中轉換所述分級邏輯圖包括為 所述命令解析所述編程代碼中設施和/或流體相的引用。
76. 如權利要求75所述的方法,其中為所述命令解析所述編程代 碼中設施和/或流體相的引用包括為"是否測試"組件引用條件,該"是否測試"組件定義所述"執行動作"組件所屬的每個通配組件。
77. 如權利要求75所述的方法,其中為所述命令解析所述編程代 碼中設施和/或流體相的引用包括,如果所述"執行動作"組件是set 循環組件的一部分,則設置所述設施的引用為由所述set循環組件定 義的設施。
78. 如權利要求73所述的方法,其中所述"執行動作"組件引用 函數。
79. 如權利要求73所述的方法,其中所述"執行動作"組件包括 嵌套通配組件,該嵌套通配組件被配置成執行一個或更多個邏輯操作 從而管理所述油藏的模擬。
80. 如權利要求73所述的方法,其中轉換所述分級邏輯圖包括轉 化所述"執行動作"組件為編程代碼。
81. 如權利要求58所述的方法,其中轉換所述分級邏輯圖包括轉 化所述通配組件為編程代碼。
82. 如權利要求58所述的方法,其中每個通配組件包括嵌套通配 組件,該嵌套通配組件被配置成執行一個或更多個邏輯操作,用於管 理所述油藏的模擬。
83. 如權利要求57所述的方法,其中轉換所述分級邏輯圖包括轉 化所述次序組件為編程代碼。
84. 如權利要求48所述的方法,其中所述組件包括被配置成描述 或定義設施的設施組件,且其中轉換所述分級邏輯圖為編程代碼包括 存儲所述設施的名稱。
85. 如權利要求84所述的方法,其中轉換所述分級邏輯圖包括為 所述過濾條件解析所述編程代碼中設施的引用。
86. 如權利要求85所述的方法,其中為所述過濾條件解析所述編 程代碼中所述設施的引用包括,如果所述循環組件是set循環結構, 則設置所述設施的引用為由所述循環組件定義的設施。
87. —種用於油藏模擬的計算機實施的方法,其包括 構建表示油井管理程序的分級邏輯圖,其中所述分級邏輯圖包括一個或更多個組件,每個組件表示一組編程代碼; 解碼所述分級邏輯圖為低級編程代碼; 編譯低級編程代碼;連結低級編程代碼到油藏模擬程序; 從所述油藏模擬程序生成油藏模擬模型;和 存儲來自所述油藏模擬模型的結果。
88. 如權利要求87所述的方法,進一步包括根據所述油藏模擬模 型評估油藏。
89. 如權利要求87所述的方法,進一步包括生成關於評估的報告。
90. 如權利要求87所述的方法,其中所述分級邏輯圖被配置成為 所述油藏模擬模型設置油井產量和邊界條件。
91. 如權利要求87所述的方法,其中所述油藏模擬器模型包括油 藏和設施,其中所述設施表示油藏和輸送位置之間的流動路徑中的物理設備。
92. 如權利要求91所述的方法,其中所述設施是鑽井平臺、歧管、 泵、壓縮機、分離器、管路和鑽塔中的一個或更多個。
93. 如權利要求87所述的方法,其中模擬被用來建模發生在油藏 中的化學、物理和流體流動過程,從而預測所述油藏的未來行為並提高來自所述油藏的碳氫化合物開採量。
全文摘要
一種油藏模擬方法,其包括構建具有一個或更多個組件的分級邏輯圖(10)。每個組件表示一組編程代碼。該方法進一步包括轉換分級邏輯圖為編程代碼(20),該代碼被配置為管理油藏(40)的模擬。
文檔編號G06G7/48GK101203862SQ200680022659
公開日2008年6月18日 申請日期2006年4月25日 優先權日2005年6月28日
發明者A·R·凱施林, J·W·密特謝, L·N·杜 申請人:埃克森美孚上遊研究公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀