OPC客户端订阅式数据采集的实现和研究
opc数据采集服务器的研究与设计

OPC数据采集服务器的研究与设计熊望枝,焦青松,吴应良,左文明(华南理工大学电子商务学院广州,510006)摘要:该文研究了OPC技术的核心思想和服务器开发模式,并结合一种数据采集与控制卡,给出了一种基于OPC数据访问规范的数据采集服务器的系统设计与实现。
关键词:OPC;过程控制;数据采集中图分类号:TP273 文献标识码:AStudy and Design of OPC Data Acquisition Server XIONG W ang-zhi,JIAO Qing-song,WU Ying-liang,ZUO W en-ming (E-Business College, South China University of Technology,Guangzhou 510006,China)【Abstract】The core philosophy of OPC technology and developing pattern of OPC server are studied in this paper. The system design and implementation for an OPC Data and Access Server(DA) are discussed,this solution is addressed to a kind of data acquisition and control card.【Key words】OPC;Process Control;Data Acquisition1.引言随着计算机技术与控制技术的不断发展,过程控制系统的设计也得到了飞速的发展,不同的厂商相继推出它们的过程控制装置和数据采集设备,然而它们之间常常不能协调工作;工厂上层的客户应用程序与现场数字设备以及与其他应用程序之间的通信也不尽人意。
尽管可以开发定制的设备驱动程序和接口程序进行相互通信,但由于硬件类型和应用软件种类繁多,使得驱动程序的开发数量急剧增长,大大增加了应用软件开发和部署的难度。
OPC技术研究背景目的与应用

OPC技术研究背景目的与应用1 研究背景及目的2 OPC技术的应用1 研究背景及目的OPC作为一项逐渐成型的技术已得到国内外厂商的高度重视,许多公司都在原来产品的基础上增加了对OPC的支持。
由于统一了数据访问的接口,使控制系统进一步走向开放,实现信息的集成和共享,用户能够得到更多的方便。
OPC技术改变了原有的控制系统模式,给国内系统生产厂商提出了一个发展的机遇和挑战,符合OPC规范的软、硬件也已被广泛应用,给工业自动化领域带来了勃勃生机。
OPC (OLE for Process Control) 技术具有统一的数据传输、结构化存储和自动化等优势从而在工业控制领域得到越来越广泛地应用, 已经成为独立于计算机语言、操作系统甚至硬件平台的一种规范, 是面向对象程序设计概念的进一步推广。
OPC 的广泛普及为硬件厂商和使用客户都提供了很多便利, 硬件厂商只需提供一种软件, 就能够满足所有客户的需要; 软件系统开发商也不需考虑为不同的硬件开发不同的驱动程序; OPC 实现了远程测控, 使得应用程序的分布与系统硬件的分布无关, 便于系统硬件配置,使得系统的应用范围更广等等。
OPC 服务器的实质就是一个网关, 一方面它要从现场设备读取数据, 同时还要把来自不同类型设备的数据转化成统一的OPC 数据格式, 以满足不同系统、测控设备之间集成的要求。
OPCServer 端首先必须满足以下要求: ①作为OPC 服务器的计算机必须和作为Client 的计算机处于相同的网络域内才可以进行通讯; ②作为OPC 服务器的远程计算机在网路中要有自己独立的名称IP 地址。
其次, 建立OPC 服务器还要对运行在本机上的DCOM 等进行设置。
另外, 开发OPC、Data 、Client 之前要弄清楚服务器的大体情况, 比如需要访问的服器是否提供自动化接口、服务器的OPC 版本等等。
到目前为止, OPC 有110 和210 两个版本, 两个版本的接口定义不同, 210 版本是对110 版本的改进, 但不兼容。
OPC客户端的实现

