您现在所在的是:

工控软件

回帖:0个,阅读:631 [上一页] [1] [下一页]
711
sjjxy1985
文章数:6
年度积分:50
历史总积分:711
注册时间:2011/8/30
发站内信
发表于:2011/8/31 6:49:01
#0楼
OPC服务器开发工具包3.8
前言
OPC(OLE for Processing Control)是工控行业的软件接口标准,主要用来解决控制
系之间或控系统与设备之间数据交换的标准化问题。OPC 规范包括数据访问服务器(DA)、
历史数据访问服务器(HDA)、事件与报警服务器(A/E)、XML 数据访问服务器(XML DA)、等一系列标准规范。OPC规范由OPC基金会负责制定并对OPC产品进行认证。

OPC规范具有如下的优点:
(1)   统一的接口标准简化了软件的开发和减低了系统维护的费用
(2)   充分的开放性和标准化特性,保证高度柔韧性系统的实现
(3)   持续的版本升级,保证了规范的先进性
(4)   支持DCOM、.Net架构

本文档介绍OPC数据访问服务器开发软件包(以下简称软件包)的特点和如何利用开发
软件包进行OPC 数据访问服务器(以下简称DA)的开发。
本文共分为四个部分:
      介绍了OPC的基本概念;
      DA服务器的开发流程;
      详细描述了工具包的接口描述;
      附录部分介绍了一些与DA开发相关的OPC规范和其他内容。
国内著名下载网站绿盟提供下载:
http://www.xdowns.com/soft/38/110/2011/Soft_72907.html

RayFile提供下载:
http://www.rayfile.com/zh-cn/files/9be7d2b0-70a9-11e0-af58-0015c55db73d/


1、软件包简介
1.1.OPC软件包简介
OPC工具包产品以标准动态连接库(DLL)形式提供二次开发接口,与Win98、WinNT、
WIN2000、WIN2003系统完全兼容。OPC开发软件包由服务器软件包、客户端开发软件包组成,完全封装了OPC技术和COM技术实现细节,使二次开发的程序员无需OPC规范和COM技术底层细节,降低服务器和客户端程序开发的复杂程度和减少了熟悉OPC技术的时间,只需专注于自己熟悉的数据采集和过程控制,其他的一切都交给软件开发包来完成。由于软件开发包以标准的WINDOWS API方式提供,故可以在目前主流的所有开发语言和开发工具中得到支持。
1.2.软件包的特点
     数据访问服务器工具包于2004年6月开始研发,吸取了各大OPC开发包的优点,经过多次升级,实现了对OPC数据访问服务器规范(以下简称DA规范)的全面支持(支持规范版本1.0、2.0、3.0)。软件包具有以下特点:
        完全符合DA标准,通过OPC基金会兼容性产品测试
        完全的封装使二次开发人员不需要了解COM技术和OPC规范接口细节
        工具包支持多种开发语言,如VC、BC、VB、Delphi、C#等
        逻辑清晰、功能明确的二次开发函数保证用户进行二次开发简单容易
        支持同步、异步数据通讯方式
        支持自定义属性读写
        支持树型地址空间
        支持动态创建标签
        支持分布式体系结构
        高效(20ms/5000标签)
        良好的兼容性(支持所有组态软件、DCS系统、Scada系统)
        优良的稳定性,软件运行CPU占用率(2% 10000个节点)
        完备的产品升级和完善的技术支持,提供现场技术服务和远程技术指导
1.3.软件包的授权
     OPC软件开发包按照机器码和点数进行授权,如果没有授权文件,Demo版本支持2小时的运行,2小时后请重新启动软件即可。

2.数据访问服务器开发流程
2.1.OPC服务器的基本结构


OPC服务器应用程序由两个主要部分构成:OPC软件开发包和底层数据源接口。OPC软件开发包DLL以标准Windows API方式调用,底层数据源接口根据实际情况进行开发。数据源接口根据实际的硬件产品通讯规约、软件数据交换接口标准和数据库访问标准进行开发。数据源可以针对硬件设备、软件通讯接口和数据库等等。
OPC服务器应用程序中还需要一个重要的环节:OPC开发包与数据源接口之间的数据交
换,这个功能由二次开发人员完成。二次开发人员需要实现OPC地址空间标签和数据源标签的对应关系的建立、实现OPC工具包的设备写方法和设备读方法的实现。
2.2.基本开发流程
2.2.1.OPC开发包授权
根据机器码和点数向开发商索取授权文件或者无授权文件时可以连续运行2小时。

2.2.2.    CreateServer

初始化系统运行参数和分配服务器资源

2.2.3.    SetWriteCallBack、SetReadCallback

注册I/O通讯回调函数

2.2.4.    SetServerNotify、SetGroupNotify

注册工具包信息回调函数

2.2.5.    RegTag、AddTagProperty?

注册标签和标签属性

2.2.6.    UpdateTag、SetTagProperty

