《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 業(yè)界動(dòng)態(tài) > 儲(chǔ)油罐實(shí)時(shí)監(jiān)測(cè)與管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

儲(chǔ)油罐實(shí)時(shí)監(jiān)測(cè)與管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2009-08-10
作者:杜英坤, 林開(kāi)顏

??? 摘 要: 國(guó)內(nèi)多數(shù)加油站依靠手工或液位儀對(duì)儲(chǔ)油罐油品進(jìn)行管理,其測(cè)量準(zhǔn)確性,、實(shí)時(shí)性,、快捷性均難以滿足加油站信息化需求。在深入研究液位儀通信技術(shù)的基礎(chǔ)上,將液位儀和計(jì)算機(jī)信息技術(shù)結(jié)合起來(lái),設(shè)計(jì)出一種新的儲(chǔ)油罐監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)了實(shí)時(shí)測(cè)量并自動(dòng)記錄油罐內(nèi)的各類參數(shù)以及自動(dòng)進(jìn)銷存管理,、自動(dòng)油罐校準(zhǔn)技術(shù)、遠(yuǎn)程監(jiān)測(cè)等功能,。實(shí)踐證明,,系統(tǒng)的測(cè)量準(zhǔn)確性、高效性及實(shí)時(shí)性在加油站管理中發(fā)揮了重大的作用,,具有廣闊的應(yīng)用前景,。
??? 關(guān)鍵詞:儲(chǔ)油罐;測(cè)量,;液位儀,;信息技術(shù)

?

??? 加油站是油料收、發(fā),、儲(chǔ)藏等作業(yè)的基層單元,,加油站信息化建設(shè)對(duì)于方便生產(chǎn)生活、加快石油產(chǎn)業(yè)建設(shè)步伐都有重要意義,。在我國(guó),,由于受經(jīng)濟(jì)水平、技術(shù)條件等諸多因素的制約,,加油站對(duì)儲(chǔ)油罐的監(jiān)測(cè)手段中靠手工檢尺,、人工計(jì)量、人工巡檢還占有相當(dāng)大的比例[1]。人工計(jì)量不僅測(cè)量精度,、效率,、可靠性以及可維護(hù)性難以滿足油庫(kù)信息化建設(shè)的需求,而且對(duì)罐內(nèi)是否進(jìn)水更無(wú)從檢查。有些規(guī)模大,、效益較好的加油站雖然采用了現(xiàn)代化液位儀器具,,但僅靠液位儀同樣難以滿足加油站信息化管理的要求。其不足之處主要體現(xiàn)在以下:
??? (1)功能單一,,管理和操作液位儀數(shù)據(jù)不便,。普通液位儀提供了儲(chǔ)油罐各類數(shù)據(jù)的監(jiān)測(cè)功能,但往往需要人工在液位儀面板上多次按下對(duì)應(yīng)按鍵才能完成,而且有些品牌的液位儀控制器不具備液晶顯示,、鍵盤等人機(jī)接口,,這給管理和維護(hù)帶來(lái)不便;
??? (2)無(wú)法自動(dòng)獲取加油機(jī)的銷售數(shù)據(jù),,進(jìn)而自動(dòng)形成油罐的進(jìn)銷存數(shù)據(jù),;
??? (3)數(shù)據(jù)不能遠(yuǎn)程傳輸和共享,管理部門難以掌握庫(kù)存數(shù)據(jù),,油品配送不方便,。
??? 鑒于此,,本文設(shè)計(jì)了一種儲(chǔ)油罐監(jiān)測(cè)與管理系統(tǒng),。該管理系統(tǒng)將信息技術(shù)與液位儀測(cè)量技術(shù)結(jié)合起來(lái),不僅可以自動(dòng)采集,、存儲(chǔ)及管理油庫(kù)收,、發(fā)、存信息及報(bào)警信息,,而且還可以自動(dòng)生成庫(kù)存記錄和自動(dòng)進(jìn)油記錄,,減少操作人員的數(shù)量,提高操作效率和油庫(kù)安全管理水平等,,并可將各類存儲(chǔ)數(shù)據(jù)進(jìn)行遠(yuǎn)程傳輸,,方便油品配送。
1 儲(chǔ)油罐監(jiān)測(cè)系統(tǒng)總體方案設(shè)計(jì)
1.1 系統(tǒng)結(jié)構(gòu)和配置
??? 加油站管理系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖1所示,。其中,,計(jì)算機(jī)、加油機(jī)通信控制器和液位儀控制器放置于營(yíng)業(yè)房?jī)?nèi)(如圖1中虛線框所示),。同時(shí),,計(jì)算機(jī)與加油機(jī)通信控制器通過(guò)RS232通信方式相連,采集加油機(jī)的銷售數(shù)據(jù),,而液位儀控制器與油罐內(nèi)的各個(gè)探棒相連接,,實(shí)時(shí)測(cè)量油罐的庫(kù)存、進(jìn)油、溫度,、液位等信息,。采集到有效數(shù)據(jù)后將這些信息以RS232通信方式傳輸?shù)接?jì)算機(jī)中。計(jì)算機(jī)既可以通過(guò)液位儀控制器獲取庫(kù)存,、進(jìn)油數(shù)據(jù),,又可以通過(guò)加油機(jī)通信控制器獲取加油機(jī)銷售數(shù)據(jù),進(jìn)而可形成進(jìn)銷存數(shù)據(jù),。

