• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      大型壓裂曲線實(shí)時(shí)監(jiān)控系統(tǒng)

      2013-09-03 06:32:24白宇
      關(guān)鍵詞:數(shù)據(jù)源控件隊(duì)列

      白宇

      【摘 要】隨著油田勘探開發(fā)的深入,油水井壓裂的工作量越來越多,針對(duì)部分區(qū)塊的普通壓裂施工成本高,施工難度大,施工效益低的問題,大型壓裂將會(huì)越來越多被使用。然而大型壓裂往往需要多套壓裂儀表車組配合施工,每套壓裂車組的儀表車只能監(jiān)測(cè)本車組的串口數(shù)據(jù),不能遠(yuǎn)程傳輸回現(xiàn)場(chǎng)指揮部和后線科研單位,更不能和其他車組的壓裂數(shù)據(jù)整合。針對(duì)這一問題,基于VC++的編程,本文提出一整套的技術(shù)解決方案,實(shí)現(xiàn)多車組壓裂數(shù)據(jù)整合并通過3G網(wǎng)絡(luò)遠(yuǎn)程實(shí)時(shí)監(jiān)控。

      【關(guān)鍵詞】大型壓裂,串口,VC++, 壓裂數(shù)據(jù)整合,3G網(wǎng)絡(luò),遠(yuǎn)程實(shí)時(shí)監(jiān)控

      【中圖分類號(hào)】 TE325【文獻(xiàn)標(biāo)識(shí)碼】 A【文章編號(hào)】1672-5158(2013)07-0014-02

      1.緒論

      隨著油田勘探開發(fā)的深入,油水井壓裂工作量越來越多,其對(duì)增儲(chǔ)上產(chǎn)作用越來越巨大,但是部分區(qū)塊的普通壓裂施工成本和施工復(fù)雜程度越來越高,壓裂效益卻不理想,大型壓裂因其高效益性將成為新的施工重點(diǎn)。然而大型壓裂往往需要多套壓裂車組配合施工,每套壓裂車組有自己獨(dú)立的儀表車監(jiān)測(cè)各自的壓裂數(shù)據(jù),每套儀表車的數(shù)據(jù)只能在儀表車內(nèi)監(jiān)測(cè),不能遠(yuǎn)程傳輸更不能和其他儀表車數(shù)據(jù)整合。

      在本論文中,基于VC++環(huán)境下我提出了一整套的技術(shù)解決方案來實(shí)現(xiàn)多車組壓裂數(shù)據(jù)的整合并遠(yuǎn)程實(shí)時(shí)監(jiān)控。首先,通過各套壓裂儀表車的串口讀取實(shí)時(shí)壓裂數(shù)據(jù);其次,通過小型局域網(wǎng)把讀取到的各套壓裂數(shù)據(jù)匯總;其次,通過本文的算法把各套壓裂數(shù)據(jù)進(jìn)行整合,并通過3G網(wǎng)絡(luò)遠(yuǎn)程發(fā)送到后臺(tái)服務(wù)器;再其次,服務(wù)器把數(shù)據(jù)備份到數(shù)據(jù)庫(kù)的同時(shí),通過vspm軟件把計(jì)算機(jī)端口虛擬成串口以實(shí)時(shí)轉(zhuǎn)發(fā)數(shù)據(jù)給內(nèi)網(wǎng)的監(jiān)測(cè)終端機(jī);最后,監(jiān)測(cè)終端機(jī)使用專業(yè)的壓裂分析軟件FracProPT接收整合后的數(shù)據(jù),并實(shí)時(shí)顯示壓裂曲線。方案設(shè)計(jì)圖見圖1-1。

      2.系統(tǒng)模塊的實(shí)現(xiàn)

      本系統(tǒng)主要分為串口通信,網(wǎng)絡(luò)收發(fā),數(shù)據(jù)同步處理,虛擬串口共四個(gè)模塊,下面分別介紹各模塊的實(shí)現(xiàn)。

      2.1 串口通信

      目前,串口通信是工業(yè)控制機(jī)與底層硬件芯片的主要通信方式,串口一共有RS232和RS485兩種物理接口標(biāo)準(zhǔn),壓裂大隊(duì)的儀表車串口是RS232標(biāo)準(zhǔn)的。在VC++環(huán)境下,有兩種編程方式實(shí)現(xiàn)串口通信:一是調(diào)用Windows的API函數(shù),這種方法雖然具有很強(qiáng)的靈活性,但是使用方法及其復(fù)雜;二是使用Microsoft提供的ActiveX控件——MSComm,通過MSComm控件的屬性,方法和事件實(shí)現(xiàn)串口操作,可以簡(jiǎn)化串口程序的開發(fā)[1]。在本系統(tǒng)中,我選擇了MSComm控件。

      使用MSComm控件操作串口需要四步:(1)把MSComm控件導(dǎo)入到開發(fā)的工程中;(2)打開并配置串口的函數(shù)編程;(3)響應(yīng)MSComm控件的OnComm事件的函數(shù)編程,以便截獲串口數(shù)據(jù);(4)對(duì)串口數(shù)據(jù)分析函數(shù)的編程。

      其中,在第(3)步編程中,需要注意調(diào)用第(4)步的分析函數(shù)。這樣,當(dāng)串口有數(shù)據(jù)時(shí),MSComm控件會(huì)自動(dòng)響應(yīng)OnComm事件的函數(shù)完成對(duì)數(shù)據(jù)的截獲,然后程序轉(zhuǎn)入分析函數(shù),在分析函數(shù)里針對(duì)壓裂數(shù)據(jù)做專門的解析,并在內(nèi)存中開辟空間做好備份副本的工作,等待網(wǎng)絡(luò)模塊的轉(zhuǎn)發(fā)。

      2.2 網(wǎng)絡(luò)收發(fā)

      網(wǎng)絡(luò)通信連接主要有3個(gè)參數(shù):通信的目的IP;使用的傳輸層協(xié)議(TCP或UDP)和使用的端口號(hào)。傳輸層使用TCP或UDP同時(shí)為多個(gè)應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)時(shí)需要區(qū)分不同應(yīng)用程序進(jìn)程間的連接。套接字Socket就是通過綁定網(wǎng)絡(luò)通信連接的3個(gè)參數(shù),以實(shí)現(xiàn)多個(gè)程序進(jìn)程的數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)[2]。

      套接字Socket可以看成在兩個(gè)程序進(jìn)行通訊連接中的一個(gè)端點(diǎn),是連接應(yīng)用程序和網(wǎng)絡(luò)驅(qū)動(dòng)程序的橋梁,Socket在應(yīng)用程序中創(chuàng)建,通過綁定與網(wǎng)絡(luò)驅(qū)動(dòng)建立關(guān)系。此后,應(yīng)用程序送給Socket的數(shù)據(jù),由Socket交網(wǎng)絡(luò)驅(qū)動(dòng)程序向網(wǎng)絡(luò)上發(fā)送出去。計(jì)算機(jī)從網(wǎng)絡(luò)上收到與該Socket綁定的IP地址和端口號(hào)相關(guān)的數(shù)據(jù)后,由網(wǎng)絡(luò)驅(qū)動(dòng)程序交給Socket,應(yīng)用程序便可從該Socket中提取接收到的數(shù)據(jù)。

      套接字Socket是網(wǎng)絡(luò)通信的基本構(gòu)件,無論是3G網(wǎng)絡(luò)通信還是局域網(wǎng)通信,都要使用Socket技術(shù)。為了簡(jiǎn)化利用套接字進(jìn)行網(wǎng)絡(luò)應(yīng)用程序開發(fā),微軟的MFC對(duì)底層的套接字函數(shù)進(jìn)行了封裝,提供了CAsyncSocket類和CSocket類[2]。其中CAsyncSocket類只是對(duì)套接字進(jìn)行簡(jiǎn)單的封裝,使用起來比較繁瑣。本系統(tǒng)選擇使用更高級(jí)封裝的CSocket類編程。

      使用CSocket類開發(fā)網(wǎng)絡(luò)程序需要四步:(1)在發(fā)送端配置好目標(biāo)機(jī)的IP和端口,并編寫建立套接字的代碼;(2)在發(fā)送端編寫要發(fā)送數(shù)據(jù)的代碼,并使用CSocket類的Send函數(shù)發(fā)送[3];(3)在接收端配置計(jì)算機(jī)端口,并編寫建立套接字的代碼;(4)在接收端利用CSocket類的Accept函數(shù)接收數(shù)據(jù),并編寫數(shù)據(jù)處理代碼[3]。

      其中,在第(2)步中要把2.1中實(shí)時(shí)截獲的串口數(shù)據(jù)引入進(jìn)來,并實(shí)時(shí)使用CSocket類的Send函數(shù)發(fā)送給目標(biāo)機(jī)。在第(4)步中,要實(shí)時(shí)處理好接收到的串口數(shù)據(jù),并在內(nèi)存中開辟空間做好存儲(chǔ)工作,等待下一模塊的調(diào)用。

      2.3 數(shù)據(jù)同步處理

      數(shù)據(jù)同步處理模塊是本系統(tǒng)的核心模塊。因?yàn)樵趯?shí)際試驗(yàn)中發(fā)現(xiàn),各壓裂儀表車每次發(fā)出的串口數(shù)據(jù)個(gè)數(shù)是不一致的,而且每臺(tái)儀表車發(fā)出的串口數(shù)據(jù)個(gè)數(shù)也是無規(guī)律性的,隨機(jī)性很強(qiáng)。數(shù)據(jù)同步處理模塊就是要把從多臺(tái)儀表車采集的串口數(shù)據(jù)在秒級(jí)時(shí)間上統(tǒng)一同步為一個(gè)數(shù)據(jù)組。這樣再使用網(wǎng)絡(luò)模塊傳輸回后方后,經(jīng)后方機(jī)的拆分就可還原出同步的兩個(gè)數(shù)據(jù)源,可以進(jìn)一步的數(shù)據(jù)整合處理。

      因油田的大型壓裂一般使用兩套壓裂車組,本模塊的核心設(shè)計(jì)就是使用兩個(gè)循環(huán)隊(duì)列[4][5]作為兩個(gè)數(shù)據(jù)容器。把每臺(tái)儀表車獲得的數(shù)據(jù)分別存入各自的循環(huán)隊(duì)列,然后再把兩個(gè)隊(duì)列中同步的數(shù)據(jù)使用網(wǎng)絡(luò)模塊發(fā)送出去,留下非同步數(shù)據(jù)等待下次的同步處理。詳細(xì)設(shè)計(jì)如下:(1)開辟兩個(gè)線程專門監(jiān)聽兩個(gè)壓裂儀表車的數(shù)據(jù)源;(2)對(duì)兩個(gè)數(shù)據(jù)源實(shí)時(shí)傳來的數(shù)據(jù)分別做分析處理;(3)把(2)中分析的完整數(shù)據(jù)存入各自的循環(huán)隊(duì)列;(4)開辟一個(gè)新線程檢查兩個(gè)隊(duì)列的同步情況,把已經(jīng)同步的數(shù)據(jù)編組發(fā)送出去。

      其中需要注意三個(gè)子線程和主線程的耦合關(guān)系,各線程的開關(guān)變量設(shè)計(jì)。對(duì)第(2)步中的數(shù)據(jù)處理,需要分析數(shù)據(jù)是否完整,把完整的數(shù)據(jù)要保存好的同時(shí),殘片的數(shù)據(jù)也要保存好等待下次殘片數(shù)據(jù)傳來時(shí)的拼接處理。此外還要維護(hù)好兩個(gè)循環(huán)隊(duì)列的指針移動(dòng),特別是進(jìn),出隊(duì)列時(shí)需要判斷隊(duì)列的空與滿,并做相應(yīng)的處理。

      2.4 虛擬串口

      通過網(wǎng)絡(luò)發(fā)送回后方的數(shù)據(jù)是進(jìn)入計(jì)算機(jī)端口的,而專業(yè)的壓裂軟件FracproPT只能接收串口的數(shù)據(jù)。使用vspm虛擬串口軟件可以通過計(jì)算機(jī)端口成功完成服務(wù)器和客戶端的虛擬串口連接及數(shù)據(jù)通信。原理圖如圖2-1所示:

      通過vspm把服務(wù)器的端口A虛擬成串口C,把客戶端的端口B虛擬成串口D,虛擬串口C,D通過服務(wù)器和客戶端的計(jì)算機(jī)端口實(shí)現(xiàn)了雙向通信。其中虛擬串口C和D需要接2-1的串口通信代碼。

      3. 系統(tǒng)測(cè)試

      為了測(cè)試本系統(tǒng)的功能,我通過讀取并解析兩個(gè)含有原始?jí)毫褦?shù)據(jù)的二進(jìn)制dbs文件,把其中的二進(jìn)制壓裂數(shù)據(jù)重新轉(zhuǎn)換成十進(jìn)制流式的串口數(shù)據(jù),以模擬兩個(gè)壓裂儀表車的串口數(shù)據(jù)源。

      其中,圖3-1是實(shí)時(shí)獲取的兩個(gè)數(shù)據(jù)源的組合數(shù)據(jù),圖3-2是兩個(gè)數(shù)據(jù)源的壓裂曲線組合。經(jīng)過與原始兩個(gè)獨(dú)立數(shù)據(jù)源的嚴(yán)格分析和對(duì)比,1小時(shí)09分55秒的模擬采集共4195條數(shù)據(jù)記錄無差錯(cuò),測(cè)試取得成功。

      4.總結(jié)

      針對(duì)大型壓裂多套壓裂儀表車的數(shù)據(jù)不能無線傳回后方,更不能數(shù)據(jù)整合的問題,本文提出了一整套技術(shù)解決方案,使得大型壓裂現(xiàn)場(chǎng)的壓裂數(shù)據(jù)得到整合和實(shí)時(shí)遠(yuǎn)程監(jiān)控。而且針對(duì)部分老式壓裂儀表車沒有串口源的問題,通過本文的技術(shù)方案,可以用“軟件”方式接出一個(gè)串口數(shù)據(jù)源實(shí)時(shí)的轉(zhuǎn)發(fā)出去,同時(shí)還不影響前線的生產(chǎn)。特別是解決了技術(shù)專家必須親臨儀表車觀察壓裂數(shù)據(jù),不能同時(shí)監(jiān)控異地其他壓裂施工過程的問題,為油田壓裂施工的信息化做出了新的貢獻(xiàn)。

      參考文獻(xiàn)

      [1] 葉克江. 基于串口通信的實(shí)時(shí)壓力控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).微計(jì)算機(jī)信息[J].2009年第25卷 3-3期,p.127-128

      [2] 宋坤,劉銳寧,李偉明. MFC程序開發(fā)參考大全[M].人民郵電出版社.2007

      [3] 刑建春.基于GSM通信技術(shù)的無限測(cè)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制.2004年第4期,p.345-348

      [4] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版. 清華大學(xué)出版社[M].2004

      [5] 黃國(guó)瑜,葉乃菁.數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版. 清華大學(xué)出版社[M].2003

      猜你喜歡
      數(shù)據(jù)源控件隊(duì)列
      隊(duì)列里的小秘密
      基于多隊(duì)列切換的SDN擁塞控制*
      軟件(2020年3期)2020-04-20 00:58:44
      在隊(duì)列里
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
      分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      饶阳县| 蒙自县| 梨树县| 湘乡市| 垦利县| 育儿| 连山| 永善县| 莱芜市| 随州市| 家居| 龙州县| 海丰县| 丰原市| 濉溪县| 马龙县| 宁南县| 山阴县| 绥滨县| 岚皋县| 玛纳斯县| 通州市| 菏泽市| 都昌县| 略阳县| 全州县| 金川县| 余干县| 利川市| 维西| 济宁市| 宁安市| 台北县| 即墨市| 柞水县| 闸北区| 北宁市| 临洮县| 措勤县| 东阳市| 固始县|