OPC服務(wù)器用戶手冊(cè)_第1頁
OPC服務(wù)器用戶手冊(cè)_第2頁
OPC服務(wù)器用戶手冊(cè)_第3頁
OPC服務(wù)器用戶手冊(cè)_第4頁
OPC服務(wù)器用戶手冊(cè)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、OPC客戶端開發(fā)工具包用戶手冊(cè)北京華富惠通技術(shù)有限公司目錄1、 工具包簡介 3(一)OPC 簡介:3.(二)工具包的特點(diǎn):32、 OPC客戶端程序開發(fā)流程 4(1) OPCg戶端程序開發(fā)用到的相關(guān)知識(shí)4(2) 用工具包 開發(fā)的OPC客戶端程序的框架 6(3) 調(diào)用工具包接口的流程圖如下: 7(4) 在開發(fā)過程中,用戶必須完成一些工作: 8三、工具包的接口描述 9(一)初始化函數(shù)9.(5) 服務(wù)器連接函數(shù)10(6) 標(biāo)簽組'函數(shù) 1.3(7) 標(biāo)簽項(xiàng)函數(shù)1.7(8) 回調(diào)函數(shù)22(9) 其它函數(shù)22四、附錄:24(1) OPC DA規(guī)范中關(guān)于標(biāo)簽數(shù)據(jù)質(zhì)量的描述: 24(2) OPC DA

2、®范中關(guān)于標(biāo)簽的屬性:2 7(3) COM相關(guān)知識(shí):27(4) 加密鎖的使用: 28前言本文檔介紹北京華富惠通技術(shù)有限公司開發(fā)的CONTROX-工具包(以下簡稱工具包)的特點(diǎn)和如何利用開發(fā)工具包進(jìn)行OPC客戶端程序的開發(fā)。本文共分為六個(gè)部分:一、介紹了 OPC的基本概念;二、OPC客戶端程序的開發(fā)流程;三、詳細(xì)描述了工具包的開發(fā)接口;四、附錄部分介紹了一些與DA開發(fā)相關(guān)的OPC規(guī)范和其他內(nèi)容。一、工具包簡介(一)OPC 簡介:OPC (OLE for Process Control)是工控行業(yè)的軟件接口標(biāo)準(zhǔn),它試圖按照標(biāo)準(zhǔn)的方法完成不同設(shè)備之間數(shù)據(jù)交換的問題。OPC1金會(huì)是OPCB范

3、的制定者,制定了數(shù)據(jù)訪問、歷史數(shù)據(jù)訪問、事件與報(bào)警、批處理、OPC DA XM管一系列標(biāo)準(zhǔn)。OPC基于微軟的COM術(shù),它具有如下的優(yōu)點(diǎn):(1)高速的數(shù)據(jù)傳輸;(2)基于分布式 COM的安全性管理機(jī)制;(3)降低開發(fā)成本;(4)實(shí)現(xiàn)具有高度柔韌性功能的系統(tǒng);(5)實(shí)現(xiàn)具有高可靠性的系統(tǒng);(二)工具包的特點(diǎn):北京華富惠通技術(shù)有限公司是OPC中國促進(jìn)會(huì)的五家成員之一,負(fù)責(zé)OPC技術(shù)在中國地區(qū)的技術(shù)支持工作,同時(shí)也從事著 OPC的研究與開發(fā)工作。于 2002年10月開發(fā)完成的工具包提供對(duì) OPC Data Access 2.04規(guī)范(以下簡稱 OPC DA規(guī)范)的支持,工具包具有以下特點(diǎn):(1)完全符

