需要澄清 opc ua 服务器和 opc ua 客户端

ARU*_*BAN 1 plc opc-ua tia-portal s7-1200 siemens

我想创建一个工业自动化应用程序来执行以下功能:

  1. 从 PLC、SCADA 和 DCA 读取值
  2. 处理这些值并将故障通知主管和技术人员

我是工业自动化行业和物联网的新手,我知道我们有 OPC UA 来救援。

我浏览了许多网站和 YouTube 视频来了解 OPC UA 及其前身(OPC DA、OPC A&E、OPC HDA)。我已经安装了 matrikon OPC 服务器和资源管理器(客户端)来探索更多。

假设我想从SIMATIC S7-1200 PLC读取信号,根据我的理解,OPC UA服务器是随PLC一起提供的,用于将OPC UA信息转换为Profinet信息。

所以,我的问题是:

  • 我应该在哪里编写逻辑来读取值?OPC 服务器还是客户端?
  • 我将使用 NODE-OPC-UA。有没有开源的 OPC 客户端 GUI?
  • 如何编写我们自己的没有OPC UA投诉的PLC OPC服务器?

如果有人分享一些资源,将不胜感激!

Ste*_*ter 5

我应该在哪里编写逻辑来读取值?OPC 服务器还是客户端?

在 OPC UA 中,服务器通常是向 OPC UA 客户端提供数据的设备或组件。在您的情况下,OPC UA 服务器是SIMATIC S7。然后使用 OPC UA 客户端从该服务器读取变量值。

为了调试和检查,您可以使用免费(商业)工具UaExpert等。您只能使用它来查看服务器的当前数据,不能使用它来围绕它编写逻辑。

最后,回答您的问题:您需要使用 OPC UA 客户端 SDK 从 OPC UA 服务器读取值并围绕它实现您自己的逻辑。有可用的商业 OPC UA 堆栈和开源堆栈。可以在此处找到开源堆栈列表:开源 OPC UA 堆栈

我知道 open62541 堆栈能够连接到 Simatic S7 并且它可以从变量节点读取值。

我将使用 NODE-OPC-UA。有没有开源的 OPC 客户端 GUI?

OPC 客户端 GUI 是一个非常通用的术语。您对 GUI 的具体目标是什么?如果您只需要它进行调试和检查,请使用UaExpert。由于 OPC UA 只是一个框架和协议定义,因此您需要自己对值背后的逻辑进行编程。目前还没有真正通用的 OPC UA GUI,您可以使用它轻松地将自己的逻辑定义为 OPC UA 客户端。使用任何 OPC UA 客户端 SDK 即可实现此目的。

如何编写我们自己的没有OPC UA投诉的PLC OPC服务器?

这个问题不能用通用的方式来回答。这很大程度上取决于您使用的 PLC 硬件。例如,是否可以直接将自己的程序放入PLC中?是否完全封闭,需要使用现场总线接口与PLC通讯?

对此的通用解决方案是在外部设备(例如 PC)上实施 OPC UA 服务器。该 PC 直接与 PLC 连接。然后,在您的实现中,您需要实现与 PLC 的通信,然后将接收到的 PLC 值映射到 OPC UA 服务器变量。所以基本上您的 OPC UA 服务器充当网关。