OPC客户端开发工具包
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OPC 客户端应用程序由两个主要部分构成:工具包和应用程序接口。工具包可以采用静 态或动态 DLL 引入,应用程序接口根据实际情况进行开发,可以采用共享内存区、命名管 道、动态连接库等形式进行通讯。
OPC 客户端应用程序中还需要一个重要的环节:OPC 工具包与应用程序接口之间的数 据交换,这个功能由二次开发人员完成。二次开发人员需要实现 OPC 客户端标签与应用程 序地址空间标签的对应关系的建立、实现 OPC 工具包的读、写方法的实现。
北京安捷尔软件技术有限公司
10
OPC 数据访问服务器客户端开发工具包
3.3. 浏览本机/远程计算机注册的 OPC 服务器:
3.3.1. ASDAC_GetServers
[功能] 获得计算机上注册的 OPC 服务器
[参数] LPCSTR ComputerName DWORD Version VARIANT* ServerNames VARIANT* ServerClassIDs
[功能] 断开服务器连接
[参数]
DWORD ServerHandle [返回值]
BOOL [说明]
服务器连接句柄 TRUE 成功 FALSE 失败
3.2.3. ASDAC_GetServerStatus
[功能] 获得服务器运行状态
[参数] DWORD ServerHandle FILETIME* StartTime FILETIME* CurrentTime FILETIME* UpdateTime WORD* State DOWRD* BandWidth DWORD* GroupCount WORD* MajorVersion WORD* MinorVersion WORD* BuildNum
[返回值]
DWORD
返回满足条件的节点个数
[说明]
FilterType:1 全部节点 2 枝节点,3 叶节点
3.4.5. GetItemFullName
[功能]
获得节点的全名(支持 1.0、2.0 规范)
北京安捷尔软件技术有限公司
5
OPC 数据访问服务器客户端开发工具包
2.3. 配置流程,浏览服务器地址空间
2.3.1. ASDAC_Init
初始化客户端开发工具包
2.3.2. ASDAC_ActiveCode
激活工具包
2.3.3. ASDAC_Connect
连接服务器
2.3.4. ASDAC_GetNameSpace,ASDAC_BrowseItems…
连接 OPC 服务器
[参数]
LPCSTR ComputerName
主机名称或 IP 地址
LPCSTR ServerClassID
服务器标识,是一个 GUID
DWORD Version
版本标志
[返回值]
DWORD
服务器连接句柄
[说明]
本机访问 ComputerName 设为 NULL 即可。
3.2.2. ASDAC_Disconnect
1.2. 工具包的特点
数据访问服务器工具包于 2004 年 3 月开始研发,经过两次大规模升级,实现了对 OPC 数 据访问服务器规范(以下简称 DA 规范)的全面支持(支持规范版本 1.0、2.0、3.0)。工具 包具有以下特点:
z 完全符合 DA 标准,通过 OPC 基金会兼容性产品测试 z 完全的封装使二次开发人员不需要了解 COM 技术和 OPC 规范接口细节 z 工具包支持多种开发语言,如 VC、BC、VB、Delphi 等 z 逻辑清晰、功能明确的二次开发函数保证用户进行二次开发简单容易 z 支持同步、异步数据通讯方式 z 支持自定义属性读写 z 支持树型地址空间 z 支持分布式体系结构 z 完备的产品升级和完善的技术支持,提供现场技术服务和远程技术指导
OPC 数据访问服务器客户端开发工具包
OPC 客户端开发工具包 使用手册
北京安捷尔软件技术有限公司 版本:2.1
北京安捷尔软件技术有限公司
1
前言
OPC 数据访问服务器客户端开发工具包
OPC(OLE for Processing Control)是工控行业的软件接口标准,主要用来解决控制 系之间或控系统与设备之间数据交换的标准化问题。OPC 规范包括数据访问服务器(DA)、 历史数据访问服务器(HDA)、事件与报警服务器(A/E)、XML 数据访问服务器(XML DA)、 等一系列标准规范。OPC 规范由 OPC 基金会负责制定并对 OPC 产品进行认证。
[返回值] DWORD
[说明]
主机名称或 ip 地址 版本 服务器名称 服务器标识
服务器数量
北京安捷尔软件技术有限公司
11
OPC 数据访问服务器客户端开发工具包
3.4. 标签浏览函数:
3.4.1. ASDAC_GetNameSpace
[功能]
获得服务器的地址空间类型(支持 1.0、2.0 规范)
[参数]
OPC 规范具有如下的优点: (1) 统一的接口标准简化了软件的开发和减低了系统维护的费用 (2) 充分的开放性和标准化特性,保证高度柔韧性系统的实现 (3) 持续的版本升级,保证了规范的先进性 (4) 支持 DCOM、.Net 架构
本文档介绍 OPC 数据访问客户端开发工具包(以下简称客户端工具包)的特点和如何 利用开发工具包进行 OPC 数据访问客户端的开发。
[参数]
DWORD ServerHandle
服务器连接句柄
LPCSTR ItemName
浏览节点名称(要求全路径)
WORD FilterType
节点类型过滤
LPCSTR FilterString
节点名称过滤
VARIANT* ItemNames
子节点名称
VARIANT* ItemIDs
子节点名称(全路径)
设置数据变化回调函数; 设置服务器关闭回调函数
2.2.5. ASDAC_AddGroup, ASDAC_RemoveGroup…
组操作函数
2.2.6. ASDAC_AddItem,ASDAC_RemoveItem…
标签操作函数
2.2.7. ASDAC_Disconnect
断开服务器连接
2.2.8. ASDAC_Uninit
OPC_BROWSE_DOWN = 2 移动到下级节点
OPC_BROWSE_TO
= 3 直接移动到某一节点
3.4.3. ASDAC_BrowseItems
[功能]
移动当前浏览节点(支持 1.0、2.0 规范)
[参数]
DWORD ServerHandle
服务器连接句柄
WORD FilterType
节点类型过滤
DWORD ServerHandle
服务器连接句柄
WORD* NameSpace
地址空间类型
[返回值]
BOOL
TRUE 成功 FALSE 失败
[说明]
OPC_NS_HIERARCHIAL=1;树型地址空间
OPC_NS_FLAT= 2;平面型地址空间
3.4.2. ASDAC_ChangeBrowsePosition
1.3. 工具包的产品分类
z 单一授权(加密锁),用此类工具包开发完成的客户端产品安装的目标计算机需要 安装加密锁,没有加密锁服务器无法持续运行。这类产品适合于产品开发次数比较 少的用户,如小型 MIS 用户、系统集成用户等。
z 无限授权(序列号激活),用此类工具包开发完成的客户端产品运行时无需判断加 密锁,工具包可以重复进行使用。这类产品适合于硬件厂商开发 OPC 驱动程序、软 件厂商为软件提供 OPC 标准服务器接口。
[说明]
FilterType:1 枝节点,2 叶节点
FilterDataType:数据类型,具体见 Variant 类型说明,0-所有类型
FilterAccessRight:
0- 不能读写
1- 只读
2- 只写
3- 可读可写
3.4.4. ASDAC_BrowseItemsEx
[功能]
移动当前浏览节点(支持 1.0、2.0、3.0 规范)
true 成功,false 失败
[说明]
释放工具包占用的资源等。
3.1.3. ASDAC_ActiveCode
[功能]
输入产品序列号
[参数]
LPCSTR lpName
用户名
LPCSTR lpCode
密码
[返回值]
BOOL
true-成功 false-失败
[说明]
用户名和序列号在购买序列号授权后获得
北京安捷尔软件技术有限公司
北京安捷尔软件技术有限公司
4
OPC 数据访问服务器客户端开发工具包
2.2. 运行流程
ቤተ መጻሕፍቲ ባይዱ2.2.1. ASDAC_Init
初始化客户端开发工具包
2.2.2. ASDAC_ActiveCode
激活工具包
2.2.3. ASDAC_Connect
连接服务器
2.2.4. ASDAC_SetDataChangeProc
LPWSTR(VC) = string(VB)
= pwidechar(DELPHI)
DWORD(VC) = long(VB)
=DWORD(DELPHI)
WORD(VC)
=integer(VB) =WORD(DELPHI)
BOOL(VC)
=BOOL(VB) =BOOL(DELPHI)
3.1. 基本函数
7
OPC 数据访问服务器客户端开发工具包
3.1.4. ASDAC_GetVersion
[功能] 获得工具包的版本信息
[参数] [返回值]
DWORD [说明]
工具包版本
北京安捷尔软件技术有限公司
8
OPC 数据访问服务器客户端开发工具包
3.2. 连接函数
3.2.1. ASDAC_Connect
[功能]
LPCSTR FilterString
节点名称过滤
WORD FilterDataType
数据类型过滤
WORD FilterAccessRight
访问权限过滤
VARIANT* ItemNames
子节点名称
北京安捷尔软件技术有限公司
12
OPC 数据访问服务器客户端开发工具包
[返回值]
DWORD
返回满足条件的节点个数
OPC 工具包产品以标准动态连接库(DLL)形式提供二次开发接口,与 Win98、WinNT、 WIN2000、WIN2003 系统完全兼容。OPC 开发工具包由服务器工具包、客户端开发工具包组成, 完全封装了 OPC 技术实现细节,使二次开发的程序员无需 OPC 规范底层细节,降低服务器和 客户端程序开发的复杂程度和减少了熟悉 OPC 技术的时间。
服务器连接句柄 服务器启动时间 服务器当前时间 最后数据更新时间 运行状态 带款 组数量 主版本号 副版本号 创建号
北京安捷尔软件技术有限公司
9
LPCSTR vendor
DWORD Size [返回值]
BOOL [说明]
OPC 数据访问服务器客户端开发工具包
厂商信息 厂商信息分配内存大小
TRUE 成功 FALSE 失败
1. 无限授权(源码),提供开发工具源码。
北京安捷尔软件技术有限公司
3
OPC 数据访问服务器客户端开发工具包
2. 数据访问服务器开发流程
2.1. OPC 客户端的基本结构
OPC 数据访问客户端工具包 应用程序接口
独立的应用 程序,可以包 括配置界面、 数据监控界 面等
可以采用共 享内存区、 命名管道、 动态连接库 等形式进行 通讯
本文共分为四个部分: 一、介绍了 OPC 的基本概念; 二、DA 客户端的开发流程; 三、详细描述了工具包的接口描述; 四、附录部分介绍了一些与 DA 开发相关的 OPC 规范和其他内容。
北京安捷尔软件技术有限公司
2
OPC 数据访问服务器客户端开发工具包
1. 工具包简介
1.1. OPC 工具包简介
浏览服务器地址空间
2.3.5. ASDAC_GetItemFullName
获得标签全名
2.3.6. ASDAC_Disconnect
断开服务器连接
2.3.7. ASDAC_Uninit
北京安捷尔软件技术有限公司
6
OPC 数据访问服务器客户端开发工具包
3. 工具包的接口描述
接口函数全部采用 stdcall 调用规范
[功能]
移动当前浏览节点(支持 1.0、2.0 规范)
[参数]
DWORD ServerHandle
服务器连接句柄
WORD Direction
移动方向
LPCSTR NodeName
节点名称
[返回值]
BOOL
TRUE 成功 FALSE 失败
[说明]
OPC_BROWSE_UP
= 1 移动到上级节点,忽略 NodeName
3.1.1. ASDAC_Init
[功能]
初始化系统运行参数和分配资源
[参数]
[返回值]
BOOL:
true 成功,false 失败
[说明]
调用此函数初始化工具包参数,分配资源等。调用此函数后工具才能正常工作。
3.1.2. ASDAC_Uninit
[功能]
释放工具包占用的资源
[参数]
[返回值]
BOOL: