我想学习如何使我的代理与可编程控制器(西门子S7 1200)进行通信。基本上,智能体是在JADE中创建的,并做出了一种正确和错误的决定,它们将发送给PLC。如果为真,则激活PLC或其他情况。我听说过使用简单对象访问协议的概念,但不熟悉它(如果有人知道如何使用它,他们可以帮助我提供一个示例程序或链接我的程序的方法)。在2013年4月8日之前完成这项工作
发布于 2013-04-09 03:49:16
我想你说的是OPC。OPC是一个由OPC基金会保护和维护的“开放”标准。
每个PLC制造商都有一个OPC服务器,它通过他们自己的协议与他们的PLC通信。OPC客户端可以不加载、购买或创建。简而言之,S7-1200网线S7 over ethernet线缆PC OPC服务器内部OPC协议内部OPC客户端
在您的情况下,您需要一个用于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进行重新编程。通信http://support.automation.siemens.com/WW/view/en/20982954
发布于 2015-10-05 02:33:34
我知道这有点晚了,但是libnodave是一个用于与西门子PLC通信的包,它也可以在Java中工作,这是一个很好的加分。但我不认为它适合工业应用。我确实记得西门子有他们自己版本的库。用谷歌搜索就行了。
https://stackoverflow.com/questions/15838327
复制相似问题