接口技术-OPC DA服务器的设计与实现

合集下载

OPC DA服务器的设计与实现

OPC DA服务器的设计与实现

OPC DA 服务器的设计与实现
什幺是opc 服务器
OPC 服务器的功能就是与下位机进行数据的交换,其中包含了大量
的通讯程序和数据存贮程序。

然后提供标准的OPC 接口,供其它软件使用。

程序标准化以后,其他的软件商只需开发面对服务器的程序即可,不用对不
同的硬件设备开发不同的硬件驱动程序。

减小了工作量,也方便了使用。

OPC 全称OLE for Process CONtrol,它是由OPC 基金会制定的自动化领域过程控制标准。

实际上,OPC 代表一系列的标准,包括OPC 数据访问(OPC Data AccESS),OPC 报警与事件(Alarms & Events ),历史数据访问(OPC Historical Data Access),OPC XML-DA(1.0)等。

目前,OPC 标准在现代工业控制领域,特别是在数据采集和软实时控制方面已有很好的应用。

OPC 标准介绍
在OPC 标准制定之前,工业软件制造商需要为不同的硬件开发各自
独立的驱动接口。

对于开发典型监控程序软件的技术人员来说,约有20%-。

基于OPCXML-DA技术的服务器与客户端实现

基于OPCXML-DA技术的服务器与客户端实现

赵 子 龙 ,李 妮 ,周 卫 斌 ,游 国栋 (天 津 科 技 大 学 ,天 津 300222)
摘 要 :简要 介 绍 了 0PC和 ()PC XM L规 范 ,利 用 相 关 技 术研 究 了风 电场 实现 互联 网 在 线 监 控 的 关键 部 分 ,即描 述 了 C¨PC XMI,DA服 务器的具体组成及客户端程序的 开发步骤 ,从 而解决传统监控 系统数据通信 无法通过 防火墙 ,不 支持 互 联 网通 信 的 问题 ,使 SCADA 系统 可 以 实现 可 靠 的远 程 通 信 。
软 件开发 商 之间 的依 赖 ,极 大 地 提 高 了 双方 的工 作 效 率 ;有效解 决 了工控 行 业 复 杂 驱 动 程 序造 成 的数 据 接 口问题 ,减少 资源 浪 费 ,提升 通信 质量 等 l2]。
由于 OPC DA 技 术 不 能 满 足 互 联 网远 程 监 控 的 需求 ,故 OPC基金 会推 出 OPC XMI 一DA 规 范着 重 解 决 OPC DA技 术 的集 成 性 、通 用 性 和 开 放 性 等 问题 。 OPC XML规范 根 据 W eb Service整 体 概 念 ,将 OPC 应用 扩展 到互 联 网 ,使 得 企 业 能 够 通 过 Internet发 布 ()PC通信 指令 ,为解 决 系统 不 能 通 过 防火 墙 ,仅 限 于 本 地局域 网的 问题 提 供 了研 究方 向 ,从而 高 效 实 时 地 进行 通信 调度 。
Key words:OPC XM L;server;client program
0 引 言
全球 能源 日益枯 竭 ,环境 污染 问题 逐 步凸显 ,可 持 续 能 源 的开发 、利用 尤 为重要 ,其 中 以风 能 为代 表的 风 力 发 电技术 越来 越受 到世 界各 国的高度 关 注 。为 了能 够 高效 、灵 活地 应用 风 能资源 发 电 ,使风 电机 组稳 定 可 靠 运行 ,考虑 采 用风 电场 监控 与数 据采集 (sCADA)系 统 解决该 问题 。系统 主要 对 现 场 数 据 实 时采 集 、调 节 运 行参 数 、查 询 历史 数 据 以及 故 障 报 警 。 目前 我 国 风 电场 SCADA 系 统 的底 层 PLC监 控 普 遍 采用 国 际标 准 OPC协议 进 行通 信 ,该 技术 的应用在 很 大程度 上解 决 了各 工控 PLC厂 家 之 间 通信 难 的 问题 。但 是 随着 工 业监 控领 域 的发展 ,OPC的应用 只 局 限 于本 地 局 域 网 ,无 法通 过 防火墙 、不 支持互 联 网通信 的 弊病越 发 明 显 l1]。本 文 重点 分析 了 OPC XML-DA 通 信协 议 的 开 发 ,将 其应 用到 scADA 系统 中以 实 现 可靠 的远 程 通 信 ,解决 现有 SCADA 系统 中 OPC通信 协议 无 法 与互 联 网连接 的弊 病 。

