化工倉(cāng)儲(chǔ)企業(yè)儲(chǔ)罐數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
化工倉(cāng)儲(chǔ)企業(yè)儲(chǔ)罐數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
化工倉(cāng)儲(chǔ)企業(yè)儲(chǔ)罐數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
化工倉(cāng)儲(chǔ)企業(yè)儲(chǔ)罐數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
化工倉(cāng)儲(chǔ)企業(yè)儲(chǔ)罐數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

化工倉(cāng)儲(chǔ)企業(yè)儲(chǔ)罐數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)孫學(xué)華;錢思宇【摘要】Aimingattheproblemsexistinginchemicalengineeringstorageenterprises,e.g.,variouscategoriesofequipment,informationisolationamongeachproductionunit,andtheproductiondataareunabletobeproperlymeasuredinrealtime,thusthereal-timeofdataacquisitionsystemisdesignedanddeveloped.Byadoptingdifferentdatacommunicationspecification,theproductiondataareobtainedfromvariousheterogeneoussystem,andtransportedandstoredthroughnetworkprotocol,thereal-timeandaccuratemeasurementofthetankyardisimplemented.Sincethesystemhasbeenputtingintooperation,theoperationaleffectisgood,andtheproblemsexistingindataacquisitionofenterprisesisefficientlysolved;thesystemissignificanttoimprovethelevelofinformationtoenterprises.%針對(duì)化工倉(cāng)儲(chǔ)企業(yè)設(shè)備種類較多、各生產(chǎn)單元之間信息孤立、生產(chǎn)數(shù)據(jù)得不到實(shí)時(shí)準(zhǔn)確測(cè)量等問(wèn)題,設(shè)計(jì)開發(fā)了一個(gè)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng).該系統(tǒng)利用不同的數(shù)據(jù)通信規(guī)范,從各種異構(gòu)系統(tǒng)中獲取生產(chǎn)數(shù)據(jù),并通過(guò)網(wǎng)絡(luò)協(xié)議進(jìn)行傳輸存儲(chǔ),實(shí)現(xiàn)了罐區(qū)數(shù)據(jù)的實(shí)時(shí)準(zhǔn)確測(cè)量.該系統(tǒng)自投用以來(lái)運(yùn)行效果良好,有效地解決了企業(yè)數(shù)據(jù)采集過(guò)程中存在的問(wèn)題,對(duì)提高企業(yè)信息化水平具有重要的意義.【期刊名稱】《自動(dòng)化儀表》【年(卷),期】2012(033)005【總頁(yè)數(shù)】4頁(yè)(P28-31)【關(guān)鍵詞】數(shù)據(jù)采集;數(shù)據(jù)通信;實(shí)時(shí)數(shù)據(jù)庫(kù);Modbus;PLC【作者】孫學(xué)華;錢思宇【作者單位】南京工業(yè)大學(xué)電子信息與工程學(xué)院,江蘇南京210009浦京工業(yè)大學(xué)電子信息與工程學(xué)院,江蘇南京210009【正文語(yǔ)種】中文【中圖分類】TP2740引言隨著某化工倉(cāng)儲(chǔ)企業(yè)生產(chǎn)經(jīng)營(yíng)規(guī)模的不斷擴(kuò)大,不同時(shí)期所采用的現(xiàn)場(chǎng)儀表不同往往使得儀表種類越來(lái)越多,需要處理的數(shù)據(jù)量也越來(lái)越大。這些數(shù)據(jù)有的通過(guò)PLC控制系統(tǒng)采集,有的甚至還需要人工抄表和手動(dòng)錄入數(shù)據(jù),這不僅造成了工作效率低下,而且還容易導(dǎo)致各個(gè)生產(chǎn)區(qū)之間的信息彼此孤立,形成一個(gè)個(gè)信息孤島。信息孤島使得企業(yè)的生產(chǎn)管理人員無(wú)法及時(shí)獲知準(zhǔn)確有效的數(shù)據(jù)并及時(shí)做出決策,這在一定程度上影響了企業(yè)的生產(chǎn)運(yùn)營(yíng)。在工業(yè)信息化的大背景下,有必要將各孤立系統(tǒng)的數(shù)據(jù)進(jìn)行集成整合,建立實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng),從而為上層ERP系統(tǒng)及應(yīng)用軟件提供準(zhǔn)確實(shí)時(shí)的數(shù)據(jù)。由于該企業(yè)的大部分儀表還能正常使用,如直接淘汰、更換系統(tǒng)將會(huì)造成很大的資源浪費(fèi)。本文結(jié)合該企業(yè)的數(shù)據(jù)采集改造項(xiàng)目,設(shè)計(jì)實(shí)現(xiàn)了一套對(duì)全廠生產(chǎn)數(shù)據(jù)進(jìn)行集成處理的軟件系統(tǒng)。1系統(tǒng)設(shè)計(jì)罐區(qū)實(shí)時(shí)生產(chǎn)數(shù)據(jù)主要有儲(chǔ)罐液位、溫度和壓力等,這些原始數(shù)據(jù)由現(xiàn)場(chǎng)的液位計(jì)、多點(diǎn)溫度測(cè)量?jī)x、壓力表等獲取。該化工倉(cāng)儲(chǔ)企業(yè)現(xiàn)有一套西門子S7-300PLC控制系統(tǒng)、2臺(tái)AWG-HA型巡檢儀、若干AWG-IB型光電智能液位儀、若干科隆BM100雷達(dá)液位計(jì)、若干帶通信接口的罐旁指示儀和其他一些溫度、壓力、液位傳感器。這些現(xiàn)場(chǎng)測(cè)量?jī)x表有的通過(guò)4~20mA的模擬信號(hào)或通信線接入到PLC控制系統(tǒng)中,有的通過(guò)帶有通信接口的罐旁指示儀或直接接入到巡檢儀(二次表),其他的則未接入任何系統(tǒng)。根據(jù)現(xiàn)有系統(tǒng)設(shè)備的特點(diǎn),數(shù)據(jù)采集軟件需實(shí)現(xiàn)以下3個(gè)功能:與PLC控制系統(tǒng)通信并采集數(shù)據(jù)、從巡檢儀中采集數(shù)據(jù)、直接與現(xiàn)場(chǎng)表通信并采集數(shù)據(jù)。整個(gè)數(shù)據(jù)采集系統(tǒng)以數(shù)據(jù)采集為中心,在一臺(tái)工控機(jī)上運(yùn)行數(shù)據(jù)采集程序;從底層采集各部分原始數(shù)據(jù),根據(jù)相應(yīng)的計(jì)算標(biāo)準(zhǔn)計(jì)算體積、儲(chǔ)量等;并通過(guò)網(wǎng)絡(luò)通信協(xié)議將數(shù)據(jù)轉(zhuǎn)存到數(shù)據(jù)服務(wù)器。這些數(shù)據(jù)作為歷史數(shù)據(jù)存入關(guān)系數(shù)據(jù)庫(kù),為上層的應(yīng)用提供數(shù)據(jù)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。圖1系統(tǒng)結(jié)構(gòu)圖Fig.1Structureofthesystem2數(shù)據(jù)通信由于系統(tǒng)中的設(shè)備類型各不相同,它們各自具有不同的通信協(xié)議,因此,數(shù)據(jù)采集程序必須遵循相應(yīng)的通信規(guī)范才能從各種設(shè)備中讀到數(shù)據(jù)。本系統(tǒng)數(shù)據(jù)通信解決方案如下。與PLC控制系統(tǒng)的通信采用OPC協(xié)議。OPC是過(guò)程控制數(shù)據(jù)采集的標(biāo)準(zhǔn),為目前主流的組態(tài)軟件所遵循[1]。西門子的上位機(jī)軟件支持OPC標(biāo)準(zhǔn),并提供OPCServer服務(wù),即只要在客戶端開發(fā)OPCClient,就可請(qǐng)求到存放在OPCServer中的過(guò)程數(shù)據(jù)[2]。由于OPC標(biāo)準(zhǔn)被大多數(shù)自動(dòng)化廠家所采用,所以部分底層數(shù)據(jù)采集設(shè)備也支持OPC。在通信軟件中開發(fā)OPCServer程序,將硬件設(shè)備作為OPC的數(shù)據(jù)源,可直接從底層采集設(shè)備中獲取過(guò)程數(shù)據(jù)值。與巡檢儀及部分現(xiàn)場(chǎng)儀表的通信采用Modbus協(xié)議。巡檢儀及大部分現(xiàn)場(chǎng)設(shè)備都支持目前工業(yè)領(lǐng)域最流行的通信協(xié)議之一的Modbus。通過(guò)工控機(jī)串口與它們提供的接口相連,即可進(jìn)行主從方式通信。部分不支持通信的采集設(shè)備,可將數(shù)值轉(zhuǎn)換為4~20mA模擬信號(hào),接入到PLC控制系統(tǒng)中,再通過(guò)OPC方式采集。由于OPC服務(wù)器很難穿過(guò)防火墻進(jìn)行數(shù)據(jù)傳輸,所以采集程序與數(shù)據(jù)服務(wù)器及上層應(yīng)用軟件之間通過(guò)UDP協(xié)議交換數(shù)據(jù)[3]。通過(guò)該解決方案,所有的數(shù)據(jù)都能接入到采集系統(tǒng),并進(jìn)行實(shí)時(shí)準(zhǔn)確測(cè)量。3系統(tǒng)實(shí)現(xiàn)主程序分為Modbus通信模塊、OPC通信模塊、UDP通信模塊和數(shù)據(jù)計(jì)算模塊。程序采用多線程技術(shù),將各種數(shù)據(jù)的接收和發(fā)送放在優(yōu)先級(jí)較高的線程中。在數(shù)據(jù)收發(fā)期間,數(shù)據(jù)的計(jì)算處理并不影響主程序的運(yùn)行。此外,在程序中采用全局內(nèi)存存放實(shí)時(shí)采集的數(shù)據(jù),以便于數(shù)據(jù)的快速存取交換。系統(tǒng)主要程序基于VC++實(shí)現(xiàn)。3.1Modbus通信模塊Modbus協(xié)議包括ASCII、RTU(遠(yuǎn)程終端單元)、TCP等工作模式,本系統(tǒng)采用較高數(shù)據(jù)傳送密度的RTU通信模式。在該模式下,數(shù)據(jù)通信一般采用主從方式,主機(jī)向從設(shè)備發(fā)出請(qǐng)求消息;從設(shè)備接收到正確消息后就可以發(fā)送數(shù)據(jù)到主機(jī),以響應(yīng)請(qǐng)求[4]。ModbusRTU消息幀結(jié)構(gòu)如圖2所示,其中,T1-T2-T3-T4為不小于3.5個(gè)字符時(shí)間的停頓間隔。圖2ModbusRTU消息幀結(jié)構(gòu)Fig.2StructureofthemessageframeofModbusRTUModbus協(xié)議需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。串行協(xié)議中除有奇偶校驗(yàn)外,RTU模式還采用16位CRC(循環(huán)冗長(zhǎng)檢測(cè))校驗(yàn)。CRC的生成流程具體如下。①預(yù)置一個(gè)16位寄存器為0FFFFH(全1),即為CRC寄存器。把數(shù)據(jù)幀中的第一個(gè)字節(jié)的8位與CRC寄存器中的低字節(jié)進(jìn)行異或運(yùn)算,結(jié)果存入。日。寄存器。將CRC寄存器向右移一位,最高位填以0,最低位移出并檢測(cè)其值。如果最低位為0,則進(jìn)行下一次移位;如果最低位為1,將CRC寄存器與一個(gè)0A001H進(jìn)行異或運(yùn)算。重復(fù)步驟③~步驟④,直到8次移位,這樣就處理完了一個(gè)完整的8位數(shù)據(jù)。處理下一個(gè)8位數(shù)據(jù),直到所有的字節(jié)處理結(jié)束,最終CRC寄存器的值就是CRC的值。3.2OPC通信模塊OPC服務(wù)器由服務(wù)器、組和數(shù)據(jù)項(xiàng)這3類對(duì)象組成[5]。服務(wù)器對(duì)象具有服務(wù)器的所有信息,同時(shí)也是組對(duì)象的容器。組對(duì)象具有本組的所有信息,同時(shí)包容數(shù)據(jù)項(xiàng)。項(xiàng)對(duì)象是讀寫數(shù)據(jù)的最小邏輯單位,項(xiàng)與具體的位號(hào)相連[6]。OPC服務(wù)器支持自動(dòng)化接口和定制接口兩種訪問(wèn)接口。OPCClient的具體開發(fā)流程如下。初始化COM庫(kù),當(dāng)需要調(diào)用COM庫(kù)時(shí),需使用CoInitializeEx()來(lái)為當(dāng)前線程初始化COM庫(kù)[7]。CoInitializeEx()提供了一個(gè)讓用戶可以選擇多線程模式還是單線程模式的參數(shù)。通過(guò)OPC服務(wù)器的ProgID查詢CLSID,通過(guò)給定的ProgID,采用CLSIDFromProgID()函數(shù)從注冊(cè)表中查找出對(duì)應(yīng)的類標(biāo)符。③創(chuàng)建OPC服務(wù)器對(duì)象,并查詢OPC服務(wù)器對(duì)象的IOPCServer接口。通過(guò)調(diào)用CoCreateInstanceEx()函數(shù),不僅可以在本機(jī)中創(chuàng)建COM對(duì)象并得到一個(gè)接口指針,還可以實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)。將MULTI_QI結(jié)構(gòu)體數(shù)組中指向IOPCServer接口的元素賦值給變量m_pIServer,以獲取lOPCServer接口,進(jìn)而可以使用該接口完成對(duì)組對(duì)象進(jìn)行創(chuàng)建、刪除、枚舉和獲取當(dāng)前狀態(tài)等操作。添加OPC組對(duì)象,并查詢IOPCItemMgt接口,通過(guò)IOPCServer接口的AddGroup()方法添加組對(duì)象,它將返回一個(gè)指向OPC組對(duì)象IUnknown的指針。通過(guò)IUnknown的QueryInterface方法可獲得OPC組對(duì)象的IOPCItemMgt接口指針,進(jìn)而可以使用該接口完成對(duì)各項(xiàng)進(jìn)行添加、刪除和設(shè)置參數(shù)等操作。添加項(xiàng):為保存項(xiàng)的相關(guān)屬性值的結(jié)構(gòu)體數(shù)組進(jìn)行賦值。以該結(jié)構(gòu)體數(shù)組為參數(shù),用IOPCItemMgt接口的AddItem()方法添加項(xiàng)。同步讀寫:通過(guò)IUnknown的QueryInterface方法,獲得OPC組對(duì)象的IOPCSyncIO接口指針。采用IOPCSyncIO接口的Read()方法,完成同步讀操作。采用IOPCSyncIO接口的Write()方法,完成同步寫操作。釋放:在程序關(guān)閉之前,需要?jiǎng)h除已創(chuàng)建的OPC對(duì)象并釋放內(nèi)存。首先刪除以下項(xiàng):接著釋放OPC組對(duì)象的IOPCItemMgt接口和IOPCSyncIO接口,然后刪除OPC組對(duì)象:調(diào)用服務(wù)器對(duì)象m_pIServer的RemoveGroup()方法,刪除OPC組對(duì)象,再調(diào)用Release()釋放服務(wù)器資源,最后關(guān)閉COM庫(kù)。3.3UDP通信模塊用戶數(shù)據(jù)報(bào)協(xié)議(userdataprotocol,UDP)是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)包的傳輸層協(xié)議[8],它所提供的是非面向連接的、不可靠的數(shù)據(jù)流傳輸。UDP不提供報(bào)文到達(dá)確認(rèn)、排序、可靠以及流量控制等功能;它只是將應(yīng)用程序傳遞給IP層的數(shù)據(jù)報(bào)發(fā)送出去,但是并不能保證它們能到達(dá)目的地[9]。由于UDP在傳輸數(shù)據(jù)報(bào)前不用在客戶和服務(wù)器之間建立一個(gè)連接,且沒有超時(shí)重發(fā)等機(jī)制,因此,其傳輸速度更快。UDP數(shù)據(jù)通信格式和數(shù)據(jù)結(jié)構(gòu)定義如下。UDP請(qǐng)求數(shù)據(jù)報(bào)格式如圖3所示。圖3UDP請(qǐng)求數(shù)據(jù)報(bào)格式Fig.3RequestdatagramformatofUDP其中,起始符為字符"#”,ASCII碼為35(十進(jìn)制);結(jié)束符為回車符,ASCII碼為13;請(qǐng)求位號(hào)長(zhǎng)度為10B,為固定長(zhǎng)度,位號(hào)不足10B的用空格符補(bǔ)充。定義一個(gè)UDP請(qǐng)求數(shù)據(jù)報(bào)可同時(shí)打包不超過(guò)30個(gè)位號(hào)。UDP應(yīng)答數(shù)據(jù)報(bào)格式如圖4所示。圖4UDP應(yīng)答數(shù)據(jù)報(bào)格式Fig.4ResponsedatagramformatofUDP其中,起始符為字符“!”,ASCII碼為33(十進(jìn)制);結(jié)束符為回車符,ASCII碼為13;應(yīng)答位號(hào)長(zhǎng)度為10B,為固定長(zhǎng)度,位號(hào)不足10B的用空格符補(bǔ)充;返回值長(zhǎng)度為20B,為固定長(zhǎng)度,數(shù)據(jù)不足20B的用空格符補(bǔ)充;連接符、位號(hào)與數(shù)據(jù)之間用“=”號(hào)連接,ASCII碼為61。定義一個(gè)UDP應(yīng)答數(shù)據(jù)報(bào)可同時(shí)打包不超過(guò)30個(gè)位號(hào)的數(shù)據(jù),數(shù)據(jù)報(bào)總長(zhǎng)度不超過(guò)990B。本系統(tǒng)在MFC中使用CSocket類實(shí)現(xiàn)UDP通信。CSocket是對(duì)WinSockAPI的封裝,用于管理通信,使得用戶可以直接避免調(diào)用API函數(shù),數(shù)據(jù)的收發(fā)也因此變得簡(jiǎn)單。程序?qū)崿F(xiàn)時(shí),系統(tǒng)分別構(gòu)造服務(wù)器和客戶端套接字對(duì)象,調(diào)用套接字對(duì)象的Creat()成員函數(shù)初始化套接字。調(diào)用CSocket類的重載函數(shù)OnReceive()響應(yīng)接收事件;調(diào)用ReceiveFrom(lpBuf,bufLen,RemoteIP,RemotePort,0)接收數(shù)據(jù)報(bào),并按照協(xié)議格式將數(shù)據(jù)從數(shù)據(jù)報(bào)中取出。按照通信協(xié)議將需要發(fā)送的數(shù)據(jù)打包,并調(diào)用SendTo(lpBuf,SendStrLen,RemotePort,RemotelP,0)發(fā)送數(shù)據(jù)報(bào)。4關(guān)于實(shí)時(shí)數(shù)據(jù)庫(kù)的探討該套數(shù)據(jù)采集軟件的設(shè)計(jì)與實(shí)現(xiàn),實(shí)際上為企業(yè)構(gòu)建了一個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)。程序中采用全局內(nèi)存共享技術(shù)對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行存取,并采用內(nèi)存、文件管理、關(guān)系數(shù)據(jù)庫(kù)相結(jié)合的數(shù)據(jù)存儲(chǔ)策略,使系統(tǒng)在響應(yīng)速度、實(shí)時(shí)數(shù)據(jù)的共享性和時(shí)間一致性方面初步滿足了實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的定義要求[10]。5結(jié)束語(yǔ)系統(tǒng)自投用以來(lái)運(yùn)行正常,效果良好,不僅解決了在生產(chǎn)數(shù)據(jù)管理過(guò)程中存在的問(wèn)題,而且節(jié)省了購(gòu)買SCADA硬件、軟件系統(tǒng)的大筆費(fèi)用。同時(shí),避免了大量仍能使用的儀表設(shè)備的淘汰棄置,具有一定的經(jīng)濟(jì)效益。參考文獻(xiàn)[1]蔣近,段斌.基于OPC技術(shù)的監(jiān)控主站實(shí)時(shí)數(shù)據(jù)傳輸[J].電力自動(dòng)化設(shè)備,,28(9):97-100.[2]西門子(中國(guó))有限公司自動(dòng)化與驅(qū)動(dòng)集團(tuán).深入淺出西門子S7-300PLC[M].北京:北京航空航天大學(xué)出版社,2004.牛丹丹,孫學(xué)華.貯油罐存量管理系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,,26(7):165-167.邊凌燕.基于CP341模塊的MODBUS協(xié)議免驅(qū)動(dòng)應(yīng)用[J].電氣傳動(dòng),2009,39(2):72-75.[5]李世學(xué),王小進(jìn),余光洪.OPC技術(shù)及其在SCADA系統(tǒng)中的應(yīng)用[J].船電技術(shù),2010,30(3)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論