OPC客户端的实现OPC(OLE for Process Control)是工业自动化领域常用的通信标准之一,它为不同的硬件设备和软件系统之间提供了一种标准的通信协议。
OPC客户端是指作为OPC通信的接收方,从OPC服务器获取和处理数据的软件应用程序。
下面将介绍OPC客户端的实现过程以及需要考虑的一些关键点。
1.确定需求:首先,需要明确需求,确定OPC客户端的功能和目标。
例如,需要读取实时数据还是历史数据?需要对数据进行分析和处理吗?实时性是否有要求?这些问题的答案将直接影响OPC客户端的设计和实现。
2. 开发环境搭建:在开始OPC客户端的实现之前,需要搭建相应的开发环境。
一般来说,使用基于Windows操作系统的开发工具比较方便,例如Visual Studio。
这些工具提供了开发OPC客户端的相关库和模板,可以简化开发的过程。
3.寻找OPC服务器:在开发OPC客户端之前,需要找到一个合适的OPC服务器作为数据源。
这个OPC服务器可能是来自硬件设备厂商提供的,也可能是通过软件模拟生成的虚拟OPC服务器。
根据需求,选择合适的OPC服务器进行连接和通信。
4.建立连接:在OPC客户端中,首先要与OPC服务器建立连接。
连接可以通过OPC服务器提供的API函数来实现。
一般来说,需要提供OPC服务器的地址和相关参数进行连接。
成功建立连接后,OPC客户端就可以与OPC服务器进行通信了。
5.数据读取和写入:建立连接之后,OPC客户端可以通过API函数来读取OPC服务器的数据。
一般来说,需要提供数据项的名称或ID来获取相应的数据。
读取到的数据可以进行后续的处理和分析。
除了读取数据,OPC客户端还可以通过API函数将数据写入OPC服务器,实现对远程设备的控制。
6.错误处理和异常处理:在OPC通信中,可能会出现各种错误和异常情况。
OPC客户端需要对这些情况进行处理,以确保通信的稳定性和可靠性。
例如,网络连接中断、OPC服务器崩溃等情况都需要进行相应的错误处理和异常处理。
OPC工具箱作OPC客户端的应用研究

OPC工具箱作OPC客户端的应用研究OPC(OLE for Process Control)是一种用于实时数据通信的开放标准,它允许不同厂商的设备和软件在工业自动化系统中实现数据交换和集成。
OPC工具箱是一种用于构建OPC客户端的软件工具集,它包含了各种API和功能模块,帮助开发者快速实现与OPC服务器的通信,并获取实时数据。
本文将针对OPC工具箱作为OPC客户端的应用进行研究,探讨其主要功能和优势,并结合实际案例分析其在工业领域的应用价值。
一、OPC工具箱的主要功能和优势1. 支持多种通信协议:OPC工具箱可以支持多种通信协议,包括OPC DA(Data Access)、OPC UA(Unified Architecture)等,能够与不同类型的OPC服务器进行通信,实现数据的读取和写入。
2. 提供丰富的API接口:OPC工具箱提供了丰富的API接口,包括C/C++、NET、Java等语言的SDK,开发者可以根据自己的喜好和需求选择合适的接口进行开发。
3.提供可视化界面设计工具:OPC工具箱还提供了可视化界面设计工具,帮助开发者快速构建OPC客户端的界面,并实现数据的展示和操作。
4. 支持跨平台运行:OPC工具箱可以在不同的操作系统上运行,包括Windows、Linux等,能够满足不同环境下的需求。
5.提供数据安全和稳定性保障:OPC工具箱采用了各种数据加密和传输协议,能够确保数据的安全性和稳定性,在工业生产环境中具有较高的可靠性和稳定性。
二、OPC工具箱在工业领域的应用案例分析以工业自动化系统为例,该系统需要与多个设备进行数据通信,并实现数据的实时监控和控制。
在这种情况下,可以使用OPC工具箱构建OPC客户端,实现与各种OPC服务器的通信,获取设备的实时数据。
1.数据采集与分析:通过OPC工具箱构建的OPC客户端可以实现对各个设备的数据采集,将采集到的数据进行实时监控和分析,帮助运维人员及时发现和解决问题。
OPC客户端订阅式数据采集的实现和研究

