第三章OPC数据访问
OPC数据访问服务器的研究与实现

0引言随着计算机技术、通信技术和自动化技术的日益发展,工业控制技术也随之获得了快速发展。
但在工业控制领域的发展过程中,出现了众多互不兼容的硬件设备和应用软件。
因此,硬件制造商与软件开发商应该有一座桥梁,透过硬件厂商提供的标准接口,软件开发者不必考虑各项不同硬件间的差异,便可从硬件端取得所需信息,软件开发者仅需专注于程序本身的控制流程的运作,这一问题的解决被提上日程。
在这种背景条件下,由一些世界上处于领先地位的自动化系统和硬件、软件公司和微软紧密合作制定了一个工业标准OPC技术规范。
本文重点分析了基于PA150通信协议的OPC数据访问服务器实现的步骤和方法,并阐述了其与OPC客户端实现网络通信的过程。
1OPC及其相关技术OPC(ole for process control)即把OLE应用于工业控制领域。
OPC基于OLE、COM和DCOM技术,采用客户/服务器体系结构。
OLE(object linking and embedding)即对象链接与嵌入。
OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的COM组件。
COM(component object model)即组件对象模型。
COM标准包括规范和实现两部分。
COM标准的规范部分就是一套为组件架构设置标准的文档。
COM标准的实现部分就是COM 库。
OPC是作为工业标准定义的特殊的COM接口。
DCOM(distributed component object model)即分布式组件对象模型。
DCOM扩展了COM技术,使其能够支持在局域网、广域网甚至因特网上不同计算机对象之间的通讯,通过网络互联并相互交换数据。
2OPC数据访问服务器的组成模型OPC数据访问服务器由OPC服务器对象、OPC组对象、OPC项对象和硬件驱动通信模块构成,其组成模型如图1所示。
收稿日期:2010-04-24;修订日期:2010-06-30。
OPC 服务器对象提供数据源以及数据访问的方法。
OPC+技术在数据采集与监视控制系统中的研究与应用

代分类学密题(中、英文)作者姓指导教师姓名指导教师姓名、、学科门、西安电子科技大学学位论文创新性声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。
申请学位论文与资料若有不实之处,本人承担一切相关责任。
本人签名:日期西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。
学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。
同时本人保证,毕业后结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。
(保密的论文在解密后遵守此规定)本学位论文属于保密在年解密后适用本授权书。
本人签名:日期导师签名:日期摘 要 目前,工业自动化系统应用普及,DCS(Distributed Control System ,集散控制系统)和SCADA (Supervisory Control And Data Acquisition ,数据采集与监视控制系统)系统得到了广泛应用。
SCADA 系统具有监控的功能,但不是一个完整的控制系统,它更偏重于监控方面。
SCADA 系统不仅应用于钢铁制造、发电和化工等工业过程,还用于如核聚变的实验性设施。
然而,工业界所广泛采用的传统的DCS 、SACDA 等系统由于采用自定义的专用网络和协议,没有统一的接口标准,难以实现与上层应用软件的信息交互以及各厂家的系统或仪表间的直接互连、互操作,控制网络中形成了一些“信息孤岛”。
opc工作原理

opc工作原理
OPC(OLE for Process Control,进程控制的对象链接和嵌入)是一种用于实时控制系统和监视系统之间数据通信的标准协议。
其工作原理如下:
1. 客户端-服务器架构:OPC基于客户端-服务器模型工作。
客
户端是应用程序,用于获取数据或向服务器发送控制指令。
服务器是实时控制系统或监视系统,负责存储和传输数据。
2. 数据访问:客户端使用OPC协议通过网络与服务器通信。
客户端可以读取来自服务器的数据,并向服务器发送写入数据的请求。
服务器将数据存储在内部数据库中,并使用OPC协
议将数据传输给客户端。
3. 数据传输:OPC使用标准的DCOM(分布式组件对象模型)协议来实现数据传输。
DCOM允许客户端和服务器在网络上
进行通信,通过使用TCP/IP或其他网络协议传输数据。
4. OPC接口:OPC定义了一组标准接口,用于客户端和服务
器之间的通信。
这些接口包括数据访问接口(DA),用于读
取和写入实时数据;历史数据访问接口(HDA),用于访问
和存储历史数据;报警和事件接口(AE),用于处理报警和
事件等。
5. 插件支持:OPC允许服务器开发商使用插件来支持不同类
型的实时控制系统。
这些插件允许服务器与不同的硬件设备和传感器进行通信,并将数据转换为OPC协议可以识别的格式。
总之,OPC工作原理基于客户端-服务器模型、使用DCOM协议进行数据传输,并通过标准接口实现数据访问。
这使得不同应用程序能够方便地与实时控制系统和监视系统进行数据通信。
OPC Data Access基础The foundation of OPC Data Access精品文档3页

