使用TwinCAT HMI制作组态界面时,若需要绑定PLC变量则需要通过ADS协议与PLC进行通讯然后获取变量列表与控件进行绑定。

遇到多个相同工位的界面显示,经常会创建一些自定义控件。控件中创建数据接口然后就可以无限的实例化,只需要与不同的变量进行绑定,便可以实现相同工位的界面分开显示。

遇到需要显示的数据量多的时候,此时自定义控件的数据接口可能会声明很多个,同时PLC中也会有许多的变量,故使用结构体则简单省事。

PLC中将一个工位的所有需要显示变量制作成一个结构体,然后声明这个结构体即可,不同工位使用不同的变量区分。

结构体:

变量:

自定义控件中的数据接口也用此结构体作为结构变量类型。

控件实例化后绑定不同的变量即可:


此时我们可能会遇到一个情况,那就是结构体中的变量会添加或者减少,那么此时HMI上就会报错,应该怎么做呢?

1.修改PLC结构体中变量添加或者删除

2.修改完成后登陆至PLC,将修改后的程序下载进去

3.此时HMI中的Mapped symbol中映射的变量会报错,显示黄色感叹号

展开会发现,被注释的变量还是存在,但是PLC中却已经被删除了,两者对应不上,所以会报错。

4.选中黄色感叹号的变量,右键点击“Refresh Mapping”刷新变量


等待刷新完成,此时变量已经不会报错了,展开查看变量消失了,与PPLC中是一致的。

5.如果是添加或修改变量,则打开UserControl重新绑定变量即可;如果是删除变量,则在UserControl中将与被删除的变量绑定的控件删除即可