大家好,我现在有一个项目比较分散,规划了多个PLC,跟15个触摸屏,然后我把程序都写在一个PLC里面,其他的都做PN智能设备了。但是一个PLC只能连8个HIM。于是我又拿出一个PLC连另外7个触摸屏。这二个PLC之间采用PUT,GET进行数据交换,从而实现全线触摸屏显示一样的画面与操作。
但是按钮跟数据设定同步比较难做,我目前是这样做的。规划一片地址 VB8000-VB8400作为二个PLC的按钮同步区域。
然后1#PLC的VB7000-VB7400通过S7传给2#PLC的VB9000-VB9400,2#PLC的VB7000-VB7400通过S7传给1#PLC的VB9000-VB9400.
二个PLC里面程序一样,第一个扫描周期先把VB7000-VB7400传到VB8000-VB8400,VB9000-VB9400里面。
然后每个扫描周期比较VB7000-VB7400与VB8000-VB8400里面的数据是否一致,如果不一样则说明我更改了这个PLC所连接的HIM上面的数据或者按钮,
就把数据更新一下,把VB8000-VB8400传送给VB7000-VB7400与VB9000-VB9400
如果一致就去比较VB8000-VB8400与VB9000-VB9400是否一样,如果不一样,则说明另外一个PLC对应的HIM按钮有改变,
就更新数据如下:VB9000-VB9400传送给VB8000-VB8400和VB7000-VB7400。
实际测试下来基本上没什么问题。有一点BUG,有时候我改变了一个按钮,但是实际没有更新过来。但是按第二次就好了,不知道应该怎么解决。希望大家给点意见。