OPC客户端订阅式数据采集的实现和研究肖俊【摘要】简要介绍了OPC技术原理及其结构,然后对OPC客户端和服务器通信的三种方式进行论述并进行比较.然后针对工业控制的实际情况,讨论了OPC服务器的订阅式数据采集的设计和实现.【期刊名称】《电气传动自动化》【年(卷),期】2012(034)004【总页数】3页(P52-54)【关键词】OPC;组件对象模型;订阅式【作者】肖俊【作者单位】武汉大学自动化系,湖北武汉430072【正文语种】中文【中图分类】TP274.21 引言随着工业控制过程的复杂性和集成性的提高,工业自动化系统也变得更复杂,系统的集成度也越来越高。
而传统控制系统中不同设备之间的通信成为急需解决的问题。
由于各厂商之间的通信协议不一致,不同厂商生产的设备之间通信往往需要专门的软硬件设备或者根本就无法通信。
OPC技术就是为了解决这个问题而产生的。
OPC(OLE for Process Control,过程控制对象连接与嵌入技术)是OPC基金会组织推广的工业控制和生产自动化领域中的硬件和软件之间的标准接口[1]。
它是Windows平台下的,工业应用程序之间的一种高效通信技术规范。
它以组件对象模型(COM/DCOM/COM+)为基础,采用客户端/服务器模式。
OPC定义了一套标准的COM接口,允许各种不同设备之间以相同的方式进行通信。
这极大地改善了传统的控制系统中各设备之间通信以及硬件升级等带来的各种问题。
2 OPC简介OPC对于不同的工业用途有不同的规范。
目前已经推出的OPC规范有OPC数据存取规范、OPC报警与事件规范、OPC历史数据存取规范、OPC安全性规范、OPC服务器数据交换规范等一系列规范,以及目前仍处于制定中的OPC Common IO(OPC公共输入输出接口)等规范。
OPC规范是基于COM技术的。
其体系结构是客户端—服务器体系。
其体系图如图1所示。
从图1中可以看出OPC不仅提供了C/C++语言编写用的定制接口,也提供了自动化接口,方便VB、Java、Delphi等语言的编写,极大提高了各种语言的支持。
OPC技术在DCS数据采集中的应用

OPC技术在DCS数据采集系统中的应用何杨欢(中国石化长岭分公司计算机应用研究所,湖南省岳阳市414012)摘要:本文介绍了OPC技术在数据采集系统中的应用。
结合实际叙述了中国石化长岭分公司DCS数据采集系统及其软、硬件结构和功能特点,重点论述了OPC数据通讯技术和应用。
关键词: OPC DDEO 引言OPC全称是OLE for Process Control,是过程控制业中的新兴标准。
OPC新技术标准的出现为数据采集接口和现场过程控制DCS系统应用建立了桥梁。
在过去,为了实现不同生产装置的DCS系统和数据采集接口之间的数据通信,必须要花费很多时间去开发专用的通信接口程序。
在这种情况下,OPC标准应运而生。
OPC 以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
1OPC数据通讯技术1.1 OPC客户端与OPC服务器OPC技术的实现包括OPC服务器部分及OPC客户应用部分,其应用模式如图1所示。
OPC服务器收集现场设备数据信息,OPC客户端通过OPC标准接口获取OPC服务器的各种信息。
符合OPC标准的客户端可以访问来自任何生产厂商的OPC服务器。
图1 OPC客户端与OPC服务器连接图1.2 OPC服务器数据访问接口OPC标准以微软公司的OLE技术为基础,它是通过提供一套标准的OLE/COM接口完成的。
OPC服务器支持两种类型的访问接口:自动化接口(Automation interface);自定义接口(Custom interface)。
自动化接口是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。
而自定义接口是专门为C++等高级编程语言而制定的标准接口。
使用C#开发OPC Client的研究和应用