OPC Data Access基础The foundation of OPC Data Access Quality(质量)和Time Stamp(时间戳),仅仅用于最新的值,而不是过去的值。
Abstract:OPC DA provides standard access to real-time data and therefore providesopen connectivity. Used only to read and write real-time data.Provides access tosingle-value data items called “points”.Each point includes a value, a qualityand a timestamp, only uses latest values, not past values.OPC(OLE for process and control)是一种规范,是一种标准化的技术,而不是一种产品。
OPC(OLE for Process Control,用于过程控制的对象链接和嵌入)是基于微软的OLE(Object Linking and Embedding,对象链接和嵌入)、COM(Component Object Model,组件对象模型)和DCOM(Distributed Component Object Model,分布式组件对象模型)技术,为解决上位机与各种设备驱动程序间通信而产生的一项工业技术规范和标准。
OPC技术规范是OPC基金会制定的,它提供了统一的数据访问软硬件接口。
OPC就是为了解决软件与不同供应商设备连接的规范。
OPC Data Access提供了从过程控制硬件和软件访问数据的标准方式。
使用OPC DA可使设备和应用程序之间的通信连贯。
OPC DA servers为PLCs、DCSs和其他的设备提供了精确的数据格式。
opc协议数据格式

opc协议数据格式摘要:一、OPC协议简介1.OPC概念2.OPC的发展历程二、OPC数据格式概述1.数据格式分类2.数据结构及组成三、OPC数据访问规范1.访问方式2.访问级别3.安全机制四、OPC数据传输过程1.客户端与服务器之间的通信2.数据传输协议五、OPC在我国的应用与发展1.行业应用2.我国OPC发展现状3.发展趋势六、OPC协议的未来展望1.技术发展趋势2.市场前景正文:一、OPC协议简介1.OPC概念OPC(OLE for Process Control)是一种为工业自动化和控制系统设计的通信标准。
它旨在解决不同厂商、不同设备之间的互操作性问题,实现设备数据的无缝集成。
OPC基于微软的OLE(Object Linking and Embedding)技术,利用COM(Component Object Model)实现设备驱动程序和应用程序之间的通信。
2.OPC的发展历程OPC起源于20世纪90年代,随着工业自动化和控制系统的发展,以及计算机技术、网络技术的进步,OPC标准不断完善和扩展。
从最初的OPC UA (Unified Architecture)到OPC DA(Data Access),再到OPC HDA (Historical Data Access),以及安全、事件、报警等方面的规范,OPC已经成为工业自动化领域最重要的通信标准之一。
二、OPC数据格式概述1.数据格式分类OPC数据格式主要分为两类:OPC Data Access(OPC DA)和OPC Historical Data Access(OPC HDA)。
OPC DA负责实时数据访问,包括数据读写、订阅发布等。
OPC HDA则负责历史数据访问,提供数据记录、查询、回放等功能。
2.数据结构及组成OPC数据结构主要包括以下几个部分:(1)OPC标题(Header):包含数据块的标识信息,如服务器名称、数据项名称等。
最简单的访问OPC服务器方法

