freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-opcda客戶端的研究-資料下載頁(yè)

2024-12-03 20:01本頁(yè)面

【導(dǎo)讀】現(xiàn)控制系統(tǒng)開(kāi)放性的中間件技術(shù)。OPC技術(shù)采用Client/Server模式,規(guī)定了OPCClient與OPCServer之間遵循標(biāo)準(zhǔn)。OPC服務(wù)端一般由控制設(shè)備的生產(chǎn)廠商,將硬件設(shè)備驅(qū)動(dòng)程序和通信程序封裝。成獨(dú)立的OPC服務(wù)器,向OPC客戶端實(shí)時(shí)地提供數(shù)據(jù)。據(jù)的靈活配置和多種系統(tǒng)的真正集成。了其核心COM/DCOM技術(shù)。然后重點(diǎn)分析了OPC數(shù)據(jù)訪問(wèn)規(guī)范及OPC客戶端與服務(wù)。器的通信機(jī)制,介紹了如何用VC++開(kāi)發(fā)客戶端程序。

  

【正文】 Windows 系統(tǒng)提供實(shí)用工具 對(duì)其進(jìn)行注冊(cè),只要進(jìn)程內(nèi)組件提供了相應(yīng)的入口函數(shù) DllRegisterServer和 DllUnRegisterServer 就可完成對(duì)組件的注冊(cè)與注銷工作。 進(jìn)程外組件是一個(gè)可執(zhí)行程序,它不能提供入口函數(shù)供其它程序調(diào)用,因此 COM規(guī)范規(guī)定支持自注冊(cè)的進(jìn)程外組件必須支持兩個(gè)命令行參數(shù) /RegServer 和 /UnregServer以便完成注冊(cè)和注銷工作。 對(duì)于非自注冊(cè)的組件程序 其注冊(cè)過(guò)程與組件程序本身沒(méi)有直接關(guān)系,必須單獨(dú)進(jìn)行注冊(cè)信息的配置,如可編寫(xiě)一個(gè)注冊(cè)表文件,然后在 RegEdit 中引入。 類廠 因?yàn)?COM 對(duì)象可以位于客戶程序進(jìn)程空間之外,并且必須要能被不同的語(yǔ)言訪問(wèn),所以我們需要一種與語(yǔ)言無(wú)關(guān)的方法來(lái)實(shí)例化一個(gè)組件。 COM 提供了一個(gè)標(biāo)準(zhǔn)接口IClassFactory-類廠,該接口是一個(gè)特殊的、必須實(shí)現(xiàn)的構(gòu)造器組件,客戶使用它才能創(chuàng)建自己的組件實(shí)例。 類廠本身也是一個(gè) COM 對(duì)象,它的唯一功能是簡(jiǎn)化其它 COM 對(duì)象的創(chuàng)建方法。對(duì)應(yīng)每一個(gè) COM 類,都有一個(gè)專門(mén)類廠用于該 COM 類的對(duì)象創(chuàng)建操作。類廠的創(chuàng)建工作是由 COM 庫(kù)來(lái)完成,但組件程序必須提供 DllGetClassObject 引出函數(shù)。 COM 庫(kù)在接到對(duì)象創(chuàng)建指令后,它調(diào)用進(jìn)程內(nèi)組件的 DllGetClassObject 函數(shù),由該函數(shù)創(chuàng)建類廠對(duì)象,并返回類廠對(duì)象接口指針,繼而可創(chuàng)建相應(yīng)的 COM 對(duì)象。 COM 擴(kuò)展 可連接對(duì)象 在客戶與組件程序的交互過(guò)程中,如果客戶是主動(dòng)的,而組件是被動(dòng)的,通過(guò)自身暴露給客戶的接口監(jiān)聽(tīng)客戶的請(qǐng)求,一旦組件接收到客戶的請(qǐng)求便作出反應(yīng),我們把這樣的接口稱為入接口( ininginterface);與之對(duì)應(yīng),如果組件對(duì)象要主動(dòng)與客戶進(jìn)行通信,對(duì)象也可提供出接口( outgoinginterface)來(lái)實(shí)現(xiàn)。出接口不由對(duì)象來(lái)實(shí)現(xiàn),而是**大學(xué)學(xué)士學(xué)位論文 17 由客戶程序來(lái)實(shí)現(xiàn),客戶實(shí)現(xiàn)這些接口,并把接口指針告訴對(duì)象,以后對(duì)象利用此接口指針與客戶進(jìn)行通信。在客戶程序方,實(shí)現(xiàn)這些出接口的對(duì)象被稱為接受器( sink),接受器本身也是一個(gè) COM 對(duì)象,但它往往比較簡(jiǎn)單,只用于監(jiān)聽(tīng)并處理組件對(duì)象的通知或請(qǐng)求。注意入接口和出接口是一個(gè)相對(duì)的概念,它們只用于通信的一個(gè)方向。 如果一個(gè) COM 對(duì)象支持一個(gè)或多個(gè)出接口,則我們稱這樣的 對(duì)象為可連接對(duì)象( connectableobject),有時(shí)也稱為源對(duì)象( source)??蛻襞c可連接對(duì)象之間的通信是雙向的??蛻?、可連接對(duì)象和接受器之間的關(guān)系可由圖 簡(jiǎn)單描述。 圖 簡(jiǎn)單客戶與可連接對(duì)象的模型圖 客戶方除了要實(shí)現(xiàn)接收器對(duì)象之外,還必須建立接收器與連接點(diǎn)對(duì)象之間的連接關(guān)系。接收器對(duì)象是客戶程序的內(nèi)部對(duì)象,它不必通過(guò)類廠創(chuàng)建,也不需要 CLSID。其連接關(guān)系的建立由客戶方控制,客戶首先詢問(wèn)對(duì)象是否為可連接對(duì)象,它只需調(diào)用對(duì)象的QueryInterface 成員函數(shù)請(qǐng)求 IConnectionPointContainer 接口,如果請(qǐng)求成功,則表明為可連接對(duì)象,并返回 IConnectionPointContainer 接口指針??蛻舻玫搅?IConnectionPointC ontainer 接口指針后,調(diào)用其成員函數(shù)獲取相應(yīng)出接 口的連接點(diǎn)對(duì)象,如果對(duì)象支持此接口,則可得到連接點(diǎn)對(duì)象,然后調(diào)用連接點(diǎn)對(duì)象的 IConnectionPoint 接口的成員函數(shù)建立連接。一旦建立了連接,當(dāng)可連接對(duì)象激發(fā)事件或發(fā)出請(qǐng)求時(shí),接收器的成員函數(shù)就會(huì)被調(diào)用。 分布式 COM( DCOM) DCOM 是 COM 的擴(kuò)展, 它可以支持不同計(jì)算機(jī)上組件對(duì)象與客戶程序之間或者組件對(duì)象之間的相互通信,這些計(jì)算機(jī)可以在局域網(wǎng)、廣域網(wǎng)、甚至 Inter 進(jìn)行連接。對(duì)于客戶程序而言,組件程序所處的位置是透明的,我們不必編寫(xiě)任何處理遠(yuǎn)程調(diào)用的代碼,因此, DCOM 也是 COM 的無(wú)縫擴(kuò)展。由于 COM 是一項(xiàng)應(yīng)用廣泛、成熟的組件**大學(xué)學(xué)士學(xué)位論文 18 技術(shù),所以我們可以充分利用基于 COM 的應(yīng)用、組件、開(kāi)發(fā)工具以及知識(shí),并把它們轉(zhuǎn)移到分布式計(jì)算的應(yīng)用領(lǐng)域中來(lái)。 DCOM 協(xié)議也被稱為 ORPC( object remote procedure call),它建立在 DCERPC 協(xié) 議的基礎(chǔ)上,可用于各種基于組件的分布式系統(tǒng)。 ORPC 建立了一套面向?qū)ο蟮倪h(yuǎn)程調(diào)用規(guī)范,指定了如何在網(wǎng)絡(luò)上進(jìn)行調(diào)用、對(duì)對(duì)象的引用如何表示和如何維護(hù)。 ORPC同時(shí)也適用于 Inter和 Intra網(wǎng)絡(luò)環(huán)境中組件之間的通信。典型的分布式應(yīng)用系統(tǒng)是,在各個(gè)服務(wù)器上運(yùn)行一些 DCOM 組件對(duì)象,客戶程序調(diào)用這些組件對(duì)象,由它們完成實(shí)際的功能操作,比如訪問(wèn)數(shù)據(jù)庫(kù)或進(jìn)行一些復(fù)雜的數(shù)據(jù)處理,客戶程序只負(fù)責(zé)接受用戶的輸入并把服務(wù)器的響應(yīng)結(jié)果反饋給用戶。 自動(dòng)化對(duì)象 自動(dòng)化( Automation)是一項(xiàng)基于 COM 的技術(shù),一方面,自動(dòng)化繼承了 COM 的很多優(yōu)點(diǎn),比如語(yǔ)言無(wú)關(guān)、進(jìn)程透明等特性,另一方面,自動(dòng)化簡(jiǎn)化了 COM 的一些底層細(xì)節(jié),比如屬性和方法的處理、一組專門(mén)用于自動(dòng)化的數(shù)據(jù)類型等,它為一些弱類型的高級(jí)語(yǔ)言(如 Visual Basic)提供了一種相互通信的路徑。 自動(dòng)化的核心是 IDispatch 接口,每一個(gè)自動(dòng)化對(duì)象都必須實(shí)現(xiàn) IDispatch 接口。自動(dòng)化對(duì)象的兩個(gè)基本特征是方法( method)和屬性( property),方法指自動(dòng)化對(duì)象所提供的功能服務(wù),屬性是指自動(dòng)化對(duì)象的數(shù)據(jù)特征。客戶可通過(guò) IDispatch 接 口的成員函數(shù) GetTypeInfoCount 和 GetTypeInfo 處理對(duì)象的類型信息, GetIDsOfNames 成員函數(shù)返回方法或?qū)傩猿蓡T及其參數(shù)名字的 DIPID(分發(fā) ID,一個(gè)整數(shù), 0 或負(fù)數(shù)有特殊含義,IDispatch 用分發(fā) ID 管理屬性和方法)。 IDispatch 接口的 Invoke 函數(shù)是個(gè)關(guān)鍵函數(shù),客戶程序必須通過(guò) Invoke 函數(shù)才能訪問(wèn)屬性或方法,可以說(shuō) Invoke 函數(shù)是自動(dòng)化對(duì)象的命令翻譯器,它還提供了管理屬性和方法的分發(fā) ID 機(jī)制以及一套描述參數(shù)和返回值的方法,使得運(yùn)行時(shí)可動(dòng)態(tài)綁定屬性和方法并進(jìn)行 參數(shù)類型檢查成為可能。雖然 IDispatch接口的運(yùn)行效率比直接通過(guò) Vtable 進(jìn)行調(diào)用要低一些,但其強(qiáng)大的功能以及靈活性足以彌補(bǔ)效率上的不足。 本章 小結(jié) 本章主要對(duì) OPC 技術(shù)的基礎(chǔ)- COM/DCOM 技術(shù)進(jìn)行了比較系統(tǒng)的分析,介紹了COM 的概念, COM 的對(duì)象和接口, COM 的結(jié)構(gòu), COM 的實(shí)現(xiàn),以及連接點(diǎn)、 DCOM**大學(xué)學(xué)士學(xué)位論文 19 和自動(dòng)化的一些知識(shí)。對(duì) COM/DCOM 技術(shù)的理解是對(duì) OPC 技術(shù)理解的關(guān)鍵所在,更是 OPC 應(yīng)用程序開(kāi)發(fā)所必須掌握的知識(shí)。當(dāng)然,本章對(duì) COM 知識(shí)的介紹并不全面,如結(jié)構(gòu)化存儲(chǔ)技術(shù),命名和綁定技術(shù),統(tǒng) 一數(shù)據(jù)傳輸技術(shù),以及 COM+等等沒(méi)有介紹,但這并不妨礙我們對(duì) OPC 技術(shù)的理解。 OPC 技術(shù)還有著它本身的獨(dú)特性,理解了 COM技術(shù)只是理解 OPC 技術(shù)的第一步,我們還應(yīng)對(duì) OPC 規(guī)范進(jìn)行剖析,才能完成 OPC 應(yīng)用程序的設(shè)計(jì)。 **大學(xué)學(xué)士學(xué)位論文 20 3 OPC 數(shù)據(jù)訪問(wèn)規(guī)范的研究 OPC 規(guī)范簡(jiǎn)介 OPC 規(guī)范由世界領(lǐng)先的自動(dòng)化設(shè)備制造商與微軟協(xié)商制定,它把硬件供應(yīng)商和軟件開(kāi)發(fā)商分離開(kāi)來(lái),在設(shè)備、數(shù)據(jù)庫(kù)等數(shù)據(jù)源和客戶之間架起一座橋梁,為解決統(tǒng)一標(biāo)準(zhǔn)問(wèn)題提供了方案。 OPC 規(guī)范定義了特定的 COM 接口,但是并沒(méi)有說(shuō)明如何實(shí)現(xiàn)這些接口,它規(guī)定服務(wù)器提供給客戶應(yīng)用程序的接口所應(yīng)該具有的行為特征,而把實(shí)現(xiàn)方法交給 OPC 服務(wù)器提供者來(lái)制定。目前已經(jīng)推出的 OPC 規(guī)范有: (1)OPC 數(shù)據(jù)訪問(wèn) (Data Access)規(guī)范 、 、 ; (2)OPC 報(bào)警與事件 (Alarm and Events)規(guī)范 、 、 ; (3)OPC 歷史數(shù)據(jù)訪問(wèn) (Historical Data Access)規(guī)范 、 ; (4)OPC 批處理 (Batch)規(guī)范 、 ; (5)OPC 安全性 (Security)規(guī)范 ; (6)OPC 過(guò)程數(shù)據(jù)的 XML( XML DA)規(guī)范 ; (7)OPC 服務(wù)器數(shù)據(jù)交換 (Data eXchange)規(guī)范 ; (8)OPC 數(shù)據(jù)訪問(wèn)標(biāo)準(zhǔn)的測(cè)試工具( 。 盡管 OPC 技術(shù)在不斷發(fā)展,但是層層剖析,可以看到 OPC 規(guī)范建立的核心是數(shù)據(jù)訪問(wèn) (OPC DA) 規(guī)范,它提供給用戶訪問(wèn)實(shí)時(shí)過(guò)程數(shù)據(jù)的方法。對(duì)高度敏感的實(shí)時(shí)數(shù)據(jù)分離,可以得到報(bào)警 /事件概念,制定報(bào)警 /事件規(guī)范;對(duì)面向趨勢(shì)顯示、歷史分析、報(bào)表的 數(shù)據(jù), OPC 制定了歷史數(shù)據(jù)訪問(wèn)規(guī)范。所以對(duì)于開(kāi)發(fā)者來(lái)說(shuō), OPC DA 是實(shí)現(xiàn)的重點(diǎn),其它都是在 OPC DA 的基礎(chǔ)上添加接口或外加包文件而成。而且在實(shí)際項(xiàng)目中, OPC DA 應(yīng)用場(chǎng)合最廣泛,也正是基于此,本課題最終的著眼點(diǎn)放在 OPC DA 客戶端的實(shí)現(xiàn)上,并建立一個(gè)穩(wěn)定的基礎(chǔ)架構(gòu),為其它應(yīng)用的擴(kuò)展打下良好的基礎(chǔ)。 OPC 數(shù)據(jù)訪問(wèn)規(guī)范基礎(chǔ) OPC 數(shù)據(jù)訪問(wèn)規(guī)范分為自動(dòng)化接口規(guī)范和定制接口規(guī)范兩部分,它們分別為不同的編程語(yǔ)言環(huán)境提供訪問(wèn)機(jī)制。自動(dòng)化接口( Automation interface) 是為基于腳本編程語(yǔ)言而定義的標(biāo)準(zhǔn)接口,可以使用 Visual Basic、 Delphi、 PowerBuilder 等編程語(yǔ)言開(kāi)發(fā) OPC 服務(wù)器的客戶應(yīng)用,實(shí)現(xiàn)方法簡(jiǎn)單,但速度慢,功能少。定 制接口( Custom interface)是專門(mén)為 C++等高級(jí)編程語(yǔ)言而制定的標(biāo)準(zhǔn)接口,實(shí)現(xiàn)方法復(fù)雜,但速度快,通過(guò)該接**大學(xué)學(xué)士學(xué)位論文 21 口能夠發(fā)揮 OPC 服務(wù)器的最佳性能。 本論文只研究 OPC 數(shù)據(jù)存取定制接口規(guī)范 (依據(jù) 版 ),因?yàn)槎ㄖ平涌谑? OPC服務(wù)器必須實(shí)現(xiàn)的部分,而自動(dòng)化接口是其可選實(shí)現(xiàn)部分,可通過(guò) OPC 基金會(huì)提供 的標(biāo)準(zhǔn)的自動(dòng)化接口包對(duì)定制接口包裝獲得,此接口包可以被用于任何廠商定義的的服務(wù)器定制接口。典型的 OPC 數(shù)據(jù)訪問(wèn)規(guī)范體系結(jié)構(gòu)如圖 所示。 圖 典型的 OPC 體系結(jié)構(gòu) OPC 數(shù)據(jù)訪問(wèn)規(guī)范描述了由 OPC 服務(wù)器實(shí)現(xiàn)的 OPC COM 對(duì)象及相應(yīng)接口。 OPC邏輯對(duì)象模型包括三類對(duì)象:服務(wù)器 (Server)對(duì)象、組 (Group)對(duì)象、數(shù)據(jù)項(xiàng) (Item)對(duì)象,每類對(duì)象都包括一系列接口。服務(wù)器對(duì)象用于指出特定的 OPC 服務(wù)器應(yīng)用程序名,并向 OPC 客戶端提供創(chuàng)建和操作 OPC 組對(duì)象的功能。組 對(duì)象存儲(chǔ)由若干 Item 組成的 Group 信息并邏輯組織數(shù)據(jù)項(xiàng),一組可以作為一個(gè)單元被激活或失活。一組也可以提供一種方法允許客戶“訂閱 (Subscription)”項(xiàng)目列表,以便在數(shù)據(jù)項(xiàng)變化時(shí)它能得到通知;數(shù)據(jù)項(xiàng)對(duì)象存儲(chǔ)具體的 Item 的定義、數(shù)據(jù)值、狀態(tài)值及與硬件相關(guān)的屬性,例如設(shè)備號(hào)、廠家信息、通道號(hào)等。一個(gè) Item 就代表一個(gè)具體的過(guò)程變量。每個(gè)數(shù)據(jù)項(xiàng)的數(shù)據(jù)結(jié)構(gòu)包括三個(gè)成員變量:即數(shù)據(jù)值、數(shù)據(jù)質(zhì)量和時(shí)間戳。數(shù)據(jù)值是以 VARIANT 形式表示的。通過(guò)定義數(shù)據(jù)項(xiàng), OPC 技術(shù)盡可能地隱藏了設(shè)備的特 殊信息,也使 OPC 服務(wù)器的通用性大大增強(qiáng)。 OPC 數(shù)據(jù)存取服務(wù)器所定義的三個(gè)對(duì)象中只有兩個(gè)標(biāo)準(zhǔn)的 COM 對(duì)象,即服務(wù)器和組對(duì)象。 OPC 數(shù)據(jù)項(xiàng)并不提供對(duì)外接口,客戶不能直接對(duì)之進(jìn)行操作,所有對(duì)數(shù)據(jù)項(xiàng)的操作都是通過(guò)組對(duì)象來(lái)進(jìn)行。 OPC 數(shù)據(jù)訪問(wèn)規(guī)范指出一個(gè) OPC 客戶程序可以連接到一個(gè)或多個(gè)由不同廠家提供的 OPC 服務(wù)器程序,而多個(gè) OPC 客戶程序也可以連接到一個(gè) OPC 服務(wù)器程序上,服務(wù)器所要訪問(wèn)的設(shè)備、數(shù)據(jù)源、數(shù)據(jù)名及服務(wù)器程序如何進(jìn)行數(shù)據(jù)的訪問(wèn)由廠商**大學(xué)學(xué)士學(xué)位論文 22 提供的代碼決定。其 OPC 客戶與 OPC 服務(wù)器的關(guān)系見(jiàn)圖 ,這是 COM 中典型的客戶 /服務(wù)器模型。 圖 OPC 客戶與 OPC 服務(wù)器的關(guān)系 OPC 數(shù)據(jù)訪問(wèn)對(duì)象與接口 OPC 數(shù)據(jù)訪問(wèn)規(guī)范規(guī)定 OPC 服務(wù)器必須實(shí)現(xiàn)兩個(gè) COM 對(duì)象:服務(wù)器對(duì)象和組對(duì)象。通過(guò)對(duì)這兩種標(biāo)準(zhǔn)的 COM 對(duì)象及相應(yīng)接口的操作,我們可以完成 OPC 數(shù)據(jù)訪問(wèn)客戶端的開(kāi)發(fā)。圖 和圖 分別是 OPC 數(shù)據(jù)訪問(wèn)規(guī)范 版本服務(wù)器對(duì)象和組對(duì)象的接口 (帶 *的為 新增的接口) 。 圖 OPC 服務(wù)器對(duì)象必選接口 **大學(xué)學(xué)士學(xué)位論文 23 圖 OPC 組對(duì)象必選接口 OPC 服務(wù) 器對(duì)象是客戶端與服務(wù)器交互的首要對(duì)象??蛻舳送ㄟ^(guò)訪問(wèn)服務(wù)器對(duì)象的接口函數(shù)與之交互。一個(gè)服務(wù)器對(duì)象里可以設(shè)置一個(gè)以上的組對(duì)象。 OPC 服務(wù)器對(duì)象的主要功能為:創(chuàng)建和管理組對(duì)象;管理服務(wù)器內(nèi)部的狀態(tài)信息;將服務(wù)器的錯(cuò)誤代碼翻譯成描述性語(yǔ)句;瀏覽服務(wù)器內(nèi)部的數(shù)據(jù)組織結(jié)構(gòu);同步讀寫(xiě)數(shù)據(jù)等。 組對(duì)象用于組織管理服務(wù)器內(nèi)部的實(shí)時(shí)數(shù)據(jù)信息,它是 OPC 項(xiàng)對(duì)象的集合。正因?yàn)橛辛私M對(duì)象, OPC 應(yīng)用程序就可以成批地對(duì)所需要的數(shù)據(jù)進(jìn)行訪問(wèn),也可以以組為單位啟動(dòng)或停止數(shù)據(jù)訪問(wèn)。其主要功能為:管理組對(duì)象內(nèi)部的狀態(tài)信息;創(chuàng)建和管理項(xiàng)對(duì)象; 進(jìn)行數(shù)據(jù)訪問(wèn) (同步與異步方式 )。 OPC 服務(wù)器對(duì)象及其接口 OPC 服務(wù)器對(duì)象是 OPC 服務(wù)器向外暴露的基本對(duì)象,在 版本中,服務(wù)器對(duì)象主要定義了 5 個(gè)接口。下面簡(jiǎn)單的說(shuō)明一下 OPC 數(shù)據(jù)訪問(wèn) 版本規(guī)范中定義的服務(wù)器對(duì)象每個(gè)接口的功能: 1. IOPCServer 這是 OPC 服務(wù)器對(duì)象的主接口,它可完成組對(duì)象的動(dòng)態(tài)創(chuàng)建以及對(duì)其進(jìn)行管理,以及管理服務(wù)器內(nèi)部的狀態(tài)信息。服務(wù)器對(duì)象必須提供此接口。 其他 OPC 服務(wù)器像報(bào)警和事件服務(wù)器共享這個(gè)接口設(shè)計(jì)。它提供設(shè)置和查詢**大學(xué)學(xué)士學(xué)位論文 24 LocaleID 的功能,對(duì)特定的 client/server 交互有效,也就是說(shuō),一個(gè)客戶的行為不會(huì)影響其他客戶。 這是 版本新增的接口,為瀏覽服務(wù)器地址空間和獲得項(xiàng)屬性提供改進(jìn)的方法。該接口里的方法原意是用來(lái)影射 XML- DA 接口里相應(yīng)的方法。 此接口提供了相對(duì)于 IOPCShutdown 出接口連接點(diǎn)的訪問(wèn)支持。 這是 版本新增的接口,目的是為簡(jiǎn)單的應(yīng)用程序訪問(wèn) OPC 數(shù)據(jù)提供一個(gè)非常容易的途徑,即不用通過(guò)建 立一個(gè)組對(duì)象就能對(duì)數(shù)據(jù)項(xiàng)進(jìn)行操作;另外一個(gè)目的是,提供一個(gè)把時(shí)間郵戳和品質(zhì)信息寫(xiě)進(jìn)支持該功能的服務(wù)器的方法。 OPC 組對(duì)象及其接口 OPC 組對(duì)象是 OPC 服務(wù)器用來(lái)管理項(xiàng)集合的對(duì)象,具有某些一般的屬性和行為,可影響接口和方法的操作,在介紹組對(duì)象的接口功能前,先看一下組對(duì)象的相關(guān)屬性。 每一個(gè)組對(duì)象擁有一個(gè)名字 , 在同屬于一個(gè)客戶程序的其它組對(duì)象中該名字是唯一的??蛻舫绦蚩梢愿淖円粋€(gè)組的名字。組名字大小寫(xiě)敏感,如 Groupl 與 groupl 是不同的。 (Cached)數(shù)據(jù) 組對(duì)象的許多 接口方法允許客戶明確說(shuō)明其操作的數(shù)據(jù)源,“緩存 (CACHE)”或“設(shè)備 (DEVICE)。數(shù)據(jù)源不同,方法的行為也不同,其實(shí)現(xiàn)細(xì)節(jié)由開(kāi)發(fā)者決定。多數(shù)情況下 , 服務(wù)器訪問(wèn)緩存要快于訪問(wèn)設(shè)備,但緩存數(shù)據(jù)受組對(duì)象和項(xiàng)對(duì)象激活狀態(tài)的影響,而設(shè)備數(shù)據(jù)不受此激活狀態(tài)的影響。 (Active) 組對(duì)象和其內(nèi)部的項(xiàng)對(duì)象都有一個(gè)激活標(biāo)志。組對(duì)象的激活狀態(tài)和項(xiàng)對(duì)象的激活狀態(tài)相互獨(dú)立。組對(duì)象狀態(tài)的改變不會(huì)改變項(xiàng)對(duì)象的狀態(tài)。 在實(shí)際中,多數(shù)服務(wù)器將使用這個(gè)標(biāo)志來(lái)最優(yōu)化通信和 CPU 資源。非激活狀態(tài)的項(xiàng)對(duì)象和組對(duì)象不必要在緩 存內(nèi)保持。 **大學(xué)學(xué)士學(xué)位論文 25 客戶程序可為每一個(gè)組對(duì)象指定一個(gè)“更新率”。這確定了項(xiàng)對(duì)象值的異常限(exception limit)被檢測(cè)的時(shí)間。如果超出了異常限,緩存中的值將被更新。服務(wù)器應(yīng)該盡最大可能保持緩存內(nèi)數(shù)據(jù)為最新。更新率也會(huì)影響發(fā)送到客戶端的回調(diào)的通知的最大速率。服務(wù)器永遠(yuǎn)不會(huì)以比客戶要求的更快的速率向客戶程序送數(shù)據(jù)。 (時(shí)差 ) 在某些情況下數(shù)據(jù)收集的設(shè)備所在的時(shí)區(qū)與客戶程序所在的時(shí)區(qū)不同,所以,客戶程序知道數(shù)據(jù)被收集時(shí)的設(shè)備時(shí)間很有必要。 OPC 組對(duì)象提供了一個(gè)用于存儲(chǔ)時(shí)區(qū)的地方,可被客戶程 序設(shè)置和讀取,其默認(rèn)值是主機(jī)的時(shí)區(qū)。 OPC 服務(wù)器不會(huì)用此值,這只是為了客戶程序的方便。 死區(qū)的范圍從 %到 100%,它適用于組對(duì)象內(nèi)具有 dwEUType(工程單位類型)的模擬數(shù)據(jù)項(xiàng),項(xiàng)的 EU 低限和 EU 高限可用來(lái)計(jì)算項(xiàng)值的范圍。這個(gè)范圍與百分比死區(qū)相乘將產(chǎn)生一個(gè)異常限。一個(gè)異常的產(chǎn)生可由下式確定: 異常產(chǎn)生 if(絕對(duì)值 (上次內(nèi)存值-當(dāng)前值 )(死區(qū)值 /) (EU 高限- EU 低限 )) 百分比死區(qū)可在調(diào)用 AddGroup 時(shí)設(shè)置,一個(gè)特定的組對(duì)象內(nèi)的所有項(xiàng)對(duì)象允許使用相同的百分比死區(qū)。然 而在 OPC 中,允許設(shè)置項(xiàng)對(duì)象每一個(gè)基本元素的百分比死區(qū)。這意味著每個(gè)項(xiàng)對(duì)象都有可能潛在的越過(guò)其駐留的組對(duì)象設(shè)置的百分比死區(qū)。 如果值超出了異常限,緩存中的最近值被新值更新,并且服務(wù)器會(huì)向客戶端的回調(diào)(如果有 )發(fā)一個(gè)通知。百分比死區(qū)是服務(wù)器的一個(gè)可選行為。如果客戶程序在支持該行為的服務(wù)器上不指定百分比死區(qū)的值,則服務(wù)器假定為默認(rèn)值“ 0,所有值的變化都將更新緩存。注意,無(wú)論緩存的值是否被更新,時(shí)間郵戳都將被更新。 組對(duì)象的更新率 (UpdateRate)或者項(xiàng)對(duì)象的采樣率如果被設(shè)置,將確定一個(gè)值被檢測(cè)以查看其是否超出異常限的時(shí)間間隔。百分比死區(qū)用來(lái)避免噪聲信號(hào)使客戶程序進(jìn)行沒(méi)必要的更新。 在任何的回調(diào)中將會(huì)返回這個(gè)句柄。這將使客戶程序可以標(biāo)識(shí)數(shù)據(jù)項(xiàng)所屬的組對(duì)象??蛻舫绦蛉绻胍褂?OPC 接口的任何異步函數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1