基于Web服务技术的OPC XML-DA服务器分析与实现

基于Web服务技术的OPC XML-DA服务器分析与实现

基于Web服务技术的OPC XML-DA服务器分析与实现.txt如果不懂就说出来,如果懂了,就笑笑别说出来。

贪婪是最真实的贫穷,满足是最真实的财富。

幽默就是一个人想哭的时候还有笑的兴致。

本文由michaelxqy贡献pdf文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

第30卷第6期电力自动化设备ElectricPowerAutomationEquipmentV01.30No.602010年6,ElJun.2010基于Web服务技术的OPCXML—DA服务器分析与实现陆会明.殷壶(华北电力大学自动化系,北京102206)摘要:OPCDA服务器是以组件对象模型和分布式组件对象模型技术为基础实现的。

因此其在互联网上进行数据交互存在一定技术缺陷.从而引出了基于Web服务技术的OPCXML-DA服务器的技术优势以及开发的必要性。

使用gSOAP工具包开发出一个中间层服务器,给出了该服务器的系统框架图并介绍了相应模块。

重点论述了OPCXML-DA服务器中有关订阅服务的关键技术,并给出了相应的实现方法。

通过在2台跨网络的计算机上所进行的服务器与客户端之间数据传输的实验结果表明。

该技术在跨网络的环境下通信时具有高效可行性。

关键词:OPCXML.DA;XML;SOAP:Web服务中图分类号:TP302文献标识码:A文章编号:1006—6047(2010)06—0096—040引言用于过程控制的对象连接与嵌入(OLE)——OPCfOLEforProcessContr61)规范都是通过采用组述语言(WSDL)对相应的Web服务进行描述及定位。

WSDL是一种基于XML的语言.可以用来定义相应的服务接口.描述提供的服务以及服务的调用方法。

所需传递的信息以及传递的格式。

本文首先简要地介绍了规范中所要用的XML技术和SOAP的内容.而后根据规范所提出的需要实现的服务功能和数据类型具体阐述了服务器的架构和相应的开发细节。

OPC接口技术的介绍

OPC接口技术的介绍
"Automation" client (Visual Basic, Excel,…) OPC Automation wrapper
"Custom" client (C++,….)
custom interface server
custom interface server
自定义接口与自动化接口
• 自定义接口效率高,通过该接口,客户
标准OPC组对象
项(OPC Item)
• OPC Item存储具体Item 的定义、数据
值、状态值等信息。OPC Item级别的 一个对象代表与一个过程变量的连接。 该对象的唯一接口是OPCItemDisp。关 于OPC Item的信息可以在属性表中找 到,例如数值(“Value”)属性或存取 路径(“AccessPath”)属性。
• 可选的接口定义
• 服务器地址空间及配置 • 时间同步与顺序发送机制 • EnumOPC对象属性条目
通用OPC结构及组成
• OPC数据访问规范 • OPC报警和事件规范 • OPC数据交换规范
• OPC历史数据访问规范
• OPC批处理规范 • OPC安全性规范 • OPC XML规范
对象及接口概述
OPC接口技术
谈英姿
tanyz@ 东南大学自控系工业自动化教研室
内容提要
• 概述 • OPC基本原理 • OPC DA 接口标准
• OPC AE 接口标准
• OPC HDA 接口标准 • OPC XML接口标准
OPC基本原理
• 通用OPC结构及组成 • 对象及接口概述 • 必需的接口定义
能够发挥OPC服务器的最佳性能,采用C ++语言的客户一般采用定制接口方案; • 自动化接口使解释性语言和宏语言访问 OPC服务器成为可能,采用VB等语言的 客户一般采用自动化接口

通用OPC服务器研究与设计

通用OPC服务器研究与设计

通用OPC服务器研究与设计OPC(OLE for Process Control)服务器是一种用于实时过程控制的数据通信标准,由OLE(Object Linking and Embedding)技术发展而来。

随着工业自动化和信息化水平的不断提高,OPC服务器在各个领域得到了广泛应用。

然而,现有的OPC服务器通常针对特定领域或特定厂商的硬件设备进行开发,缺乏通用性和灵活性。

因此,本文旨在研究与设计一种通用的OPC服务器,以提高不同领域和不同设备之间的互操作性和兼容性。

通用OPC服务器应具备以下功能和性能需求:支持多种通信协议和数据格式,如Modbus、Profinet、OPC UA等;支持多元算术运算和逻辑运算,以及多种数学函数;支持实时数据采集和存储,以及历史数据查询;支持多种安全机制,如数据加密、访问控制等;高可靠性和稳定性,能够适应不同的工业环境。

目前,市面上已经存在一些通用OPC服务器产品,如西门子的OpenPCS、艾伦-布拉德利(Alen-Bradley)的PACSystems等。

这些产品具有一些共同特点,如支持多种通信协议、多元算术运算和逻辑运算等。

然而,它们也存在一些不足之处,如对新兴协议的支持不够完善、安全性设计存在漏洞等。

基于需求分析,通用OPC服务器的设计应遵循以下思路:整体架构设计:采用分层架构设计,将数据采集、数据处理、数据存储等功能独立成不同的层次,有利于模块化开发和维护。

功能模块设计:针对不同协议和数据格式,设计通用的数据采集模块和处理模块,提高代码复用率。

同时,设计统一的接口规范,方便不同模块之间的通信和交互。

安全性设计:在数据采集和传输过程中,采取多种安全措施,如数据加密、访问控制等。

对重要数据进行备份和恢复机制,确保数据的可靠性和完整性。

通用OPC服务器的实现过程包括以下几个步骤:选定开发语言和开发环境,如C++、Java等,以及对应的开发工具和平台;设计并实现通用OPC服务器的各个功能模块,包括数据采集、数据处理、数据存储等;按照需求分析中的功能和性能需求,进行模块测试和整体测试;对测试中遇到的问题进行调试和优化,确保通用OPC服务器的稳定性和可靠性。

OPC简介及OPC DA 服务器的设计与实现

OPC简介及OPC DA 服务器的设计与实现

OPC 简介及OPC DA 服务器的设计与实现时,进行快速的二次开发。

实现OPC DA 服务器,需要依照OPC 基金会提供的OPC DA 标准,将从数据源中采集数据,以标准规定的接口形式提供给外部。

其中,OPC 规范为OPC 服务器规定了两套接口方式:定制接口(Custom interface)和自动化接口(AutomATIon Interface)。

其中,前者是OPC 服务器必须实现的接口,后者则是为方便VB 等脚本语言而提供,可以选择性实现。

2.1 OPC DA 服务器中的对象根据OPC 标准,在OPC DA 服务器中,主要包含三个层次的对象:服务器对象(Server),组对象(Group)和数据项(Item)。

其中,服务器对象与组对象是一对多的关系,一个Server 对象可以包含0 到多个Group 对象,而一个组对象中可以包含0 到多个数据项。

OPC DA 标准对Server 和Group 对象需要实现的接口,进行了详细的规定说明。

在OPC DA 标准中,客户端对服务器的数据存取是以Group 为单位的,每次将需要存取的数据项item 加入一个Group,然后对该Group 进行整体读写操作。

Group 对象通过标准定义的IOPCDataMgt 接口,对Item 进行添加,删除等相关的管理;而Server 对象则通过IOPCServer 接口对Group 对象进行添加,删除等管理。

2.2 OPC DA 服务器的结构开发一个OPC DA 服务器需要注意以下问题:服务器的运行方式,各个接口与对象的相互关系,内部数据的组织形式,对外部数据源的访问等。

在本实例中,OPC 数据存取服务器的框架结构如下图所示。

