需要在opc ua服务器和opc ua客户端上保持清晰

问题描述 投票:0回答:2

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

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

我对工业自动化行业和IoT还是陌生的,我知道我们已经准备好要救援的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服务器?

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

plc opc-ua
2个回答
1
投票

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

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

出于调试目的和检查,您可以使用例如免费(商业)工具UaExpert。您只能使用它来查看服务器的当前数据,不能使用它来对服务器周围的逻辑进行编程。

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

我知道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服务器充当网关。


0
投票

忘记OPC的先前版本(OPC DA,OPC A&E,OPC HDA),它们是过时的版本,由OPC UA代替。

此外,过时的版本基于Windows DCOM,因此只能安装在Windows计算机上。

相反,OPC UA是独立于平台的,甚至可以像某些已经提供集成式OPC UA服务器的PLC制造商一样安装在PLC本身中。

如果将PLC与集成服务器一起使用,则只需要一个OPC UA客户端即可读取和写入PLC数据。

如果相反,PLC没有OPC UA服务器,则应在计算机上安装OPC UA服务器,该计算机一方面使用PLC理解的协议(Profinet,Ethernet / IP,Modbus从PLC读取或写入) ,鳍等...),另一方面,OPC UA客户端可以读写

据我所知,S7-1200没有集成的OPC UA服务器,但S7-1500有。

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

您不能那样做。集成了OPC UA服务器的PLC的固件中已包含该PLC,只有制造商才能对其进行编程。

© www.soinside.com 2019 - 2024. All rights reserved.