恭喜,你发布的帖子
发布于 2024-11-28 13:46:19
16楼
先谢谢各位大师!在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,不影响避免互相刷新。
请填写推广理由:
分享
只看
楼主