请解释 OPC UA 和 OPC DA 之间的区别是什么?
在哪种情况下应该使用哪个,如果可以为 OPC UA 和 OPC DA 提供任何示例,这将有所帮助
OPC-UA 是 OPC-DA 的继任者。它有很多好处,最突出的好处之一是它与平台无关。有多种语言的 SDK,OPC-UA 可以在任何设备上实现,从微型嵌入式设备到运行 Linux 的设备、运行 Windows 的桌面或运行您选择的操作系统的服务器。
对于任何新的开发,如果可以选择,应该使用 OPC-UA。此时使用 OPC-DA 的唯一原因是,如果您要连接到仅支持 OPC-DA 且无法更换或升级的旧产品。
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,但您必须是会员。
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 的类型)。将来,如果您想迁移到任何操作系统,那将不会是一个难题。
我希望这可以帮助您理解其中的区别。
OPC-UA 作为 OPC-DA 的后继者,为不同平台和语言上的连接协议实现提供了改进的规范。协议的性能取决于实现,并且有一些 SDK 经 OPC 基金会认证,适用于流行的编程语言,如 JAVA、C#...... OPC UA 的目标是平台独立性,提高公开复杂数据的能力和复杂的系统表示。
一些旧设备和软件可能不支持 OPC-UA,但采用 OPC-UA 将是一个不错的决定,因为包装器可用于将 OPC-DA 转换为 UA,而性能成本很小。
对于 OPC-DA,您只能将 windows OS 用作 OPC 服务器。因为只有 windows 支持 DCOM 协议。另一方面,OPC-UA 是跨平台的,即使您可以将其开发为嵌入式设备。在旧的 DCS 和工业设备中,您找不到任何 OPC-UA 服务器,因此您必须使用 OPC-DA。因为 DCOM,OPC-DA 的配置太难了,会引起很多奇怪的问题