OPC DA服务器的研究

OPC DA服务器的研究

摘要OPC(OLE for Process Control)是实现智能设备与控制系统之间信息共享的工业标准,已广泛应用于工业过程控制的各个领域。

随着应用的拓展和新技术的采用,OPC技术也在不断地发展和完善。

因此,跟踪研究OPC技术并不断推广其应用,对提升我国过程控制系统的技术水平具有重要意义。

论文完成的主要工作如下:本文详细介绍了OPC技术产生的背景及其发展历程,在分析国内外应用和研究情况的基础上,说明了跟踪研究OPC技术的重要性。

深入研究了OPC技术规范的体系,阐述了OPC各个规范的应用领域,重点分析了OPC数据存取规范。

研究了利用Delphi7.0开发OPC数据存取服务器的方法。

本论文为OPC技术的应用研究提供了一个有益的参考,并为进一步研究OPC技术奠定了基础。

关键字:COM/DCOM;OPC DA;服务器AbstractOPC (OLE for Process Control) is an industry standard to realize the information-sharing between intelligent devices and control systems. And now, it has been widely applied to various fields of industrial process control. However, along with the applications extending and the new techniques adopting, OPC technology is continuously developing and improving. Consequently, it’s a signifi cant thing to improve the technology level of native automatization industry by tracking and studying OPC technology as well as extending its application.The main content as follows: The evolution of OPC technology is illustrated in this thesis. Through the analysis of application and research situation at home and abroad, it demonstrates the essentiality of OPC. Moreover, the system structure of OPC is studied in detail, and the application fields of OPC specifications are explained. Emphatically, the OPC DA (Data Access) Specification is analyzed. The method of developing OPC DA Server using the Delphi 7.0 is researched. The thesis provides a beneficial reference for application and research of OPC technology, and also establishes the foundation for the further research of OPC technology.Keywords: COM/DCOM; OPC DA; Server目录1 绪论 (1)1.1 OPC技术产生的背景 (1)1.1.1 传统的工控软件开发存在的问题 (1)1.1.2 工控软件的发展与OPC技术的产生 (1)1.2 OPC技术的规范及优点 (2)1.2.1 OPC技术规范简介 (3)1.2.2 OPC数据存取(Data Access)规范 (5)1.2.3 OPC技术的优点 (10)1.3 OPC技术在工业控制领域的应用及影响 (13)1.3.1 OPC技术在工业控制领域的应用 (13)1.3.2 OPC技术对工业控制系统影响 (14)1.4 本论文的选题及解决的问题 (16)1.4.1 选题的依据 (16)1.4.2 本论文的主要工作 (17)2 OPC DA的核心技术-OLE/COM/DCOM简介 ............... (18)2.1 COM对象与接口 (18)2.1.1 COM对象 (18)2.1.2 COM接口 (18)2.2 COM库 (20)2.3 COM进程模型 (21)2.4 COM的特性 (21)2.4.1 COM的线程特性 (21)2.4.2 COM的可重用性 (22)2.5 可连接对象 (23)2.5.1 可连接对象和连接点机制的基本原理 (23)2.5.2 可连接对象和客户通信的过程 (24)2.6 COM的实现 (25)2.7 DCOM技术 (31)2.8 OLE技术 (31)2.9 ActiveX技术 (32)3 利用OPC TOOLBOX在Matlab中实现实时数据的获取 ............... .. (33)3.1 OPC ToolBox简介 (33)3.2 MatrikonOPC模拟服务器简介 (33)3.3 建立OPC工具箱对象和OPC服务器之间的关联 (33)3.3.1 OPC工具箱对象和OPC服务器之间的关系 (33)3.3.2 配置DCOM (34)3.4 获取实时数据 (39)3.4.1 启动OPC Tools (39)3.4.2 创建的步骤 (39)3.4.3 趋势图的创建 (41)4 OPC DA服务器的实现 (43)4.1 OPC DA服务器的主要功能和结构设计 (43)4.1.1 OPCDA服务器的主要功能 (43)4.1.2 OPCDA服务器的结构设计 (43)4.2 OPC DA的地址空间 (51)4.3 OPC对现场数据的管理和维护 (57)结论 (59)致谢 ................... (60)参考文献 ..................... (61)附录A:英文文献 (62)附录B:中文翻译 (73)1 绪论1.1 OPC技术产生的背景1.1.1 传统的工控软件开发存在的问题随着我国工业的高速发展,工业生产规模不断扩大,过程控制复杂程度也大大提高。