1 OPC 和C#概述1.1OPC 概述OPC (OLE for Process Control)是一种利用微软的 C O M /D C O M 技术来达成自动化控制的协议,根据 OPC Specifica-tion 的定义,OPC is "a standard mecha-nism for communicating to numerous data sources, either devices on the factory floor, or a database in a control room."现代化企业中自动化程度越来越高,数据量也在成倍增长,为了能够充分利用这些数据,发展出了ER P/ME S等信息化系统,这些系统架构大体如图1。
OPC协议做为一种通讯转换协议,介于下层控制系统与上层软件之间;它隐藏下层系统的不同,为上层的数据应用提供一个统一的接口,使得上层软件在数据集成时,无需考虑下层控制系统的协议和实现方式,只要符合OP C客户端的接口规范即可,这大大节省了上层软件在数据集成方面的工作。
OPC发展至今已有1.0、2.0、3.0等几个版本,在目前工业自动化中以2.0使用最为广泛。
1.2C#概述C#(念法:C Sharp,音标[∫a:p])是微软公司在2000年6月发布的一种新的编程语言,并在微软职业开发者论坛(PDC)上登台亮相。
C #是微软公司研究员A n d e r s Hejlsberg的研究成果。
C#看起来与Java有着惊人的相似;但是C#与Java也有着明显的不同,它借鉴了De lph i的一个特点,与COM (组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言。
此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。
基于OPC的第三方设备数据采集系统的设计与实现

