基于OPC通訊的報表管理系統(tǒng)的開發(fā)與應(yīng)用_第1頁
基于OPC通訊的報表管理系統(tǒng)的開發(fā)與應(yīng)用_第2頁
基于OPC通訊的報表管理系統(tǒng)的開發(fā)與應(yīng)用_第3頁
基于OPC通訊的報表管理系統(tǒng)的開發(fā)與應(yīng)用_第4頁
基于OPC通訊的報表管理系統(tǒng)的開發(fā)與應(yīng)用_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、 基于OPC通訊的報表管理系統(tǒng)的開發(fā)與應(yīng)用 任玉輝 鄒修鐵摘 要:目前,DCS系統(tǒng)已經(jīng)在工業(yè)控制領(lǐng)域被廣泛應(yīng)用,大大提高了工業(yè)控制的自動化水平,但是DCS系統(tǒng)給出的是實時數(shù)據(jù),如何快速及時地采集這些實時數(shù)據(jù)將其存儲,形成歷史數(shù)據(jù)并作為管理人員進(jìn)行考核評比的標(biāo)準(zhǔn),成為擺在管理人員面前的一個問題。通過OPC技術(shù)與DCS系統(tǒng)通訊實現(xiàn)數(shù)據(jù)采集,使用數(shù)據(jù)庫完成對數(shù)據(jù)的存儲,開發(fā)報表系統(tǒng)能夠很好的解決這一問題。基于此,本文結(jié)合OPC通訊技術(shù),詳細(xì)介紹了某燒結(jié)廠報表系統(tǒng)的開發(fā)與應(yīng)用過程。Key:OPC;燒結(jié);報表1.引言隨著燒結(jié)工業(yè)生產(chǎn)規(guī)模的擴(kuò)大和對產(chǎn)品質(zhì)量的要求的不斷提高,如何高效準(zhǔn)確的完成對燒結(jié)過程的管

2、理考核,成為了擺在管理人員面前的一個問題。目前,各個燒結(jié)廠管理人員只能通過定時的人工抄寫各項指標(biāo)值,再一項一項的錄入到EXCEL表格中,通過一系列的計算,形成生產(chǎn)報表,完成考核。這種方式不僅繁瑣,而且很大程度上依賴人工操作,缺乏可靠性和準(zhǔn)確性。因此,開發(fā)能夠與DCS系統(tǒng)通訊高效準(zhǔn)確地生成生產(chǎn)管理報表的報表系統(tǒng)就顯得尤為重要。本文提出的基于OPC通訊技術(shù)的報表管理系統(tǒng)是根據(jù)某燒結(jié)廠的需求完成開發(fā)的。系統(tǒng)的數(shù)據(jù)處理層通過采集模塊完成對DCS系統(tǒng)指定數(shù)據(jù)的采集,并將數(shù)據(jù)存儲在數(shù)據(jù)庫服務(wù)器中,數(shù)據(jù)庫服務(wù)器完成對歷史的數(shù)據(jù)的抽取挖掘,形成報表所需要的數(shù)據(jù),系統(tǒng)客戶端通過與數(shù)據(jù)庫服務(wù)器通訊,生成所需要的報

3、表。2.相關(guān)技術(shù)介紹系統(tǒng)是基于OPC通訊技術(shù)來完成開發(fā)的。OPC(OLE for Process Control, 用于過程控制的OLE)是一個工業(yè)標(biāo)準(zhǔn),它基于微軟的OLE(現(xiàn)在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù),包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動化系統(tǒng)。OPC數(shù)據(jù)訪問主要由服務(wù)器對象、組對象、和項對象組成:(1) OPC Server(服務(wù)器):OPC啟動服務(wù)器,獲得其它對象和服務(wù)的起始類,并用于返回OPC Group類對象,可以動態(tài)創(chuàng)建和釋放組對象;(2) OPC Group(組):存儲由若干OPC Item組成的

4、Group信息,并用于返回OPC Item類對象。(3) OPC Item(項):存儲具體Item 的定義、數(shù)據(jù)值、狀態(tài)值等信息。每個OPC項代表了OPC服務(wù)器到數(shù)據(jù)源的一個物理連接。數(shù)據(jù)項是讀寫數(shù)據(jù)的最小邏輯單位。OPC項不可以由OPC客戶直接操作,所有對OPC項的操作都是通過包含該項的OPC組進(jìn)行的。OPC服務(wù)器對象和組對象是聚合關(guān)系,即OPC服務(wù)器對象產(chǎn)生OPC組對象后,將組對象的指針傳遞給客戶,由客戶之間操作對象。這樣既提高了數(shù)據(jù)存取的速度,也易于功能擴(kuò)展,體現(xiàn)了組件軟件的重用性。3.系統(tǒng)的開發(fā)與應(yīng)用系統(tǒng)以VS2005為開發(fā)平臺,ORACLE作為數(shù)據(jù)庫服務(wù)器,采用了基于三層結(jié)構(gòu)的多層架