4、合 OPC Data Access2.04 標(biāo)準(zhǔn);(2)開發(fā)人員不需要了解 COM機(jī)制及OPC數(shù)據(jù)訪問服務(wù)器接口細(xì)節(jié);(3)支持多種開發(fā)工具。如 VC、BC、VB、Delphi等;(4)不要求開發(fā)人員了解開發(fā)工具中實(shí)現(xiàn)COM的具體技術(shù)。如 ATL等;(5)用戶開發(fā)簡單容易;二、OPC客戶端程序開發(fā)流程(一)CPC客戶端程序開發(fā)用到的相關(guān)知識(shí)一個(gè)OPC客戶端可以和一個(gè)或多個(gè) OPC服務(wù)器進(jìn)行連接。如圖 2-1圖 2-1 OPC Client不同的供應(yīng)商可以提供OPC Server,供應(yīng)商提供的代碼決定了支持何種設(shè)備并可以和之進(jìn)行數(shù)據(jù)存取。OPC Client #3OPCOPC Client #2

5、圖 2-2 OPC Client/Server 的關(guān)系OPC服務(wù)圖2-3對(duì)象層次關(guān)系在高層次上說,OPC服務(wù)器包含幾個(gè)對(duì)象:服務(wù)器、標(biāo)簽組和標(biāo)簽項(xiàng)。器對(duì)象包含標(biāo)簽組,標(biāo)簽組包含標(biāo)簽項(xiàng)。層次關(guān)系如下:OPC的標(biāo)簽組為客戶端提供了組織數(shù)據(jù)的一種方法。例如,用戶可以根據(jù)特定的顯示和報(bào)告的需要來組織標(biāo)簽組中的條目( 標(biāo)簽項(xiàng)),并可以進(jìn)行數(shù)據(jù)的讀寫。OPC客戶端還可以配置數(shù)據(jù)的更新速率。在一個(gè)標(biāo)簽組中,用戶可以定義一個(gè)或多個(gè)OPC '標(biāo)簽項(xiàng)',如圖2-3圖2-3 -標(biāo)簽組/標(biāo)簽項(xiàng)的關(guān)系圖OPC中的標(biāo)簽項(xiàng)表示了 OPC服務(wù)器中相聯(lián)系的數(shù)據(jù)源。從用戶接口的角度,客戶 端不能直接存取標(biāo)簽項(xiàng),因

6、為沒有定義直接的標(biāo)簽項(xiàng)接口,所有的標(biāo)簽項(xiàng)必須 通過OPC的標(biāo)簽組來實(shí)現(xiàn)存取。、標(biāo)簽質(zhì)量和時(shí)間戳,相關(guān)的內(nèi)容可以參考和每個(gè)標(biāo)簽項(xiàng)相關(guān)聯(lián)的有標(biāo)簽值 本說明書的附錄或 OPC規(guī)范。(二)用工具包 開發(fā)的OPC客戶端程序的框架OPCClient.DLL動(dòng)態(tài)庫中包含了 OPC客戶端開發(fā)工具包所用到的功能,客戶端應(yīng)用程序通過工具包和 OPC服務(wù)器的接口進(jìn)行操作,用戶不必了解OPC相關(guān)的通訊規(guī)范和實(shí)現(xiàn)。實(shí)現(xiàn)數(shù)據(jù)的讀取和回寫等功能。(三)調(diào)用工具包接口的流程圖如下:關(guān)于上面流程的說明:1 .對(duì)于工具包的激活說明:如果用戶購買的是加密鎖加密的方式,在運(yùn)行時(shí)系統(tǒng)會(huì)自 動(dòng)檢測。如果用戶購買的是序列號(hào)加密的方式,在程

7、序初始化之前要進(jìn)行相應(yīng)的激 活,否則系統(tǒng)會(huì)認(rèn)為工具為演示版。2 .用戶首先調(diào)用Init進(jìn)行初始化。3 .初始化后,可以和 OPC服務(wù)器進(jìn)行連接4 .初始化成功之后,注冊(cè)數(shù)據(jù)改變回調(diào)函數(shù)。5 .向OPC服務(wù)器對(duì)象可添加一個(gè)或多個(gè)標(biāo)簽組。6 .向OPC標(biāo)簽組對(duì)象可添加一個(gè)或多個(gè)標(biāo)簽項(xiàng)。7 .當(dāng)相關(guān)聯(lián)的 OPC服務(wù)器發(fā)生數(shù)據(jù)改變時(shí),注冊(cè)的回調(diào)函數(shù)會(huì)被調(diào)用,用戶可以對(duì) 接到的數(shù)據(jù)進(jìn)行相關(guān)的處理和操作。8 .在客戶程序退出時(shí),調(diào)用 Uninit。(四)在開發(fā)過程中,用戶必須完成一些工作:1 .建立應(yīng)用程序,加載 OPC運(yùn)行庫。2 .按照工具包的提供的接口進(jìn)行正確的函數(shù)調(diào)用。三、工具包的接口描述以下接口均

