我使用libnodave和s7netplus将数据块读写到我的simatic s7-300上。
一切都很好,但我想了解libnodave或s7netplus是如何工作的,这样我就可以基于普通的tcp/ip套接字,用c++或c#自己实现类似的东西,只是为了好玩。
在库网站或源代码本身上,我找不到任何关于它们是如何实现的信息,只有它们使用tcp/ip套接字(我知道在libnodave中,您也可以使用其他方法,但现在我只关注tcp/ip)。
在我对其他网站的研究中,我发现我可以使用开放的tcp/ip或modbus tcp/ip。
但我真的找不到任何与simatic s7-300相关的规范,这些规范告诉我如何建立连接或发送什么来开始数据传输。
请不要理解错了。
例如,对于modbus tcp/ip本身,我可以找到规范,但是这些规范没有告诉我,如果我想从数据块17读取10个字节或者向数据块1写入3个字节,应该向plc发送什么。
因此,我的问题是,在tcp/ip之上,我必须与我的plc交换pc上的数据,以及在哪里可以找到与simatic s7-300相关的确切规范?
发布于 2016-07-27 17:48:48
介绍了Snap7现场总线与西门子PLC的通信协议。http://snap7.sourceforge.net/siemens_comm.html
(也许更好的是使用Snap7而不是Libnodave来支持较新的PLC!)
https://stackoverflow.com/questions/38522829
复制相似问题