为啥子modbus tcp按寄存器地址轮询这么慢

已锁定

荧惑mars

  • 帖子

    156
  • 精华

    6
  • 被关注

    33

论坛等级:侠士

注册时间:2014-02-13

普通 普通 如何晋级?

为啥子modbus tcp按寄存器地址轮询这么慢

8781

8

2023-08-06 14:11:16

以上时序图是在wincc和博图同时对同一个modbus tcp地址读写的情况。大概有6秒一个读+写周期。

读:78个寄存器,写:30个寄存器。

wincc版本:v7.5 sp2 up11

tia版本:v18

net版本:v18

step7版本:v5.5 sp4(安装这个有助于wincc和新版本固件PLC通信)

以上时序图是在只有博图对一个modbus tcp地址读写的情况。大概有4秒一个读+写周期。

从我写入寄存器数据80,到读取寄存器数据90→80,大概花了6秒。


我的问题:为啥这么慢?有没有办法让它缩短到2秒以内。换串口服务器?换PLC?优化程序?

以下为我自己写的modbus tcp轮询寄存器地址的程序

ModbusTCP_FB.7z

以上是单SCL文件。V18版本博图编写。


PS:经过一段时间折腾,把程序改成以下方式。

PS:本帖的问题是:一个站点、一个从站,的,不连续寄存器地址的轮询。

  1. 把寄存器地址分类,分成实时读取、调试参数、温控设定值,这三类数组。

  2. 初始化从站modbus仪表,按顺序读取,实时读取、调试参数、温控设定值。

  3. 初始化时,转存调试参数和温控设定值,last value。

  4. 初始化完成后,一直轮询实时读取。

  5. 监听调试参数和温控设定值的变化,如有不同,进入写入程序步。

  6. 写入完,再读取一遍同样地址数据,并赋值到last value数组。

  7. 接着继续轮询实时读取。

PS:连续寄存器地址不存在这样的问题,触摸屏和组态软件应付不连续寄存器地址比PLC方便。

PS:本项目,只有一个KTP屏幕,一个网口无法兼容PN和modbus tcp。也没有组态软件。

为啥子modbus tcp按寄存器地址轮询这么慢 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15102条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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