OPC客户端开发工具包(图)

  • 规格说明:
  • 产品数量:1000
  • 规格说明:软件

产品详细描述

OPC客户端开发工具包 产品名称:OPC客户端开发快速工具 产品规格:DLL 产品备注:通过OPC基金会客户端分析软件测试 产品类别:OPC快速开发工具(Win32) 产品说明: 一、 简介 OM_OPCClt.dll是根据OPC DA 2.05a Specification撰写出来的OPC DA Client的开发工具包,其具有以下特点: 1. 使用STL撰写。 2. 使用Unicode字符集,源码可方便地移植到WinCE平台下 3. 支持WinCE平台 4. 可连接OPC DA 2.0 和 1.0服务器 5.被多个开发平台支持。如:VB、DELPHI、VC++和.net。 二、 API介绍 1. HRESULT OMCoInit() 初始化COM库 2. void OMCoUninit() 反初始化COM库 ==================================================== 3. HRESULT NumberOfOPCServers(LPCWSTR szMachineName, int *num) 枚举机器上安装的OPC服务器 szMachineName: 要枚举服务器的机器名 num: 返回OPC服务器的数目 4. HRESULT GetOPCServerName(int nIndex, WCHAR *pBuf, int nBufSize) 获取OPC服务器的ProgID nIndex: OPC服务器的位置,其值在0~(num-1)之间 pBuf: 存储获取的OPC服务器的ProgID nBufSize: 缓冲区的大小 5. HRESULT ConnectOPCServer(LPCWSTR szMachineName, LPCWSTR szServerName, HANDLE hClient, HANDLE *phConnect) 与OPC服务器建立连接 szMachineName: 要连接的服务器所在的机器位置 szServerName: OPC服务器的ProgID hClient: Client传递的句柄,当有Shutdown回调时会回传此句柄 phConnect: 存储对应服务器的句柄 6. HRESULT EnableShutdownCallback(HANDLE hConnect, SHUTDOWNPROC lpCallback) 设置Shutdown回调,当Server关闭时会产生此回调 hConnect: OPC服务器的句柄 lpCallback: 产生回调时执行的函数 7. HRESULT GetSvrStatus(HANDLE hConnect, OPCSERVERSTATUS *pSvrStatus, int nVendorInfoBufSize) 获取服务器的状态信息 hConnect: OPC服务器的句柄 pSvrStatus: 存储服务器的状态信息 nVendorInfoBufSize: 指示存储VendorInfo的缓冲区的大小 8. HRESULT DisconnectOPCServer(HANDLE hConnect) 与OPC服务器断开连接 hConnect: 指向相应服务器的句柄 ==================================================== 9. HRESULT NumberOfOPCItems(HANDLE hConnect, int *num) 获取Server地址空间中定义的Item数目 hConnect: 对应服务器的句柄 num: 存储返回的Item数目 10. HRESULT GetOPCItemName(HANDLE hConnect, int nIndex, WCHAR *pBuf, int nBufSize) 获取Item的标志符 hConnect: 对应服务器的句柄 nIndex: Item的位置,范围在0~(num-1)之间 pBuf: 存储Item标志符的缓冲区地址 nBufSize: 指示缓冲区大小 11. HRESULT SetBrowseFilters(HANDLE hConnect, LPCWSTR szFilterCriteria, VARTYPE vtDataTypeFilter, DWORD dwAccessRightsFilter) 设置获取Item过滤器,此函数应在NumberOfOPCItems之前调用,适用于DA 2.0 Server hConnect: 对应服务器的句柄 szFilterCriteria: Server端定义的过滤字符串 vtDataTypeFilter: Item类型过滤 dwAccessRightsFilter: 访问权限过滤 12. HRESULT SetBrowseFiltersEx(HANDLE hConnect, LPCWSTR szNameFilter, LPCWSTR szVendorFilter) 设置获取Item过滤器,此函数应在NumberOfOPCItems之前调用,适用于DA 3.0 Server hConnect: 对应服务器的句柄 szNameFilter: Item名称过滤 szVendorFilter: Server端自定义的过滤字符串 13. HRESULT GetNameSpaceType(HANDLE hConnect, OPCNAMESPACETYPE *pNameSpaceType) 获取服务器地址空间的类型 hConnect: 对应服务器的句柄 pNameSpaceType: 存储服务器地址空间的类型 14. HRESULT BrowseTo(HANDLE hConnect, LPCWSTR szNodeName) 移动到地址空间指定的节点位置 hConnect: 对应服务器的句柄 szNodeName: 移动到节点位置的名称 NULL:回到根节点 NUL String:返回上一级节点 非空字符串:进入下一级指定的节点 15. HRESULT NumberOfNodeItems(HANDLE hConnect, OPCBROWSETYPE enFilter, int *num) 获取地址空间当前层节点的数目 hConnect: 对应服务器的句柄 enFilter: 节点过滤 num: 存储节点的数目 16. HRESULT GetNodeItemName(HANDLE hConnect, int nIndex, WCHAR *pBuf, int nBufSize) 获取节点名称 hConnect: 对应服务器的句柄 nIndex: 节点的位置,范围在0~(num-1)之间 pBuf: 存储节点的名称 nBufSize: 缓冲区的大小 16. HRESULT QualifyItemName(HANDLE hConnect, LPCWSTR szItemName, WCHAR *pItemID, int nBufSize) 获取节点完整的名称,如Device.Group.Node1 hConnect: 对应服务器的名称 szItemName: 由GetNodeItemName返回的节点名称 pItemID: 存储节点的ID nBufSize: 缓冲区的大小 ====================================================17. HRESULT AddOPCGroup(HANDLE hConnect, LPCWSTR szName, BOOL bActive, DWORD *pUpdateRate, LONG *pTimeBias, float *pDeadband, HANDLE *phGroup) 添加组到服务器 hConnect: 对应服务器的句柄 szName: 组的名称 bActive: 活动状态 pUpdateRate: 更新速率,同时也返回Server修正过后的更新速率 pTimeBias: 时间偏置 pDeadband: 更新变化范围 phGroup: 返回组对应的句柄 18. HRESULT EnableDataCallback(HANDLE hConnect, HANDLE hGroup, DATACALLBACKPROC lpCallback) 设置DataCallback回调 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 lpCallback: 回调发生时执行的函数 19. HRESULT RemoveOPCGroup(HANDLE hConnect, HANDLE hGroup) 删除指定的组 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 20. HRESULT GetGroupState(HANDLE hConnect, HANDLE hGroup, WCHAR *pName, int nNameLen, DWORD *pUpdateRate, BOOL *pActive, LONG *pTimeBias, float *pPercentDeadband) 获取组的属性 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 pName: 组的名称 nNameLen: 缓冲区的大小 pUpdateRate: 更新速率 pActive: 活动状态 pTimeBias: 时间偏置 pPercentDeadband: 更新变化范围 21. HRESULT SetGroupState(HANDLE hConnect, HANDLE hGroup, DWORD *pUpateRate, BOOL bActive, LONG *pTimeBias, float *pPercentDeadband) 设置组的属性 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 pUpdateRate: 更新速率 bActive: 活动状态 pTimeBias: 时间偏置 pPercentDeadband: 更新变化范围 22. HRESULT RefreshOPCGroup(HANDLE hConnect, HANDLE hGroup, OPCDATASOURCE dwSource = OPC_DS_CACHE) 刷新组内数据项的值 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 dwSource: 数据刷新方式 23. HRESULT SetGroupName(HANDLE hConnect, HANDLE hGroup, LPCWSTR szName) 更改组的名称 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 szName: 组的名称 ==================================================== 24. HRESULT AddOPCItem(HANDLE hConnect, HANDLE hGroup, LPCWSTR szName, LPCWSTR szAccessPath, VARTYPE *pCanonicalType, HANDLE hClient, HANDLE *phItem) 添加数据项到服务器 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 szName: 要添加数据项的ID szAccessPath: 访问路径 pCanonicalType: 订阅的数据类型,同时返回规范的数据类型 hClient: Client传递的句柄,DataCallback回调时会回传此句柄 phItem: 返回数据项的句柄 25. HRESULT RemoveOPCItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem) 删除指定的数据项 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 hItem: 对应数据项的句柄 26. HRESULT ReadOPCItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem, VARIANT *pValue, FILETIME *pTimeStamp, DWORD *pQuality, OPCDATASOURCE dwSource = OPC_DS_CACHE, BOOL DoAsync = FALSE) 读取数据项的值 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 hItem: 对应数据项的句柄 pValue: 返回值 pTimeStamp: 返回时间 pQuality: 返回品质 dwSource: 读取的源 DoAsync: 是否使用异步方式 27. HRESULT WriteOPCItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem, VARIANT *pVal, BOOL DoAsync = FALSE) 写数据项的值 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 hItem: 对应数据项的句柄 pVar: 要写的值 DoAsync: 是否采用异步方式 28. HRESULT ChangeOPCItemState(HANDLE hConnect, HANDLE hGroup, HANDLE hItem, BOOL bActive) 改变数据项的活动状态 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 hItem: 对应数据项的句柄 bActive: 数据项的活动状态 29. HRESULT GetOPCItemInfo(HANDLE hConnect, HANDLE hGroup, LPCWSTR szName, VARTYPE *pType, DWORD *pAccessRights) 获取数据项的信息 hConnect: 对应服务器的句柄 hGroup: 对应组的句柄 szName: 要获取信息的数据项的ID pType: 返回数据项的规范类型 pAccessRights: 返回数据项的访问权限 30.HRESULT GetErrorString(HANDLE hConnect, HRESULT ErrorCode, WCHAR *pBuf, int nBufSize) 返回错误码对应的错误信息 hConnect: 对应的服务器句柄 ErrorCode: 错误代码 pBuf: 存储错误信息的缓冲区 nBufSize: 缓冲区的大小