【正文】
........................8 OPC 對象與數(shù)據(jù)訪問接口 ..............................................................................11 OPC 數(shù)據(jù)訪問機(jī)制 ..........................................................................................13 OPC 中的兩個層次問題 .....................................................................................15 OPC 對象的分層結(jié)構(gòu) ......................................................................................15 OPC 服務(wù)器的層次結(jié)構(gòu) ..................................................................................16 OPC 客戶端關(guān)鍵技術(shù)的實現(xiàn) .............................................................................17 OPC 客戶端端口的實現(xiàn) ..................................................................................17 OPC 客戶端實時數(shù)據(jù)的獲得 ..........................................................................18 本章小結(jié) .............................................................................................................18 3 OPC 客戶端程序設(shè)計 ..............................................................................................19 設(shè)計前的準(zhǔn)備工作 .............................................................................................19 設(shè)計的總?cè)蝿?wù) ..................................................................................................19 利用 VB 開發(fā) OPC 客戶端程序的思想步驟 ................................................20 OPC 客戶端主程序的開發(fā) .................................................................................21 本程序界面和功能的初步策劃 ......................................................................22 OPC 服務(wù)器的連接與組的建立 ......................................................................24 OPC 項的添加 ..................................................................................................30 項值讀寫的實現(xiàn) ..............................................................................................32 與遠(yuǎn)程服務(wù)器連接設(shè)置 ..................................................................................35 OPC 服務(wù)器的斷開 ..........................................................................................35 本章小結(jié) .............................................................................................................36 4 OPC 客戶端的實際應(yīng)用 ...........................................................................................36 概述 .....................................................................................................................36 客戶端的實際應(yīng)用 .............................................................................................38 本章小結(jié) .............................................................................................................46 5 總結(jié) .............................................................................................................................46 參考文獻(xiàn) ...........................................................................................................................48 附錄(程序清單) ...........................................................................................................50 翻譯部分 .........................................................................................................................109 英文原文 ..................................................................................................................109 中文譯文 ..................................................................................................................120 致 謝 .............................................................................................................................131 中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計 第 1 頁 1 緒論 課題的背景及意義 一 、 OPC 產(chǎn)生 的背景及意義 隨著計算機(jī)、微電子、通信和網(wǎng)絡(luò)技術(shù)的發(fā)展,工業(yè)控制領(lǐng)域也發(fā)生著深刻的變化,新的過程控制信息體系逐步形成,由低層到上層依次為現(xiàn)場智能控制層,工業(yè)過程管理層和經(jīng)營決策層。 如何使軟、硬件開發(fā)商專注于系統(tǒng)功能的開發(fā),而不被復(fù)雜的數(shù)據(jù)接口問題所困擾是急待解決的問題。 OPC 規(guī)范采用客戶 /服務(wù)器( CLIENT/SERVER)模式,規(guī)定了 OPC Client 與 OPC Server 之間遵循標(biāo)準(zhǔn)的接口。 OPC 規(guī)范在硬件供應(yīng)商和軟件開發(fā)商之間建立一套完整的“規(guī)則”。 OPC 實現(xiàn)了遠(yuǎn)程調(diào)用,使得應(yīng)用程序的分布與系統(tǒng)硬件的分布無關(guān),便于系統(tǒng)硬件配置以及使得系統(tǒng)的應(yīng)用范圍更廣。 OPC 規(guī)范定義了一個工業(yè)標(biāo)準(zhǔn)接口,這個標(biāo)準(zhǔn)使得 COM 技術(shù)適用于過程控制和制造自動化等應(yīng)用領(lǐng)域。 三 、 OPC 技術(shù)的發(fā)展 OPC 基金會 (OPC Foundation)是管理 OPC 標(biāo)準(zhǔn)的國際組織,其成員幾乎包括了世界上所有的控制系統(tǒng)、儀器儀表和過程控制系統(tǒng)的主要供應(yīng)商。 1998 年還發(fā)布了歷史 數(shù)據(jù)存取規(guī)范 版?,F(xiàn)在,國內(nèi)已經(jīng)有一些公司加入到 OPC 基金會,成為其會員,開發(fā)出一些支持 OPC 技術(shù)的工控軟件,如北京亞控公司的“組態(tài)王” ,北京世紀(jì)長秋公司的“世紀(jì)星”等投放市場后獲得了用戶的良好反應(yīng)。 增強(qiáng)產(chǎn)品可連接性和互操作性,產(chǎn)品實現(xiàn)了即插即用,硬件制造商將更容易地銷售他們的硬件 (一個 OPC I/O 服務(wù)器將取代許多專用的驅(qū)動程序,且能與不同的產(chǎn)品進(jìn)行通信 )。 即插即用使系統(tǒng)集成輕而易舉, DCS、 SCADA、 HMI、工廠生產(chǎn)計劃、維護(hù)以及其它生產(chǎn)制造可以利用 OPC 標(biāo)準(zhǔn)進(jìn)行開放的信息交換。在增減項目之前必須關(guān)閉服務(wù)器軟件,而應(yīng)用 OPC標(biāo)準(zhǔn)后,根據(jù)數(shù) 據(jù)庫前端定義項目的一致性,客戶端應(yīng)用程序可以增加不同的項目,數(shù)據(jù)能立即傳回到 OPC 服務(wù)器。由于每一個應(yīng)用程序有各自的驅(qū)動程序,當(dāng)多個應(yīng)用程序讀取同一數(shù)據(jù)源,經(jīng)常發(fā)生沖突。在客戶端的開發(fā)中,提出了 OPC Server 對象、 OPC Group 對象和 OPC Item對象 的結(jié)構(gòu)模型,根據(jù)各對象實現(xiàn)接口函數(shù),拆分出多個子功能模塊,實現(xiàn)同步讀寫、異步讀寫、訂閱采集等通信方式。 第三章 : 詳細(xì)說明了 基于 OPC 技術(shù)訪問規(guī)范 ;主要概括 了 OPC 客戶 端 程序的總體 設(shè)計步驟和 開發(fā) 過程。對高度敏感的實時數(shù)據(jù)分離,可以得到報警 /事件概念,制定報警 /事件規(guī)范;對面向趨勢顯示、歷史分析、報表的數(shù)據(jù), OPC 制定了歷史數(shù)據(jù)訪問規(guī)范。典型的 OPC 數(shù)據(jù)訪問規(guī)范體系結(jié)構(gòu)如圖 所示。一組也可以提供一種方法允許客戶“訂閱 (Subscription)”項目列表, 以便在數(shù)據(jù)項變化時它能得到通知;數(shù)據(jù)項對象存儲具體的 Item的定義、數(shù)據(jù)值、狀態(tài)值及與硬件相關(guān)的屬性,例如設(shè)備號、廠家信息、通道號等。這種結(jié)構(gòu)使得應(yīng)用程序可以像使用自己支持的數(shù)據(jù)和功能一樣,去使用服務(wù)器對象支持的數(shù)據(jù)和功能??蛻敉ㄟ^該 GLSID創(chuàng)建 OPCServer對象,進(jìn)而與服務(wù)器程序進(jìn)行連接。每中國礦業(yè)大學(xué) 2021 屆本科生畢業(yè)設(shè)計 第 13 頁 個 OPC Item都有一個標(biāo)識符,該標(biāo)識符不是用于標(biāo)識該 OPC Item自身的,它表示該 OPC Item是對服務(wù)器地址空間中的地址為該標(biāo)識符的項的映射。 O P C S e r v e r組 ( O P C G r o u p )O P C S e r v e r項 ( O P C I t e m s )服 務(wù) 器 O P C I t e m ( s )組 集 合 ( O P C G r o u p s )項 集 合 ( O P C I t e m s )瀏 覽 器 ( O P C B r o w s e r ) 圖 OPC數(shù)據(jù)訪問對象分層結(jié)構(gòu) 即一個 OPC服務(wù)器對象( OPCServer),一個作為子對象的 OPC組集合對( OPCGroups)。OPC服務(wù)器經(jīng)常對應(yīng)于某種特定的控制設(shè)備。 綜上所述,可以用一個表來表達(dá) OPC數(shù)據(jù)訪問對象模型。第二層為 OPC模型層,它提供了客戶訪問服務(wù)器的對象模型。它規(guī)定了正是客戶程序所期望使用的接口的行為。任何客戶一服務(wù)器開發(fā)商都可以使用這個 DLL 程序封裝的包。這種方法稍復(fù)雜但效率很高,而且可以被 IOPCAsyncIO2::Refresh2觸發(fā)。本章從軟件開發(fā)的角度給出了任務(wù)總述、任務(wù)分解、實現(xiàn)框架和開發(fā)方式,這些都是后續(xù)章節(jié)敘述的綱要。 本章主要是對 OPC客戶應(yīng)用程序進(jìn)行開發(fā)設(shè)計。 設(shè)計的總?cè)蝿?wù) 本設(shè)計的主要任務(wù) : ? 創(chuàng)建服務(wù)器對象。程序結(jié)束時, VB 可以自動取消 COM初始化。 當(dāng)通信完畢,客戶端需要退出訪問時,必須斷開與 OPC 服務(wù)器的連接,釋放所有的內(nèi)存和接口。規(guī)范定義的OPCGroup 事件包含如下 4 個事件 [15]: Datachange 事件,該事件在服務(wù)器方數(shù)據(jù)發(fā)生變化時由服務(wù)器