【问题标题】:Best Alternative for OPC-UA in non industrial environments?非工业环境中 OPC-UA 的最佳替代方案?
【发布时间】:2018-12-20 13:23:46
【问题描述】:

我在半工业环境中管理一个分布相当广泛的软件应用程序。该软件的核心是基于 SOA 并采用 OPC-UA 使重要进程(在本地或基于 LAN 的机器上)之间的通信成为可能。这些进程要么是服务器(例如,外部网络管理服务器、硬件管理服务器等),要么是客户端(客户面板)或两者(服务器相互通信)。 OPC-UA 存在以下问题:

  • 配置和维护配置是一项艰巨的工作(只是配置文件设置需要大量时间)
  • 安全措施过于详细,无法满足我的需求(证书管理和客户系统上的证书突然失效)
  • 库中的建模和网络开销使我的通信难以处理(高数据速率通常会导致服务器和客户端断开连接)
  • 我曾多次向 OPC GitHub 论坛报告过不明且奇怪的错误,例如 UA Discovery Server 停止工作或响应等。
  • 几乎不可能对 OPC UA 的内部部件进行故障排除。

总的来说,对我来说它的性能和稳定性还不够可靠。我愿意牺牲功能以获得更好的性能和可靠性。我什至考虑过自下而上编写套接字以满足我的进程间 (IPC) 需求。这样我至少可以将错误追踪到它们的核心。由于我不需要它最广为宣传的功能(又名 PLC 支持),我迫切希望找到一个好的替代方案。我的主要要求是:

  1. 类似 OPC-UA 的数据建模支持使我能够为客户和其他团队提供干净的界面(类似于 IDL)。
  2. 发布/订阅、远程命令、更新通知和基于节点的行为。
  3. 由于我的网络已关闭,因此我不关心严格的安全性。
  4. 数据速率高达 1Gbps 的高性能(这可能意味着支持 UDP)。
  5. 我完全在 .NET 框架中工作。所以对 OPC-UA 的 C# 支持对我帮助很大。

我查看了 DDS(缺少命令和更新通知)和 WCF(缺少跨平台支持)等等。 此链接还说明了 MQTT:Alternative to OPC-UA

【问题讨论】:

  • 您的问题似乎与您使用的产品质量有关,而不是与 OPC UA 有关。如果你从头开始构建所有东西,你最终会遇到其他不一定更小的问题。所以考虑这些: - 本地发现服务器是完全可选的 - OPC UA 中的安全性是可选的 - 速度可能很困难,但我也有点依赖于实施。即将推出的 UDP 传输协议也将实现更快的速率 - 获得具有适当支持的优质 OPC UA SDK;它可能会花费您更多,但可以为您节省很多。
  • 证书是可选的,如果你不使用安全。低端的嵌入式设备甚至可能做不到。再次取决于 SDK 如何在实践中实现这一点。 Softing 为 OPC Foundation SDK 提供商业支持。 Unified Automation 拥有优质的 .NET SDK - 在 OPC Foundation SDK 的基础上重新设计,更加灵活易用。
  • 如果您希望 LDS 问题得到解决,您应该向 GitHub 报告这些问题。
  • @JouniAro 谢谢,看来 GitHub 上的版本不是官方的,也不是唯一的参考。我会看看你提到的版本的价格/我已经向 GitHub 页面报告了许多错误,其中一些已经在版本中得到解决,但是 LDS 中发生了很多奇怪的事情,它影响了我的工作场所声誉和公司对我的信任。所以我不再冒险了:)
  • OPC UA 堆栈是官方的,由 OPC 基金会提供支持。 GitHub 中的 .NET SDK 是 SDK 层的示例实现,由 OPC 基金会提供。 LDS 是官方的,由 OPC 基金会提供,旨在提高生产质量,但如果看起来不是这样,您必须让他们知道。

标签: cross-platform microservices opc interprocess opc-ua


【解决方案1】:

Google 的 gRPC + protobufs 怎么样?

https://grpc.io/

【讨论】:

  • 谢谢,我查看了 gRPC,但它似乎没有我需要的重要功能:更新远程属性值更改通知。
  • @SinaBizbone 你也实现了服务器,对吧?添加机制以注册一种从服务器返回到客户端的回调,该回调将传递通知或属性更改。反向连接使用相同的协议。
  • @DanMašek:在我看来,我需要在 gRPC 上实现一个相当小但必要的框架(或至少一个包装器)以满足我的需求(比如你提到的那个)。与我们可能拥有的其他选择进行比较是时间和金钱的问题。如果我确信 gRPC 可以满足这些需求,我将请求对我当前的项目进行扩展以实现这一目标。
猜你喜欢
  • 2014-11-30
  • 2011-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多