<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2016-10-15 來源:網(wǎng)絡(luò) 收藏

          摘要:目前勝利油田濱南采油廠的自動(dòng)化程度較低。為大力提高其自動(dòng)化水平,本文根據(jù)該采油廠各聯(lián)合站分散采集、集中監(jiān)視的特點(diǎn),設(shè)計(jì)了基于和主從結(jié)構(gòu)的數(shù)據(jù)采集子系統(tǒng)方案。由位于監(jiān)控室的主作為中樞,通過采集各從收集到的原油參數(shù)并通過串口上傳到上位機(jī)中。利用上位機(jī)軟件配合Proteus軟件和Keil軟件對(duì)整個(gè)子系統(tǒng)進(jìn)行了仿真和測(cè)試,從而驗(yàn)證了其可行性。

          本文引用地址:http://www.ex-cimer.com/article/201610/307567.htm

          在采油廠聯(lián)合站中對(duì)原油的液位、油水界面、密度、含水、庫(kù)存量等各項(xiàng)參數(shù)的計(jì)量過程就是盤庫(kù)。盤庫(kù)是原油生產(chǎn)過程中的一項(xiàng)重要工作,只有精確掌握了各項(xiàng)生產(chǎn)數(shù)據(jù)才能做出更好的生產(chǎn)及銷售決策。這是一項(xiàng)關(guān)系到企業(yè)發(fā)展和經(jīng)濟(jì)效益的重要任務(wù),因此,研究與開發(fā)一套現(xiàn)代化的原油自動(dòng)盤庫(kù)系統(tǒng)是非常必要的。濱南采油廠是勝利油田位于山東省濱州市的一個(gè)重要采油廠,但受限于當(dāng)時(shí)的技術(shù)與資金等方面的因素,該廠現(xiàn)在使用的盤庫(kù)系統(tǒng)自動(dòng)化程度不高,突出表現(xiàn)在源頭數(shù)據(jù)的采集與傳輸必須以人工的方式完成,費(fèi)時(shí)勞力,已經(jīng)滿足不了現(xiàn)代化、高效率、高精度的生產(chǎn)要求。本文就是以濱南采油廠為背景,在其實(shí)際應(yīng)用盤庫(kù)系統(tǒng)的基礎(chǔ)上,參考了國(guó)內(nèi)外一些油田聯(lián)合站的盤庫(kù)方案,設(shè)計(jì)開發(fā)了一套基于和主從單片機(jī)結(jié)構(gòu)的原油自動(dòng)化盤庫(kù)數(shù)據(jù)采集子系統(tǒng)。

          1 研究背景

          濱南采油廠現(xiàn)有的是以基于瀏覽器和客戶端軟件的方式進(jìn)行原油生產(chǎn)數(shù)據(jù)的采集、傳輸及處理。首先通過人工讀取的方式獲得原油罐上測(cè)量?jī)x表或其他計(jì)量工具測(cè)量得到的數(shù)據(jù),然后生產(chǎn)單位用瀏覽器將原油生產(chǎn)數(shù)據(jù)錄入數(shù)據(jù)庫(kù),之后計(jì)劃科工作人員用客戶端軟件對(duì)原油生產(chǎn)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以供全廠人員查詢。

          該系統(tǒng)由5部分組成,第一部分為原油生產(chǎn)數(shù)據(jù)錄入部分,由各礦區(qū)和集輸大隊(duì)的工作人員以瀏覽器的方式將數(shù)據(jù)錄入到服務(wù)器中;第二部分為原油生產(chǎn)數(shù)據(jù)統(tǒng)計(jì)部分,計(jì)劃科工作人員每天通過客戶端軟件對(duì)各單位上報(bào)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),形成每天的產(chǎn)量數(shù)據(jù);第三部分為原油生產(chǎn)數(shù)據(jù)查詢部分,供全廠各部門以瀏覽器方式查詢生產(chǎn)數(shù)據(jù);第四和第五部分分別是原油生產(chǎn)數(shù)據(jù)報(bào)表輸出和系統(tǒng)維護(hù)部分,供計(jì)劃科人員使用,以客戶端軟件的形式實(shí)現(xiàn)。

          現(xiàn)有系統(tǒng)到目前為止已建成十余年,一直運(yùn)行穩(wěn)定。但其整體自動(dòng)化程度亟待提高,集中表現(xiàn)在源頭數(shù)據(jù)的采集和傳輸只能依靠人工完成。若能實(shí)現(xiàn)源頭數(shù)據(jù)的自動(dòng)采集和傳輸,即可完成現(xiàn)有盤庫(kù)系統(tǒng)中第一部分(即:生產(chǎn)數(shù)據(jù)錄入部分)的升級(jí)代替,并能與現(xiàn)有盤庫(kù)系統(tǒng)中的其余部分實(shí)現(xiàn)良好銜接,從而可將濱南采油廠的自動(dòng)化水平提高到較高水平。

          2 需求分析及測(cè)量方法

          針對(duì)濱南采油廠現(xiàn)在實(shí)際運(yùn)行的盤庫(kù)系統(tǒng)由人工完成數(shù)據(jù)采集的現(xiàn)狀,需做出以下幾方面的改進(jìn):利用傳感器技術(shù)實(shí)現(xiàn)源頭數(shù)據(jù)的自動(dòng)采集,提高數(shù)據(jù)采樣頻率,實(shí)現(xiàn)數(shù)據(jù)自動(dòng)存儲(chǔ)、顯示與上傳,實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程實(shí)時(shí)監(jiān)控。

          為實(shí)現(xiàn)盤庫(kù)數(shù)據(jù)的自動(dòng)采集,經(jīng)多方比較,針對(duì)不同類型油罐采用了如下測(cè)量方法。

          2.1 針對(duì)沉降罐的測(cè)量方法

          沉降罐的特點(diǎn)是原油含水率較高,且隨著高度的不同含水率變化較大,且一般不是線性關(guān)系。因此,應(yīng)測(cè)量出不同高度處的含水率并進(jìn)行平均。為此,先用超聲波液位變送器測(cè)量出油水混合物的液位,然后使用智能采集裝置測(cè)量出不同高度處的含水率與溫度。智能采集裝置的主要工作部件是一個(gè)裝有短波發(fā)生器及接收器的移動(dòng)探頭。當(dāng)油水混合物的含水率變化時(shí),其對(duì)能量的吸收也會(huì)相應(yīng)變化,這種表現(xiàn)會(huì)被接收裝置記錄下來并轉(zhuǎn)換成適宜單片機(jī)接收的標(biāo)準(zhǔn)信號(hào)。

          具體工作過程是讓移動(dòng)探頭先運(yùn)行至油罐最底部,然后在油罐中自下而上采集不同高度處的含水率,并將含水率為95%的位置處定義為油水界面。此后,讓探頭繼續(xù)等間隔上升,測(cè)量出油層不同高度處的含水率及溫度,直至液面的頂端。該方案的整體結(jié)構(gòu)如圖1所示。

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          根據(jù)上述測(cè)量原理,沉降罐中原油儲(chǔ)量的計(jì)算公式為:

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          其中,ρo和ρw分別是水和原油的密度,并且需要做溫度修正。

          2.2 針對(duì)凈油罐的測(cè)量方法

          凈油罐中原油的特點(diǎn)是含水率較低,通常來油的含水率已經(jīng)低于5%,經(jīng)凈油罐再次沉降后甚至可達(dá)1%以下。并且,凈油罐中的含水率隨油層高度變化不大,因此可用外輸原油的含水率來代替油罐中的含水率。這樣,只需使用射頻導(dǎo)納界面儀和超聲波液位變送器分別測(cè)出油水界面的高度和液位就可以計(jì)算出油罐中的儲(chǔ)油量了。計(jì)算公式為:

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          其中,H為油層的高度,即液位減去油水界面高度。

          2.3 針對(duì)外輸管道的測(cè)量方法

          通過安裝高精度的含水分析儀、在線密度計(jì)和流量變送器可實(shí)現(xiàn)計(jì)量。具體計(jì)算公式為:

          G=Viρ[MfCpCt(1-Cω)] (4)

          其中,Vt為流量計(jì)測(cè)得的總流量,Mf為流量修正系數(shù),Cp為原油壓力修正系數(shù),Ct為原油溫度修正系數(shù)。

          3 總體設(shè)計(jì)

          該系統(tǒng)由3層結(jié)構(gòu)組成,最底層是現(xiàn)場(chǎng)數(shù)據(jù)采集層,負(fù)責(zé)對(duì)傳感器采集到的數(shù)據(jù)進(jìn)行調(diào)理與轉(zhuǎn)換;中間層是數(shù)據(jù)傳輸層,負(fù)責(zé)數(shù)據(jù)的本地存儲(chǔ)與傳輸;最上層是數(shù)據(jù)存儲(chǔ)與界面層,負(fù)責(zé)將采集到的數(shù)據(jù)存儲(chǔ)到上位機(jī)的數(shù)據(jù)庫(kù)中,并實(shí)現(xiàn)與工作人員的人機(jī)對(duì)話,可顯示即時(shí)及歷史數(shù)據(jù)、繪制統(tǒng)計(jì)圖、輸出報(bào)表及打印、設(shè)置系統(tǒng)參數(shù)、執(zhí)行遠(yuǎn)程手動(dòng)控制等。

          系統(tǒng)工作過程為:由安裝在各類油罐上的各種功能的傳感器將采集到的生產(chǎn)數(shù)據(jù)如液位、油水界面高度、原油含水率和溫度等信息經(jīng)信號(hào)調(diào)理、模數(shù)轉(zhuǎn)換后,傳送到安裝在油罐附近的現(xiàn)場(chǎng)單片機(jī)即從單片機(jī)上,然后利用RS-485總線通過串口傳送到主單片機(jī)中,最后經(jīng)電平轉(zhuǎn)換將采集到的數(shù)據(jù)發(fā)送到上位機(jī),在上位機(jī)中進(jìn)行數(shù)據(jù)的運(yùn)算、存儲(chǔ)與顯示。

          系統(tǒng)總體結(jié)構(gòu)圖如圖2所示。

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          4 系統(tǒng)硬件設(shè)計(jì)

          硬件部分主要由主/從單片機(jī)最小系統(tǒng)、串口復(fù)用電路、RS-485通信電路、數(shù)據(jù)存儲(chǔ)電路、模數(shù)轉(zhuǎn)換電路等組成,系統(tǒng)硬件結(jié)構(gòu)圖如圖3所示。

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          為節(jié)約成本,本系統(tǒng)中使用的單片機(jī)均為51單片機(jī)。所使用的時(shí)鐘均為內(nèi)部方式,即在XTAL1和XTAL2兩端外接石英晶體作定時(shí)元件,內(nèi)部反相放大器自激振蕩產(chǎn)生時(shí)鐘,時(shí)鐘頻率為11.059 2 MHz。復(fù)位方式采用手動(dòng)復(fù)位。

          51單片機(jī)僅有一個(gè)串口,而主單片機(jī)與上位機(jī)和與從單片機(jī)的通信均是通過串口進(jìn)行,因此涉及到串口復(fù)用。文中串口復(fù)用電路就是實(shí)現(xiàn)這個(gè)功能,具體是使用兩片多路模擬開關(guān)4051分別實(shí)現(xiàn)單片機(jī)讀寫數(shù)據(jù)的方向選擇,另外使用兩個(gè)控制端口進(jìn)行通路的選通。

          主從單片機(jī)之間的通信是基于RS-485總線來實(shí)現(xiàn)的,總線拓?fù)浣Y(jié)構(gòu)采用終端匹配的總線型結(jié)構(gòu),首尾兩端使用的阻抗匹配電阻為120Ω。通信協(xié)議采用的是Modbus中的RTU模式,通信方式為主從式,僅有一個(gè)主機(jī),各從機(jī)有唯一編號(hào),且從機(jī)間不能相互通信。

          由于要在現(xiàn)場(chǎng)單片機(jī)進(jìn)行數(shù)據(jù)備份,防止總線故障時(shí)出現(xiàn)數(shù)據(jù)丟失,因此要在從單片機(jī)電路上擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。經(jīng)容量測(cè)算,選用6264靜態(tài)RAM進(jìn)行了擴(kuò)展,并用一片74LS373進(jìn)行數(shù)據(jù)鎖存。

          A/D轉(zhuǎn)換器采用MCP3204,這是由Microchip公司生產(chǎn)的4通道、12位微功耗串行模數(shù)轉(zhuǎn)換器。4個(gè)通道分別用于采集液位、油水界面、含水及溫度,其他量可在上位機(jī)上計(jì)算得出。12位模數(shù)轉(zhuǎn)換器的精度可達(dá)0.2‰,完全可滿足需要。

          5 系統(tǒng)軟件設(shè)計(jì)

          軟件設(shè)計(jì)采用模塊化結(jié)構(gòu)。單片機(jī)程序使用C語言開發(fā),開發(fā)環(huán)境為Keil μVision4。上位機(jī)程序使用VB6.0進(jìn)行開發(fā)。

          系統(tǒng)軟件設(shè)計(jì)包括主單片機(jī)程序設(shè)計(jì)、從單片機(jī)程序設(shè)計(jì)以及上位機(jī)程序設(shè)計(jì)3部分,其結(jié)構(gòu)框圖如圖4所示。其主要功能模塊的作用如下:

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          串行通信模塊用來實(shí)現(xiàn)主從單片機(jī)間的通信以及主單片機(jī)與上位機(jī)間的通信;定時(shí)器模塊用來設(shè)置串行口波特率以及RS-485通信協(xié)議中的幀定時(shí)和字節(jié)定時(shí);模數(shù)轉(zhuǎn)換模塊用于對(duì)傳感器采集的數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換。上位機(jī)程序中的數(shù)據(jù)處理與顯示模塊用于對(duì)主單片機(jī)上傳的數(shù)據(jù)進(jìn)行處理、顯示并將結(jié)果存儲(chǔ)到數(shù)據(jù)庫(kù)中。

          主單片機(jī)和從單片機(jī)主程序的流程圖分別如圖5和圖6所示。

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          上位機(jī)的主要功能是定時(shí)喚醒主單片機(jī),并向其發(fā)送數(shù)據(jù)采集命令,然后等待接收數(shù)據(jù),最后將數(shù)據(jù)實(shí)時(shí)顯示并存儲(chǔ)。其主程序的流程圖如圖7所示。

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          6 仿真實(shí)現(xiàn)

          本文中主、從單片機(jī)的數(shù)據(jù)采集與通信部分均通過Proteus軟件進(jìn)行了仿真實(shí)現(xiàn)。上位機(jī)軟件與Proteus軟件之間通過虛擬串口進(jìn)行相互通信。圖8給出了主單片機(jī)上LCD的顯示結(jié)果,對(duì)應(yīng)當(dāng)前采集過程中3個(gè)油罐的液位和油水界面高度。圖9為上位機(jī)上的顯示結(jié)果,給出了本次采集的時(shí)間以及3個(gè)油罐中所有生產(chǎn)數(shù)據(jù)等信息。

          總線式原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)的設(shè)計(jì)

          7 結(jié)論

          文中為實(shí)現(xiàn)濱南采油廠各聯(lián)合站生產(chǎn)數(shù)據(jù)的自動(dòng)采集、傳輸、存儲(chǔ)與顯示,設(shè)計(jì)了一套原油盤庫(kù)數(shù)據(jù)采集子系統(tǒng)。該子系統(tǒng)采用主、從單片機(jī)結(jié)構(gòu),利用RS-485總線進(jìn)行數(shù)據(jù)傳輸,并最終上傳到聯(lián)合站主控室上位機(jī)的數(shù)據(jù)庫(kù)中。

          利用Proteus、Keil和上位機(jī)軟件進(jìn)行了聯(lián)合仿真與調(diào)試,驗(yàn)證了方案的可行性,值得在采油廠中應(yīng)用。該方案具體實(shí)施后,將實(shí)現(xiàn)對(duì)濱南采油廠現(xiàn)有盤庫(kù)系統(tǒng)中人工錄入數(shù)據(jù)部分的升級(jí)代替,并能與現(xiàn)有盤庫(kù)系統(tǒng)中的其余部分實(shí)現(xiàn)良好銜接,從而可將該廠原油盤庫(kù)系統(tǒng)的自動(dòng)化水平提高到較高水平。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();