OPC UA和OPC DA有什么区别?

29
请说明 OPC UA 和 OPC DA 的区别是什么?
在什么情况下应该使用哪个,如果可以提供 OPC UA 和 OPC DA 的示例,将会很有帮助。

1
OPC基金会现在已经在Github上提供了OPC-UA代码 https://github.com/OPCFoundation/UA-.NETStandard - Matt
5个回答

28

OPC-UA是OPC-DA的继任者,它有许多好处,其中最突出的一点是它是平台无关的。有各种语言的SDK可用,而且OPC-UA可以在任何东西上实现,从运行Linux的小型嵌入式设备到运行Windows的桌面电脑或运行您选择的操作系统的服务器。

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


1
同意 - 但要注意您可能与之交互的客户端和/或服务器。虽然 OPC-UA 已经可用了一段时间,但仍然有许多 OPC-DA 产品可用,而 OPC-UA 产品则相对较少。 - Ken
2
这意味着我们可以使用任何 OPC UA 客户端产品与任何 OPC UA 服务器产品。我们不需要特定公司的产品作为客户端和服务器吗?您能否提供适用于 Linux 的 OPC Server UA 的示例以及可能的客户端是什么? - tanuj shrivastava
2
Inductive Automation在Linux上运行一个OPC-UA服务器。任何来自任何供应商、任何操作系统的OPC-UA客户端都可以连接并从服务器获取值。(声明:我为IA工作) - Kevin Herron
5
OPC UA是OPC(经典版)的继任者,不仅限于DA。开始学习的好地方在这里:https://opcfoundation.org/about/opc-technologies/opc-ua/。确实,在每个新项目中都应使用UA。不再存在DCOM问题。 - user1419979

14

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

因此,OPC UA是一种新技术,它不依赖于DCOM通信,并且是平台(操作系统)无关的。OPC UA还支持Linux。

市场上很多OPC服务器还没有准备好支持OPC UA,但我相信它们正在逐步实现。

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

所有OPC知识都可以在https://opcfoundation.org/找到。您可以下载源代码和一些组件DLL,但必须成为会员。


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 的类型)。将来,如果您想迁移到任何操作系统,则不会有麻烦。

希望这可以帮助您了解差异。


1
我认为负面投票的原因是为了验证opc ua SDK中的一个问题,请检查答案。 - Basavaraju B V

1
OPC-UA作为OPC-DA的继任者,提供了在不同平台和语言上实现连接协议的改进规范。协议的性能取决于实现方式,并且有针对流行编程语言如JAVA、C#等的SDK已经获得OPC基金会的认证。OPC UA的目标是平台无关性,提高暴露复杂数据和复杂系统表示的能力。
一些传统设备和软件可能不支持OPC-UA,但采用OPC-UA是一个明智的决定,因为可用的包装器可以将OPC-DA转换为UA,而性能成本很小。

0

对于OPC-DA,您只能使用Windows操作系统作为OPC服务器,因为DCOM协议仅受Windows支持。另一方面,OPC-UA是跨平台的,甚至可以在嵌入式设备上开发。

在旧的DCS和工业设备中,您找不到任何OPC-UA服务器,因此必须使用OPC-DA。由于DCOM,配置OPC-DA太困难了,可能会导致许多奇怪的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接