正在加载...

了解 OPC

详细了解 OPC 标准的历史和发展 - 从 20 世纪 90 年代中期成立 OPC Foundation 到如今 OPC UA 的采用。

下载电子书

OPC 互操作性:通过开放标准建立的开放连接

OPC 是一种客户端/服务器技术。一个应用程序作为服务器提供数据,另一个作为客户端使用数据。

OPC 是广为接受的工业通信标准,支持多厂商设备与控制应用程序之间的数据交换,而没有任何专有限制。OPC 服务器可在车间 PLC、现场 RTU、HMI 工作站以及桌面 PC 上的软件应用程序之间持续进行数据通信。即使硬件和软件来自不同的厂商,只要符合 OPC 标准,即可实现持续的实时通信。

OPC 提高了技术提供商与用户之间的协作。OPC 已帮助自动化供应商提供真正开放的解决方案,从而为用户提供更丰富的自动化应用程序。这是该行业内一个激动人心的时刻。互操作性、开放的解决方案和自由选择权已经帮助全球的自动化专业人士通过在其工业应用程序中整合 OPC 而获得相应的优势。

OPC 是工业自动化和支持该行业的企业系统中的开放式连接。非专有开放标准规范的创建和维护确保了互操作性。第一项 OPC 标准规范是大量全球领先的自动化供应商与 Microsoft 精心合作的产物。该规范最初基于 Microsoft 的 OLE COM 和 DCOM 技术,定义了一套标准的对象、接口和方法,以便在过程控制和制造自动化应用中用于提高互操作性。COM/DCOM 技术为待开发的软件产品提供了框架。现在,OPC 数据访问服务器和客户端达到数百个。

OPC 标准基于通用计算市场中的技术。OPC 成员的产品为喜欢“现成”产品的人、喜欢使用开发工具高效构建的中级工程师以及喜欢构建整个应用程序的开发人员提供了各种各样的工具。

OPC Data Access Overview

This specification describes the OPC COM objects and their interfaces implemented by OPC servers. Different vendors provide OPC servers, and an OPC client can connect to OPC servers provided by one or more vendors.

Vendor supplied code determines the devices and data to which each server has access, the data names, and the details about how the server physically accesses that data. Specifics on naming conventions are supplied in a subsequent section.

At a high level, an OPC server is comprised of several objects: the server, the group, and the item. The OPC server object maintains information about the server and serves as a container for OPC group objects. The OPC group object maintains information about itself and provides the mechanism for containing and logically organizing OPC items.

The OPC groups provide a way for clients to organize data. For example, the group might represent items in a particular report or operator display. Data can be read and written. Exception based connections can also be created between the client and the items in the group, and can be enabled and disabled as needed. An OPC client can configure the rate that an OPC server should provide the data changes to the OPC client. There are two types of groups: public and local. Public allows sharing across multiple clients; local is local to a client. (Refer to the section on public groups for the intent, purpose, and functionality, and for further details.) There are also specific optional interfaces for the public groups. Within each group, the client can define one or more OPC items.

The OPC items represent connections to data sources within the server. An OPC item, from the custom interface perspective, is not accessible as an object by an OPC client. Therefore, there is no external interface defined for an OPC item. All access to OPC items is via an OPC group object that contains the OPC item, or simply where the OPC item is defined.

Associated with each item is a Value, Quality and Time Stamp. The value is in the form of a VARIANT, and the Quality is similar to that specified by Fieldbus.

Note that the items are not the data sources; they are just connections to them. For example, the tags in a DCS system exist regardless of whether an OPC client is currently accessing them. The OPC item should be thought of as simply specifying the address of the data, not as the actual physical source of the data that the address references.

OPC 数据访问详情

尽管 OPC 主要是为从联网服务器访问数据而设计的,但 OPC 接口可以用于应用程序中的很多位置。在最低层面,它们可以从物理设备向 SCADA 或 DCS 获取原始数据,或者从 SCADA 或 DCS 系统向应用程序获取原始数据。它的体系结构和设计使之可以构建一个 OPC 服务器,允许客户端应用程序通过单一对象,从很多不同 OPC 供应商提供的、在不同节点上运行的众多 OPC 服务器访问数据。

