我想创建一个工业自动化应用程序来完成以下功能:
我是工业自动化行业和IoT的新手,我知道我们已经有了OPC来拯救。
我看到很多网站和youtube视频来理解OPC UA和它的前身(OPC DA,OPC A&E,OPC HDA)。我已经安装了matrikon服务器和资源管理器(客户端)来探索更多。
假设我想读取SIMATIC S7-1200 PLC的信号,据我所知,OPC UA服务器随PLC一起运来将OPC UA信息转换为Profinet信息。
所以,我的问题是:
如果有人分享一些资源,我会很感激的!
发布于 2019-10-02 17:37:02
我应该在哪里写逻辑来读取值?OPC服务器还是客户端?
在OPC中,服务器通常是指向OPC客户端提供数据的设备或组件。在您的示例中,OPC服务器是SIMATIC S7。然后使用OPC客户端从此服务器读取变量值.。
例如,为了调试和检查,您可以使用免费(商业)工具UaExpert。您只能使用它来查看服务器的当前数据,不能使用它来编程您的逻辑。
最后,要回答您的问题:您需要使用OPC客户端SDK从OPC服务器读取值,并围绕它实现您自己的逻辑。有商业的OPC UA堆栈和开放源码堆栈。开源堆栈的列表可以在这里找到:开放源码OPC UA栈。
我知道open62541堆栈能够连接到Simatic S7,并且可以从可变节点读取值。
我将使用节点-OPC。有开放源码的OPC客户端GUI吗?
OPC客户端GUI是一个相当通用的术语。您的GUI目标到底是什么?如果您只需要它进行调试和检查,请使用UaExpert。由于OPC UA只是一个框架和协议定义,所以您需要自己编写这些值背后的逻辑。目前还没有一个通用的OPC UA GUI,您可以用它轻松地将自己的逻辑定义为OPC UA客户端。使用任何OPC客户端SDK来实现这一点。
如何为没有OPC UA投诉的PLC编写自己的OPC服务器?
这个问题不能用一般的方式回答。这很大程度上取决于您正在使用的PLC硬件。你能直接把你自己的程序放到PLC上吗?它是否完全关闭,您需要使用现场总线接口与PLC通信?
这方面的一个通用解决方案是在外部设备(例如PC )上实现OPC服务器。这台PC机与PLC直接相连。在您的实现中,您需要实现与PLC的通信,然后将接收到的PLC值映射到OPC服务器变量。因此,基本上您的OPC UA服务器充当网关。
发布于 2019-10-03 17:03:37
忘记以前版本的OPC (OPC DA,OPC A&E,OPC HDA),它们已经过时,被OPC UA所取代。
此外,过时的版本基于Windows DCOM,因此只能安装在Windows计算机上。
相反,OPC UA是独立于平台的,甚至可以安装在PLC本身,就像一些已经提供集成OPC UA服务器的PLC制造商一样。
如果您使用PLC与集成服务器,您只需要一个OPC客户端来读取和写入PLC数据。
如果PLC没有OPC UA服务器,则应将OPC UA服务器安装在一台计算机上,该计算机一方面使用PLC理解的协议(Profinet、以太网/IP、Modbus、Fins等)读写PLC。另一方面,OPC UA客户端可以读写。
据我所知,S7-1200没有集成的OPC UA服务器,但S7-1500有。
如何为没有OPC UA投诉的PLC编写自己的OPC服务器?
你不能那样做。集成OPC UA服务器的PLC将其集成到固件中,只有制造商才能编程。
https://stackoverflow.com/questions/58206128
复制相似问题