回复:1500作为客户端与两个SMART服务端的TCP通讯求助

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23148
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2022-07-16 12:05:01

8楼

首先,1500不是1200,它的连接资源相比1200多的多,而且很少地保留。

 1、Modbus TCP 不是 Modbus RTU总线型,需要串行通信。(总线上,同一时刻,只能有一个站点独占总线。)Modbus TCP是可以并发通讯的。

这意味着,可以在程序中建立多个MB_Client客户端;每个客户端使用不同的MB_Client背景数据块;使用不同的连接ID;使用不同的本地端口(502、503、504... 远程服务器站要指定访问对应的端口,以保持连接。)

2、以上所有MB_Client的EN都是连接左侧能流线(每循环都调用)。若每个服务器只有一个MB_Client,则REQ只需一次上升沿,然后一直保持1。西门子MB_Client功能块会自动与服务器建立连接,连续执行命令;即便网线断掉,重新插上,此功能块也会再次建立连接,继续执行命令,

3、当传输的数据超过240字节时,就需要多次传输。可以用“轮询”(其实这不叫轮询);每次Done之后,改变传输数据区。也可以,直接连续调用MB_Client(用同一个MB_Client背景数据块),当前面的传输完毕利用Done,激活下一个(余下数据)的MB_Client的REQ。

《1500访问多个设备方法》


4、TCP/IP传输中,IP协议只负责传送IP- IP;所有连接管理等信息都在TCP协议中。

MB_Client访问不到、连接不上等等,看MB_Client功能块的状态STATUS代码就知道了。






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

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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