OPC 规范说明了 COM 接口,或者说明了是什么接口。它未说明这些接口的实现。它说明了接口应该为使用它们的客户端应用程序提供的行为。其中包含对体系结构以及最适合这些体系结构的接口的说明。像所有 COM 实现一样,OPC 的体系结构也是一种客户端-服务器模型,在这种模型中,OPC 服务器组件为 OPC 对象提供了一种接口,并对这些对象进行管理。

在实现 OPC 服务器时,有一些特别的注意事项。主要问题是通过非共享通信路径向物理设备传输数据的频率。因此,我们期望 OPC 服务器将是本地或远程 EXE,其中包含负责从物理设备高效收集数据的代码。

OPC 客户端应用程序通过指定的 OPC 自定义及自动化接口,向 OPC 服务器进行通信。OPC 服务器必须实现自定义接口,可以选择是否实现自动化接口。

可以使用 inproc(OPC 处理程序)来调度接口,并提供额外的 OPC 自动化接口项级别功能。

此外,服务器还有望整合并优化各个客户端所请求的数据访问,以便促进与物理设备之间的通信。就输入(读取)来说,将对设备返回的数据进行缓冲,便于各个 OPC 客户端进行异步分发或同步收集。就输出(写入)来说,OPC 服务器会代表 OPC 客户端更新物理设备数据。

当前的 OPC 数据访问规范为 3.0 版本。KEPServerEX 自 2005 年起便充分支持 OPC DA 3.0。

OPC 的历史

1994 年,一批代表工业部门中各个学科领域的供应商组建了现在所称的 OPC 基金会。OPC 基金会提出了制定单一客户端/服务器规范的目标,使任何供应商都能够开发可以快速、稳健共享数据的软件和应用程序,并且消除迫使这些供应商重复从事开发活动的专有方案。

OPC 基金会制定了第一版规范,并于 1996 年初发布,称为数据访问规范 1.0a。使用此规范后,供应商可以快速开发客户端/服务器软件。

OPC 基金会和数据访问规范的一个主要目标是,使客户端应用程序供应商不再需要开发自己的专有通信驱动集。对于很多供应商来说,开发大量通信驱动所付出的工作量已经超过开发客户端应用程序本身。采用 OPC 技术之后,供应商现在几乎可以将工作重心完全放在客户端应用程序的开发上。数据访问规范定义了客户端和服务器应用程序接口必须如何进行构建。如果正确遵循这一规范,客户端供应商就会知道现有适用于工业设备的任何 OPC 服务器都可以提供数据访问所需的连接性。诸如上市时间或可靠性等问题无法再制约 OPC 应用程序。

OPC 为最终用户带来了额外的益处,使之能够选择一流的软件来解决应用程序问题。过去,如果应用软件没有所需的通信驱动或可用的驱动无法适当运行,则唯一的解决办法是说服应用程序供应商开发所需的驱动或修复现有驱动。这些解决办法所需要的时间一般都不会短。借助 OPC,最终用户不再受客户端应用程序供应商资源限制的束缚。用户现在可以选择各式 OPC 服务器供应商,来满足新驱动需求或修复性能问题。同样,客户端应用程序供应商现在可以专注于持续改进他们的核心产品,而不会因需要解决通信问题和需求而扰乱自己的工作。

Kepware 在 OPC 环境中的目标是成为 OPC 领域居于领先地位的服务器组件提供商,并通过提供可靠、易用的产品来达到这一目标。KEPServerEX 是基于在通信驱动开发和 OPC 技术领域的多年开发工作而构建的。

这里已经说了很多关于 OPC 的信息,但 OPC 规范是如何发挥作用的呢?

要详细了解 OPC 标准,请访问 OPC Foundation 或下载 Kepware 的《了解 OPC》电子书。

返回 KEPServerEX 产品概述

© PTC Inc. 保留所有权利。