8、采用 stdcall調(diào)用規(guī)范。(一)初始化函數(shù)1、初始化函數(shù)function Init : BOOL;功能說明該函數(shù)用來初始化工具包動(dòng)態(tài)庫。參數(shù)說明無返回值如果函數(shù)成功返回 TRUE,否則返回FALSE附加說明一般情況下在動(dòng)態(tài)庫被加載時(shí)應(yīng)被調(diào)用。如果函數(shù)調(diào)用成功,在動(dòng)態(tài)被卸載時(shí)應(yīng)調(diào)用 Uninit。2、注銷函數(shù)procedure Uninit;功能說明該函數(shù)用來注銷工具包。參數(shù)說明無返回值無附加說明一般情況下在程序退出時(shí)調(diào)用,終止服務(wù)并釋放相應(yīng)的資源。3、工具包激活函數(shù)function ActiveCode (const UserName, Password: PChar): BOOL;功能說

9、明該函數(shù)用來激活工具包,用于序列號(hào)加密的版本。如果不調(diào)用此函數(shù),則工具包被當(dāng)做 DEMO版本處理。參數(shù)說明說明UserName用戶在訂貨時(shí)得到的用戶名Password用戶在訂貨時(shí)得到的注冊(cè)號(hào)返回值如果函數(shù)成功返回 TRUE,否則返回FALSE附加說明用戶名和注冊(cè)號(hào)為配對(duì)使用。(二)服務(wù)器連接函數(shù)1、服務(wù)器連接function Connect (const MachineName, ServerName: PChar; Version: SHORT = 2): THANDLE;功能說明該函數(shù)用來連接服務(wù)器,服務(wù)器端本建相應(yīng)的組件對(duì)象,返回 OPC服 務(wù)器的接口指針。參數(shù)說明說明MachineNa

10、meOPC服務(wù)器的節(jié)點(diǎn)名稱ServerNameOPC服務(wù)器的名稱Version版本號(hào),可后默認(rèn)值返回值如果函數(shù)不成功返回 NULL ,否則返回OPC服務(wù)器的連接句柄。附加說明 函數(shù)返回的接口指針很重要,對(duì)服務(wù)器的操作都要用到。2、斷開服務(wù)器連接procedure Disconnect (hConnect: THANDLE);功能說明該函數(shù)用來斷開服務(wù)器連接,釋放對(duì)象資源并通知OPC服務(wù)器退出。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄返回值無。附加說明程序退出時(shí)要調(diào)用該函數(shù)。3、得到OPC服務(wù)器個(gè)數(shù)函數(shù)function GetServerCount (MachineName: PCha

11、r; Version: SHORT = 2): Integer;功能說明該函數(shù)用來得到某節(jié)點(diǎn)中OPC服務(wù)器個(gè)數(shù)函數(shù)。參數(shù)說明說明MachineNameOPC服務(wù)器的節(jié)點(diǎn)名稱Version版本號(hào),可后默認(rèn)值返回值返回該節(jié)點(diǎn)OPC服務(wù)器個(gè)數(shù)函數(shù)。附加說明無。4、得到服務(wù)器名稱function GetServerName (Index: Integer; Buf: PChar; BufSize: Integer): BOOL;功能說明該函數(shù)根據(jù)索引號(hào)得到服務(wù)器名稱。參數(shù)說明說明IndexOPC服務(wù)器的索引號(hào)Buf服務(wù)器名稱的緩存指針,該緩存附于存放返回的服務(wù)器名稱BufSize緩存的大小。返 回 值

