何志敏 梅大成
(西南石油大學計算機科學學院 四川省成都市 610500)
錄井技術是鉆井井控工作的一項基礎技術,符合時代發展的基本需求,能夠科學分析出地質結構的整體構成情況及潛在的安全風險因素[1]。傳統的綜合錄井培訓是通過閱讀錄井培訓手冊、聽取有經驗的錄井人員的講解、參加錄井現場實際操作等方式,傳統的綜合錄井培訓方式已經很難適應當前高節奏、高效率的石油天然氣工業生產發展需要[2]。錄井模擬培訓系統通過對現場環境和儀器的仿真,使室內培訓效果接近現場,從而降低培訓成本和風險。在錄井模擬培訓中,一個關鍵的問題是培訓人員要能識別各種傳感器,并且在操作過程中,將各種傳感器安裝到正確的位置。每次操作,系統需要判斷出對應位置所安裝傳感器是否正確,如果正確,給出提示,顯示當前傳感器的值,并以動畫形式將該傳感器所處真實位置在圖形上放大顯示。如果錯誤,系統給出錯誤提示。

圖1:傳感器模擬與自動識別系統硬件結構

圖2:PLC 接收和發送數據流程圖

圖3:主控機傳感器識別程序流程圖
由于鉆井工藝環境的要求,現場使用的多是特殊定制傳感器,價格一般都比較昂貴[3]。本著經濟、耐用的原則,錄井模擬培訓系統采用傳感器模型來代替真實傳感器,大大降低了在培訓過程中由傳感器使用損耗而產生的費用。生產現場,錄井傳感器分布在井場的各個區域,而錄井模擬培訓系統的硬件采用的是按真實比例縮小的井場模型,該模型包括鉆井平臺、電機房、灌區、泥漿泵等。由于井場模型體積較小,不便于在其真實位置安裝傳感器,只用小標牌在其安裝位置標識傳感器名稱,而在井場模型平臺上設置多個航空插座,用來模擬傳感器的安裝位置。傳感器模擬與自動識別系統由傳感器模型、井場模型、主控機和圖形機幾個部分組成,其硬件結構如圖1 所示。
傳感器模型通過9 芯航空頭連接到井場模型平臺的航空頭插座上,傳感器的值通過PLC 采集后傳送給主控計算機,主控計算機實時顯示當前傳感器的狀態,并發送消息給圖形計算機,由圖形計算機播放該傳感器動畫,將其在現場的具體安裝位置、當前值大小等模擬出來。
傳感器的主要作用是把現場的錄井參數轉化為電量,并對其進行初步處理[4]。錄井傳感器的工作環境比較惡劣,現場對傳感器的特性選擇要求比較嚴格,在錄井模擬系統中,我們采用1:1 的傳感器模型來對真實傳感器進行模擬。模擬過程需要實現兩點要求:一是每個模型能模擬傳感器的輸出值,此值是要能隨時改變的值;二是每個傳感器在鉆井模型平臺上都有一個固定的位置,傳感器模型必須能產生位置編碼,才能判斷是否安裝到了正確的位置。
2.2.1 傳感器輸出值的模擬
錄井模擬培訓系統需模擬的傳感器有懸重傳感器、H2S 傳感器、出口/入口溫度、出口/入口密度、出口/入口電導率、轉盤扭矩、立壓、套壓、液位、電扭矩、轉盤轉速、絞車、泵沖、出口流量等17 個傳感器,其中,現場的絞車、轉盤轉速和泵沖傳感器輸出的是脈沖信號,其余的傳感器輸出的是4~20mA 的電流信號。傳感器模型輸出的數據由PLC 采集,PLC 作為一種穩定可靠、控制程序靈活可變的控制器,在工業控制系統中已經得到了廣泛的應用[5]。PLC 選用的是Siemens 公司的S7-200,可以對0~10V 電壓或者4~20mA 電流進行采集。為了簡化傳感器模型的設計,所有模型的傳感器值均采用10K 電位器串接14K 電阻連接到24V 電源,通過電位器分壓獲得0~10V 的電壓值來模擬傳感器輸出值。S7-200將傳感器的值傳送給主控機后,再由主控機按真實傳感器的特點進行處理。
2.2.2 傳感器位置編碼的產生
鉆井模擬平臺上有17 個航空頭,每個航空頭代表一個傳感器的位置,事先設定各個航空頭的編號。每個傳感器模型需輸出對應的位置編碼,17 個傳感器模型需用5 位二進制編碼來代表其位置。為了產生這5 位編碼,可以采用多種方案。比如可以在每個模型中放一個旋轉編碼器,事先設定好編碼器的旋轉刻度,讓其輸出的編碼保持一個特定的數值。但是由于有的傳感器模型體積較小,市面上的旋轉編碼器無法放入其中,而且編碼器的價格也較高,每個傳感器只用其一組編碼,浪費較大。經過多種方案對比,最終采用5位撥碼開關來實現位置編碼。撥碼開關體積小,價格便宜,能輕松地實現1~17 的編碼。將此5 位撥碼開關和電位器放入傳感器模型內并將其輸出信號接到9 芯航空頭上,再由航空頭輸出到PLC。
錄井模擬培訓系統的主控軟件必須持續不斷地與前端硬件進行通信,以獲取前端設備狀態,然后經過主控軟件處理,可以驅動圖形軟件產生與硬件設備操作同步的動畫過程,因此,主控軟件和前端設備的雙向、高速、穩定的通信是整個系統需要解決的一個關鍵技術問題。傳感器自動識別系統中,主控計算機作為主站,它通過串口與S7-200 之間通過Siemens 的PPI 電纜相連, S7-200 作為從站,工作在自由口模式下[6]。
3.1.1 PLC 與主控機通信協議
在自由口通信模式下,用戶需要自定義通信協議[7]。本系統中,主控計算機與PLC 之間的通信采用主從方式:主控計算機始終處于主機地位,具有初始傳送優先權,所有通訊均由PC 機來啟動。PC 機首先按照約定的字符格式和波特率初始化串口,然后按命令字格式發送命令字給PLC,接著按約定字節數讀取數據,這樣便完成與PLC 的數據傳輸。接著發送新的命令字開始下一次傳送,循環進行。PC 發送的命令字格式如下所示:

