我正在使用libnodave和s7netplus来读取和写入我的simatic s7-300数据块。
一切都工作正常,但我想了解libnodave或s7netplus是如何工作的,我可以在c ++或c#中基于普通的tcp / ip套接字实现类似的东西,只是为了好玩。
在图书馆网站或源代码本身我找不到任何关于它们如何实现的信息,只是他们正在使用tcp / ip套接字(我知道在libnodave中你也可以使用其他方式但是现在我只专注于tcp / ip )。
在我对其他网站的研究中,我发现我可以使用open tcp / ip或modbus tcp / ip
但我真的找不到与simatic s7-300相关的任何规格,它们告诉我如何建立连接或发送什么来开始数据传输....
请不要理解我的错
例如对于modbus tcp / ip本身,我可以找到规范,但如果我想从数据块17读取10个字节或将3个字节写入数据块1,这些规范并没有告诉我发送到plc的内容。
所以我的问题是在tcp / ip之上的哪些可能性我必须用我的plc从pc交换数据,哪里可以找到与simatic s7-300相关的确切规范?
答案 0 :(得分:0)
西门子PLC的通信协议在Snap7网站上有所描述。 http://snap7.sourceforge.net/siemens_comm.html
(也许最好使用Snap7代替Libnodave来支持更新的PLC!)