基于PAC的儲油罐智能監(jiān)控節(jié)點設(shè)計
2.2.2.2標(biāo)準(zhǔn)體積
由液位值,查看罐容積表獲得油品在t時的實測體積,根據(jù)t時油品體積修正系數(shù),計算出標(biāo)準(zhǔn)體積‰,其計算公式為
式中:Vt為溫度t時的油品實測體積;K為油品體積修正系數(shù),
可根據(jù)GB/T 1885--1998查得。
2.2.2.3質(zhì)量
根據(jù)標(biāo)準(zhǔn)密度p20和標(biāo)準(zhǔn)體V20,采用空氣浮力修正值即可以算出油品質(zhì)量。計算公式為
式中:m為油品質(zhì)量;P20油品20℃下的標(biāo)準(zhǔn)密度;V20油品20℃下的標(biāo)準(zhǔn)體積;O.001 1為對油品密度的空氣浮力修正值。
2.3硬件配置
智能節(jié)點采用以PAC為主體的組合式模塊,如圖5所示控制工程網(wǎng)版權(quán)所有,主要包括CPU和I/O模塊。CPU模塊選用WinCon-8337∞。,采用206 MHz CPU,存儲器為工業(yè)級512M CF卡,此外,模塊還帶有1個以太網(wǎng)接口、1個RS-232接口、1個RS-485接121、1個USB接口、2個PS/2接口以及3個I/O擴(kuò)展槽;I/O模塊選用8路模擬量采集模塊1-87017和8路通用開關(guān)量模塊1-8063。
2.4數(shù)據(jù)采集程序設(shè)計
利用Visual Basic.Net來開發(fā)數(shù)據(jù)采集程序。選用的win-Con-8000系列PAC產(chǎn)品采用Windows CE.NET作為操作系統(tǒng),針對此系列產(chǎn)品提供了多種API接口函數(shù),如I/O模塊訪問API、iPush組件、Modbus API等,利用這些動態(tài)鏈接庫(DEE)可以方便地在Visual Basic.Net中開發(fā)應(yīng)用程序。
通過應(yīng)用Wincon.DLL中提供的I/O函數(shù),完成對模擬量輸入模塊、數(shù)字量輸A/輸出模塊的數(shù)據(jù)采集怕J。根據(jù)I/O模塊的插槽號(slot)、通道號(channel),調(diào)用相應(yīng)的I/O庫函數(shù),來讀取液位、壓力、溫度、油氣濃度等參數(shù)以及控制輸出。主要代碼如下:
Wcon.i87017.Analogln(slot2,0,High)’讀取模塊1-87017第0通道值,并賦予變量“HiglI”
Wcon.i87017.A蒯ostn(slot2。1,Pressl)’讀取壓力1值
Wcon.$7017.Amlogh(slot2,2,Pr%2)’讀取壓力2值
Weon.$7017.Analogtn(slot2,3,Temp)’讀取溫度值
Wcon.$7017.,halogln(8№,5,oil)’讀取油氣濃度值
Wcon.$063.DIO_DO_8(slot3,1)’控制相應(yīng)的閥門開
Wcon.i8063.DIO_DOJ(slot3,0)’控制相應(yīng)的閥門關(guān)
2.5通信程序設(shè)計
考慮到整體的傳輸速度和網(wǎng)絡(luò)開銷,采用基于UDP的通信傳輸協(xié)議,用數(shù)據(jù)報Socket進(jìn)行數(shù)據(jù)交換;同時為了增強傳輸?shù)目煽啃裕跀?shù)據(jù)報中加入數(shù)據(jù)校驗。
2.5.1通信模式
監(jiān)控主機與各智能節(jié)點之間的通信采用基于UDP的客戶/服務(wù)器模式:監(jiān)控主機為客戶端www.cechina.cn,輪流訪問各智能節(jié)點,讀取各點的信息參數(shù);各智能節(jié)點為服務(wù)器,為監(jiān)控主機提供數(shù)據(jù)訪問服務(wù)。
智能節(jié)點和監(jiān)控主機的通信流程如圖6所示,其基本通信過程如下:在智能節(jié)點端,先創(chuàng)建UDP數(shù)據(jù)報類型套接字,然后調(diào)用bind()函數(shù)給此套接字綁定一個端口,再通過調(diào)用recvfrom()函數(shù)在指定的端口等待監(jiān)控主機發(fā)送來的UDP數(shù)據(jù)報;接收到套接字后,對數(shù)據(jù)報內(nèi)容進(jìn)行解讀,再調(diào)用sendto()函數(shù)將本節(jié)點的信息參數(shù)發(fā)送給監(jiān)控主機。
2.5.2數(shù)據(jù)校驗
數(shù)據(jù)包中包括ASCII碼數(shù)據(jù)串和數(shù)據(jù)校驗串,以數(shù)據(jù)串“$1.8659$1.1594$1.0131$23.91$0%$”和校驗串“63253”為例,主要校驗方法如下所示:
(1)求ASCII碼數(shù)據(jù)串的校驗和(Hex)
CheckSum=24+3l+FA+38+36+35+39+24+31+
FA+3l+35+39+34+24+31+FA+30+31+33+31+24+
32+33+FA+39+31+24+30+25+24=08EB Hex;
(2)將ASCII碼校驗串“63253”轉(zhuǎn)換為2字節(jié)16進(jìn)制校驗碼CSH=63253 Decimal="耵15" Hex;
(3)不考慮溢出,將校驗和與校驗碼相加Check·Sum+CSH=08EB Hex+F715 Hex="0000" Hex。上式結(jié)果為0,主機可確認(rèn)本次接收數(shù)據(jù)可靠。反之,要求重新發(fā)送。
3結(jié)束語
基于PAC的儲油罐智能節(jié)點已經(jīng)在某數(shù)字化油庫實驗室的模擬儲油罐區(qū)中投入使用。從實際運行情況看,采用PAC的儲油罐智能節(jié)點具有開發(fā)周期短,現(xiàn)場數(shù)據(jù)處理能力強,系統(tǒng)水平和垂直集成難度小的優(yōu)點。
液位計相關(guān)文章:磁翻板液位計原理
評論