工控網(wǎng)首頁
>

應(yīng)用設(shè)計(jì)

>

Uniformance實(shí)時數(shù)據(jù)庫在實(shí)現(xiàn)生產(chǎn)過程實(shí)時數(shù)據(jù)上網(wǎng)的應(yīng)用

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

提交

查看更多評論
其他資訊

查看更多

50萬噸催化柴油加氫裝置及機(jī)組ESD緊急停車系統(tǒng)

著力提高煉油自動化水平,打造精品數(shù)字化煉廠

先進(jìn)控制技術(shù)在重疊式兩段再生催化裂化裝置的應(yīng)用

催化裂化先進(jìn)控制反再部分在線工藝計(jì)算的參數(shù)估計(jì)

80萬噸重油催化裂化機(jī)組控制及變工況運(yùn)行分析