恭喜,你发布的帖子
发布于 2022-11-20 19:00:14
10楼
PLC与任何上位UI或第三方节点交流,都要读写变量分开设计。
读变量是单向的。写变量是双向的,PLC可以向所有的UI刷新,任意UI可以向PLC写入。
所以关于写变量,要给PLC侧和UI侧各保留一个缓冲区。任何一侧有变化,都要把对侧一并覆盖。如果不想给任意UI的第三方设计添加额外约束,需要给每个上位节点保留一个UI侧缓冲区。这是可选项。
比如:PLC侧写缓冲区(简称P)只能有一个,而上位侧写缓冲区有10个(简称U1到U10,因为总共有10个触摸屏或上位机或云或其它节点)。P发生变化要把U1到U10全部刷新,U1的变化要把P和U2到U10全部刷新。一般来说,U侧在同一时间,只能有一个具有写入权。
这和优化存储无关。但如果要和任意第三方节点交互(非西门子上位UI,云等),就得用标准兼容存储。
以上意味着:所有的PLC内外交流,都要经特定的DB往来,类似PLC与外部接口的意思。
我认为没必要分开。
反而更应该尽量混在一起,即对于传送到HMI的数据,都可以统一作为INOUT来对待。 哪怕是OUTPUT。
而最终如果HMI选择只读, 那它在PLC侧就完全相当于OUTPUT。
为每一个设备接口设计2个UDT甚至3个, 是不可接受的。
请填写推广理由:
分享
只看
楼主