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

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9481
  • 精华

    160
  • 被关注

    1500

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

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

2910

17

2025-06-26 13:56:55

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

关于Modbus TCP客户机多任务工作

  在Modbus TCP通讯过程中,很难回避一个现实问题就是多任务工作时的工作环境,是否需要还轮询?因为,该通讯原理硬件虽然基于以太网架构下,但是通讯机制还是在Modbus类型通讯下。如果按RS485半双工通讯方式,一条通讯硬件链路上,只能有一个唯一的通讯任务,或发送或接收,不允许在同一个时刻出现多条工作任务的出现,原因也很容易理解,接收和发送无法区分、拆分各条通讯数据的信号电平。

通讯轮询的测试:

1)  创建一个测试项目,用2个s7-1200的cpu,S7-1214C DC/DC/DC版本V4.2和S7-1214C AC/DC/Relay版本V2.2,其中,V4.2作为客户机,V2.2作为服务器侧进行多任务工作测试,图示1:

创建客户机:

创建服务器:

2)  测试任务:客户机侧同时调用并触发Client指令,读取服务器40001区域数据,图示2:

用系统时钟标志位M0.5同时触发MB_Client指令的REQ管脚。

通讯任务1:

通讯任务2:

3)  创建通讯数据交互数据块,用于测试数据的交互,图示3:

客户机:

服务器:将数字1 ~ 20  分别写入DB3数据块的各变量中。

4)  分别将项目编译保存后,下载。在客户机看读取服务器DB3的数据情况,结果图示4:

2个MB_Client指令同时用系统时钟标志位M0.5触发,数据仍然能够正常交互。

5)  多个MB_Client指令调用又将如何?图示,再新建2个MB_Client指令,这样4个MB_Client指令同时被M0.5系统时钟调用的情况:

通讯数据交互仍然能够正常。

小结:

  测试环境用Protal版本V15组态的CPU版本V4.2作为客户机,CPU版本V2.2作为服务器,用于Modbus TCP测试客户机多个任务同时触发时,测试项目的4个MB_Client指令同时触发,数据交互仍然能够正常。由此说明,基于以太网硬件网络的modbus通讯无需再如同半双工那样,考虑同时触发调用通讯指令的问题。当然,测试可能存在一定的局限性和片面性,只是说明了一个测试的方向的预判结果。


关于Modbus TCP通讯调试过程的那些事2 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15760条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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