回复:两个SR40以太网通信,主站如何实现从站同一个寄存器的读和写

已锁定

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2020-01-10 13:18:02

9楼

展开查看
以下是引用zix_1234在2020-01-09 14:45:51的发言 >7楼

搜索到了论坛里的相关帖子,“jzhsh2007 主题: 关于西门子200smartPut/Get通讯时间延迟的疑问”。

就是第二个问题,他是用向导做的,没有解决的答案。

希望的效果是,当一个从站掉线后,其他从站仍然能够快速传输数据。

可能类似MODBUS轮询,在以太网通讯的内部,每条指令都是排队进行的。一个指令无法达到从站时,有个等待时间。这个等待时间比较长。找不到地方将它调小。

现场尝试了另一个方式,用秒脉冲来触发get指令。即,每次同时接通3个get指令(对应3个从站)持续0.5秒。这样数据不如之前一样变化快,只有每秒钟变化1次。当其中一个从站掉线后,主站中另两个从站的数据仍然每秒变化一次。两个从站掉线后,主站中第三个从站的数据还是每秒变化一次。

想不明白什么道理。

当如上编程时,主站对3个从站的写操作PUT指令,也能够将数据有效给到3个从站。

 

1、只在1#上写通讯程序,2#3#4#不要有任何的get/put通讯程序,这样就可以避免多主站掉站令牌延迟时间问题。
2、只有1#一个主站后,通讯速度快非常多的。
3、数据同步原则就是每个站都开辟两片独立的缓冲区(读缓冲、写缓冲)跟本地的数据比较,发现本地的数据发生改变就把值更新到写缓冲后put到对应的从站;读取到从站的数据跟本地的读缓冲不同,就把读取的数据更新到读缓冲、更新到本地值。put完成后才能get,否则有可能数据混乱。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9433条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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