摘 要:液位儀是一種對大型儲油罐參數(shù)進(jìn)行實時監(jiān)測的設(shè)備,利用KingSCADA上位軟件實現(xiàn)對油罐數(shù)據(jù)的監(jiān)控。本文設(shè)計了基于visual studio 2010平臺的液位儀設(shè)備接口的驅(qū)動開發(fā),從而實現(xiàn)油罐最優(yōu)化的管理。
關(guān)鍵詞:KingSCADA;液位儀;數(shù)據(jù)通訊
1 引言
石油開采在國內(nèi)得到迅猛發(fā)展,大小油庫油罐遍及全國,但從目前來看,油罐的管理普遍不夠完善,無法實現(xiàn)現(xiàn)代化的監(jiān)控。影響油罐信息化管理的瓶頸是相關(guān)協(xié)議的缺乏,無法實現(xiàn)上位監(jiān)控,造成現(xiàn)場人員工作量的加大。為此設(shè)計開發(fā)了KingSCADA與液位儀的通訊,實時在上位工控機(jī)上顯示油罐的溫度、體積、油位、水位和高度等參數(shù)。
2 總體設(shè)計方案
設(shè)備接口通訊成功是油罐監(jiān)測整體運(yùn)行的關(guān)鍵,本文以維德路特油罐控制臺通訊協(xié)議為基礎(chǔ),以King SCADA上位軟件為平臺,開發(fā)了基于King SCADA的維德路特油罐控制臺的設(shè)備驅(qū)動。以TLS-2通訊協(xié)議中的IN-TANK REPORTS的協(xié)議格式為基礎(chǔ),根據(jù)串口調(diào)試助手反饋上的數(shù)據(jù)幀格式,在visual studio 2010平臺下編寫驅(qū)動函數(shù)。IN-TANK REPORTS的協(xié)議格式如表5-1所示。
首先依次手動配置維德路特液位儀與串口調(diào)試助手中的波特率、數(shù)據(jù)位、停止位、校驗位,使二者的上述4個數(shù)值相同,即9600、8、1、EVEN。然后對串口調(diào)試助手進(jìn)行指令操作,輸入指令,即16進(jìn)制的I201,啟動指令為01。完成指令為:01 49 32 30 31。如果查詢1#油罐,則需在上述指令后繼續(xù)添加30 31,其它依次類推。指令發(fā)送完畢,則會在串口調(diào)試助手的對話框內(nèi)實時顯示出1#油罐的油罐參數(shù)數(shù)據(jù),將參數(shù)數(shù)據(jù)以16進(jìn)制數(shù)據(jù)幀格式顯示。
01 0D 0A 32 30 31 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 0D 0A 20 20 20 20 31 33 2D 30 35 2D 33 31 20 31 31 3A 32 37 20 20 20 0D 0A 0D 0A 54 41 4E 4B 20 20 50 52 4F 44 55 43 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 49 54 45 52 53 20 20 20 20 20 20 4D 4D 20 20 20 57 41 54 45 52 20 20 44 45 47 20 43 20 20 20 55 4C 4C 41 47 45 0D 0A 0D 0A 20 20 33 20 20 20 33 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 38 31 2E 31 20 20 20 20 20 20 20 30 20 20 20 32 30 2E 32 20 20 20 20 35 30 30 30 30 0D 0A 0D 0A 03
限于實驗室調(diào)試的環(huán)境,根據(jù)16進(jìn)制的數(shù)據(jù)幀格式,采用了虛擬串口進(jìn)行了調(diào)試,在visual studio 2010平臺下編寫了驅(qū)動程序。serialcom的opencom的部分程序如下:
CDebug::ShowFunMessage(_T(“CDevVEEDER_TLS2::SendDataToKingSCADA”));
ASSERT(pPac != NULL);
POSITION pos = pPac->varList.GetHedPosition();
Char buffer[8][50]={0};
if(pPac->nRegType == Para_REG)
{
Memcpy(buffer[0],m_byRecBuf+104,14);//PRODUCT
Memcpy(buffer[1],m_byRecBuf+130,18);//VOLUGE
Memcpy(buffer[2],m_byRecBuf+198,1);//TANK
Memcpy(buffer[3],m_byRecBuf+202,1);//HEIGHT
Memcpy(buffer[4],m_byRecBuf+230,1);//WATER
Memcpy(buffer[5],m_byRecBuf+233,10);//ULLAGE
Memcpy(buffer[6],m_byRecBuf+250,10);//TEMP
}
對程序進(jìn)行編譯,生成維德路特TLS-2的DLL文件,將DLL文件添加到組態(tài)軟件KingSCADA的IO Server中,從而實現(xiàn)維德路特液位儀的驅(qū)動安裝。
3 總結(jié)
本驅(qū)動文件在KingSCADA上位軟件上成功添加,正確顯示了油罐的各個參數(shù),實現(xiàn)了維德路特液位儀與上位軟件的通訊,大大降低了油罐區(qū)工作人員的工作強(qiáng)度。
[參考文獻(xiàn)]
[1]張乃祿,李永進(jìn),等.基于物聯(lián)網(wǎng)的加油站綜合信息監(jiān)控系統(tǒng)[J].西安石油大學(xué)學(xué)報,28-6,104-107.