我想为工业自动化创建一个应用程序,以执行以下功能:
我是工业自动化行业和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信息。
所以,我的问题是:
如果有人分享一些资源,将不胜感激!
答案 0 :(得分: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服务器充当网关。
答案 1 :(得分:0)
忘记OPC的先前版本(OPC DA,OPC A&E,OPC HDA),它们是过时的版本,并由OPC UA代替。
此外,过时的版本基于Windows DCOM,因此只能安装在Windows计算机上。
相反,OPC UA是独立于平台的,甚至可以安装在PLC本身中,就像某些已经提供集成式OPC UA服务器的PLC制造商一样。
如果将PLC与集成服务器一起使用,则只需要一个OPC UA客户端即可读取和写入PLC数据。
如果相反,PLC没有OPC UA服务器,则应在计算机上安装OPC UA服务器,该计算机一方面要使用PLC可以理解的协议从PLC读取或写入PLC(Profinet,以太网/ IP, Modbus,Fins等...),另一方面,OPC UA客户端可以读写
据我所知,S7-1200没有集成的OPC UA服务器,但S7-1500有。
如何为没有OPC UA的PLC编写自己的OPC服务器 抱怨吗?
你不能那样做。集成了OPC UA服务器的PLC将其包含在固件中,只有制造商才能对其进行编程。
答案 2 :(得分:0)