包建雄 鄭金吾
(中國石油大學信息與控制工程學院,山東 青島 266580)
氣液兩相流各相產(chǎn)量是監(jiān)測、控制油氣井和氣藏動態(tài)特性的主要依據(jù),目前主要采用分離計量和非分離計量兩種計量方式。前者采用分離器將氣液兩相流分離成氣相和液相進行單相計量。由于分離器存在體積龐大、造價昂貴以及無法進行在線測量等缺點,在海洋、沙漠以及偏遠地區(qū)油氣田采用這種計量方式是不現(xiàn)實的。采用非分離計量可實現(xiàn)流量的在線、連續(xù)、自動測量,具有占地面積小、投資少、操作費用低等優(yōu)點[1-2]。油氣田現(xiàn)場大部分地理位置偏僻、環(huán)境惡劣且交通不便,目前主要采用有線或人工的方式獲取現(xiàn)場流量數(shù)據(jù),這種方式存在鋪設(shè)線路復雜、受自然環(huán)境影響大,而且工作量大、易出現(xiàn)差錯、實時性差等弊端[3]。
GPRS無線上網(wǎng)技術(shù)為流量數(shù)據(jù)遠傳提供新的傳輸方式。本文通過GPRS模塊利用GPRS網(wǎng)絡(luò)將流量數(shù)據(jù)實時傳至數(shù)據(jù)中心上位機,實現(xiàn)流量數(shù)據(jù)的遠程監(jiān)測,并實時準確發(fā)送報警信號,減少意外事故造成損失。數(shù)據(jù)中心上位機通過Internet網(wǎng)絡(luò)發(fā)送控制命令,實現(xiàn)遠程控制。
油氣井口兩相流數(shù)據(jù)采集系統(tǒng)由數(shù)據(jù)采集單元、流量計量單元以及數(shù)據(jù)中心上位機三部分組成。其中,數(shù)據(jù)采集單元完成現(xiàn)場數(shù)據(jù)的采集并將其轉(zhuǎn)換成標準信號輸送給流量計量單元;流量計量單元是系統(tǒng)的核心部分,通過流量計量模型計算出各相流量并利用GPRS方式發(fā)送到數(shù)據(jù)中心上位機;數(shù)據(jù)中心上位機完成流量數(shù)據(jù)的存儲、顯示以及現(xiàn)場故障分析?,F(xiàn)場多個流量計量單元與數(shù)據(jù)中心上位機采用C/S結(jié)構(gòu)作為網(wǎng)絡(luò)連接模式,數(shù)據(jù)中心上位機使用固定IP地址工作于服務(wù)器模式,現(xiàn)場流量計量單元工作于客戶機模式,通過GPRS模塊與服務(wù)器建立連接。計量單元與數(shù)據(jù)中心上位機建立連接后,借助于GPRS網(wǎng)絡(luò)以及Internet網(wǎng)絡(luò)進行數(shù)據(jù)傳輸。油氣井口兩相流數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 油氣井口兩相流數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖Fig.1 The structure of wellhead two-phase flow data acquisition system
圖1中,P表示流體的壓力信號;T表示流體的溫度信號;PD1與PD2表示兩測量孔板處的差壓信號。
流量計量單元以TI公司推出的TMS320VC5509A作為主控制器,應(yīng)用16位高精度串行A/D轉(zhuǎn)換芯片AD8344E對現(xiàn)場4路模擬信號進行A/D轉(zhuǎn)換。選用鐵電存儲器暫存流量數(shù)據(jù),借助其外圍集成的上電自動復位、手動復位、硬件看門狗、低壓檢測以及高精度實時時鐘等功能輔助流量計量單元,有效提高流量計量單元硬件性能。為了實現(xiàn)油氣井口兩相流數(shù)據(jù)的遠程監(jiān)視,利用GPRS模塊進行數(shù)據(jù)傳輸,設(shè)計I2C轉(zhuǎn)UART電路,為DSP控制GPRS模塊提供一種解決方案。流量計量單元結(jié)構(gòu)框圖如圖2所示。
圖2 流量計量單元結(jié)構(gòu)框圖Fig.2 The structure of flow metering unit
TMS320VC5509A是TI公司推出的一款低功耗、低成本、高性能數(shù)字處理器,可應(yīng)用于對數(shù)據(jù)處理實時性要求較高的系統(tǒng)中。其內(nèi)部集成了非常豐富的外設(shè),通過配置時鐘發(fā)生器,可對外部輸入時鐘進行分頻,滿足各種系統(tǒng)對數(shù)據(jù)處理速度的要求;利用外部存儲器接口(EMIF)實現(xiàn)與異步存儲器、同步突發(fā)SRAM以及同步DRAM接口的連接,可進行數(shù)據(jù)存儲器(SDRAM)的擴展,用于存儲溫度、壓力以及差壓信號;內(nèi)部集成電路模塊(I2C)有效降低電路設(shè)計復雜性,方便了功能的擴展;內(nèi)置3個多通道緩沖串口(McBSP),通過配置可與SPI協(xié)議兼容,實現(xiàn)與串行Flash的SPI通信,完成在線BootLoader。處理器TMS320VC5509A支持靈活的Idle配置,有效降低系統(tǒng)功耗,適用于對功耗要求較高的場合。
GPRS模塊采用UART接口與TMS320VC5509A處理器進行數(shù)據(jù)傳輸,但需為處理器設(shè)計接口轉(zhuǎn)換電路。TMS320VC5509A集成的片內(nèi)外設(shè)中,EMIF、I2C、McBSP以及USB可用于接口電路的轉(zhuǎn)換,從而獲得UART接口,實現(xiàn)與GPRS模塊的數(shù)據(jù)傳輸。針對并行接口轉(zhuǎn)UART接口電路布線復雜、SPI串行接口轉(zhuǎn)UART接口以及USB接口轉(zhuǎn)UART接口軟件調(diào)試復雜的情況,選用OD2101芯片來實現(xiàn)I2C接口與UART接口的轉(zhuǎn)換。OD2101是一款提供I2C轉(zhuǎn)UART接口的專用協(xié)議轉(zhuǎn)換芯片,通過I2C總線與DSP傳輸數(shù)據(jù),有效簡化電路布線復雜度。此外DSP通過I2C總線訪問OD2101的數(shù)據(jù)讀寫寄存器、UART接收緩沖字節(jié)數(shù)、I2C可加載字節(jié)數(shù)以及UART接口控制寄存器,即可實現(xiàn)與UART接口器件進行數(shù)據(jù)傳輸。OD2101傳輸數(shù)據(jù)時,I2C總線速率為0~400 kbit/s,UART波特率為300~115 200 Baud,可滿足不同速率數(shù)據(jù)傳輸應(yīng)用的場合。在I2C數(shù)據(jù)接收緩沖區(qū)與UART數(shù)據(jù)接收緩沖區(qū)分別有64 B的空間,可最大限度地保存?zhèn)鬏敂?shù)據(jù)。通過內(nèi)部集成晶振電路、復位電路減少外圍電路,有效提高了數(shù)據(jù)傳輸?shù)目煽啃浴2C轉(zhuǎn)UART電路如圖3所示。
圖3 I2C轉(zhuǎn)UART電路圖Fig.3 The circuit of I2C converting into UART
DSP通過OD2101可非常方便地進行UART接口擴展,實現(xiàn)數(shù)據(jù)的UART傳輸。當UART數(shù)據(jù)接收緩沖區(qū)接收到新數(shù)據(jù)時,OD2101通過IRQ引腳輸出低電平觸發(fā)DSP進入外部中斷,在外部中斷中,DSP完成對OD2101的UART數(shù)據(jù)接收緩沖區(qū)數(shù)據(jù)的讀取。當DSP給GPRS模塊發(fā)送數(shù)據(jù)時,將要發(fā)送的數(shù)據(jù)通過I2C總線寫到OD2101的I2C數(shù)據(jù)接收緩沖區(qū)中,然后由OD2101自動將數(shù)據(jù)通過UART接口傳送給GPRS模塊。
GPRS模塊是實現(xiàn)數(shù)據(jù)傳輸?shù)臉蛄海蓪⒂蜌饩跉庖簝上嗔鲾?shù)據(jù)以及故障信息通過GPRS網(wǎng)絡(luò)經(jīng)Internet網(wǎng)絡(luò)傳送到數(shù)據(jù)中心上位機;同時,GPRS模塊還接收數(shù)據(jù)中心發(fā)送的控制命令,并將其通過I2C轉(zhuǎn)UART電路傳送給 DSP。GPRS理論帶寬可達171.2 kbit/s,通過TCP/IP連接可實現(xiàn)數(shù)據(jù)傳輸。利用其“永遠在線”、按流量計費以及覆蓋范圍廣等優(yōu)點[4-5],有效解決了以往兩相流計量系統(tǒng)在流量數(shù)據(jù)傳輸方面的不足。設(shè)計中選用的GTM900B是一款雙頻段(EGSM900/GSM1800)GSM/GPRS無線模塊,內(nèi)嵌TCP/IP協(xié)議,無需實現(xiàn)點對點協(xié)議(point to point protocal,PPP)也可進行數(shù)據(jù)傳輸,方便了應(yīng)用開發(fā)和設(shè)計。GTM900B提供大容量緩存,適用于高速數(shù)據(jù)傳輸過程中數(shù)據(jù)的存儲,防止數(shù)據(jù)丟失,數(shù)據(jù)傳輸最高速率可達85.6 kbit/s,滿足數(shù)據(jù)高速傳輸?shù)囊蟆PRS模塊接口電路如圖4所示。
圖4 GPRS模塊接口電路圖Fig.4 The interface circuit of GPRS module
GPRS模塊外圍電路包括UART接口電路、啟動電路、指示電路以及SIM卡電路等。GTM900B有嚴格的開機流程,當電源電壓大于3.4 V時,PWON輸入信號必須保持低電平10 ms以上,否則無法正常開機。設(shè)計中選用RC復位電路作為GTM900B啟動電路,完成模塊上電自動開機。LPG用于指示模塊的工作狀態(tài),其輸出不能直接驅(qū)動LED,需另行設(shè)計狀態(tài)指示電路,完成模塊當前工作狀態(tài)的顯示。
計量單元軟件設(shè)計采用C語言編寫,同時借助CCS仿真環(huán)境。其主程序流程圖如圖5所示。
圖5 主程序流程圖Fig.5 Flowchart of the main program
軟件設(shè)計采用模塊化設(shè)計思想,將流量計量單元各功能模塊的初始化和功能函數(shù)均編寫成獨立的函數(shù),然后由主函數(shù)及各中斷函數(shù)對其進行調(diào)用。主函數(shù)完成流量計量單元各功能模塊的初始化以及GPRS模塊的入網(wǎng)、注銷操作,各中斷函數(shù)完成氣液兩相流數(shù)據(jù)的采集、處理、顯示、發(fā)送等工作。
GPRS模塊分配的IP地址為GPRS內(nèi)網(wǎng)IP地址,外網(wǎng)無法訪問,為方便數(shù)據(jù)中心上位機控制流量計量單元,在運行期間,流量計量單元需與數(shù)據(jù)中心上位機保持連接。此外GPRS模塊按流量計費,因此運行期間數(shù)據(jù)傳輸?shù)馁M用只與傳輸?shù)臄?shù)據(jù)量有關(guān),與數(shù)據(jù)中心上位機連接的時間無關(guān)。執(zhí)行關(guān)機操作過程中需重點解決GPRS模塊關(guān)機問題,GPRS模塊有正常關(guān)機和緊急關(guān)機兩種關(guān)機方式,兩者的區(qū)別在于前者能從注冊網(wǎng)絡(luò)中注銷,后者不能。GPRS模塊正常關(guān)機流程為在電源電壓工作正常的情況下,PWON引腳被拉低2~3 s,在此過程中完成網(wǎng)絡(luò)注銷。流量計量單元在硬件設(shè)計上采用GPRS模塊自動開機的方式,PWON信號不受DSP的控制,因此在關(guān)機時,DSP除了發(fā)送AT指令注銷GPRS網(wǎng)絡(luò)之外,還需要強行從注冊網(wǎng)絡(luò)中注銷。
I2C轉(zhuǎn)UART模塊軟件設(shè)計包括實現(xiàn)DSP的I2C讀寫函數(shù)以及對OD2101寄存器的讀寫函數(shù)的編寫。DSP與GPSR模塊之間的數(shù)據(jù)傳輸通過OD2101完成,DSP將發(fā)送給GPRS模塊的數(shù)據(jù)通過I2C總線寫到OD2101的I2C數(shù)據(jù)接收緩沖區(qū)中;GPRS模塊返回的數(shù)據(jù)保存在OD2101的UART數(shù)據(jù)接收緩沖區(qū)中,DSP通過I2C總線對保存的數(shù)據(jù)進行讀取。I2C讀函數(shù)程序流程圖如圖6所示。
圖6 I2C讀函數(shù)程序流程圖Fig.6 Flowchart of the program of I2C READ function
OD2101在接收到GPRS模塊返回的數(shù)據(jù)時,會以中斷的形式通知DSP讀取數(shù)據(jù)?;贕PRS傳輸數(shù)據(jù)的特點,讀取GPRS模塊返回的所有數(shù)據(jù)有以下三種方法。
①通過UART數(shù)據(jù)傳輸波特率以及GPRS模塊返回數(shù)據(jù)的長度來計算GPRS模塊返回所有數(shù)據(jù)的時間,DSP進入中斷后等待這段時間,然后通過I2C總線進行讀取。
②DSP進入中斷后連續(xù)讀取OD2101的UART數(shù)據(jù)接收緩沖區(qū)接收字節(jié)數(shù),當該值與GPRS模塊返回數(shù)據(jù)長度相等時,DSP通過I2C總線進行讀取所有數(shù)據(jù)。
③通過UART數(shù)據(jù)傳輸波特率計算GPRS模塊返回一字節(jié)所需要的時間,當這段時間內(nèi)的OD2101的UART接收緩沖區(qū)接收字節(jié)數(shù)不變時,DSP通過I2C總線進行讀取。
由于大部分GPRS模塊返回的數(shù)據(jù)長度未知,本設(shè)計采用第三種方法。
流量計量單元與數(shù)據(jù)中心上位機的通信選用網(wǎng)絡(luò)通信中比較常用的客戶機/服務(wù)器模型[6],流量計量單元工作于客戶機模式,數(shù)據(jù)中心上位機工作于服務(wù)器模式。當數(shù)據(jù)中心上位機處于監(jiān)聽狀態(tài)時,DSP通過控制GPRS模塊實現(xiàn)流量計量單元與數(shù)據(jù)中心上位機的連接,將流量數(shù)據(jù)發(fā)往數(shù)據(jù)中心上位機。GPRS模塊與數(shù)據(jù)中心上位機的連接程序流程圖如圖7所示。
圖7 建立連接程序流程圖Fig.7 Flowchart of the program for establishing connection
GTM900B支持TCP以及UDP兩種數(shù)據(jù)傳輸方式,且在TCP數(shù)據(jù)傳輸方式中可工作于服務(wù)器模式。數(shù)據(jù)中心上位機采用Internet網(wǎng)絡(luò)接收數(shù)據(jù)時,由于外網(wǎng)不能訪問GPRS模塊的IP地址,因此,GTM900B必須工作于客戶機模式。當數(shù)據(jù)中心上位機采用GPRS模塊接收數(shù)據(jù)時,數(shù)據(jù)傳輸雙方的IP地址都為GPRS內(nèi)網(wǎng)IP地址,此時數(shù)據(jù)中心GTM900B可工作于服務(wù)器模式。
數(shù)據(jù)中心上位機采用Inprise公司推出的高性能可視化開發(fā)工具C++Builder,它具有編譯功能強大、數(shù)據(jù)庫開發(fā)簡單以及網(wǎng)絡(luò)開發(fā)方便等特點。利用C++Builder提供的數(shù)據(jù)庫開發(fā)工具,有助于程序員開發(fā)出功能強大、界面美觀的數(shù)據(jù)庫。C++Builder支持結(jié)構(gòu)化查詢語言(SQL),編程人員通過編寫SQL語言就能完成對數(shù)據(jù)庫的所有操作[7]。C++Builder提供與網(wǎng)絡(luò)有關(guān)的控件,可方便網(wǎng)絡(luò)開發(fā),通過修改UDP或TCP有關(guān)控件屬性,兩臺計算機就能建立網(wǎng)絡(luò)通信[8]。
數(shù)據(jù)中心上位機與GPRS模塊之間以TCP作為數(shù)據(jù)傳輸協(xié)議。在客戶機與服務(wù)器建立連接之前,服務(wù)器處于監(jiān)聽狀態(tài),客戶機通過服務(wù)器的IP地址與端口號申請連接。當服務(wù)器的IP地址為動態(tài)IP地址時,通過動態(tài)域名解析的方法使服務(wù)器動態(tài)IP地址與固定域名相綁定,客戶機通過查詢該域名獲得服務(wù)器當前IP地址,然后與其建立連接[9]。當服務(wù)器IP地址為固定IP地址時,客戶機可直接與該IP地址的服務(wù)器建立連接。
數(shù)據(jù)中心上位機主要實現(xiàn)用戶管理、流量數(shù)據(jù)管理、故障診斷以及報警等功能。流量數(shù)據(jù)管理中包括流量數(shù)據(jù)的存數(shù)、顯示、分析以及查詢等功能,上述操作需要與數(shù)據(jù)庫相結(jié)合,可通過修改C++Builder提供的TQuery控件的SQL屬性來完成訪問數(shù)據(jù)庫的各種操作[10]。
查找流量數(shù)據(jù)具體程序如下。
在修改完TQuery控件的SQL屬性之后有兩種執(zhí)行SQL的方法,Open方法可執(zhí)行查詢并顯示表中的數(shù)據(jù),ExecSQL方法可插入、刪除以及更新數(shù)據(jù)。
本文提出并實現(xiàn)了基于GPRS的兩相流數(shù)據(jù)傳輸新方案。該方案利用GPRS模塊的網(wǎng)絡(luò)接入功能,實現(xiàn)與數(shù)據(jù)中心上位機的遠程通信,完成將油氣田現(xiàn)場流量數(shù)據(jù)實時傳輸?shù)綌?shù)據(jù)中心上位機,不僅提高了數(shù)據(jù)傳輸?shù)目煽啃?,而且避免了現(xiàn)場錯綜復雜的連線。與一般無線通信相比,基于GPRS通信方式不受地形、地貌以及距離的限制,因此將GPRS應(yīng)用到兩相流計量系統(tǒng)中具有一定的實用價值。
[1] 耿艷峰,馮叔初,鄭金吾,等.凝析天然氣計量技術(shù)[J].自動化儀表,2005,26(8):1 -3.
[2] 劉春見.基于DSP的凝析天然氣流量計量儀表研制[D].濟南:中國石油大學,2009.
[3] 王乃民,楊炳發(fā),陳麗,等.基于GPRS的油罐多液位遠程監(jiān)控系統(tǒng)[J].化工自動化及儀表,2009,36(6):59 -62.
[4] 呂捷.GPRS技術(shù)[M].北京:北京郵電大學出版社,2001:1-9.
[5] 鐘章隊,蔣文怡,李紅君,等.GPRS通用分組無線業(yè)務(wù)[M].北京:人民郵電出版社,2001:49-63.
[6] 郭啟軍.基于GPRS的無線數(shù)據(jù)傳輸系統(tǒng)的研究與設(shè)計[D].金華:浙江師范大學,2009.
[7] 朱正茂,彭湃.Borland C++Builder 5實用編程技術(shù)[M].北京:中國水利水電出版社,2000:2-5.
[8] 黃嘉輝.Internet與TCP/IP程序設(shè)計之C++Builder高手[M].北京:清華大學出版社,2001:7-25.
[9] 劉傳文.動態(tài)域名解析技術(shù)的研究及其應(yīng)用[J].臨沂師范學院學報,2008,30(3):130 -132.
[10] 逯燕玲,戴紅,李志明.網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)[M].2版.北京:電子工業(yè)出版社,2009:85-104.