>>
Uniformance實(shí)時(shí)數(shù)據(jù)庫(kù)在實(shí)現(xiàn)生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)上網(wǎng)的應(yīng)用
Uniformance實(shí)時(shí)數(shù)據(jù)庫(kù)在實(shí)現(xiàn)生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)上網(wǎng)的應(yīng)用
2007/8/2 10:01:00
1 前言 隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及,以及我廠管控一體化一期工程的實(shí)施,光纖鋪設(shè)到了各主要生產(chǎn)裝置,為生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)上網(wǎng)創(chuàng)造了條件。廠領(lǐng)導(dǎo)以及生產(chǎn)管理人員要能方便、快捷、實(shí)時(shí)動(dòng)態(tài)地了解各生產(chǎn)裝置的生產(chǎn)情況,就需要將生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)傳至網(wǎng)上。各生產(chǎn)裝置的生產(chǎn)實(shí)時(shí)數(shù)據(jù)傳至網(wǎng)上的橋梁是實(shí)時(shí)數(shù)據(jù)庫(kù),實(shí)時(shí)數(shù)據(jù)庫(kù)是流程工業(yè)的基礎(chǔ)數(shù)據(jù)平臺(tái),也是CIMS(計(jì)算機(jī)集成制造系統(tǒng))系統(tǒng)開(kāi)發(fā)與應(yīng)用的理想平臺(tái)。我們選用美國(guó)Honeywell公司的Uniformance作為實(shí)時(shí)數(shù)據(jù)庫(kù)平臺(tái)。 2 Uniformance實(shí)時(shí)數(shù)據(jù)庫(kù) 2.1 Uniformance簡(jiǎn)介 Uniformance 為全廠范圍數(shù)據(jù)采集、存儲(chǔ)和管理建立了一整套單一、開(kāi)放、集成的體系結(jié)構(gòu),開(kāi)放型數(shù)據(jù)庫(kù)系統(tǒng)集成所有工廠數(shù)據(jù)、商務(wù)數(shù)據(jù)并支持相關(guān)應(yīng)用,這種全廠范圍內(nèi)的數(shù)據(jù)庫(kù)結(jié)構(gòu)可保障工廠的管理部門使用一致的數(shù)據(jù);Uniformance 系統(tǒng)是一套非常全面并且有效的工廠或企業(yè)管理的解決方案,其提供的一整套可產(chǎn)生高附加值的商業(yè)應(yīng)用,能從實(shí)時(shí)過(guò)程或關(guān)系型數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),并將其轉(zhuǎn)化成有價(jià)值的商業(yè)數(shù)據(jù)信息; Uniformance 將實(shí)時(shí)、歷史數(shù)據(jù)和商務(wù)數(shù)據(jù)集成在一起,以滿足高級(jí)控制、優(yōu)化和商務(wù)應(yīng)用的需求,數(shù)據(jù)庫(kù)中的通用數(shù)據(jù)模式關(guān)聯(lián)實(shí)時(shí)數(shù)據(jù)和事件數(shù)據(jù),從而將企業(yè)資產(chǎn)管理和生產(chǎn)管理相關(guān)聯(lián),真正改進(jìn)企業(yè)的運(yùn)作,使系統(tǒng)的運(yùn)行更加方便、快捷和低成本,從而提高企業(yè)的性能。Uniformance Database System 包括以下三個(gè)部分:Plant History Database (PHD)——用于采集和存儲(chǔ)工廠的歷史數(shù)據(jù);Plant Reference Model (PRM)——用于存儲(chǔ)組態(tài)和參考數(shù)據(jù);Uniformance Desktop——用于和Uniformance 進(jìn)行交互。Uniformance又稱PHD。 2.2 PHD的軟件結(jié)構(gòu) PHD的軟件結(jié)構(gòu)是一個(gè)典型的客戶/服務(wù)器結(jié)構(gòu),即整個(gè)PHD數(shù)據(jù)庫(kù)由PHD服務(wù)器和PHD客戶端兩大部分組成。PHD服務(wù)器又由PHD管理系統(tǒng)、PHDMAN、RDI(Real-time Data Interface)、歷史數(shù)據(jù)庫(kù)以及Oracle數(shù)據(jù)庫(kù)組成。PHD客戶端可根據(jù)用戶的需求,利用PHD服務(wù)器的PHD管理系統(tǒng)提供的若干標(biāo)準(zhǔn)C語(yǔ)言格式的API函數(shù),可開(kāi)發(fā)適合用戶需求的各種接口應(yīng)用程序。PHD的軟件結(jié)構(gòu)如圖1。 (1) PHD管理系統(tǒng) PHD管理系統(tǒng)接受來(lái)自RDI采集的實(shí)時(shí)數(shù)據(jù),并將數(shù)據(jù)經(jīng)處理后存入數(shù)據(jù)隊(duì)列。PHD管理系統(tǒng)保存和管理來(lái)自O(shè)racle數(shù)據(jù)庫(kù)的映象,如“位號(hào)定義”、“安全保密”。以對(duì)位號(hào)定義和數(shù)據(jù)庫(kù)安全系統(tǒng)進(jìn)行有效的管理。PHD管理系統(tǒng)支持幾十種API函數(shù),API函數(shù)是用標(biāo)準(zhǔn)的C語(yǔ)言格式寫成的,按其功能的不同可分為實(shí)時(shí)數(shù)據(jù)庫(kù)管理、實(shí)時(shí)數(shù)據(jù)存取、應(yīng)用程序管理和先進(jìn)控制應(yīng)用管理等類別,通過(guò)API函數(shù)可訪問(wèn)到PHD中的實(shí)時(shí)數(shù)據(jù)。 (2) PHDMAN PHDMAN是一種工具軟件,具有監(jiān)視PHD各部分的工作情況和強(qiáng)制PHD執(zhí)行某些命令的功能,供實(shí)時(shí)數(shù)據(jù)庫(kù)管理員了解PHD運(yùn)行情況。 (3) Oracle數(shù)據(jù)庫(kù) 在PHD系統(tǒng)中,所有的位號(hào)定義,工廠數(shù)據(jù)模型以及事件等關(guān)系型的數(shù)據(jù)都存放在Oracle關(guān)系數(shù)據(jù)庫(kù)中。實(shí)時(shí)數(shù)據(jù)庫(kù)將通過(guò)32位ODBC/SQLNET訪問(wèn)關(guān)系數(shù)據(jù)庫(kù),而在PHD服務(wù)器的共享內(nèi)存中保存了有關(guān)的映象。 (4) 歷史數(shù)據(jù)庫(kù) 經(jīng)數(shù)據(jù)壓縮和處理后的實(shí)時(shí)數(shù)據(jù)存放在數(shù)據(jù)隊(duì)列中,再由數(shù)據(jù)歸檔進(jìn)程定時(shí)將其轉(zhuǎn)到磁盤文件中存放,這些文件組成了歷史數(shù)據(jù)庫(kù)。 (5) RDI 在PHD中,RDI是PHD與外界交換數(shù)據(jù)的橋梁,一個(gè)PHD服務(wù)器可以連接多個(gè)RDI,每一個(gè)RDI將與DCS實(shí)時(shí)數(shù)據(jù)系統(tǒng)相連。 3 我廠DCS現(xiàn)狀及數(shù)據(jù)采集方式 目前,我廠共有DCS系統(tǒng)十余套,具有良好的開(kāi)放性,能為數(shù)據(jù)采集提供平臺(tái)的DCS主要有:ABB公司的Advant500、Freelance2000,日本橫河公司的CS3000,浙大中控公司的JX300,北京和利時(shí)公司的SmartPro。其中JX300、SmartPro系統(tǒng)都需要從廠家購(gòu)買第三方OPC服務(wù)器軟件;CS3000系統(tǒng)需廠家提供ACG(先進(jìn)通信網(wǎng)關(guān))硬件接口卡,數(shù)采節(jié)點(diǎn)機(jī)與V-net網(wǎng)上的網(wǎng)關(guān)ACG相連,通過(guò)ACG采集生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù);ABB的Advant500和Freelance2000系統(tǒng),在不購(gòu)買任何組件的情況下,就可用ODBC方式通過(guò)信息管理站訪問(wèn)控制器和通過(guò)OPC Server得到生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)。本文僅以Advant500系統(tǒng)的ODBC方式為例闡述生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)如何傳到網(wǎng)上的過(guò)程。各DCS系統(tǒng)所在裝置以及采用何種數(shù)據(jù)采集方式分別列于表1中。 4 Advant500系統(tǒng) Advant500系統(tǒng)由工程師站、操作員站、信息管理站和控制器站組成。工程師站主要完成數(shù)據(jù)庫(kù)組態(tài),操作員站主要用于裝置操作人員對(duì)生產(chǎn)過(guò)程進(jìn)行實(shí)時(shí)監(jiān)控,信息管理站主要用于存儲(chǔ)和管理生產(chǎn)過(guò)程歷史數(shù)據(jù),控制器站主要完成生產(chǎn)過(guò)程數(shù)據(jù)的實(shí)時(shí)處理功能。各站之間通過(guò)控制網(wǎng)絡(luò)DCN(Distributed Communication Network)——分布式通訊網(wǎng)絡(luò)連接起來(lái)構(gòu)成環(huán)網(wǎng),每個(gè)站作為一個(gè)節(jié)點(diǎn)通過(guò)TC530 T-BOX連接到DCN環(huán)上, 每個(gè)結(jié)點(diǎn)上都運(yùn)行著Advant 500系統(tǒng)全局性數(shù)據(jù)庫(kù)的一部分。工程師站、操作員站或信息管理站與控制器交互數(shù)據(jù)要通過(guò)DCN控制網(wǎng)絡(luò)。工程師站、操作員站和信息管理站之間可通過(guò)RJ45頭雙絞線或同軸電纜連接起來(lái)形成TCP/IP上層局域網(wǎng)絡(luò),通過(guò)局域網(wǎng)絡(luò)可在各站之間進(jìn)行圖形和環(huán)境的傳遞、文件傳輸,外部計(jì)算機(jī)也可通過(guò)局域網(wǎng)絡(luò)訪問(wèn)到工程師站、操作員站和信息管理站,以實(shí)現(xiàn)X終端通訊或SQL數(shù)據(jù)訪問(wèn)。外部應(yīng)用程序要能從控制器中讀取數(shù)據(jù),必須通過(guò)信息管理站。 信息管理站裝有負(fù)責(zé)數(shù)據(jù)采集與處理的信息管理軟件包AdvaInform,該軟件包基于開(kāi)放系統(tǒng)的標(biāo)準(zhǔn),包括歷史組態(tài)軟件、報(bào)表軟件和AdvaInform SQL *ACCESS軟件等部分。AdvaInform SQL *ACCESS軟件基于Oracle的開(kāi)放網(wǎng)關(guān)技術(shù),通過(guò)ODBC方式利用標(biāo)準(zhǔn)的SQL查詢語(yǔ)句可獲取控制器中的過(guò)程實(shí)時(shí)數(shù)據(jù)和信息管理站上的歷史數(shù)據(jù),查詢過(guò)程中只需通過(guò)數(shù)據(jù)庫(kù)中組態(tài)的位號(hào),而不必知道數(shù)據(jù)的實(shí)際物理地址。外部應(yīng)用程序訪問(wèn)控制系統(tǒng)的數(shù)據(jù)流如圖2。 5 Advant500系統(tǒng)生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)上網(wǎng)的實(shí)現(xiàn) Advant500系統(tǒng)DCS生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)通過(guò)數(shù)據(jù)采集服務(wù)器上的PHD Server采集到PHD實(shí)時(shí)數(shù)據(jù)庫(kù)中,并由PHD Server將這些采集進(jìn)來(lái)的DCS數(shù)據(jù)管理起來(lái)。為方便二次開(kāi)發(fā)或信息管理,需要將PHD中的生產(chǎn)實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)存到Oracle8I關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)表中。然后將轉(zhuǎn)存到Oracle8I關(guān)系數(shù)據(jù)庫(kù)中的生產(chǎn)實(shí)時(shí)數(shù)據(jù)利用ASP技術(shù)開(kāi)發(fā)動(dòng)態(tài)流程圖網(wǎng)頁(yè),這樣,生產(chǎn)實(shí)時(shí)數(shù)據(jù)就發(fā)布到了網(wǎng)上。需要了解裝置生產(chǎn)的人員都可通過(guò)網(wǎng)絡(luò)訪問(wèn)到動(dòng)態(tài)流程圖網(wǎng)頁(yè)以便實(shí)時(shí)掌握裝置生產(chǎn)情況。為便于闡明生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)如何發(fā)布到網(wǎng)上,分以下三部分來(lái)說(shuō)明實(shí)現(xiàn)過(guò)程。Advant500系統(tǒng)生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)如何傳到網(wǎng)上的實(shí)現(xiàn)結(jié)構(gòu)圖如圖3所示。 5.1 生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)從Advant500系統(tǒng)到PHD PHD Server的RDI將DCS的生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)采集到PHD中,RDI又有本地RDI和遠(yuǎn)程RDI之分,本地RDI指PHD Server和RDI在同一臺(tái)計(jì)算機(jī)上,而遠(yuǎn)程RDI指PHD Server和RDI在兩臺(tái)計(jì)算機(jī)上,PHD Server和遠(yuǎn)程RDI之間通過(guò)TCP/IP交換數(shù)據(jù)。采用哪種類型的RDI根據(jù)具體要求而定,在本實(shí)現(xiàn)中選用本地RDI。 RDI接口程序的開(kāi)發(fā)選用C語(yǔ)言,一方面:C語(yǔ)言編寫的程序生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行的效率高;另一方面:Honeywell公司提供了一個(gè)RDI Toolkit的開(kāi)發(fā)工具,它是一個(gè)包含了軟件模板、庫(kù)文件(lib,dll)、定義文件(h,rc)等的程序框架,用戶要做的工作就是修改這個(gè)RDI Toolkit的各個(gè)函數(shù),加入數(shù)據(jù)采集的程序,就可得到一個(gè)新的RDI,這個(gè)新的RDI實(shí)現(xiàn)從Advant500系統(tǒng)采集生產(chǎn)過(guò)程實(shí)時(shí)數(shù)據(jù)。 RDI接口程序主要實(shí)現(xiàn)代碼如下: SQLConnect(hdbc,datasourcename,dslen,username,unamelen,password,pwlen); SQLExecDirect(hstmt, (UCHAR FAR *) select NAME,MEASURE from CCF_CONTIN_LOOP where NAME=tag, SQL_NTS); SQLBindCol(hstmt, 1, SQL_C_CHAR, name, STRING_LEN, &cbLenC); SQLBindCol(hstmt, 2, SQL_C_FLOAT, & datavalue, 0, &cbLenL); SQLFetch(hstmt); rditag->value.f = datavalue; RDI接口程序開(kāi)發(fā)完成后,還必須在PHD Server中對(duì)需要從Advant500 DCS采集的位號(hào)進(jìn)行點(diǎn)的組態(tài),在點(diǎn)的定義時(shí),需指明從DCS采樣的周期、DCS的位號(hào)。一旦PHD Server運(yùn)行起來(lái)后,PHD Server將已定義的DCS位號(hào)按預(yù)設(shè)的采樣周期傳遞給RDI,RDI接收到DCS位號(hào)后按照編寫好的數(shù)據(jù)采集接口程序采集DCS數(shù)據(jù),將采集上來(lái)的DCS數(shù)據(jù)傳回到PHD Server的內(nèi)存隊(duì)列中,這樣周期性地進(jìn)行。并按照一定的歸檔時(shí)間,將內(nèi)存數(shù)據(jù)歸檔到歸檔文件存入硬盤中,形成歷史數(shù)據(jù)庫(kù)。 5.2 PHD中的數(shù)據(jù)轉(zhuǎn)存到Oracle8I數(shù)據(jù)庫(kù)中的數(shù)據(jù)表 利用PHD Server提供的‘C’API函數(shù),可以編寫C程序周期性地讀取PHD Server中的內(nèi)存隊(duì)列數(shù)據(jù),將需要讀取數(shù)據(jù)的位號(hào)放入tagnum數(shù)組中,將讀取出來(lái)的對(duì)應(yīng)的該位號(hào)的數(shù)據(jù)放入phdgetdata數(shù)組中,供將數(shù)據(jù)轉(zhuǎn)存到Oracle8I關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)表時(shí)利用。讀取數(shù)據(jù)的主要代碼如下: phd_getdata (tagnum[i], "NOW", "NOW",4 , &vr_spec, &pr_data, NULL); phdgetdata[i] = pr_data->fval[0]; 在Oracle8I關(guān)系數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表,創(chuàng)建表的語(yǔ)句如下:create table reactor(tag varchar2(20),value varchar2(20)),按此方法,直至建立好所有數(shù)據(jù)表。 用C語(yǔ)言開(kāi)發(fā)數(shù)據(jù)轉(zhuǎn)存程序,利用已經(jīng)從PHD中讀出的數(shù)據(jù),將這些數(shù)據(jù)周期性寫入到已經(jīng)創(chuàng)建好的Oracle8I關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。寫數(shù)據(jù)表的主要程序代碼如下: sprintf(tagvalue,"%8.2f",phdgetdata[i]); SQLAllocStmt(hdbc, &hstmt); SQLExecDirect(hstmt, (U
提交
查看更多評(píng)論
其他資訊
50萬(wàn)噸催化柴油加氫裝置及機(jī)組ESD緊急停車系統(tǒng)
著力提高煉油自動(dòng)化水平,打造精品數(shù)字化煉廠
先進(jìn)控制技術(shù)在重疊式兩段再生催化裂化裝置的應(yīng)用
催化裂化先進(jìn)控制反再部分在線工藝計(jì)算的參數(shù)估計(jì)
80萬(wàn)噸重油催化裂化機(jī)組控制及變工況運(yùn)行分析