回复:多个IP地址的Modbus TCP通讯注意事项

yming

西门子1847工业学习平台

  • 帖子

    23200
  • 精华

    881
  • 被关注

    1254

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2018-10-14 22:13:26

15楼

展开查看
以下是引用威师爷在2018-10-14 18:58:57的发言 >14楼

是的!

原来有一个MB TCP  Server用一个客户端读写会出错。

后来把读写分开操作(调用两次FB,IP一样,端口与连接id唯一就好了具体原因一直都没找到。)

以下是引用shine在2018-07-31 11:26:58的发言 >11楼:严格的说,应该是IP...

引用11楼详细内容:

严格的说,应该是IP和PORT的组合不一样就可以了,可以是相同IP,不同PORT。

比如测试的时候,电脑上开两个MODBUS SLAVE软件,IP是相同的,通过不同的PORT进行区别。


在CPU的连接资源之内,可以通过不同的调用实例,同时连接,如果超过,就需要轮询了,轮询可以只调用一个实例,ID不变,通过 断开连接->修改连接参数->连接->读写 这样的循环进行

以下是引用shine在2018-01-09 09:34:03的发言 >6楼:不一样的理由:读取...

引用6楼详细内容:

不一样的理由:

读取2个client,需用到2个client的实例,所以需要不同的背景数据块

client的地址信息保存在connect参数中,而同一个网络中,每个client的地址肯定是不同的,所以需要设置不同的参数

Shine说的没错。

“严格的说,应该是IP和PORT的组合不一样就可以了,可以是相同IP,不同PORT。”

这与普通服务器是一样的。你可以在一台服务器上安装WEB服务,还可以安装 Mail服务、还可以安装 其他服务。它们都是使用同一个IP地址呀。只是端口号不同。

一台装置上的端口号有多少呢? 大约 65500个呢!只不过将502端口默认给了ModBus协议。此外,你也可以使用其他“别人不用的端口来提供 ModBus TCP服务的端口,503,504,505 .。。等等,可以每一个端口提供一种MB服务(就是提供 外部访问不同的数据)。

每一个端口可以接收指定的IP地址访问,也可以接收任意IP地址的访问。(设定访问客户端IP 0.0.0.0即可。)因为这是提供给任意的IP地址访问,所以,当多个客户端请求连接时,需要写好连接时序,客户端收到数据后,也要及时断开连接。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15228条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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