5、構(gòu)開發(fā)模式,結(jié)合OPC通訊技術(shù)完成與DCS系統(tǒng)的通訊。系統(tǒng)結(jié)構(gòu)圖如圖3-1所示:3-1系統(tǒng)結(jié)構(gòu)圖3.1 數(shù)據(jù)采集模塊為了增強(qiáng)系統(tǒng)的實用性,在實現(xiàn)數(shù)據(jù)采集模塊的過程中將OPCServer和OPC項的信息存儲在數(shù)據(jù)庫中,用戶可以根據(jù)自己的需要,把OPCServer對象信息和OPC項對象信息配置在數(shù)據(jù)庫中,這樣處理后,用戶可以根據(jù)自己的需要,配置OPC項對象,避免了加載不需要的項對象而造成的系統(tǒng)資源的浪費。實現(xiàn)此OPC客戶端主要通過以下幾個步驟:(1) 導(dǎo)入OPC自動化接口服務(wù)。將OPCAutomation.dll添加到項目引用中;(2) 連接OPC服務(wù)器。OPC提供的連接服務(wù)器的接口需要兩個參數(shù):

6、OPC服務(wù)器名和OPC服務(wù)器IP地址;(3) 添加組。(4)添加數(shù)據(jù)項。(5) 讀取OPC數(shù)據(jù)。在客戶端有兩種方式獲得服務(wù)器端的數(shù)據(jù)。一種是定時的主動去讀取服務(wù)器上的值,另一種是同通過組對象的DataChange事件觸發(fā)來獲得,當(dāng)服務(wù)器上的數(shù)據(jù)發(fā)生變化時,會觸發(fā)DataChange事件,本項目中是采用主動讀取的方式來獲得數(shù)據(jù)的;在每次關(guān)閉數(shù)據(jù)采集模塊的時候,要釋放OPCServer對象的組對象和項對象。因為每臺OPCServer對連接點數(shù)是有限制的,如果不釋放這些對象,會使連接點數(shù)積累而達(dá)到限制值。3.2 數(shù)據(jù)庫設(shè)計系統(tǒng)采用ORACLE 數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫設(shè)計主要分為三個部分:(1

7、) 數(shù)據(jù)表部分?jǐn)?shù)據(jù)表分為系統(tǒng)表、數(shù)據(jù)抽取表、報表數(shù)據(jù)表三部分,其中系統(tǒng)表記錄整個系統(tǒng)的相關(guān)信息,包括OPC配置信息表、OPC點信息表、數(shù)據(jù)總表、系統(tǒng)日志信息表等;數(shù)據(jù)抽取表分為小時數(shù)據(jù)抽取表、班數(shù)據(jù)抽取表,小時數(shù)據(jù)抽取表將數(shù)據(jù)總表中的數(shù)據(jù)每小時做一次平均、求和等處理后逐條記錄,數(shù)據(jù)抽取表主要為日報表提供數(shù)據(jù)來源,班數(shù)據(jù)抽取表將小時數(shù)據(jù)表的數(shù)據(jù)每班做一次平均、求和等處理后逐條記錄,為月報表、年報表提供數(shù)據(jù)來源;報表數(shù)據(jù)表是按照客戶端所需報表的格式定義的數(shù)據(jù)表,將客戶端報表的數(shù)據(jù)項與報表數(shù)據(jù)表對應(yīng)的字段進(jìn)行綁定,最終生成所需要的數(shù)據(jù)報表。(2) 作業(yè)部分?jǐn)?shù)據(jù)庫服務(wù)器中的作業(yè)按照指定的周期完成指定的

8、命令,主要完成數(shù)據(jù)的定時抽取。如(1)中的小時數(shù)據(jù)抽取表、班數(shù)據(jù)抽取表都是依靠作業(yè)來定時完成的。(3) 存儲過程部分在生成報表的時候,需要對基礎(chǔ)數(shù)據(jù)進(jìn)行平均、求和、求最值以及類似作業(yè)率、一級品率等相關(guān)計算,這些操作都是通過編寫存儲過程來完成的,通過存儲過程處理形成最終的數(shù)據(jù)寫入到對應(yīng)的報表數(shù)據(jù)表中,采用存儲過程完成這些計算速度更快性能更好,系統(tǒng)在客戶端直接調(diào)用存儲過程,形成最終的數(shù)據(jù)報表。3.2客戶端開發(fā)系統(tǒng)的客戶端是采用多層架構(gòu)設(shè)計模式來實現(xiàn)的,實現(xiàn)動態(tài)創(chuàng)建不同的數(shù)據(jù)層對象接口。整個架構(gòu)包括UI(表示層)、 BLL(業(yè)務(wù)邏輯層)、DAL(數(shù)據(jù)庫訪問層)、Model(模塊層)四個軟件層次模塊。各部分的具體功能如下:(1)UI:表現(xiàn)層。人機(jī)交互界面,調(diào)用業(yè)務(wù)邏輯層的接口。(2)BLL:業(yè)務(wù)邏輯層組件。調(diào)用接口實現(xiàn)數(shù)據(jù)層的訪問。(3) DAL:數(shù)據(jù)訪問層,實現(xiàn)BLL中的接口,完成與數(shù)據(jù)庫的數(shù)據(jù)操作。(4)Model: 業(yè)務(wù)實體模型。數(shù)據(jù)庫是關(guān)系型,不是面向?qū)ο蟮?,要實現(xiàn)面向?qū)ο竽蔷偷冒哑矫娴谋斫Y(jié)合業(yè)務(wù)規(guī)則抽象成類。此

溫馨提示

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

評論

0/150

提交評論