?


??? 本系統(tǒng)中,,現(xiàn)場(chǎng)探測(cè)設(shè)備選用美國(guó)維德路特公司的TLS系列數(shù)字式磁致伸縮液位儀和探棒,計(jì)算機(jī)采用普通工控機(jī),。
1.2 系統(tǒng)主要功能
??? 系統(tǒng)的主要功能如表1所示,。

?


2 系統(tǒng)通信技術(shù)及實(shí)現(xiàn)方法
2.1系統(tǒng)通信的硬件連接

??? 通信方式采用RS-232標(biāo)準(zhǔn)串行通信,硬件連接可采用標(biāo)準(zhǔn)9針或25針接口,。以9針為例:第2針為液位儀發(fā)送數(shù)據(jù),,第3針為液位儀接收數(shù)據(jù),第5針為公共接地,。液位儀通信接口可以直接連在計(jì)算機(jī)上,,也可通過(guò)Modem連在計(jì)算機(jī)上。
2.2 通信命令格式
??? (1)通信數(shù)據(jù)字節(jié)傳輸格式
??? 液位儀接收和發(fā)送數(shù)據(jù)都是以ASCII碼的形式進(jìn)行的,,字節(jié)數(shù)據(jù)格式為:

???

??? 主機(jī)和液位儀的通信數(shù)據(jù)格式必須一致,,否則通信不能進(jìn)行。液位儀通信數(shù)據(jù)格式選擇可以通過(guò)面板上的鍵盤進(jìn)行設(shè)置,。波特率可以選擇為以下幾個(gè)中的一個(gè):300 b/s,、1200 b/s、2400 b/s,、4800 b/s,、9600 b/s;同樣地,,主機(jī)波特率的設(shè)置也必須和液位儀一致才能進(jìn)行通信,。
??? (2)通信命令格式[2]
??? ① PC向液位儀發(fā)送的所有命令都要遵循如下通信格式:

???

??? 其中,SOH:控制字符,,ASCII值為01,,命令起始標(biāo)志。
??? Security Code:命令安全碼,,由6個(gè)數(shù)字密碼或一些字母組成,,它可以用面板上的開(kāi)關(guān)設(shè)定,也可以配置命令設(shè)定,,也可以是通過(guò)接口通信傳遞過(guò)來(lái)的配置命令設(shè)定,。此項(xiàng)出于安全考慮而設(shè)的,為可選項(xiàng)。
??? Function Code:功能代碼,,由6個(gè)字符組成,。功能代碼是液位儀用來(lái)向主機(jī)作出響應(yīng)或者接收主機(jī)命令的,不同的密碼代表不同的具體含義,。如代碼“I201”是灌內(nèi)油品存量報(bào)告,,代碼“I202”是油品銷售報(bào)告等。
??? Data Field:數(shù)據(jù)域,,包含完成選定功能的必要信息,,比如配置信息等。
??? ②液位儀作出的響應(yīng)則遵循下列格式:

