回复:关于MODBUS TCP通讯

江诚

  • 帖子

    2497
  • 精华

    0
  • 被关注

    33

论坛等级:至圣

注册时间:2004-09-15

钻石 钻石 如何晋级?

发布于 2016-04-24 23:39:56

3楼

展开查看
以下是引用yming在2016-04-23 21:59:53的发言 >

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,应该没什么问题吧?

以上仅供参考,如有差错,敬请原谅!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10565条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。