接口技术-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技术的服务器与客户端实现
赵 子 龙 ,李 妮 ,周 卫 斌 ,游 国栋 (天 津 科 技 大 学 ,天 津 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服务器分析与实现.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接口技术的介绍
"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(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 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(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标准是指基于微软的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#等),编写客户端应用程序。
《OPCDA服务器与客户程序开发指南》
《OPCDA服务器与客户程序开发指南》引言:OPCDA是一种基于OLE(对象链接与嵌入)技术的通信协议,用于在工业自动化领域中实现数据交互。
通过使用OPCDA,开发者可以实现不同厂商的设备、控制系统之间的数据交换和通信。
本文将介绍OPCDA服务器与客户程序的开发指南,帮助读者了解OPCDA的基本概念,以及在开发过程中应注意的事项。
一、OPCDA概述1.1OPCDA的定义和特点OPCDA(OLE for Process Control Data Access)是一种基于OLE技术的通信协议,该协议定义了一组接口和规范,用于实现不同平台、不同设备的数据交换和通信。
OPCDA具有以下特点:-通用性:支持跨平台、跨设备的数据交互。
-可扩展性:可以通过扩展接口和规范来支持新的功能。
-简化开发:提供了一组标准接口,开发人员可以直接使用这些接口进行数据交互,无需关注底层通信细节。
1.2OPCDA的工作原理OPCDA的工作原理可以概括为以下几个步骤:-客户程序向OPCDA服务器请求数据,服务器返回请求的数据。
-客户程序发送写入请求给OPCDA服务器,服务器将数据写入到设备中。
-OPCDA服务器通过驱动程序与实际设备进行通信,获取数据或将数据写入设备。
二、OPCDA服务器开发指南2.1选择合适的开发工具和环境在开发OPCDA服务器时,需要选择一个合适的开发工具和开发环境。
常用的开发工具有Microsoft Visual Studio、Delphi等,可以根据自己的实际情况选择合适的工具。
2.2实现OPCDA服务器接口开发OPCDA服务器需要实现一组标准接口,包括IOPCServer、IOPCItemIO等。
这些接口定义了服务器与客户程序之间的数据交互方式,包括读取数据、写入数据等操作。
2.3配置服务器参数在服务器的开发过程中,需要配置服务器的参数,如服务器名称、服务器描述、支持的OPC版本等。
这些参数可以通过调用OPCDA服务器提供的接口进行配置。
OPC服务器开发的几种方法
OPC服务器开发的几种方法陈丹丹钱美夏立邵英(武汉海军工程大学 湖北 武汉 430033)摘要:简要介绍了OPC DA规范,描述了OPC DA(数据访问)服务器开发的三种方法:使用MFC的COM库函数开发OPC服务器、通过ATL开发OPC服务器和利用工具包快速开发OPC服务器,最后对三种方法的特点作出了比较。
关键词:OPC;ATL;服务器开发Abstract: Simply describe the OPC DA specification ,then three Methods of server model design based on OPC DA(Data Access) specification are introduced. The three methods are using MFC ATL and the fast developmentToolkit to develop OPC server.At last, compare the characteristics of three methods .Key words: OPC;ATL;Server development1.引言:OPC DA (OPC 数据访问规范)是OPC基金会最早发布的一个工业标准,主要是对现场设备的在线数据进行存取,目前已经发展到OPC DA 3.0版本。
OPC基于微软的OLE/COM原理,采用客户/服务器模式。
OPC 数据访问服务器主要由服务器对象、组对象和项对象组成。
OPC 服务器对象维护服务器的有关信息并包容OPC组对象,可以动态的创建或释放组对象;而OPC 组对象维护有关其自身的信息并包容OPC项,逻辑上管理OPC项;OPC项则标识了与OPC服务器中数据的连接。
OPC项不可以由OPC客户直接操作,所有对OPC项的操作都是通过包容该项的OPC组对象进行的。
而OPC服务器对象和组对象是聚合关系,即OPC服务器对象产生OPC组对象后,将组对象的指针传递给客户,由客户之间操作对象。
基于Delphi7的智能仪表OPC DA服务器设计
O C数据访 问服务器具有重要的意义 , P 本文 以宇光系列
智能仪表为例 , 研发 O C数据访问服务器的设计方法。 P
1 o C技 术介绍 P
1 1 O C 技 术 的 优 势 . P
在 O C O Epoes ot 1 P ( L rcs cn o)出现以前 , r 工业 软件
研究 , D lh 作 为开发 平 台 , uf O CT o Kt 以 e i p7 H a P ol i作为 开发 工具 , 发 了宇 电 A88 能仪表 O C数据 访 问服务 器 的设 计方 法 。最 u 研 1 智 0 P 后, 注册并 测试 了服务 器 的性能 , 同时 与工控 组态 软件 M G C S实现 了信息 交互 和集 成 。所 述方 法具有 一定 的可行 性 和有效性 。
O 引 言
许多企业在逐年 的设备改造与升级过程中 , 往往是 分阶段采购设备 , 成了多种设备 、 造 多种信息 子系统并 存的异构环境。这些 子系统独立性 强 、 件封闭 、 软 互操 作性差 、 实现系统 集成难 度大。开发具 有 自主产权 的
可靠性更加 困难。同时 , 虽然计算机 中的 S A . H C D A MI
维普资讯
基于 D lh7的智能仪表 O C D ep i P A服务 器设计
任
雯, 等
基 于 D lh e i p 7的智 能 仪 表 O C D P A服 务器 设计
De in o nel en n tu sg fIt l i tIsr men P g tO C DA re a e n Dep i Sev rB s d o lh?
关 键词 :O C技术 P 中图分类 号 :T 1 P8 智能 仪表 O C 献标 志码 :A
OPC DA服务器的设计与实现
OPC DA服务器的设计与实现
马亮;张志鸿
【期刊名称】《微计算机信息》
【年(卷),期】2008(024)025
【摘要】本文对OPC技术做了详细的分析,在OPC DA标准的基础上,给出了一个OPC数据存取访问服务器框架的设计方案,并介绍了实现的主要步骤.在设计中引入了适配器模式,用来针对不同数据源进行快速开发.
【总页数】3页(P228-230)
【作者】马亮;张志鸿
【作者单位】450001,河南,郑州,郑州大学信息工程学院;450001,河南,郑州,郑州大学信息工程学院
【正文语种】中文
【中图分类】TP273
【相关文献】
1.基于Web服务技术的OPC XML-DA服务器分析与实现 [J], 陆会明;殷垚
2.基于OPC XML-DA技术的服务器与客户端实现 [J], 赵子龙;李妮;周卫斌;游国栋
3.智能仪表OPC DA服务器的开发和研究 [J], 李志亮;宋成法;费文晓
4.基于OPC UA及OPC DA协议实现的ABB服务器与客户端的数据传输 [J], 连磊
5.OPC XML-DA中间件服务器的研究与开发 [J], 刘汉强;张浩;马玉敏
因版权原因,仅展示原文概要,查看原文内容请购买。
基于OPC DA技术的客户应用软件的设计及实现的开题报告
基于OPC DA技术的客户应用软件的设计及实现的开题报告开题报告标题:基于OPC DA技术的客户应用软件的设计及实现一、研究背景及意义OPC(OLE for Process Control)技术是一种在工业自动化领域广泛应用的开放式数据交换标准。
OPC DA(OPC Data Access)是OPC技术的一个重要分支,用于实现实时数据采集与共享。
基于OPC DA技术,可以快速方便地开发出各种类型的工业自动化软件,提高生产效率和降低成本。
客户应用软件则是指基于特定领域和工业企业的需求开发出的专业化软件。
这些软件通常需要实时获取和处理大量的实时数据,因此基于OPC DA技术开发客户应用软件能够大大提升软件的效率和可靠性。
因此,本研究旨在探索基于OPC DA技术的客户应用软件的设计和实现,提高生产效率和优化自动化系统的运行。
二、研究内容及计划(一)研究内容:1. OPC DA技术的原理与架构分析2. 了解并选择适合自己的编程语言3. 客户应用软件的需求分析4. 设计并实现OPC DA客户应用接口5. 客户应用软件的界面设计6. 软件测试与优化(二)研究计划:1. 前期调研和学习: 10 天2. 技术准备和程序设计: 20 天3. 界面设计和程序测试: 20天4. 论文撰写和提交: 10 天总计: 60 天三、研究方法及技术路线本研究主要采用文献资料法、实验法和方法论法。
具体的技术路线如下:(一)研究方法:1. 文献资料法:了解OPC DA技术的相关文献和标准,深入分析OPC DA的原理和架构。
2. 实验法:根据研究需要,设计实验验证OPC DA客户应用软件的可行性,收集数据并进行分析。
3. 方法论法:结合本研究的实际需求,探索基于OPC DA技术的客户应用软件设计,包括界面设计和编程实现。
(二)技术路线:1. 确定OPC DA客户应用软件的技术选型和编译环境。
2. 利用OPC DA技术实现客户应用软件对数据源的实时获取和共享。
《OPCDA服务器与客户程序开发指南》
《OPCDA服务器与客户程序开发指南》OPCDA(OLE for Process Control Data Access)是一种通信协议,用于实现工业自动化系统中的数据访问功能。
OPCDA服务器与客户程序开发指南是为了帮助开发人员理解和掌握OPCDA服务器与客户程序的开发过程而撰写的一本指南。
首先,本指南将介绍OPCDA的基本原理和概念,包括OPCDA的架构、工作原理、数据通信方式等。
然后,指南将详细讲解如何开发OPCDA服务器。
开发OPCDA服务器需要了解如何定义OPCDA的数据模型、编写OPCDA 服务器程序、实现数据通信功能等。
指南将从这些方面逐步介绍各种开发技术和方法。
接下来,指南将介绍如何开发OPCDA客户程序。
开发OPCDA客户程序需要了解如何访问OPCDA服务器、获取数据、实时监控等。
指南将从这些方面逐步介绍开发技术和方法。
在指南的后部分,将介绍一些实际开发中常见的问题和解决方法。
例如,如何处理连接错误、如何处理数据变化等。
指南将提供一些实用的开发经验和建议,帮助开发人员克服可能遇到的困难和障碍。
本指南还将附带一些实例代码和开发工具的使用方法。
这些示例代码和开发工具将帮助开发人员更好地理解和应用OPCDA的开发技术。
指南还将提供一些参考资料,包括相关的文档、书籍、网站等。
通过阅读《OPCDA服务器与客户程序开发指南》,开发人员可以获得关于OPCDA服务器与客户程序开发的全面和详细的指导。
本指南旨在帮助开发人员提高开发效率,减少开发成本,提高软件质量,从而更好地满足工业自动化系统的需求。
《OPCDA服务器与客户程序开发指南》
第五章OPC 服务器的远程访问************************************************* The Distributed Component Object Model (DCOM) 是为了支持在局域网或者广域网或者INTERNET上的组件对象通讯。
因为DCOM技术基于COM技术,是COM的无缝延续,一种领先的组件技术,可以利用COM组件的优势来进行分布式的访问,因为DCOM,你不需要了解底层的网络协议。
通过DCOM技术,我们的OPC客户程序可以访问不在同一台机器上的OPC服务器。
DCOM一般而言在Microsoft Windows NT® 4.0及以上操作系统上运行。
实际上DCOM可以应用在UNIX的平台上()。
图5.1远程创建COM组件示意图一旦创建了远程的COM服务器,所有的调用将通过proxy和stub对象配置。
proxy和stub使用RPC(Remote Procedure Calls,远程过程调用)进行通信,RPC处理所有网络交互。
在服务器端,stub对象负责配置,而客户端则由proxy负责。
跨网络的数据传送由RPC负责。
实际上,DCOM使用一个扩展类型的RPC,称为对象RPC(Object RPC)或者ORPC。
RPC可以运行在多种不同的协议上,包括有TCP/IP,UDP,NetBEUI,NETBIOS和命名管道。
标准的RPC协议是UDP(用户数据报协议)。
UDP是一个无连接的协议,看来与DCOM这种面向连接的系统配合并不是一个好主意。
不过这并不是一个问题,DCOM自动负责管理连接。
对于COM组件而言,进程外组件不需要作任何修改,只需要把DCOM配置一下便可以供客户程序远程访问。
本章主要介绍如何配置DCOM来访问远程OPC服务器,以及DCOM的连接管理,最后给出Visual C++6.0下的远程访问OPC服务器的客户程序实例。
第一节OPC服务器远程访问的DCOM配置下面以Windows NT 4.0(SP6)和Windows 2000为例来说明远程访问OPC服务器时服务器端及客户端需要的配置。
网络OPCDADCOM配置步骤
网络OPCDADCOM配置步骤网络OPC DCOM配置(本地OPC服务器无需设置DCOM)服务器和客户机处于同一子网;客户机能够ping通服务器的IP;当前登录OPC客户机的帐户(用户名和密码),在OPC服务器中也必须存在(但服务器非必要用此帐户登陆系统)。
当客户机以不同于服务器当前登录的帐户访问服务器时,会自动被识别为Everyone用户,因此后面章节描述如何添加Everyone的DCOM权限。
一、防火墙设置控制面板->系统和安全->Windows防火墙->入站规则:2.1服务器设置OpcEnum能被本地子网访问到2.2 服务器设置OPC服务程序能被本地子网访问到2.3 客户机开放DCOM端口135给本地子网三、OPC服务器DCOM安全配置开始->运行->mmc comexp.msc /32 (64位操作系统需要通过32位运行方式打开,如果是32位系统运行-> dcomcnfg):3.1 配置“我的电脑”安全设置图3.1在图3.1所示的界面中选择【组件服务\计算机\我的电脑】,右键点击“我的电脑”,选择“属性”菜单,具体配置如图3.2 -图3.4所示:图3.2 图3.3 图3.4在图3.4所示界面中访问权限选择“编辑默认值”->添加Everyone用户->设置其权限为允许全部在图3.4所示界面中访问权限选择“编辑限制”->设置Everyone 权限为允许全部在图3.4所示界面中启动和激活权限选择“编辑默认值”->添加Everyone用户->设置其权限为允许全部在图3.4所示界面中启动和激活权限选择“编辑限制”->设置Everyone权限为允许全部3.2 配置“DCOM OpcEnum”安全设置在图3.1 所示的界面中选择【组件服务\计算机\我的电脑\DCOM 配置\OpcEnum】,右键菜单选择“属性”,具体设置如图3.5-图3.10所示:图3.5 图3.6 图3.7图3.8 图3.9 图3.10 在图3.7所示界面中配置权限选择自定义,编辑如图3.10所示,添加Everyone用户在图3.9所示界面中选择“交互式用户”(如果此项为灰色,64位系统运行-> C:\Windows\SysWOW64\OpcEnum.exe regserver,32位系统运行-> C:\Windows\System32\OpcEnum.exe regserver)3.3 配置“DCOM OPCServer.WinCC”安全设置(此处为Wincc OPC服务程序,其他OPC服务程序需选择对应的名称)在图3.1 所示的界面中选择【组件服务\计算机\我的电脑\DCOM 配置\OPCServer.WinCC】,右键菜单选择“属性”,具体设置如图3.11-图3.16所示:图3.11 图3.12 图3.13图3.14 图3.15 图3.16 在图3.13所示界面中配置权限选择自定义,编辑如图3.16所示,添加Everyone用户在图3.15所示界面中选择“交互式用户”(如果此项为灰色,64位系统运行-> C:\Windows\SysWOW64\OpcEnum.exe regserver,32位系统运行-> C:\Windows\System32\OpcEnum.exe regserver)。
OPC及OPC服务器的设计与实现
OPC及OPC服务器的设计与实现上海自动化仪表股份有限公司技术中心张庆军摘要:简要介绍了OPC原理,OPC规范以及小型DCS控制系统OPC服务器的设计与实现。
关键词:OPC COM DCOM DCS一引言OPC(OLE for process control)是一个工业标准。
它是由一些世界上占领先地位的自动化系统和硬件、软件公司与微软合作而建立的、满足开放性的和互操作性的接口标准。
OPC标准的建立基于微软的COM技术规范,并由OPC基金会这个国际组织管理.OPC为不同厂商的硬件设备、软件和系统定义了公共的接口,使得过程控制和工厂自动化中的不同系统、设备和软件之间能够相互连接、通信、操作。
一般在控制系统中,包含过程画面的软件(如SCADA软件)在与现场设备通信的时候,常采用如下的方法:1,采用标准的通信协议,如profibus、modbus、HART、CAN总线等,因为监控管理软件与现场设备采用同样通信协议,所以监控管理软件不需要对现场设备的驱动程序.2,对于没有采用标准的通信协议的设备,监控管理软件需要在设备制造商的配合下为这些设备开发驱动程序.这种方式虽然执行效率比较高,但兼容性差,软件供应者必须对每一种接入的设备开发驱动程序,设备制造商也必须提供设备的通信协议.3,通过OPC 这个开放协议与过程控制或其他系统软件进行通信,这种方式的优点在于:不管硬件设备是否使用标准的通讯协议,制造商只需提供一套OPC 服务器,即可支持大部分的监控等软件,也不需要将自己的通信协议等控制系统中往往混合有多种协议,有符合不同的现场总线标准的设备,也有厂商使用自定义通信协议的设备,因而开放性很差。
提供过程画面的软件在配置这样的系统的时候会非常困难,用户往往只能选择单一设备制造商提供的产品,但如果每个设备的通信协议都配置了OPC服务器,由OPC服务器封装这些协议,并通过标准的接口给提供过程画面的软件,这样提供过程画面的软件就可以通过标准的OPC接口实现与设备的互连,对于软件来说就不需要实现诸多的通信协议,对于用户来说就可以提高选择产品的自由度。
opcda 远程连接原理
opcda 远程连接原理
OPC(OLE for Process Control)是一种用于工业自动化领域
的通信协议,它允许不同的自动化设备和软件系统之间进行数据交
换和通信。
而OPC DA(Data Access)是OPC协议的一个常见的子集,它用于实时数据的读取和写入。
在工业自动化系统中,远程连
接是非常重要的,因为它允许用户从远程位置访问和控制设备和数据。
OPC DA远程连接的原理主要涉及到网络通信和数据传输。
当用
户需要从远程位置访问OPC DA服务器时,通常会通过网络连接到服
务器。
在网络连接建立后,客户端可以向服务器发送请求,以读取
或写入数据。
服务器接收到请求后,会执行相应的操作,并将结果
返回给客户端。
在OPC DA远程连接中,安全性和稳定性是非常重要的考虑因素。
为了确保数据的安全传输,通常会采用加密技术和身份验证机制。
此外,网络稳定性也是至关重要的,因为任何网络中断或故障都可
能导致通信中断或数据丢失。
另外,远程连接还需要考虑到网络延迟和带宽限制。
由于数据
传输需要一定的时间,网络延迟可能会影响实时性能。
而带宽限制
可能会导致数据传输速度变慢,影响用户体验。
总的来说,OPC DA远程连接的原理涉及到网络通信、数据传输、安全性和稳定性等方面。
在实际应用中,需要综合考虑这些因素,
以确保远程连接的可靠性和性能。
同时,随着网络技术的不断发展,远程连接的原理和实现方式也在不断演进,以满足工业自动化系统
对远程访问和控制的需求。
OPCDA远程连接设置
OPC DA远程连接设置局域网内 OPC DA客户端访问 OPC DA服务器是基于 DCOM组件的远程调用。
新的 OPC UA协议通过证书互换的方式可以更为简单的进行远程连接。
如 OPC服务器支持 OPC UA建议使用 OPC UA协议进行通讯,因实际工程的需要此次试验OPC DA的远程访问。
网上查阅的资料大部分通过大范围的开放 DCOM调用权限来进行 OPCDA通讯,通过测试和深入了解发现 OPC访问的设置并不复杂,而且可以通过针对性的配置降低安全风险。
试验硬件:局域网;架设 C(客户端)电脑和S(服务器)电脑;保证两台 PC相互 ping 通;试验软件:KEPserverEX V6(OPC客户端)安装于客户端电脑;Applicom console(OPC服务器)安装于服务器电脑;(只支持OPC DA)关键设置:1、用户配置( C 和 S 都要配置)2、防火墙配置(开启防火墙的PC需要配置)3、本地电脑的 DCOM配置( C 和 S 均需要配置)4、OPC服务器程序的 DCOM配置(仅 S 需要配置)一、创建用户账户在 C 和 S 上分别创建一个拥有管理员权限的同名同密码账号,例如: PMI;要进行 OPC DA远程接, C必须使用该账户登录系统,通过配置 S 可以以该账户登录系统。
二、配置防火墙一般防火墙默认情况是开启的,如果 C 和 S 都不开防火墙,可以省略防火墙的配置,建议先关闭防火墙进行连接测试,测试连通后再开启防火墙进行配置。
关于防火墙的配置在最后说明。
三、配置本地电脑的DCOM运行 comexp.msc -32 进入 32 位 DCOM组建服务界面,一般 OPC软件位 32 位,如果软件为 64 位,运行 comexp.msc进入 64 位 DCOM组件服务界面进行配置。
1、客户端 C 和服务器 S 的 DCOM配置两台电脑均进入组件服务—我的电脑—属性如下图进行设置:确认 C 和 S 两台电脑都设置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 服务器的最重要功能,就是从外部设备读取数据。
由于数据源的多样性,可以是磁盘映射的数据文件,串口或者是专门的数据采集卡。
为了设计一个通用的架构,便于以后升级或访问其他不同类型的数据源。
一个可行的解决方法就是,添加一个适配层,设计相应的数据访问接口,对有不同数据格式的采集,写入等操作,都从该接口继承,从而针对不同的数据采集方式完成相应的功能。