???

??? 其中,,SOH:控制字符,。
??? Function Code:功能代碼,和液位儀收到的功能代碼應(yīng)該一致,。
??? Data Field:通常是選定功能的必要信息,,如日期、時(shí)間和狀態(tài)等,。
??? &&:表示數(shù)據(jù)位停止,,后面的是校驗(yàn)位。
??? Checksum:校驗(yàn)位,,對(duì)此位以前的數(shù)據(jù)進(jìn)行校驗(yàn)(包括控制字符),,由4個(gè)表示十六進(jìn)制的ASCII字符構(gòu)成(即2B)。校驗(yàn)碼是從此位以前所有數(shù)據(jù)的二進(jìn)制下累加和的補(bǔ)碼形式,。
??? ETX:ASCII值為03的命令結(jié)束控制字符,。下面以讀取庫(kù)存數(shù)據(jù)的I201命令為例來(lái)說(shuō)明液位儀通信命令格式,。
??? 主機(jī)命令格式:
??? i201TT
??? 典型的液位儀回答:
??? i201TTYYMMDDHHmm-TTpssssNNFFFFFFFF...TTpssssNNFFFFFFFF...&&CCCC
??? 其字段具體含義如表2所示,。

?


3軟件設(shè)計(jì)
3.1 串口通信設(shè)計(jì)
??? 串口通信利用VC++6.0開(kāi)發(fā)環(huán)境里封裝的MSComm控件來(lái)完成主機(jī)與液位儀之間的通信。MSComm控件在串口編程時(shí)非常方便,,其使用步驟可概括如下[3]
??? (1)定義一個(gè)串口對(duì)象
? ? 如? CMSComm?m_MSComm
??? (2) 串口初始化
? ? //選擇COM1
??? m_MSComm.SetCommPort(1)?
??? //設(shè)置接收緩沖區(qū)
??? m_MSComm.SetInBufferSize(1024)?
????//設(shè)置發(fā)送緩沖區(qū)
?? ?m_MSComm.SetOutBufferSize(1024)
? ? //全部接收數(shù)據(jù)
??? m_MSComm.SetInputLen(0)
? ? //二進(jìn)制方式讀寫數(shù)據(jù)
??? m_MSComm.SetInputMode(1)
?? ?//一接收就引發(fā)OnComm事件???
??? m_MSComm.SetRThreshold(1)???
? ? //設(shè)置波特率校驗(yàn)位等,。
??? m_MSComm.SetSettings('9600,n,8,1')
? ? //打開(kāi)串口
??? m_MSComm.SetPortOpen(TRUE)
??? (3)串口數(shù)據(jù)發(fā)送
??? CByteArray arr;
??? arr.RemoveAll();
??? arr.SetSize(nSize);
??? for(i=0;i??? ?? {//pData指向發(fā)送緩沖區(qū)
??? arr.SetAt(i,pData[i]);
??? }
??? if(m_commctrl.GetPortOpen())
??? ? {//向串口發(fā)送數(shù)據(jù)??? m_commctrl.SetOutput(Cole
??? Variant(arr));
????}
??? (4)接收數(shù)據(jù):
??? 當(dāng)串口接收到數(shù)據(jù)時(shí),會(huì)產(chǎn)生串口事件中斷,,在相應(yīng)中斷函數(shù)中:
??? VARIANT vaRecData;
??? int k; short nCommValue;
??? nCommValue= m_commctrl.GetCommEvent();
??? unsigned char pRecDataBuffer[1000];
??? if(nCommValue == 2)
??? {//接收數(shù)據(jù)中斷
??? k=m_commctrl.GetInBufferCount();
??? if(k>0)
??? m_commctrl.SetInputLen(k);
??? vaRecData = m_commctrl.GetInput();
??? unsigned char * pData;
??? pData =(unsigned char*)vaRecData.parray->pvData;
??? for(int i=0;i??? {//讀取數(shù)據(jù)到接收緩沖區(qū)???pRecDataBuffer[i]= pData[i];
??? }
??? …
??? }
??? 通過(guò)以上步驟,,就可以進(jìn)行串口數(shù)據(jù)通信。
3.2管理系統(tǒng)軟件流程
??? 液位儀主機(jī)開(kāi)始實(shí)現(xiàn)管理系統(tǒng)軟件后,,管理軟件首先會(huì)根據(jù)各項(xiàng)設(shè)置生成一個(gè)主界面,,如圖2所示。用來(lái)模擬加油站各個(gè)油罐的液位,、水位,、余空的高度,并以不同的顏色顯示,便于用戶直觀觀察,。而界面的下方列表中則詳細(xì)顯示了油位,、油量、水位,、水量,、余空、溫度等重要數(shù)據(jù)的具體值,。所用命令的種類和功能如表3所示,,液位儀管理軟件依次向每個(gè)油罐發(fā)送命令,每個(gè)命令處理完所有油罐后才會(huì)轉(zhuǎn)入下一命令繼續(xù)執(zhí)行,,命令循環(huán)往復(fù)進(jìn)行,。這樣液位儀管理軟件就可以獲取各個(gè)油罐的庫(kù)存信息、進(jìn)油信息,、狀態(tài)及報(bào)警記錄,,并保存在數(shù)據(jù)庫(kù)中供用戶查詢。液位儀管理系統(tǒng)能結(jié)合加油機(jī)管理軟件獲得的加油數(shù)據(jù)(銷售數(shù)據(jù)),,生成進(jìn)銷存報(bào)表,,并可通過(guò)通信軟件把報(bào)表發(fā)送到遠(yuǎn)程服務(wù)器,方便職能部門進(jìn)行分析,、統(tǒng)計(jì),,達(dá)到遠(yuǎn)程可了解油罐庫(kù)存狀態(tài),方便油品配送的目的,。

?

?


4自動(dòng)油罐校準(zhǔn)技術(shù)的實(shí)現(xiàn)方法
??? 自動(dòng)油罐校準(zhǔn)技術(shù)是對(duì)油罐容積表動(dòng)態(tài)地進(jìn)行校準(zhǔn),。普通油罐由于長(zhǎng)期深埋于地下,在運(yùn)行過(guò)程中受壓力,、土石層變化,、地下水位等儲(chǔ)多因素的影響,不可避免地產(chǎn)生變形,、傾斜,,因此會(huì)導(dǎo)致預(yù)先設(shè)置在液位儀控制器中的容積表不準(zhǔn)確。本管理系統(tǒng)基于VEEDER ROOT公司AccuChart技術(shù)的基礎(chǔ)上,,由程序自動(dòng)向液位儀控制器發(fā)送數(shù)據(jù),,實(shí)現(xiàn)自動(dòng)油罐校正,從而保證了油品的進(jìn),、銷,、存管理的準(zhǔn)確性。下面就本系統(tǒng)中采用的自動(dòng)油罐校準(zhǔn)技術(shù)作一闡述,。
??? 實(shí)現(xiàn)自動(dòng)油罐校準(zhǔn)可分為以下3個(gè)步驟:
??? (1)實(shí)現(xiàn)自動(dòng)校準(zhǔn)需要獲取加油機(jī)的提槍,、掛槍信號(hào)及本次加油量及加油機(jī)的累計(jì)泵碼數(shù),,這些數(shù)據(jù)可通過(guò)加油機(jī)管理軟件獲得。加油機(jī)管理軟件和液位儀管理軟件運(yùn)行在同一計(jì)算機(jī)上,,兩者可通過(guò)進(jìn)程通信來(lái)完成數(shù)據(jù)交互,。而進(jìn)程間通信程可通過(guò)以下步驟實(shí)現(xiàn)(在加油機(jī)管理軟件系統(tǒng)中):
??? ①首先得到液位儀系統(tǒng)管理進(jìn)程的句柄。用 FindWinTitle函數(shù)得到,。
??? ②用COPYDATASTRUCT結(jié)構(gòu)體裝載要發(fā)送的數(shù)據(jù),。
??? ③把裝載的數(shù)據(jù)通過(guò)WM_COPYDATA消息發(fā)送至液位儀管理軟件。
??? (2)液位儀管理軟件響應(yīng)WM_COPYDATA消息,,獲取相應(yīng)數(shù)據(jù)并發(fā)送到液位儀控制器,,液位儀控制器接收到命令后就會(huì)把此次交易所產(chǎn)生的數(shù)據(jù)進(jìn)行保存。發(fā)送的數(shù)據(jù)即是從加油槍加油時(shí)傳遞過(guò)來(lái)的數(shù)據(jù),。液位儀控制器接收到此數(shù)據(jù)后就和油罐內(nèi)液位量的變化作對(duì)比,,進(jìn)而計(jì)算出由于油罐傾斜、溫度變化,、油罐不規(guī)則等因素所產(chǎn)生的誤差,。
??? (3)當(dāng)液位儀控制器接收到了足夠有效的數(shù)據(jù)時(shí),就會(huì)為每個(gè)油罐建立一個(gè)最佳的容積表,,最佳容積表一旦建立就完成了校準(zhǔn)過(guò)程,。因此、自動(dòng)油罐校準(zhǔn)流程如圖3所示,。

?

?

??? 油罐的校準(zhǔn)過(guò)程在加油站正常售油時(shí)即可進(jìn)行,,而且不需要任何人工干預(yù)。在油罐容積表校準(zhǔn)期間,,油位的浮動(dòng)范圍應(yīng)該覆蓋整個(gè)油罐的運(yùn)營(yíng)范圍,。一旦采集了足夠的數(shù)據(jù)后,控制器就會(huì)自動(dòng)生成新的油罐容積表,,從而完成整個(gè)校準(zhǔn)過(guò)程,。通常,校準(zhǔn)過(guò)程一般需要1個(gè)多月,,加油站內(nèi)的所有油罐可以同時(shí)進(jìn)行校準(zhǔn),。
??? 基于數(shù)字式磁致伸縮液位儀的儲(chǔ)油罐實(shí)時(shí)監(jiān)測(cè)與計(jì)量管理系統(tǒng),與單純用液位儀相比,,具有可靠性高、性能穩(wěn)定,、效率高,、管理方便等顯著優(yōu)點(diǎn)。結(jié)合了VEEDER ROOT的高精度液位儀控制器和信息技術(shù),,本系統(tǒng)不僅實(shí)現(xiàn)了精確測(cè)量各類參數(shù),、方便銷存管理和自動(dòng)生成各類報(bào)告記錄的功能,,而且實(shí)現(xiàn)了遠(yuǎn)程管理和配送油品、自動(dòng)油罐校準(zhǔn)等高級(jí)功能,。為加油站自動(dòng)化監(jiān)測(cè)和管理提供了完善的解決方案,。目前該系統(tǒng)已經(jīng)在上海、遼寧,、安徽等多家加油站內(nèi)獲得成功運(yùn)行,,獲得較好評(píng)價(jià)。
參考文獻(xiàn)
[1]?王鵬飛,,李著信,,方雪.幾種常見(jiàn)油罐液位計(jì)的性能特點(diǎn)及選用[J].重慶工業(yè)高等專科學(xué)校學(xué)報(bào),2004,19(1):31.
[2]?VEEDRE. Veedee? root serial inteface manual for TLS-300 and TLS-350 UST monitoring systems[R].2006,Manual Number 576013-635 Revision L.
[3]?張?bào)蘩?,劉?shū)智.Visual C++實(shí)踐與提高串口通信與工程應(yīng)用篇 [M]. 北京:中國(guó)鐵道出版社,,2006.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。