
参考文献[1] 李海龙.OPC技术在工业设备互联互通中的应用[J].数字通信世界[2] 郭瑀.OPC技术在数据采集与监视控制系统中的研究与应用[D].西安电子科技大学[3] 江城.OPC UA信息模型及其应用[D].太原科技大学文前提示本文描述的OPC技术主要指OPC DA技术仅在附录中简要提到了OPC UA技术。两者间存在较大差别请读者注意。OPC DA已经随时代发展被淘汰了只是有很多存量老项目仍沿用了该技术。关于OPC DA技术的应用实例可参考使用PC Access实现WinCC v7.4和S7-200 PLC之间的通信。为什么出现OPC传统控制系统中每个系统厂商都必须为不同的硬件开发一个驱动造成重复开发不同的软件开发商采用不同协议开发驱动程序造成驱动程序不一致由于驱动程序的不同不同的软件包不能同时访问一个设备。OPC技术为工控软件制定了一套标准的对象、接口和属性只要遵守OPC规范就可实现不同系统间的数据交换。OPC技术在工业应用上的典型场景为上位组态软件对接各类现场设备。OPC简介OPC(OLE for Process Control用于过程控制的OLEOLE即Object Linking and Embedding对象连接与嵌入)是应用于过程控制中的对象链接与嵌入技术。它是一套组件对象模型标准接口以微软公司的OLE(Object Linking and Embedding对象链接和嵌入)/COM(Component Object Model组件对象模型)/DCOM(Distributed COM分布式组件对象模型)技术为基础采用服务器/客户端模式用于在基于WINDOWS操作平台的工业应用程序之间提供高效的信息集成和数据交换功能。简单来讲就是定义了一个接口的开发标准实现了客户端和服务器之间的数据交换。OPC技术仅限于windows应用程序间相互交换数据这与作为OPC技术基础的COM规范和其实现有直接的关系。OPC组成本节内容另可参考Data Access Custom Interface Standard Version 3.00OPC技术由两部分组成OPC服务器和OPC客户端。OPC服务器通过与现场设备相对应的驱动服务来读取硬件数据信息通过标准的OPC接口传送给OPC客户端。OPC服务器可实时读取现场数据保存至数据库中。通过OPC服务器访问应用数据可以克服异构网络结构和接口协议之间的差异上层应用程序无需关心底层的硬件特性以及OPC服务器与硬件通信细节即可得到生产过程数据。OPC规范中为OPC服务器规定了两套接口定制接口和自动化接口。OPC服务器必须提供定制接口而自动化接口可选。定制接口支持C/C编写的用户程序的应用自动化接口则支持更上层的应用在OPC规范中按照功能的不同规定了以下几种OPC服务器OPC数据访问服务器OPC报警和事件服务器OPC历史数据访问服务器OPC批量服务器其最基本的服务器为OPC数据访问Data Access, DA)服务器。OPC DA服务器采用一种层次结构来组织数据源共有3类COM对象分别为OPCServer服务器对象、OPCGroup组对象和OPCItem项对象。前两者必须实现。服务器对象包含服务器信息并作为组对象的容器组对象包含自身信息和项对象。OPCServer对象负责OPC DA服务器级的信息管理和获取服务器的状态信息OPCGroup对象负责OPC DA客户信息的设定与数据访问OPCItem对象用于管理与过程数据源的连接。以PLC为例更通俗的一种解释OPCServer一台 OPC 服务实例对应整套 PLC / 多台 PLC 采集通道OPCGroup客户端分组管理单元刷新周期、读写权限、报警订阅批量配置OPCItem最小数据点对应 PLC 里单个变量携带 Value、Quality、TimestampOPC数据访问的过程OPC DA 客户端与 DA 服务器进行连接建立基本的 OPC 组和 OPC 数据项然后客户端通过对以上两类 COM 对象进行访问实现对过程数据的访问同步模式下服务器处理完请求直接返回数据异步订阅场景中服务器在响应并处理完数据更新后通知客户端。在设计OPC客户端程序时需要按由上至下的顺序建立各个对象对各对象的访问要遵循OPC数据访问规范。在项对象中有以下3种属性ValueQualityTimestamp。Value即项对象值Quality质量反映了从设备读取数据的品质可以传递Good(良好有效数据)Bad失效无效数据或Uncertain不确定数据存疑的含义Timestamp时间戳反映了服务器刷新其数据存储区的时间OPC在工业网络中的地位OPC技术是实现控制系统现场设备与过程管理信息交互实现控制系统开放性的关键技术同时也为不同现场总线的集成提供了有效的软件实现手段。OPC的作用如下现场设备间开放式数据交换的中间件现场设备商只需开发一套遵循OPC规范的服务器由服务器与数据源进行通信获取现场数据用户端应用程序通过服务器访问现场设备。异构网段间数据共享的中间件现场总线至今仍是多种总线并存的局面。每种总线提供各自的OPC服务器和用户端并且任意OPC用户端可通过一致的OPC接口访问这些OPC服务器获取各个总线端的数据。集成工业网络的中间件在信息集成的过程中OPC作为连接件按一套标准的COM对象、方法和属性提供数据交互服务可以说OPC是整个工业网络的数据接口规范。访问专有数据库的中间件控制软件的专有数据库通常只能调用开发商自主开发的API。若开发商提供一个可以访问该数据库的OPC服务器当用户访问该数据库时只需按照OPC规范的要求编写OPC用户端程序即可。附录 OPC UA简介OPC UA 是工业4.0 中一个重要的通信协议。传统OPC标准具有许多缺点如仅适用于特定的微软平台、难以传输DCOM产生的复杂报文、不同供应商之间的系统缺乏互操作性等。此外随互联网发展对传统OPC也提出了各种新需求需求分为两类分布式系统之间交换数据和交换数据建模。为此OPC基金会在2006年发布了OPC UAUnified Architecture统一架构作为上一代的补充用于解决目前需求。 OPC UA不再依靠DCOM而是基于面向服务的架构(SOA)OPC UA的使用更简便已经成为独立于微软平台的OPC。更新日志2026.7.3 修改笔误与逻辑漏洞并适当增补了一些内容。文章是学生时代的笔记整体架构不大清晰也不好改。作为一门已经被淘汰的技术后续也不再考虑更新。