1

我想了解如何使我的代理与 PLC(西门子 S7 1200)进行通信。基本上,代理是在 JADE 中创建的,并做出一种决定,即他们将发送 PLC 的真假决定。如果它为真,则 PLC 被激活或以其他方式激活。我听说过使用简单对象访问协议的概念,但不熟悉它(如果有人知道如何使用它,他们可以帮助我提供示例程序或链接我的程序的方法)。在 2013 年 4 月 8 日之前完成这项工作

4

2 回答 2

1

我认为您在谈论 OPC。OPC 是由 OPC 基金会保护和维护的“开放”标准。

每个 PLC 制造商都有一个 OPC 服务器,通过他们自己的协议与他们的 PLC 进行通信。可以下载、购买或创建 OPC 客户端。简而言之 [S7-1200]以太网电缆上的电缆S7 [PC OPC Server intern OPC Protocol intern OPC Client]

在您的情况下,您需要西门子为 S7-1200 提供的 OPC 服务器。OPC 客户端将成为您的代理。JADE 需要一个 OPC 库才能通过 OPC 进行通信。有关可能性,请参见 www.opcfoundation.org 的网站。现在您可以直接读写PLC。

但是,您使用的是 S7-1200。西门子的新型微型自动化 PLC。这有一个新的内存布局,OPC 需要一些技巧才能使其工作。(与旧 S7 PLC 中的直接寻址和 S7-1200 中的命名值有关)。以下来自西门子的常见问题解答将进一步帮助您

如何使用 OPC 将 PC 站连接到 S7-1200? http://support.automation.siemens.com/WW/view/en/39960679

或者您可以尝试通过 TCP/IP 发送值。这需要对 PLC 重新编程。CPU CPU 通信 http://support.automation.siemens.com/WW/view/en/20982954

于 2013-04-08T19:49:16.437 回答
1

我知道这有点晚了,但 libnodave 是一个用于与西门子 PLC 通信的包。它也可以在 Java 中运行,这是一个很大的优势。我认为它不适合工业应用。我记得西门子有自己的库版本。只是谷歌它。

于 2015-10-04T18:33:34.460 回答