回复:关于Modbus TCP通讯调试过程的那些事2

Siemens automation

西门子1847工业学习平台

  • 帖子

    1049
  • 精华

    15
  • 被关注

    312

论坛等级:奇侠

注册时间:2013-06-23

钻石 钻石 如何晋级?

发布于 2025-06-26 14:52:37

3楼

 楼主我几点疑问。

  1.    通过公共的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用相同的背景数据块,连接 ID 号,IP 地址和端口号,根据需要修改模式、地址、长度、指针等。(你上面4个指令连接的参数是不是一样,看程序是一样。但是没有看到你4个指令的关联的错误地址和状态显示这些地址健康截图)

  2. 在任意时间,只能有一个 MB_CLIENT 请求处于激活状态,在一个请求完成执行后,下一个请求再开始执行,轮询处理。(这是我看的西门子网站上面你的介绍,这个1,2点都是复制里面的介绍内容)


Modbus TCP 通信多请求处理:


https://www.ad.siemens.com.cn/download/materialaggregation_1338.html


Modbus_TCP_V4 客户端:


https://www.ad.siemens.com.cn/download/materialaggregation_1335.html


上面两个链接都说了有下面这段话


方法二:通过公共的连接发送多个请求

这个方法适合 CPU 访问一个 Modbus TCP 服务器,但是有多个作业的情况,例如有读也有写,或者读多个区域等。

通过公共的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用相同的背景数据块,连接 ID 号,IP 地址和端口号,根据需要修改模式、地址、长度、指针等。

在任意时间,只能有一个 MB_CLIENT 请求处于激活状态,在一个请求完成执行后,下一个请求再开始执行,轮询处理。


还有,楼主你的测试只是同时激活了4个指令,不是有轮训,假如报错,也可以将数据同时发送到服务器端,读写都可以,只要不超过这个PLC同一时间允许发送读取的最大数据量就可实现不轮训通讯。同时读取多个指令地址进行数据交换。你可以尝试改变这些地址里面的数据,去不断测试看有什么不一样的结果。

你4个指令的错误地址,和状态码都截图出来对比一下。





评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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