恭喜,你发布的帖子
发布于 2016-04-24 23:39:56
3楼
MODBUS TCP 也是异步通讯。不能“不管DONE BUSY ERROR等位的状态”来“定时”轮询。在DONE位没有置一前通讯是没有完成的。
在 TCP 通讯中,它是开放的 ProfiNet IE 通讯,其响应完全看网络负载程度。可能十几毫秒;也可能上百毫秒。还可能没有响应。
因此,根据需要采用DONE/ERROR结束通讯,这是最快的通讯交换数据。当然也可以定时中断,但要满足最大通讯时常。避免通讯负载大时,通讯完全中断。
在没有达到最大通讯连接时,应该不需要断开连接。
读写切换应该在完成DONE/ERROR之后再进行。不能再BUSY时进行,也不能做第二次请求。
感谢Y侠!
读写切换是在EN和REQ为1前进行的。
我做了下监测,现在的定时轮询,偶尔出现某个设备超过5秒还未通讯上的情况(通过DONE判断的)
我明天使用 DONE/RRROR结束通讯和不把DISCONNET位置1试试轮询效果。另外, EN和REQ同时为1,应该没什么问题吧?
请填写推广理由:
分享
只看
楼主