-1

我有一个 PLC Siemens s7-1500,它不包括 OPC-UA 服务器的许可证,因此我正在尝试寻找替代品,因为我需要将此 PLC 信息链接到 OPC-UA 服务器,然后再咨询由另一个 OPC-UA 客户端。

到目前为止,我已经探索了 python 库 python-opcua,但我是 IoT 和 OPC-UA 的新手,我希望获得一些指导以继续此实施。

最好的问候亚历杭德罗

4

4 回答 4

0

正如其他答案已经提到的那样,围绕封闭的 PLC 编写自己的 OPC UA 服务器并不是最佳选择,因为 Siemens S7 就是这种情况。

如果您仍然需要这样做,您可以尝试以下方法:

  1. 使用带有 C++ 的 Snap7 库 ( http://snap7.sourceforge.net/ ) 连接到 Siemens S7
  2. 使用 open62541 OPC UA 堆栈 ( https://github.com/open62541/open62541 ) 将上一步中的代码包装到 OPC UA 服务器中
  3. 将 GitHub 上的所有内容作为开源发布以帮助他人 :)

open62541 中有一些 OPC UA 服务器的示例,应该可以帮助您入门: https ://github.com/open62541/open62541/blob/master/examples/tutorial_server_variable.c

于 2020-07-02T07:22:23.620 回答
0

一般来说,我认为为 S7 编写自己的 OPC UA 服务器不太可行。即使有一个好的 SDK 的帮助,这也不是一件容易的事。

市场上有几种软件和硬件产品为 S7 提供 OPC UA,虽然它们不是免费的,但它们通常非常值得,除非您对自己的工作没有太多价值。

于 2020-07-01T14:28:58.960 回答
0

OPC UA是一个复杂的协议,编写自己的服务器并不容易,编写与OPC UA无关的必须与S7通信的部分也会很复杂。

西门子从未发布过与 S7 通信的协议,您只能找到一些功能非常有限的 20 年历史的库。

从西门子购买 OPC UA 许可证会便宜得多,也安全得多,我想我记得它并不贵,与 PLC 价格相比。

于 2020-07-01T17:33:30.060 回答
0

我没有在 Siemens S7 PLC 上完成您要求的操作,但我已经使用 node-red 对许多其他 PLC 完成了此操作。

西门子S7 PLC有节点

于 2020-07-06T11:58:43.830 回答