回复:200smart 与200smart S7 通讯 如何读写同一个寄存器

已锁定

阳春节拍

  • 帖子

    382
  • 精华

    2
  • 被关注

    5

论坛等级:侠士

注册时间:2023-03-01

钻石 钻石 如何晋级?

发布于 2024-11-28 13:46:19

16楼

展开查看
以下是引用手机用户20230913114148在2024-11-28 10:57:23的发言 >15楼

先谢谢各位大师!在2#触摸屏写入设定值,要同时改变1#VD12的值并显示设定值,同时1#触摸屏上随着变化,同样,在1#触摸屏上写入并显示的同时2#触摸屏也随着变动。

直接使用put/get指令并不能实现数据同步,因为这两个指令都是跨周期的,且是互不影响的并行指令。如果是RTU那样的单主站串行指令,才可以通过读写间数据互锁来实现同步。


我上边已经说的很清楚了,两种方式:有变动时mov,或者使用逻辑指令。


详细的说就是:

主  从

A→a

b←B

c  c

主从机各有此三个地址,箭头为数据通讯方向,通讯程序在哪个plc里无所谓。AB两个地址是同步的,即A是主机的数据地址,B是从机的数据地址。

主机程序:b与c不同时,b复制到A和c。

从机程序:a与c不同时,a复制到B和c。

 

以上,考虑通讯和plc周期引起的延迟,若A和B在几十毫秒内同时变动,则可能出现A和B不受控的互相来回刷新。聪明的你肯定想到了,加个延迟呗。不同持续一定时间(超过刷新时长)后才复制。如果有多个地址需要同步,所有条件可以共用同一个延迟T,不影响避免互相刷新。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8943条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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