28

请解释 OPC UA 和 OPC DA 之间的区别是什么?

在哪种情况下应该使用哪个,如果可以为 OPC UA 和 OPC DA 提供任何示例,这将有所帮助

4

5 回答 5

27

OPC-UA 是 OPC-DA 的继任者。它有很多好处,最突出的好处之一是它与平台无关。有多种语言的 SDK,OPC-UA 可以在任何设备上实现,从微型嵌入式设备到运行 Linux 的设备、运行 Windows 的桌面或运行您选择的操作系统的服务器。

对于任何新的开发,如果可以选择,应该使用 OPC-UA。此时使用 OPC-DA 的唯一原因是,如果您要连接到仅支持 OPC-DA 且无法更换或升级的旧产品。

于 2015-06-04T13:20:12.863 回答
14

OPC UA 不仅适用于 OPC-DA,而且适用于所有 OPC Classic(DA、AE、HDA 等)。OPC Classic 使用 DCOM 通信进行客户端-服务器连接。DCOM 适用于 Windows 操作系统。而且,DCOM 和 RPC 端口让工程师头疼。

因此,OPC UA 是一种不依赖于 DCOM 通信且独立于平台(OS)的新技术。OPC UA 也支持 Linux。

市场上的许多 OPC 服务器还没有为 OPC UA 做好准备。但我相信他们正在路上。

OPC 客户端应用程序开发人员需要关注您的 OPC 客户端应用程序支持哪些 OPC?用于何种目的,例如 AE:警报和事件收集或 DA:数据访问)

每个 OPC 知识都可以在https://opcfoundation.org/获得。您可以下载源代码和一些组件 Dll,但您必须是会员。

于 2016-10-12T06:20:28.507 回答
5

OPC UA 是 OPC 的统一架构。

规范没有说明平台、操作系统等。

OPC DA,是旧版本的 OPC 规范。哪里有数据建模(不像 OPC UA 那样在更大程度上)。只有在服务器和客户端之间传输的信息是 VQT(价值质量和时间)。由于 OPC UA 具有数据和信息建模,除了 VQT,还有许多属性/属性可以在服务器和客户端之间共享关于一个变量(简单的例子,说描述这个变量在做什么。这是使用的转换公式,变量是否可由用户访问!仅举几例)。

OPC DA 完全依赖于操作系统。OPC UA 在哪里独立于操作系统。一些使用一些 OPC UA SDK 的服务器可以在不存在操作系统的平台上创建

OPC DA 通信介质为 COM/DCOM。OPC UA 在哪里是关于 TCP/IP 和/或 HTTPS 的。它依赖于 SDK 来支持两者或其中任何一个。

这些是一些关键的区别。

在以下情况下使用哪一个:

  • 我的建议是,无论您是否有 OPC DA 服务器,都使用 OPC UA。因为,在某些产品中,旧 OPC DA 产品的数据仍然可以通过新的基于 OPC UA 的产品收集。

  • OPC UA 服务器可以独立于操作系统(它完全取决于 SDK 的类型)。将来,如果您想迁移到任何操作系统,那将不会是一个难题。

我希望这可以帮助您理解其中的区别。

于 2017-02-06T15:36:27.017 回答
1

OPC-UA 作为 OPC-DA 的后继者,为不同平台和语言上的连接协议实现提供了改进的规范。协议的性能取决于实现,并且有一些 SDK 经 OPC 基金会认证,适用于流行的编程语言,如 JAVA、C#...... OPC UA 的目标是平台独立性,提高公开复杂数据的能力和复杂的系统表示。

一些旧设备和软件可能不支持 OPC-UA,但采用 OPC-UA 将是一个不错的决定,因为包装器可用于将 OPC-DA 转换为 UA,而性能成本很小。

于 2020-03-17T20:14:06.137 回答
0

对于 OPC-DA,您只能将 windows OS 用作 OPC 服务器。因为只有 windows 支持 DCOM 协议。另一方面,OPC-UA 是跨平台的,即使您可以将其开发为嵌入式设备。在旧的 DCS 和工业设备中,您找不到任何 OPC-UA 服务器,因此您必须使用 OPC-DA。因为 DCOM,OPC-DA 的配置太难了,会引起很多奇怪的问题

于 2021-07-26T08:26:24.780 回答