郭建輝 馮超英 諶鴻慧 張升品 李 靜 蔡菊花
(中原油田地質(zhì)錄井處 河南 濮陽)
目前進口錄井儀器及國內(nèi)近年來新研制的錄井儀器都提供了實時數(shù)據(jù)接口,但數(shù)據(jù)接口方式?jīng)]有統(tǒng)一。進口錄井設備大都提供了WITS接口,由于各類儀器所采用的軟件結(jié)構(gòu)和軟件設計風格等方面的差異,通過WITS接口采集實時數(shù)據(jù)的具體步驟有較大差別。特別是ALS錄井儀器,其與同類儀器相比在系統(tǒng)功能、穩(wěn)定性、防爆能力等方面都具有較大的優(yōu)勢,但由于軟件系統(tǒng)設計時間較早,最初的軟件系統(tǒng)是基于DOS操作系統(tǒng)開發(fā)的,Windows系統(tǒng)出現(xiàn)后廠家對RTG、TDC等主要軟件模塊進行了基于Win3.1和Win 2000的升級,目前其采集機(RTM)軟件依然是基于DOS的程序,操作上有諸多不便之處。其提供的WITS數(shù)據(jù)接口操作繁瑣,設置復雜,增加了外部程序進行實時數(shù)據(jù)采集和應用的難度。
WITS的中文名稱為井場信息傳輸規(guī)范。它定義了從一個計算機系統(tǒng)向另一個計算機系統(tǒng)傳輸各類井場數(shù)據(jù)的通信格式。在石油勘探開發(fā)領域中,它作為一種推薦格式,使作業(yè)和服務公司,既可以在聯(lián)機狀態(tài)下,也可以批傳遞方式進行數(shù)據(jù)交換[1]。WITS是一種多級格式,WITS0級以ASCII碼格式為基礎,WITS1級到3級是以LIS為基礎,而級別的增加都表示復雜性和靈活性的提高。
WITS0級也被稱為“井場內(nèi)部傳輸”格式,它主要是供在井場上的服務公司之間進行數(shù)據(jù)交換之用。零級傳輸會話由一組數(shù)據(jù)集組成,數(shù)據(jù)集表示一組相關的數(shù)據(jù)項,例如,來自相同時間間距的幾個工程參數(shù)數(shù)據(jù)項或幾個氣測參數(shù)數(shù)據(jù)項。一個數(shù)據(jù)集可以包括一個或多個數(shù)據(jù)項。一個數(shù)據(jù)集以“&&”標記開始,并后跟一個回車及換行符(HEXOD,HEXOA),而以“!!”和一個回車及換行符結(jié)束,數(shù)據(jù)項之間由一個回車及換行符號分開。
每個數(shù)據(jù)項對應于一個預定義數(shù)據(jù)記錄變量。每項都由一個“標識”(IDENTIFIER)部分和一個“值”(VALVE)部分組成。標識符由4個字符組成,前兩個字符組成的數(shù)字標識預定義的記錄號,后兩個字符組成的數(shù)字標示對應記錄里的數(shù)據(jù)項位置,標示符后面的字符則表示對應數(shù)據(jù)項的值。
ALS錄井系統(tǒng)的硬件部分包括傳感器、信號電纜、接線盒(MEB、UZB、UTB)、色譜氣測儀(FCP、FGP)、采集面板(DAP)、信號處理面板(SCP)、計算機系統(tǒng)(RTM、RTG、TDX、TDX-NT、SEVER、GEOLOGIST),碳酸鹽巖分析儀、頁巖密度計等。軟件部分包括操作系統(tǒng)軟件、診斷程序、實時采集軟件、資料處理軟件等[2]。
ALS的計算機系統(tǒng)由承擔不同任務的幾個工作站組成。核心工作站組分別完成對DAP處理后數(shù)據(jù)的實時采集、監(jiān)測、存儲、傳感器調(diào)校、數(shù)據(jù)圖形化顯示、打印管理、系統(tǒng)自診斷、資料處理等方面的工作。另外還可以根據(jù)現(xiàn)場的實際需求,增加用戶客戶機,用于進行數(shù)據(jù)傳輸?shù)绕渌ぷ魅蝿铡LS核心工作站組的具體組成是:實時數(shù)據(jù)監(jiān)測工作站(RTM)、實時數(shù)據(jù)圖形工作站(RTG)、實時數(shù)據(jù)顯示工作站(DLC)、文件服務器工作站(SVX)和數(shù)據(jù)工程師工作站(TDX)。ALS計算機系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 ALS計算機系統(tǒng)結(jié)構(gòu)圖
ALS系統(tǒng)的RTG工作站(實時數(shù)據(jù)圖形工作站)安裝有用于與外部計算機進行WITS格式數(shù)據(jù)交互的WITS服務器(Witslauncher)及WITS數(shù)據(jù)收發(fā)設置程序。通過Witslauncher程序,RTG可以將從RTM獲取的實時數(shù)據(jù)發(fā)送到外部計算機,也可以從外部計算機接收實時數(shù)據(jù)并交給RTM進行顯示和后續(xù)處理。ALS系統(tǒng)數(shù)據(jù)流程圖如圖2所示。
圖2 ALS系統(tǒng)數(shù)據(jù)流程
RTG工作站上與WITS相關的程序包括RTG主程序RTG.EXE、WITS服務器程序Witslauncher和WITS參數(shù)配置程序WitsEditor。WITS參數(shù)配置程序的功能是創(chuàng)建WITS收發(fā)數(shù)據(jù)項目并定義WITS收發(fā)項參數(shù)。WITS服務器程序是RTG主程序與外部系統(tǒng)進行數(shù)據(jù)交互的橋梁。WITS服務器程序依據(jù)WitsEditor程序創(chuàng)建的數(shù)據(jù)收發(fā)項目與外部系統(tǒng)進行數(shù)據(jù)交互,它可以根據(jù)實際需要同時管理多組不同形式的WITS數(shù)據(jù)收發(fā)項目。
ALS系統(tǒng)與外部程序進行數(shù)據(jù)交互時,需要先使用系統(tǒng)提供的WitsEditor程序創(chuàng)建用于數(shù)據(jù)收發(fā)的項目文件和解碼文件,即*.PAR、*_SEND.TXT和*_REC.TXT三個文件,其中*.TXT文件用于進行數(shù)據(jù)發(fā)送或接收時對WITS數(shù)據(jù)格式的解碼。解碼文件的格式如圖4所示,文件中包含了每一個WITS傳輸參數(shù)具體的通道號、參數(shù)號、參數(shù)名、參數(shù)在ALS時間庫和深度庫中的位置、參數(shù)單位轉(zhuǎn)換系數(shù)等信息。
由于WitsEDITOR程序在設計上不夠靈活,對于熟悉ALS系統(tǒng)以及WITS數(shù)據(jù)格式規(guī)范者,可采用手工編輯的方式。手工編輯時要嚴格按照圖4所示的格式規(guī)范,并參照ALS系統(tǒng)提供的Witslist.asc文件中給出的參數(shù)記錄號和參數(shù)順序號來定義各參數(shù)項。項目和解碼文件生成后,就可以在Witslauncher程序中加載、配置、運行該項目了。
在Witslauncher程序中使用【create anewfamily】按鈕創(chuàng)建一個新的運行項目SC,并加載已經(jīng)定義好的項目文件ZLLJ_SC.PAR。在傳輸參數(shù)配置窗體對準備采用的運行方式、遠端機IP和端口、傳輸時間間隔等項進行設置。設置完成后運行該項目,此時外部應用程序就可以與其進行數(shù)據(jù)交互了。
ALS系統(tǒng)提供的WITS模塊雖然能夠滿足一般性數(shù)據(jù)交互需求,但隨著井場數(shù)據(jù)應用范圍的不斷擴大,常常需要在錄井現(xiàn)場運行諸如實時數(shù)據(jù)打印、實時數(shù)據(jù)遠程傳輸以及鉆井工程預警等多個方面的應用系統(tǒng),這就使得WITS模塊的項目管理變得愈加復雜。同時,不斷增加的運行項目也會給RTG工作站帶來較大的資源占用。設計一個能夠完成ALS系統(tǒng)實時數(shù)據(jù)轉(zhuǎn)發(fā)的中間軟件就顯得尤為必要。中間軟件需要遵循以下原則:
一是能夠提供與ALS系統(tǒng)所配置的傳輸協(xié)議對應的數(shù)據(jù)通信功能。根據(jù)WITS標準的定義,WITS通信雙方支持以COM、TCP Server和TcpClient三種方式進行數(shù)據(jù)交互。因此,數(shù)據(jù)采集程序需要能夠支持上述三種數(shù)據(jù)通信協(xié)議。
二是能夠在正常采集WITS數(shù)據(jù)且不增加RTG工作站工作負荷的的情況下,將采集到的數(shù)據(jù)以一種標準的數(shù)據(jù)格式同時提供給多個數(shù)據(jù)應用方,以進行不同的數(shù)據(jù)應用。
基于以上兩方面因素的考慮,在VC開發(fā)環(huán)境下設計了一個中間件程序Wits Broadcast,該程序滿足了使用上述三種通信協(xié)議采集數(shù)據(jù)的要求。網(wǎng)絡通信協(xié)議UDP屬于無連接用戶數(shù)據(jù)報協(xié)議,能夠由一臺主機同時向若干個目標發(fā)送數(shù)據(jù),也可以接收發(fā)自若干個源的數(shù)據(jù)[3]。以UDP數(shù)據(jù)包的方式在局域網(wǎng)內(nèi)向指定的數(shù)據(jù)端口進行數(shù)據(jù)廣播,任何一個數(shù)據(jù)應用軟件只要連入現(xiàn)場局域網(wǎng),都可以接收到WITS格式的實時數(shù)據(jù),這種方式可以滿足鉆井現(xiàn)場多個數(shù)據(jù)應用方的需求。WITS數(shù)據(jù)采集和轉(zhuǎn)發(fā)示意框圖如圖3所示。
圖3 WITS數(shù)據(jù)采集和轉(zhuǎn)發(fā)示意框圖
ALS系統(tǒng)自身的WITS模塊存在著操作繁瑣、管理困難的問題,針對其WITS模塊設計一個獨立的數(shù)據(jù)采集和轉(zhuǎn)發(fā)軟件后,可以有效解決由于多種數(shù)據(jù)需求而在ALS系統(tǒng)上建立多個WITS數(shù)據(jù)傳輸項目從而導致系統(tǒng)維護不便和硬件資源占用較大的問題,同時也為數(shù)據(jù)應用方提供了一種較為便捷的數(shù)據(jù)接入通道。實際應用表明,這種工作模式不僅解決了ALS系統(tǒng)自身存在的不足,也為解決進口或國產(chǎn)儀器的類似問題提供了一種較為理想的思路。
[1]戴永壽,張欣欣.綜合錄井信息共享方法的研究與探討[J].錄井工程,2007,33(1)
[2]Geoservices company.MUDLOGGING RIG DOCUMENTION SYSTEM-FILES.2001(資料)
[3]胡 鳴.網(wǎng)絡編程技術(shù)[M].北京:科學出版社,2008