最简单的访问OPC服务器在网上搜了很多关于编写客户端访问OPC服务器的资料,同时也根据KEPWARE提供的案例源代码,同时进行研究,最后花了一个星期的时间进行研究,才粗略有了一点头绪,现共享出来,希望后来的初学者有所帮助。
一.要建一个OPC服务器1)安装OPC服务器软件,KEPware是大家比较常用的,我使用的是Kepware OPC V4.54。
如图,添加CHANNEL,添加TAG.把Plc的点位添加进去,我建了6个变量(item)。
具体添加的方法需要自行去学习。
我添加的三菱Q系列的PLC,PLC采用以太网通讯的方式,在局部网就可以访问了。
2)设置DCOM,这个步骤很重要,具体的设置方法,网上很多资料,按步骤设置就可以。
我原来按照组态王提供的方法,总是不成功,后来上了微软网站,按微软提供的方法设置肯定可以成功。
完成了以上两步,你的电脑就变成OPC服务器了。
二.访问服务器1.利用组态软件访问OPC服务器。
如果用组态王访问,那就太简单了,左边列表,选opc服务器,点击添加服务器,就会弹出一个窗口,把本机的OPC服务器列成清单。
在清单里面就可以发现KEPSERVER的名称:KEPware.KEPserverEx.V4,选择,然后按确定,就完成了添加服务器。
在组态王的数据词典,新建变量,I/O变量,连接设备选择OPC服务器,寄存器可以看到KEPserver的变量(item),建立之后,就可以利用组网王,开发监控应用,组态软件的使用在此就不赘述了,总之,利用组态软件访问OPC是最简单的。
2.用开发客户端访问访问opc服务器,必须使用OPC基金会提供的OPCdaauto.dll。
学习过程,最好下载说明书,《OPC_20_Automation_Interface》,网上可以下载。
1)注册OPCdaauto.dll。
这个动态连接库文件可以网上下载。
拷贝到C:\WINDOWS\SYSTEM32目录,打开运行输入框,输入:regsvr32 C:\WINDOWS\SYSTEM32\OPCDAAUTO.DLL 如果是64位windows,则拷贝在C:\WINDOWS\ syswow64。
OPC设置说明文档

OPC设置说明文档maxDNA OPC C/S配置说明关键词:maxDNA OPC;DCOM;配置;说明书第一章maxDNA OPCServer中配置DCOM的目的OPC的服务器端组件与客户端程序通常会位于不同的计算机中,它们之间的通讯需要依靠DCOM来进行,为保障通讯能够正常进行,需要在服务器端与客户端进行DCOM的设置。
第二章创建用于通讯的用户2.1创建用户的目的创建通讯用户是为了使服务器端与客户端用户具有可兼容的操作权限,以使DCOM通讯能够正确进行。
2.2创建用户的方法在“控制面板”中选择“管理工具”,双击“计算机管理”图标,可看见如图2-1的计算机管理控制台程序。
图2-1 服务器运行界面1.启用Guest用户。
选择Guest用户,在右键菜单中选择“属性”,在如图2-2的对话框中检查“帐户已停用”选项是否被钩掉,如是选中状态,则去掉前面的对钩。
图2-2 Guest属性2.在用户中新建一个用于DCOM通讯的用户,如图2-3所示。
图2-3 新建用户将新建的用户添加到Administrators组,使该用户具有管理员权限,如图2-4所示。
图2-4 设置用户所属的组注意事项:1、在OPC服务器端和客户端分别建立同样的上述用户,用户名及密码可任选,但一定要保证两端一致。
2、在OPC客户端用所建立的用户登录,OPC服务器端可使用其它用户登录。
第三章maxDNA Station下的DCOM配置3.1配置DCOM在“运行”中输入“dcomcnfg”,如图3-1所示。
图3-1 运行命令运行命令出现如图3-2的控制台界面。
图3-2 控制台界面在“我的电脑”中选择属性,可使用右键菜单或点击工具栏中红色框所标示的按钮,可出现如图3-3的对话框图3-3 “我的电脑”属性对话框“默认属性”页选择“默认属性”页,在该页中确定“默认身份验证级别”选择为“无”。
此页其它选项如图3-3中所示设置。
再选择“COM安全”页,如图3-4所示。
工业控制数据交换标准OPC规范