opc da标准

opc da标准

opc da标准opc da标准是指基于微软的COM (Component Object Model) 技术的开放过程控制(OPC) 数据存取标准。

OPC是一种在工业自动化中广泛使用的通信协议,它提供了实时数据交换、实时事件通知和实时监控的能力。

在这篇文章中,我们将一步一步地回答关于opc da标准的一些常见问题。

第一步:什么是OPC DA标准?OPC DA标准是OPC基金会制定的用于实现基于COM技术的数据存取标准。

它定义了一套标准接口,使得不同供应商的设备和系统能够进行数据交换和通信。

这种标准化的接口使得工业自动化系统的整合变得更加容易,提高了生产效率和可靠性。

第二步:OPC DA标准的特点是什么?OPC DA标准具有以下几个特点:- 适用性广泛:OPC DA标准可以应用于不同领域和不同级别的工业自动化系统,包括过程控制、制造执行系统、数据采集和报告等。

- 可扩展性强:OPC DA标准支持添加新的功能和特性,以满足不断变化的工业自动化需求。

- 高效性:OPC DA标准采用了异步通信机制,可以实现高效的数据传输和实时性能。

- 安全性:OPC DA标准提供了一套可靠的安全机制,包括身份验证、数据加密和权限控制,以确保数据的安全性和完整性。

- 互操作性:OPC DA标准允许不同供应商的设备和系统进行直接的数据交换,降低了系统整合的复杂性。

第三步:如何使用OPC DA标准?使用OPC DA标准可以分为以下几个步骤:1. 设计系统结构:根据工业自动化系统的需求,设计系统的结构和功能模块。

2. 选择合适的OPC DA服务器:根据系统需求和设备兼容性,选择合适的OPC DA服务器供应商。

服务器可以是基于硬件的设备,也可以是基于软件的应用程序。

3. 安装和配置OPC DA服务器:根据供应商的指南,安装和配置OPC DA服务器。

配置包括设置数据源、定义标签和设置通信参数等。