更新标签数据和标签属性值

2.2.7.    FreeServer

释放服务器资源

其它
RegServer、UnregServer注册和注销服务器

SetVensionInfo 设置服务器开发厂商信息

[注]由于OPC服务器采用COM技术,从COM的角度看,服务器是一个标准的COM组件,必须支持标准的COM注册技术。同时,为了发挥服务器浏览、激活、访问管理等特性,也要求在使用前注册服务器。
[注] BmOpcDaSvr_API被定义为:#define BmOpcDaSvr_API extern "C" __declspec(dllimport)

3.工具包的接口描述
3.1.注册和注销函数
3.1.1.    RegServer
[函数原型]
/// <summary>
///注册服务器
/// </summary>
/// <param name="szCLSID">服务器标识</param>
/// <param name="szName">服务器名称</param>
/// <param name="szDesc">服务器描述</param>
/// <param name="szExePath">服务器可执行程序路径</param>
/// <returns>TRUE成功,FALSE失败</returns>
BmOpcDaSvr_API BOOL __stdcall RegServer(LPCSTR szCLSID, LPCSTR szName,LPCSTR szDesc,LPCSTR szExePath)
[功能]
注册服务器
[参数]
LPCSTR szCLSID 服务器标识
LPCSTR szName服务器名称
LPCSTR szDesc服务器描述
LPCSTR szExePath服务器可执行程序路径
[返回值]
BOOL:true成功,false失败
[说明]
服务器的类标识UIID值,可以由visiual studio 安装程序中genguid.exe产生,也可以
在DELPHI(Cbuilder)代码编辑器中按下"ctrl+shift+G"产生。
服务器的名称一般按照通用表示法进行编写,采用三段式格式(产品名.厂商名.版本号)
每段用"."隔离,例如"VBDEMOHDS.BAIMA.2",就表示白马软件工作室的 VBDEMO
历史数据访问服务器,版本是2.0。具体格式可以由用户自行设定。
低八位的高两位定义:

                           表2(低八位的高两位定义)

中间四位的定义:

1、状态为0:
SSSS 位值 定义 描述
0 000000LL 未定的的错误 数据是无效的,无效的原因没有定义
1 000001LL 服务器配置错误 由于服务器的配置错误造成数据的无效
2 000010LL 没有连接 由于没有连接数据源,数据不能被正确的提供
3 000011LL 设备错误 发现一个设备错误,造成数据无效
4 000100LL 传感器错误 发现一个传感器错误,限定状态的位域有
时能提供进一步的诊断信息
5 000101LL 最后一次有效值 由于通信失败,提供的数据是最后一次保
存的有效值
6 000110LL 通信失败 通信失败并且没有最后保存的有效值可
以提供
7 000111LL 不在服务范围之内 标签定义为不活动的
8-15 OPC未定义 未定义
                              表3

2.主状态为1:
SSSS 位值 定义 描述
0 010000LL 未定义的错误 不能确定数据的有效性,其原因未定义
1 010001LL 最后可用的值 该值返回的是最后可用的值
2-3 OPC未定义 未定义
4 010100LL 传感器精度不够 该值被固定在传感的上下限上
5 010101LL 超出上下限 返回的值超出上下限
6 010110LL 数据来自多个数据源 数据需要来自多个可用的设备
7-15 OPC未定义 未定义
                                 表4
3.主状态为3:
SSSS 位值 定义 描述
0 110000LL 未定义的错误 数据有效,原因未定义
1-5 OPC未定义 未定义
6 110110LL 本地设定值 设备不能连接,该值是本地设定值
7-15 OPC未定义 未定义
                                表5
低两位的定义:
LL 位值 定义 描述
0 QQSSSS00 没有边界 这个值没有上下限
1 QQSSSS01 下限 该值被固定在下限值
2 QQSSSS10 上限 该值被固定在上限值
3 QQSSSS11 常量 该值被固定在某个常数上
                                 表6
4.3.如何发布服务器
以下程序应随服务器一同发布,可运行Install.bat批处理文件进行一下dll的注册和拷贝
1.Opcproxy.dll,安装路径%windir%\system32
2.Opccomn_ps.dll,安装路径%windir%\system32
3.OPCEnum.exe,安装路径%windir%
4.服务器软件和二次开发工具包
5.开放包授权文件

4.4.关于我们
白马软件工作室,成立于2000年,至今走过了十二个春秋。专注成就专业,精心打造精品,十年来,我们先后推出了数十款深受用户欢迎的软件。《程序员杂志》《软件报》《电脑报》等国内数十家媒体先后发文推介,软件以精彩、精致、精心、精品赢得了用户的信任和赞誉。

十年来,白马软件工作室作品,得到的广大用户的认可和好评,白马软件工作室在此诚意感谢广大用户十年来的支持、关心和厚爱!

免费体验、技术支持[/size][/size][/size][/size][/color][/color][/color][/color]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003