OPC规范支持多种安全认证和加密技术, 确保数据传输的安全性和完整性。
OPC规范的局限性
标准更新滞后
互操作性问题
尽管OPC规范已经存在多年, 但其更新速度相对较慢,可 能无法跟上工业控制领域快 速发展的步伐。
由于OPC规范没有强制要求 实现某些功能,不同厂商的 OPC服务器可能存在互操作 性方面的问题。
04
OPC规范的优势与局限 性
OPC规范的优势
跨平台兼容性
高效的数据传输
OPC规范支持多种操作系统和编程语言, 使得不同厂商的设备和软件能够实现无缝 集成。
OPC规范优化了数据传输机制,提高了数 据读取和写入的效率,降低了网络拥堵的 风险。
灵活的数据模型
强大的安全机制
OPC规范定义了统一的数据模型,使得不 同厂商的设备能够以标准化的方式描述其 属性和方法,方便了开发人员的使用。
OPC规范的特点包括:跨平台性、灵活性、可扩展性和开放性。它支持多种通信协议,如以太网、串口等,并可与各种主流 的工业控制系统和软件集成。
OPC的历史与发展
OPC规范最初由德国的几家自动化厂商联合发起,并于1996年发布了第一个版本。随着工业自动化 技术的不断发展,OPC规范也在不断演进和完善,至今已经发布了多个版本。
02
OPC将与其他物联网技术和标 准进行集成,形成更加完善的 工业物联网解决方案,提高工 业生产的效率和智能化水平。
03
OPC规范将不断适应工业物联 网的发展需求,拓展其在智能 制造、智能物流等领域的应用 场景。
OPC与其他工业互联网技术的融合发展
OPC规范将与工业以太网、现场总线等技术进行融合,形成更加高效、可靠和安全 的工业控制网络。
OPC规范将与云计算、大数据、人工智能等先进技术进行结合,实现工业数据的集 中存储、分析和处理,提高工业生产的智能化水平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
OPC的访问方式-异步访问
调用开始 调用结束 事件发生
事件结束 OPC应用程序 其他处理 通信 时间
首页 上页 下页 末页 结束
调用异步访问方法
异步访问完成事件
OPC服务器
时间
1、读取/写入指定OPC标签,应用程序发出更新请求后立即返回,更新数据完成后发生 数据变化事件! 2、发出请求与访问完成事件处理是独立完成,因此需要使用事务管理,开发较难!
必需的接口定义
• OPC服务器必需的接口有
– Iunknown – IOPCServer – IOPCCommer – IConnectionPointContainer
首页 上页 下页 末页 结束
16
OPC Server对象接口
IUnknown
IOPCServer [IOPCServerPublicGroups] [IOPCServerBrowseServerAddressSpace] [IPersistFile]
4
驱动访问的缺陷
• 问题的提出:
首页 上页 下页 末页 结束
5
– 对于开发典型监控程序软件的技术人员来说,有20%30%的时间用于编写通讯驱动程序。而且每次,一个 供应商需要将一个新的控制器投入市场销售时,所有 的软件开发人员就不得不重新编写一个新的驱动程序 。
首页 上页 下页 末页 结束
– 应用软件的提供者花费太多的资金开发和维护专用接 口,这不仅增加了用户的负担,而且在实际上并不能 真正解决不同系统的互操作性。在某种意义上,用户 被他们的软件提供者所控制。
SaabTankradar.Tankserver.1. T-1000. LL.CV
OPC服务器名 OPC组名 数据项名
14
对象及接口概述
• OPC对象
– OPC对象有三个:服务器(OPC Server)、组(OPC Group)和项(OPC Item)
• OPC接口
首页 上页 下页 末页 结束
15
Software Driver
Software Driver
3
驱动访问的缺陷
• 问题的提出:如何读取设备中数据
– 工业应用中,由于各应用系统的数据接口不标准,使 得专用系统之间不能相互通信的现象相当普遍。
首页 上页 下页 末页 结束
– 由于应用程序提供者仅提供了有限的连接性,因而大 大地缩小了过程和工业制造厂商对硬件和软件的选择 范围。 – 在缺少任何标准的情况下,设备供应商不得不各自开 发自己专用的硬件和软件解决方案。
OPC服务器中添加的所有OPC组的集合
OPC组对象是用于组的状态管理以及利用项集 合为单位的数据访问。 在对应OPC组中添加的所有的OPC项的集合 含有项的定义,当前值,状态以及最后更新时 间信息的对象。
OPC项集合 OPC项
23
开发OPC应用程序的几种模式
• 第三方HMI软件 • 自动化接口(VB、Delphi、Pb、Bc)
首页 上页 下页 末页 结束
12
OPC技术基础构成
ActiveX
Object Linking and Embedding (OLE) OLE for Process Control (OPC)
(Distributed) Component Object Model (COM / DCOM)
首页 上页 下页 末页 结束
only between nodes
Transport (TCP-IP, UDP, Queued) Ethernet
13
OPC技术简介
• OPC对象属性
– 服务器(OPC Server) – 组(OPC Group) – 项(OPC Item)
首页 上页 下页 末页 结束
• OPC变量标签中要体现以上三个属性,如
OPC Software Driver
8
概述
• OLE for Process Control
(Object linking and embedding)
• •
首页 上页 下页 末页 结束
•
•
9
now: Open Process Control Openess Productivity and Conectivity OPC(用于过程控制的OLE)是一个工业标准。 OPC由一些世界上占领先地位的自动化系统和硬件 、软件公司与微软(Microsoft)紧密合作而建立的 。 OPC定义了应用Microsoft操作系统在基于PC 的客 户机之间交换自动化实时数据的方法。 管理这个标准的国际组织是OPC基金会。
20
OPC的访问方式-订阅方式
事件发生 事件处理结束 事件发生
事件结束 OPC应用程序 通知 时间
其他处理
通知
数据变化事件
首页 上页 下页 末页 结束
数据变化事件
OPC服务器 时间
1、服务器定时更新OPC服务器的数据缓冲区。如果数据超出敏感区DeadBand则 发生数据变化事件! 2、降低数据精度!
6
首页 上页 下页 末页 结束
7
OPC的解决方案
Display Application OPC Trend Application OPC Report Application OPC
首页 上页 下页 末页 结束
OPC Software Driver
OPC Software Driver
OPC Software Driver
项集合(OPC Items)
22
OPC Item OPC Item 项(OPC Item)
OPC数据访问对象模型
名称
OPC服务器
对象名
OPCServer
说明
必须生成opcserver。其自动包含一个opc组集 合以及opc浏览器对象
OPC组集合
OPC组
首页 上页 下页 末页 结束
OPCroups
OPCGroup OPCItems OPCItem
OPC Group对象接口
IUnknown IOPCItemMgt IOPCGroupStateMgt [IOPCPublicGroupStateMgt] IOPCSyncIO IOPCAsyncIO IDataObject
首页 上页 下页 末页 结束
IOPCItemMgtDisp IOPCGroupStateMgtDisp [IOPCPublicGroupStateMgtDisp] IOPCSyncIODisp IOPCAsyncIODisp
基于OPC的数据访问技术
首页 上页 下页 末页 结束
1
首页 上页 下页 末页 结束
2
基于驱动程序的访问
Display Application Trend Application Report Application
首页 上页 下页 末页 结束
Software Driver
Software Driver
Standard OPC Group Object
18
OPC的访问方式-同步访问
调用开始
调用结束 时间
等待状态
OPC应用程序
调用同步访问方法
首页 上页 下页 末页 结束
OPC服务器 时间
1、读取指定OPC标签,应用程序一直等待到读取完成为止! 2、写入指定OPC标签,应用程序一直等待到写入完成为止! 3、开发简单,但是大批量数据处理则访问性能影响大!
– 第三方提供的RDK
• 定制接口(VC)FacView支持
首页 上页 下页 末页 结束
– OPC.H文件 – OPC_I.C文件
1、对于OPC服务器而言,其应该提供定制接口,自动化接口则可选 2、FacView中的OPCServer只支持定制接口
24
VB开发OPC应用程序的基本步骤
• • • •
OperatorIT application software is written independently from the type of controller Historian (Information Manager)
the drivers still exist, but the clients do not see them anymore
Standard OPC Server Object
首页 页
IOPCServerDisp [IOPCServerPublicGroupsDisp]
下页 [IOPCServerBrowseServerAddressSpaceDisp] 末页 结束
17
1、开发者必须完成非选项的接口实现! 2、OPC标准仅仅提供接口的定义! 3、客户端调用这些接口完成与OPC Server的连接!
首页 上页 下页 末页 结束
AC800M OPC server
MMS
Schneider OPC server
XWAY
Siemens OPC server
ProfiNet
ABB AC800M
11
Télémécanique TSX
Siemens S7
OPC技术基础
• OPC技术基于微软的OLE (现在的Active X)、 COM (部件对象模型)和DCOM (分布式部件对 象模型)技术。 • OPC包括一整套接口、属性和方法的标准集, 用于过程控制和制造业自动化系统。 • Active X/COM技术定义各种不同的软件部件 如何交互使用和分享数据。 • 不论过程中采用什么软件或设备,OPC为多种 多样的过程控制设备之间进行通信提供了公用 的接口。
首页 上页 下页 末页 结束
连接OPC服务器和建立OPC组 添加OPC标签 同步读写数据 断开OPC服务器连接
25