非工业环境中OPC-UA的最佳替代方案?

时间:2018-12-20 13:23:47

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

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

  • 配置和维护配置是一项艰巨的工作(只是Config文件设置需要很多时间)
  • 对于我的需求(证书管理和客户系统上的证书突然失效),安全措施过于详尽
  • 库中的建模和网络开销使我的通信难以处理(高数据速率通常会导致服务器和客户端断开连接)
  • 未指定和奇怪的错误,例如UA Discovery Server停止工作或响应等,我已多次向OPC GitHub论坛报告。
  • 对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

1 个答案:

答案 0 :(得分:0)

Google的gRPC + protobufs呢?

https://grpc.io/