圖4:傳感器狀態展示

圖5:圖形軟件傳感器動漫展示

‘U’ ‘U’ ‘U’ ‘U’ ADDR
本系統中,命令字為“UUUU”+用一個字符表示的地址編號, PLC 在接收命令字時為接收5 個字節,在接收完成后立即轉為發送約定好字節數的數據給PC,發送完后又設置為接收5 個字節。PLC 發送給主控機的數據幀格式如下所示,先發送每個傳感器的當前值,然后發送每個傳感器的位置編碼。

懸重 H2S …… 出口流量 傳感器1編碼 …… 傳感器17編碼
為了實現自由口通信,PLC 在對端口初始化時,需要對相關特殊存儲器位進行配置。特殊存儲器位SMB30 為端口0 通信配置波特率、奇偶校驗和數據位[8]。本系統中,設置SMB30 的值為16#90,即無奇偶校驗、每個字符8 位、波特率9600、自由口通信模式[9]。配置SMB87 為16#90,即允許接收、忽略SMB88、忽略SMB89、使用SMW90 或SMW190 數值檢測空閑線條件、定時器是字符間的超時計時器、忽略SMW92 或SMW192、忽略斷點條件。配置SMW90 的值為16#5,即設定空閑線時間為5ms,當空閑線時間超過5ms 后,收到的第一個字符是新信息的開始[10]。設置SMB94 為16#5,即初始化接收5 個字節的命令字。
3.1.2 PLC 與主控機數據傳送
為了保證系統數據能實時傳送,PC 與PLC 直接采用中斷方式進行通信。接收和發送數據流程圖如圖2 所示。PLC 接收完PC 機發送的5 個字節命令字后進入中斷服務程序INT0(圖2(a)),在中斷服務程序中判別命令字是否為之前約定好的命令字,如果不是,就返回,重新接收命令字。如果是,啟動定時器定時5 毫秒,之后進入發送中斷服務程序INT2(圖2(b))中,發送約定字節數的數據給PC。當數據發送完成后,進入接收中斷服務程序INT1(圖2(c)),允許接收新的命令字。
主控計算機每隔200ms 和PLC 進行一次通信,接收到PLC 發送的數據后,可以獲得每個傳感器當前值以及傳感器位置編碼。主控機需要做如下幾個判斷:一是判斷出學員當前安裝的是哪一個位置的傳感器;二是裝上的傳感器是否正確;三是傳感器的當前值。主控軟件對傳感器的對錯做出提示,并顯示傳感器的值,同時將這些信息發送給圖形機,讓圖形動畫與實際操作同步。主控機傳感器識別的數據流程如圖3 所示。
傳感器自動識別系統實現了傳感器操作的捕捉、傳感器識別與判別、傳感器動畫演示等功能。圖4 為系統運行時主控軟件采集到的傳感器數值,圖5 為圖形程序實時展示的動漫場景。
錄井模擬系統經過實驗室測試目前已交付延安職業技術學院使用,經油田應用表明,系統功能完善,操作直觀,培訓效果好,值得進一步推廣和使用。