12、如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無。5、得到服務(wù)器信息functionGetServerStatus (hConnect:THANDLE;varSvrStatus:SERVERINFORMATION): BOOL;功能說明該函數(shù)用于得到服務(wù)器的信息。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄SvrStatus返回的服務(wù)器狀態(tài)信息返 回 值如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明服務(wù)器信息結(jié)構(gòu)說明typedef struct _SERVERINFORMATION(ftStartTime;/ 啟動(dòng)時(shí)間ftCurrentTime;/ 當(dāng)前時(shí)間ftLas

13、tUpdateTime;/ 最近更新時(shí)間WORD dwServerState;/ 服務(wù)器狀態(tài)DWORD dwGroupCount;/ 服務(wù)器中組的個(gè)數(shù)DWORD dwBandWidth;/ 服務(wù)器帶寬WORD wMajorVersion;/ 主版本號(hào)WORD wMinorVersion;/ 次版本號(hào)WORD wBuildNumber;/ 編譯序數(shù)WORD wReserved;/ 保留char* szVendorInfo;/ 服務(wù)器供應(yīng)商信息int BufSize;/ 緩存尺寸 SERVERINFORMATION;服務(wù)器狀態(tài)OPCSERVERSTATE聲明:(在 OPC DA規(guī)范中定義)enum

14、 tagOPCSERVERSTATE (OPC_STATUS_RUNNING = 1,OPC_STATUS_FAILED = OPC_STA TUS_RUNNING + 1,OPC_STATUS_NOCONFIG = OPC_STATUS_FAILED + 1,OPC_STATUS_SUSPENDED = OPC_STA TUS_NOCONFIG + 1,OPC_STATUS_TEST = OPC_STA TUS_SUSPENDED + 1 OPCSERVERSTATE;(三)標(biāo)簽組函數(shù)1、增加標(biāo)簽組function AddGroup (hConnect: THANDLE; Name: PCh

15、ar; bActive: BOOL; dwRate:DWORD;TimeBias: PLongint; DeadBand: PSingle; dwLCID: DWORD): THANDLE;功能說明該函數(shù)用于增加標(biāo)簽組。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄SvrStatus返回的服務(wù)器狀態(tài)信息Name標(biāo)簽組的名稱bActive是否同時(shí)激活dwRate本標(biāo)簽組的數(shù)據(jù)更新速率TimeBias數(shù)據(jù)更新的基準(zhǔn)時(shí)間(以分鐘為單位)。如果該參數(shù)為 NULL表示使用系統(tǒng)默認(rèn)的時(shí)間基準(zhǔn)。DeadBand數(shù)據(jù)更新的夕匕區(qū)(及化白分比),只有當(dāng)標(biāo)簽的數(shù)據(jù)及化大于死區(qū)時(shí)才會(huì)觸發(fā)回調(diào)函數(shù)給客戶端。如果參

16、數(shù)為空則表7K死區(qū)為0.0dwLCID此參數(shù)用于服務(wù)器以文本方式返回值(給這個(gè)組的相關(guān)操作) 時(shí)使用的語言。這包括象報(bào)警或條件狀態(tài)或數(shù)字線圈的狀態(tài) 等。返 回 值 返回新增標(biāo)簽組的句柄。附加說明無2、刪除標(biāo)簽組procedure RemoveGroup (hConnect, hGroup: THANDLE);功能說明該函數(shù)用于刪除標(biāo)簽組。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄返回值無附加說明無3、設(shè)置標(biāo)簽組名稱function SetGroupName (hConnect, hGroup: THANDLE; const Name: PChar):BOOL;功

17、能說明該函數(shù)用于設(shè)置標(biāo)簽組名稱。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄Name標(biāo)簽組的名稱返 回 值如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無4、設(shè)置標(biāo)簽組狀態(tài)參數(shù)function SetGroupState (hConnect, hGroup: THANDLE; Rate: DWORD; bActive:BOOL;TimeBias: DWORD; DeadBand: Single; dwLCID: DWORD): BOOL;功能說明該函數(shù)用于設(shè)置 標(biāo)簽組狀態(tài)參數(shù)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄Ra

18、te本標(biāo)簽組的數(shù)據(jù)更新速率bActive是否同時(shí)激活TimeBias數(shù)據(jù)更新的基準(zhǔn)時(shí)間(以分鐘為單位)。如果該參數(shù)為 NULL表示使用系統(tǒng)默認(rèn)的時(shí)間基準(zhǔn)。DeadBand數(shù)據(jù)更新的夕匕區(qū)(及化白分比),只有當(dāng)標(biāo)簽的數(shù)據(jù)及化大于死區(qū)時(shí)才會(huì)觸發(fā)回調(diào)函數(shù)給客戶端。如果參數(shù)為空則表示死區(qū)為0.0dwLCID此參數(shù)用于服務(wù)器以文本方式返回值(給這個(gè)組的相關(guān)操作) 時(shí)使用的語言。這包括象報(bào)警或條件狀態(tài)或數(shù)字線圈的狀態(tài) 等。返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無5、得到標(biāo)簽組狀態(tài)function GetGroupState (hConnect, hGroup: THANDLE

19、; Name: PChar; BufSize:Integer;var pRate: DWORD; var bActive: BOOL; var pTimeBias: DWORD;var pDeadBand: Single; var pLCID: DWORD): BOOL;功能說明該函數(shù)用于增加標(biāo)簽組。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄Name標(biāo)簽組的名稱BufSize標(biāo)簽組的緩沖區(qū)大小pRate本標(biāo)簽組的數(shù)據(jù)更新速率bActive是否同時(shí)激活pTimeBias數(shù)據(jù)更新的基準(zhǔn)時(shí)間(以分鐘為單位)。如果該參數(shù)為 NULL表示使用系統(tǒng)默認(rèn)的時(shí)間基準(zhǔn)。pDead

20、Band數(shù)據(jù)更新的夕匕區(qū)(及化白分比),只有當(dāng)標(biāo)簽的數(shù)據(jù)及化大于死區(qū)時(shí)才會(huì)觸發(fā)回調(diào)函數(shù)給客戶端。如果參數(shù)為空則表示死區(qū)為0.0pLCID此參數(shù)用于服務(wù)器以文本方式返回值(給這個(gè)組的相關(guān)操作) 時(shí)使用的語言。這包括象報(bào)警或條件狀態(tài)或數(shù)字線圈的狀態(tài) 等。返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無(四)標(biāo)簽項(xiàng)函數(shù)1、增加標(biāo)簽項(xiàng)function AddItem (hConnect, hGroup: THANDLE; ItemName: PChar): THANDLE;功能說明該函數(shù)用于在標(biāo)簽組中增加標(biāo)簽項(xiàng)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組

21、的句柄ItemName標(biāo)簽項(xiàng)的名稱返回值該標(biāo)簽項(xiàng)的句柄附加說明無2、刪除標(biāo)簽項(xiàng)procedure RemoveItem (hConnect, hGroup, hItem: THANDLE);功能說明該函數(shù)用于在標(biāo)簽組中刪除標(biāo)簽項(xiàng)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄hItem標(biāo)簽項(xiàng)的句柄返回值該標(biāo)簽項(xiàng)的句柄附加說明無3、讀標(biāo)簽的數(shù)據(jù)function Readitem (hConnect, hGroup, hItem: THANDLE; var Value: OleVariant;var pTimeStamp: ; var pQuality: DWORD):

22、 BOOL;功能說明該函數(shù)用于在標(biāo)簽組中讀取標(biāo)簽的數(shù)據(jù)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄hitem標(biāo)簽項(xiàng)的句柄Value標(biāo)簽的值pTimeStamp標(biāo)簽的時(shí)間戳pQuality標(biāo)簽的質(zhì)里返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無4、寫標(biāo)簽項(xiàng)'function Writeitem (hConnect, hGroup, hitem: THANDLE; pVar: POleVariant;DoAsync: BOOL = False): BOOL;功能說明該函數(shù)用于在標(biāo)簽組中標(biāo)簽數(shù)據(jù)的回寫。參數(shù)說明說明hConnectOPC

23、服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄hitem標(biāo)簽項(xiàng)的句柄pVar標(biāo)簽的回寫值DoAsync回寫操作的方式(是同步方式還是異步方式)返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無5、激活標(biāo)簽項(xiàng)function Activeitem (hConnect, hGroup, hItem: THANDLE; bActive: BOOL): BOOL;功能說明該函數(shù)用于在標(biāo)簽組中標(biāo)簽項(xiàng)的激活。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄hitem標(biāo)簽項(xiàng)的句柄bActive是否激活返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明

24、無6、驗(yàn)證標(biāo)簽項(xiàng)function Validateitem (hConnect, hGroup: THANDLE; Name: PChar; var pType:TVarType;var pAccessRights: DWORD): BOOL;功能說明該函數(shù)用于在標(biāo)簽組中驗(yàn)證標(biāo)簽項(xiàng)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄hGroup標(biāo)簽組的句柄Name標(biāo)簽項(xiàng)的名稱pType標(biāo)簽的數(shù)據(jù)類型pAccessRights標(biāo)簽的存取權(quán)限返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無7、得到標(biāo)簽項(xiàng)個(gè)數(shù)function GetItemCount (hConnect: TH

25、ANDLE): Integer;功能說明該函數(shù)用于得到某個(gè)連接中標(biāo)簽項(xiàng)的個(gè)數(shù)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄返回值返回標(biāo)簽項(xiàng)的個(gè)數(shù)。附加說明無8、得到標(biāo)簽項(xiàng)名稱function GetItemName (hConnect: THANDLE; index: Integer; Buf: PChar; BufSize:Integer): BOOL;功能說明該函數(shù)用于得到標(biāo)簽項(xiàng)名稱。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄index標(biāo)簽的索引號(hào)Buf標(biāo)簽名緩沖區(qū)的指針BufSize標(biāo)簽名緩沖區(qū)的大小返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無9、

26、得到標(biāo)簽項(xiàng)全名function GetItemFullName (hConnect: THANDLE; index: Integer; Buf: PChar;BufSize: Integer): BOOL;功能說明該函數(shù)用于得到 標(biāo)簽項(xiàng)全名。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄index標(biāo)簽的索引號(hào)Buf標(biāo)簽名緩沖區(qū)的指針BufSize標(biāo)簽名緩沖區(qū)的大小返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無10、得到標(biāo)簽項(xiàng)屬性的個(gè)數(shù)function NumberOfItemProperties (hConnect: THANDLE; ItemName: PChar

27、):Integer;功能說明該函數(shù)用于得到得到標(biāo)簽項(xiàng)屬性的個(gè)數(shù)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄ItemName標(biāo)簽項(xiàng)的名稱返回值標(biāo)簽項(xiàng)屬性的個(gè)數(shù)。附加說明無11、得到標(biāo)簽項(xiàng)屬性說明function GetItemPropertyDescription (hConnect: THANDLE; PropertyIndex:Integer; var pPropertyID: DWORD;var VT: TVarType; Buf: PChar; BufSize: Integer):BOOL;功能說明該函數(shù)用于得到得到標(biāo)簽項(xiàng)屬性的描述。參數(shù)說明說明hConnectOPC服務(wù)器的連接

28、句柄PropertyIndex標(biāo)簽項(xiàng)屬性的索引號(hào)pPropertyID屬性IDVT屬性的數(shù)據(jù)類型Buf屬性描述緩沖區(qū)的指針BufSize屬性描述緩沖區(qū)的大小返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無12、讀標(biāo)簽項(xiàng)'屬性值function ReadPropertyValue (hConnect: THANDLE; ItemName: PChar; PropertylD:DWORD; pValue: POleVariant): BOOL;(五)回調(diào)函數(shù)procedure SetDataChangeProc (hConnect:THANDLE; lpCallbac

29、k:DATACHANGEPROC; WriteCallback: WRITEFINISHPROC = nil);功能說明該函數(shù)用于注冊(cè)數(shù)據(jù)改變回調(diào)函數(shù)。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄lpCallback回調(diào)函數(shù)的程序指針(數(shù)據(jù)改變時(shí)調(diào)用)WriteCallback寫數(shù)據(jù)函數(shù)的程序指針返回值無附加說明 當(dāng)服務(wù)器中有數(shù)據(jù)改變時(shí),會(huì)調(diào)用注冊(cè)的回調(diào)函數(shù)。(六)其它函數(shù)1、瀏覽標(biāo)簽項(xiàng)function BrowseItems (hConnect: THANDLE; FilterType: WORD): Integer;功能說明該函數(shù)用于遍歷某個(gè)連接中的標(biāo)簽項(xiàng)。參數(shù)說明說明hConnec

30、tOPC服務(wù)器的連接句柄FilterType過濾類型返 回 值 返回遍歷標(biāo)簽項(xiàng)的個(gè)數(shù)。附加說明無2、設(shè)置瀏覽標(biāo)簽的過濾條件function SetBrowseFilters (hConnect: THANDLE; FilterString: PChar; DataType:TVarType; AccessType: DWORD): BOOL;功能說明該函數(shù)用于設(shè)置瀏覽標(biāo)簽的過濾條件。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄FilterString過濾字符串DataType數(shù)據(jù)類型AccessType標(biāo)簽存取類型返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無3、

31、改變標(biāo)簽瀏覽的位置function ChangeBrowsePosition (hConnect: THANDLE; Direction: WORD;NodeName: PChar): BOOL;功能說明該函數(shù)用于設(shè)置標(biāo)簽瀏覽的位置。參數(shù)說明說明hConnectOPC服務(wù)器的連接句柄Direction標(biāo)簽瀏覽的方向NodeName節(jié)點(diǎn)的名稱返 回 值 如果函數(shù)成功返回 TRUE,否則返回FALSE。附加說明無四、附錄:(一) OPC DA規(guī)范中關(guān)于標(biāo)簽數(shù)據(jù)質(zhì)量的描述:在OPC中每個(gè)標(biāo)簽都必須有數(shù)據(jù)質(zhì)量這個(gè)屬性,OPC的數(shù)據(jù)質(zhì)量的數(shù)據(jù)類型為 VT_I2 ,服務(wù)器通過該標(biāo)簽屬性向客戶發(fā)布標(biāo)簽的數(shù)據(jù)

32、質(zhì)量。OPC基金會(huì)對(duì)標(biāo)簽數(shù)據(jù)質(zhì)量的各個(gè)位做了一些定義,高八位由廠商自行定義,低八位的定義如下:彳氐字描述為QQSSSSLLQ:主狀態(tài)S:子狀態(tài)L:限定狀態(tài)低八位的高兩位定義:QQ位值定義描述000SSSSLL有效的數(shù)據(jù)如果數(shù)據(jù)質(zhì)量的低八位的局兩位為0,數(shù)據(jù)為無效。101SSSSLL不確定的數(shù)據(jù)如果數(shù)據(jù)質(zhì)量的低八位的高兩位為1,數(shù)據(jù)的質(zhì)量為不能確定。210SSSSLLOPC為定義未定義311SSSSLL有效的數(shù)據(jù)如果數(shù)據(jù)質(zhì)量的低八位的高兩位為3,數(shù)據(jù)為有效。中間四位的定義:1 .狀態(tài)為0:SSSS位值定義描述000000LL未定的的錯(cuò)誤數(shù)據(jù)是無效的,無效的原因沒有定義1000001LL服務(wù)器配置錯(cuò)誤由于服務(wù)器的配置錯(cuò)誤造成數(shù)據(jù)的無效2000010LL沒有連接由于沒有連接數(shù)據(jù)源,數(shù)據(jù)不能被正確的提供3000011LL設(shè)備錯(cuò)誤發(fā)現(xiàn)一個(gè)設(shè)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論