4. 编写客户端应用程序:使用开发工具(如VB、C#等),编写客户端应用程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OPC DA服务器的设计与实现马亮, 张志鸿(郑州大学信息工程学院,河南郑州 450001)摘要:本文对OPC技术做了详细的分析,在OPC DA标准的基础上,给出了一个OPC数据存取访问服务器框架的设计方案,并介绍了实现的主要步骤。

在设计中引入了适配器模式,用来针对不同数据源进行快速开发。

关键词:OPC;数据访问;COM;适配器模式中图分类号:TP273 文献标识码:BDesign and Implement of OPC Data Access ServerMA Liang , ZHANG Zhi-hong(School of Information Engineering, Zhengzhou University, Zhengzhou Henan 450001, China ) Abstract: This paper presented a detailed analysis of OPC technical, gave an OPC Data Access Server framework on the basis of OPC DA standards, and introduced the main steps of realization. In the design, we exploited the Adapter Pattern to accelerate the implement for different data sources.Key words: OLE for Process Control; Data Access; COM; Adapter pattern0 引言OPC全称OLE for Process Control,它是由OPC基金会制定的自动化领域过程控制标准。

实际上,OPC代表一系列的标准,包括OPC 数据访问(OPC Data Access),OPC报警与事件(Alarms & Events ),历史数据访问(OPC Historical Data Access),OPC XML-DA(1.0)等[3]。

目前,OPC标准在现代工业控制领域,特别是在数据采集和软实时控制方面已有很好的应用。

1 OPC标准介绍在OPC标准制定之前,工业软件制造商需要为不同的硬件开发各自独立的驱动接口。

对于开发典型监控程序软件的技术人员来说,约有20%-30%的时间是用于编写通讯驱动程序[4]。

当供应商提供一个新的硬件时,应用软件研发人员就不得不重新编写一个新的程序。

而OPC标准的出现为此解决该问题提供了一个方案,它制定了一系列的数据存取,事件,报警等规范,使得当有新的硬件出现时,供应商只需提供实现的OPC标准接口,而上层应用软件则不需重新改写。

这样,在系统与设备之间,车间现场与信息管理之间,甚至更远的距离上,都可以通过OPC标准实现无缝通讯,而不必担心设备升级带来的不便和额外费用。

OPC为不同的应用制定了不同的标准,OPC DA是针对现场数据进行存取的接口规范,该标准基于OLE / COM / DCOM / COM+技术,采用Client / Server模式。

数据通过特定的采集卡或串口等,从现场设备中获得,然后OPC DA服务器将这些从数据源采集到的数据,以OPC标准接口形式提供给外部应用程序,例如工控软件,实时数据库等。

OPC服务器可以通过本地或远程服务服务器两种方式,为依照OPC标准实现的客户端提供服务。

DA服务器的设计2 OPC本文通过使用VC++编程实现的一个OPC DA服务器框架,来介绍OPC DA服务器设计中需要解决的主要问题。

在OPC服务器的设计中,引入适配器模式[6],通过适配层将数据访问同具体的数据源操作相分离,以便针对不同的数据来源时,进行快速的二次开发。

实现OPC DA服务器,需要依照OPC基金会提供的OPC DA标准,将从数据源中采集数据,以标准规定的接口形式提供给外部。

其中,OPC规范为OPC服务器规定了两套接口方式:定制接口(Custom interface)和自动化接口(Automation Interface)[1]。

其中,前者是OPC服务器必须实现的接口,后者则是为方便VB等脚本语言而提供,可以选择性实现。

2.1 OPC DA 服务器中的对象根据OPC 标准,在OPC DA 服务器中,主要包含三个层次的对象[1]:服务器对象(Server),组对象(Group)和数据项(Item)。

其中,服务器对象与组对象是一对多的关系,一个Server 对象可以包含0到多个Group 对象,而一个组对象中可以包含0到多个数据项。

OPC DA 标准对Server 和Group 对象需要实现的接口,进行了详细的规定说明。

在OPC DA 标准中,客户端对服务器的数据存取是以Group 为单位的,每次将需要存取的数据项Item 加入一个Group ,然后对该Group 进行整体读写操作。

Group 对象通过标准定义的IOPCDataMgt 接口,对Item 进行添加,删除等相关的管理;而Server 对象则通过IOPCServer 接口对Group 对象进行添加,删除等管理。

2.2 OPC DA 服务器的结构开发一个OPC DA 服务器需要注意以下问题:服务器的运行方式,各个接口与对象的相互关系,内部数据的组织形式,对外部数据源的访问等。

在本实例中,OPC 数据存取服务器的框架结构如下图所示图1 OPC 服务器的结构接口与对象:在各层次对象与接口的关系处理中,可以采用两种方法:多继承的方式,将Server/Group 对象继承自每个标准规定的接口;或者采用聚合的方式,Server/Group 对象包含接口对象。

本例采用的是第二种方式,该方式可以将使接口的编写相对独立,以方便测试,并且有利于自动化接口的可选择实现。

服务器使用VC++编程,包含以下几个主要的类:COPCServer :Server 对象的类,管理IOPCCommon ,IOPCServer ,IConnectionContainer 等接口;COPCGroup :Group 对象的类,管理IOPCItemMgt ,IOPCGroupStateMgt ,IOPCSyncIO ,IOPCAsyncIO ,IConnectionContainer 等接口;其他接口类:每个接口还对应一个实现类(如:CIOPCItemMgtImp 是IOPCItemMgt 的具体实现),该类完成OPC 标准规定的对应接口的功能函数,类的实例化对象将以聚合的方式接受Server 或Group 对象的管理;数据缓存区的构造:在OPC 服务器中,Cache 是重要的部分,存储结构将直接影响数据访问的速度,它负责将从设备中读取的数据先存放在数据缓存区,供同步或异步读取。

缓存区内存可以采用连续存储,链式存储和哈希存储[2]。

其中,考虑到存取速度和方便管理,该服务器选择采用连续存储的方式。

该方式可以随机存取数据,但存取数据的数量不宜过大,OPC DA 服务器组对象组对象 ItemItemItem 组对象 ItemItem 服务器对象 数据存取适配层 数据源OPC Custom / Automation interfaceOPC 客户端如果需要存取较大数量的数据项,则推荐采用哈希存储方式。

对于每个数据项,都包含有三个基本属性:数值(Value),时间戳(Time Stamp)和数据品质(Quality)。

从数据源中访问到的数据项将按照线性方式存储到连续的内存区域中;每次对缓存区的访问都需要进行加锁,以防止出现同时进行读操作和写操作。

2.3 轮询方式对数据源进行访问:由于服务器是单独不断从数据源读取数据,因此可以采用单独的线程,按时间轮询的方式,每隔一段时间对数据源进行访问,这个时间也就成为服务器支持的最短数据访问时间。

服务器的主要工作流程:(1) 每隔一段时间进行轮询操作;(2) 如果扫描时间到,访问数据源;否则,至(3);如果有订阅请求,回调订阅函数;(3) 如果有刷新请求,回调刷新函数;如果有异步读数据请求,读取数据并回调异步读函数;如果有异步写请求,将数据写入外部设备;(4) 返回(1);服务器中该循环的主要功能,主要用来进行异步数据存取,订阅及刷新。

而对于同步访问等操作,由于需要服务器立即存取数据然后返回结果,因此其实现并不在该主循环中,而是针对其接口单独编写一个类,用来实现同步存取接口函数的功能。

2.4 OPC DA 的数据访问方式OPC DA 对数据的访问主要分为以下几种:同步读,异步读,订阅和数据刷新;对数据源的操作又可以分为直接从设备读取和从Cache 中读取。

这两者的组合构成了对数据源的访问规则,OPC 标准对访问规则进行了详细的描述。

在这几种数据访问中,同步读接口可以实现少量,快速的数据读取,异步读则是提交一个请求,然后返回,等服务器完成数据读取后回调函数。

与同步读相比,异步读更能提高OPC Client 的使用效率,防止OPC 服务器尚未访问到数据时,造成客户端的等待。

订阅异步读大致相同,每当访问数据源后自动将数据提交给客户端。

图2OPC 服务器中采用的可连接对象结构模型 在OPC DA2.0和OPC DA3.0中的异步通讯机制中,使用到了连接点容器/连接点接口[1],取代了原来OPC DA1.0中的直接注册/回调的模式。

能够更灵活的支持多个连接点和连接。

在可连接对象模式中,每个可连接对象可以包含多个连接点,每个连接点支持一种回调接口;每个连接点上可以连接多个客户端;回调接口由客户端实现,可连接对象通过回调函数于客户端进行交互[5]。

在OPC DA 服务器中,可连接对象包括Server 对象和Group 对象两种,Server 对象只支持一个IOPCShutdown 回调接口,而异步数据交换等重要的功能位于Group 对象中。

在OPC 客户端 接收器OPC 客户端 接收器OPC 组对象中,包含一个连接点对象,该对象支持IOPCDataCallback 回调接口,连接点可以连接多个客户端,当异步访问完成时,服务器同过可连接对象通过调用标准规定的回调函数,通知每个已经注册的客户端。

2.5 基于适配器模式的数据采集OPC DA 服务器的最重要功能,就是从外部设备读取数据。

由于数据源的多样性,可以是磁盘映射的数据文件,串口或者是专门的数据采集卡。

为了设计一个通用的架构,便于以后升级或访问其他不同类型的数据源。

一个可行的解决方法就是,添加一个适配层,设计相应的数据访问接口,对有不同数据格式的采集,写入等操作,都从该接口继承,从而针对不同的数据采集方式完成相应的功能。

相关文档
最新文档