现 场 设 备 , 决 了 设 备 驱 动 程 序 与 D S 系统 必 须 一 一 对 应 的 问 题 。 解 C
关 键 词 :O C;C M ;通 信 协 议 ;数 据 采 集 P O
中 图分 类 号 :T 2 3 5 P 7 . 文 献 标 识 码 :A 文章 编 号 :0 5 — 9 8 2 1 ) 2 0 3 — 3 2 8 7 9 f0 0 l — 12 0
为 主 框 架 提 供 统 一 的 通 信 调 用 接 口 , 框 架 部 分 通 过 接 口 的 调 用 来 实 现 对 设 备 IO 的 统 一 管 理 、 ห้องสมุดไป่ตู้ 主 / 调
和 通 信 信 息 的 集 中监 视 , 提 供 通 用 O C S re 接 口 , 上 层 应 用 系统 通 过 O C Cin 并 P evr 使 P l t可 实 时 地 访 问 e
te c re p n ig te d vc r e ,wh n te DC y t m u g a e h e ie d v r mu t b p r d d a c r i gy t wi n v tby h o s o d n h e ie d v r i e h S s se p r d ,t e d vc r e s e u g a e c o dn l ,i i l i e i l l a
De i n a d i l me t t n o a a c l c in s se fo sg n mp e n a i f d t ol to y t m r m o e t e t id a t e i e a e n OPC h h r -p ry d v c s b s d o
H N Q n n,H o A ig Mi S IB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OP l n o C ci t c mmu ia ig wi C e ra e s mma ie . n ie ig te r a sta in te d sg n h e l a in o e s nc t t OP s we r u n h r d Co s r h e l i t , e i n a d t e r ai t f z d n u o h z o
比于 同 步数 据 存 取 和 异 步 数 据 存 取 ,订 阅式 数 据 采 集 方 式 可 以
有 效 的 降低 了客 户 端 访 问 服 务 器 的 次 数 ,并 且 最 大 程 度 避 免 了 数 据量 大 时 网络 阻 塞 的 情 况 。 是 这种 方 式 也 有 缺 点 : 阅式 数 但 订 据 采集 只能 获 得 数 据 而 不 能 向 服 务 器 写 数 据 。若 要 向服 务 器 写 数 据则 必 须 采 用 同步 数 据 存 取 或 者 异 步数 据 存 取 。 过 , 现 在 不 在 的 工业 控 制 系统 中 , 要 监 测 的数 据 远 比需 要 凋 节 的 参 数 要 多 。 需
写数据 。
—
V ABL T E COP CCala k:p bi CC mObe — l c b u l o c jc
备之 间 以相 同 的方 式 进 行 通 信 ,改 善 了控 制 系 统 中各 设 备 之 间 通 信 以及 硬 件 升 级 等 带 来 的 各 种 问题 。
1 OP 数 据存 取 方 式 C
( C J务器 ) J P
图 2 同 步式 数 据 访 问
理 。 当 OP 服 务 器 完成 数 据 存 取 时 , C 在客 户 端 产 生 一 个 回调 , 在 回调 信 息 中 指 明数 据 。异 步 式 数 据 存取 比 同 步数 据 存 取 效 率 高 。最 大 程 度 节省 了 CP U和 网络 资 源 。 方 法
器 。 由 于 0P . 范 中增 加 的 I CD t C l a k比前 一 个 C20规 OP a a al c b
版本功能上更加强大使用上更加方便。故在这里只对从 I C OP —
Daa aIa k接 口派 生 的接 收 器 进 行 论 述 。 tC I c b
2 调 用 lo n cin 0neC nan r 口的 F d n e — ) c n e t P i r o tie 接 o t i Co n c n
《 业 控 制 计 算 机 》 0 第 2 工 21 1年 4卷 第 8期 写 都 是 非 常 容 易 做 到 的 , 文 献 [— ] 在 3 4 中都 做 了 明确 的说 明 。而 OP 订 阅时 数 据 采 集 由于 涉 及 到 C0M 连 接 点 的知 识 ,这 种 方 C
式 的 实 现 相 比 叫而பைடு நூலகம்言 比较 复 杂 。OP 订 阅式 数 据 采 集 在 不 同 的 C
同步 数 据 存取 是指 ,客 户 端 首 先 向 0P 服 务 器 提 出请 求 , C
0P 服 务 器 将 客 户 端 要 求 的数 据 作 为 方 法 的参 数 返 回 给 0P C C 客 户 端 , C 客 户 端 在 数 据 被 返 回前 必 须 处 于 等 待 状 态 。 这 种 0P 方 式 比较 简 单 , 用 于 数 据 量 少 的情 况 。若 数 据 量 增 多 , 率 会 适 效 大幅下降。
— — — — — — — — —
方法 调H, j1 自 OP a藏嘲 序
方法 调制结束
- -.- -- ・- 一- -・ — —— — — —. . ・・ -- ・・ ・t— — — —— I . i
调 用同步访问力 占
务器 模 式 。 C 定 义 了一 套标 准 的 COM 接 口 , OP 允许 各 种 不 同设
片步访 究 』 , :
0 .. — —————— Jl・… 一 . P .. . — : 一 一 ——————— … ・ - . . . 1 ——————— ・ ・ ・. ・ -1 l
图 1 OP 体 系结 构 C 图 3 异 步 式 数 据存 取
OP 数 据 存 取 规 范 着 重 于对 现 场 设 备 的 在 线 数 据 进 行 存 C 取 。 每个 OP 客 户 端 可 以 连 接 到 一 个 或 多个 不 同 厂 商 提 供 的 C OP C服 务器 。 多个 OP C服 务 器也 可 以和一 个 OP 客 户端 通 信 。 C 在 OP 规 范 中 , C 服 务 器 与 0P 客 户 端 的 数 据 存 取 有 C 0P C 三种方式 : 同步 、 步 、 阅 [ 。 这 里 面 , 异 订 纠] 在 三种 方 式 都 可 以进 行 客户 端 读 取 数 据 。 客 户 端 向 服务 器 写 数 据 只 有 两 种 方 式 : 而 同步
写 和异 步 写 。
订 阅式数据采集 和以上两种方式不 同。这种方式下 , C OP 客 户端 并 不 需 要 向服 务 器 提 出 请 求 。 而 是 服 务 器 周 期 性 的 扫 描 缓 冲 区 的数 据 。 果 数 据 发 生 变 化 或者 变化 超 过 一 定 范 围 , 通 如 就 知 客户 端 并 发 送 数 据 。 这 个 范 围被 称 为死 区 , 可 以进 行 相 关 而 是 设 置 的 。 阅式 数 据 采 集 实 质 上 是 异 步 数据 存 取 方 式 的一 种 。 订 相
OP C客 户 端 订 阅 式 数 据 采 集 的 实 现 和研 究
OP C客户端订阅式数据采集的实现和研究
R a ia in a d e e r h o e l t n R s a c fOPC z o Da a Ac e s Cl n a Su s r t n t c s i tVi b c i i e po
肖 俊 ( 汉大 学 自动化 系 , 武 湖北 武 汉 4 0 7 ) 3 0 2
摘 要
简要 介 绍 了 OP 技 术 原 理 及 其 结构 , C 然后 对 OP 客 户 端和 服 务 器通 信 的 三 种 方 式进 行 论 述 并 进 行 比 较 。 C 然后 针 对 工 业控 制 的 实 际情 况 , 论 了 OP 服 务 器的 订 阅式 数 据 采 集 的设 计 和 实现 。 讨 C
1 通过 调 用 Qu r l e fc ) e yn r e获 取 I n e t n one C n一 t a c n ci P itr o 1 o o
aie 接 口指 针 。 nr
OP 规 范 版 本 中 有 轻 微 改 动 。 在 OP . 规 范 中 使 用 的 是 C C1 0
C OM 的通 报 连 接 机 制 , OP . 范 中 又增 加 了 对 连 接 点 的 在 C20规 支 持 [ 。 采 用 订 阅式 数 据 采 集 , 需 通 过 回 调 来 由服 务 器通 知 1 . 故 客 户 端 。这 样 , 户 端 程 序 设 计 接 收 器 对 象 。OP . 范 支 持 客 C20规 从 ld i Sn a vs ik接 I 以及 I C tC l a k接 E 派 生 的 接 收 e q OP Daa al c b l
6 9 处 理 来 自 OP 组对 象 关 于取 消 异 步 操 作 已完 成 的通 知 。 C OP 客 户 端利 用 订 阅方 式 读 取 数 据 的 步 骤 如 下 。由于 订 阅 C 方 式读 写数 据实 质 上 是 异 步 渎写 的一 种 特殊 形 式 ,所 以在 下 面 的 步 骤 中加 入 了 异步 读 写 的过 程 。 文 献 [ ] [ ] 已经 详 细说 在 3 、5 中 明 了如 何创 建 OP 服 务 器对 象并 添 加 组 等 一 系 列 基 本操 作 。 C 这 里 不再 复述 , 设 客 户 端 已经 得 到 了指 向 OP 假 C服 务 器 组 对 象 l — uk o n n wn接 口 的指 针 。
关键 词 : C, 件 对 象模 型 , 阅 式 OP 组 订
Abs r t tac
A br f nr i it e odu to i gien er t t e c in s v h e o h pr cil an te tuc ue f i pe n d h sr t r o OPC Te n og he t r e ier t t es ch ol y T n, e df en syl of h f
片 开盘f。 j f
OP C规 范 是基 于 C OM 技 术 的 。 体 系 结构 是 客户 端 一 其 服务 器体 系。 其体 系 图 如 图 1 。
J法凋 力
用开始
h
发生
1
理 求
。
i
。 ———— ’————— ’————1
片 异步访 j n 力怯 Ⅲ
。i— 。— —
t n on 函 数 获 取 I0 n cin on 接 口指 针 。 i P it o c n e t P l1 o 3 调用 Io n c in on 接 口的 Ad i ) c ne t P l 0 l v e方 法 将接 收器 连 接 s
接 收器 的 设计 涉 及 到 COM 编 程 的 相 关 知 识 ,在 这 里 可 以 参 考 文 献 [ ] 6。 接 收 器 设 计 的关 键 代 码 如 下 :
cl s AT NO as L
—
到 OP 服 务 器组 对 象 , 将 客 户 端 的 I C l a k接 口指 针 C 并 OP Cal c b
传 递 给 服 务 器 。 调 用 组 对 象 的 I CGru Sae t 口 的 OP o p ttMg 接
S tae方法 设 置 刷 新 速 率 。 eS t 4 调用 I C s n l ) OP A y cO2接 口的 R a e d函数进 行 异步 读 数据 。 5OP 服务 器按 照设定 好 的刷新 速 率从 数据 源读 取数 据 。若 ) C 数据 发生变化 。 利用 On ae a g 则 D tCh n e函数将 数据发送 给 客户端 。 6 客户 端 调 用 I CA y cO2接 1 Wre函 数 进 行 异 步 ) OP s n I 3的 i t