给大家带来一个非常实用的触摸屏技巧,通过一页触摸屏显示所有的IO状态。话不多说,先看效果演示。
,时长01:34
视频演示
相信大家在视频中可以看到,我只使用了一个触摸屏画面,但是实现了多个IO状态显示。怎么实现的呢?我逐一向大家介绍。
首先介绍一下触摸屏中所使用和关联的变量,如图1所示。
图 1 触摸屏变量
在图1中,左侧为8个输入信号,右侧为8个输出信号,IO的状态通过“HMI_DATA_输入状态显示”和“HMI_DATA_输出状态显示”关联变量,其属性如图2所示。
图 2 状态显示关联的变量
在图2中,需要注意的是“类型”选择单个位,序号从0~7进行选择,区分对应的输入。输出的状态显示也是同样的道理。
对于输入和输出的名称显示,采用了文本类别的方式,当不同的页的不同变量名的值不同,则显示不同的名称,如图3和图4所示。
图 3 文本类别
图 4 关联文本列表的变量
在图3中,文本列表不同的值,对应着一个名称。在图4中,将输入变量的名称,关联一下文本列表。需要注意的是,输入变量的过程值不同,个关联的是“HMI_DATA_显示文本0”,第二个关联的是“HMI_DATA_显示文本1”,依次类推。对于输出变量的名称也是一样的道理。
触摸屏的画面状态,显示当前页和总页,上一页和下一个关联对应的变量,如图5所示。
图 5 页面和切换切换关联变量
触摸屏的部分了解完之后,再介绍一下PLC的程序。PLC程序的变量包括IO变量和程序变量。
IO变量做的一个处理是将对应的字节映射到数组当中,映射的部分这里省略,映射完毕的IO表如图6所示。
图 6 映射到数组的IO变量
程序变量如图7所示:
图 7 程序变量
在该程序中,上一页和下一页都产生一个沿信号,沿信号在不同的页面时,触发不同的动作。在页,按下“上一页”时,切换到后一页(即第5页),显示的文本页为当前页加上对应的值;按下“下一页”时,则页面加一页,显示文本发生改变。
在第二和倒数第二页(即第4页),按下“上一页”时,则页数减一页;按下“下一页”时,则页数加一页,显示文本发生改变。在后一页,按下“上一页”时,则页数减一页,显示文本发生改变;按下“下一页”时,则页面为页,显示文本发生改变。该程序如图8、图9和图10所示。
图 8 程序段1
图 9 程序段2
图 10 程序段3