实验时间:2023/3/22
实验器材:Sysmac Studio软件
实验目的:NA触摸屏实现画面切换
画面的切换原理主要有两种,一种是通过ShowPage
事件,另外一种是通过更改_HMI_CurrentPageIndex
和_HMI_CurrentPage
。_HMI_CurrentPageIndex
是设置当前画面的编号,_HMI_CurrentPage
是设置当前画面的名字。
本次实验通过三种方式切换画面:
ShowPage
;_HMI_CurrentPageIndex
画面索引值实现切换到指定画面;注:如果在屏中同时使用了方法2和3时,切换画面后要修改PLC里用于切换画面的INT变量与_HMI_CurrentPageIndex
相等;
本次实验共创建了三个画面,画面0、画面1、画面2用于切换。
首先创建三个画面分别为Page0、Page1、Page2,如图:
在Page0下添加"切换到画面1"按钮,工具箱–按钮下添加一个按钮,修改按钮的名字为“切换到画面1”
设置"切换到画面1"按钮的事件,触发方式为“Click”,对应的事件为“ShowPage”,指定切换的画面为“Page1”
在Page0下添加"切换到画面2"按钮,设置方法同上。在画面1和画面2中的两个切换按钮的设置也与上面相同。
首先在PLC工程中创建一个名为page_number
的全局变量,数据类型为INT,用于切换画面
将PLC中的page_number
变量映射到NA中,命名为na_page_number
增加全局事件用于监视当PLC中的page_number
发生变化时改变_HMI_CurrentPageIndex
的值从而切换画面,该事件的触发条件为_HMI_CurrentPageIndex
和na_page_number
是否相等,如果不等的话将na_page_number
值赋给_HMI_CurrentPageIndex
在Page0下添加下拉框,添加对应的Item,Item的value设置为画面编号(第一个画面为0)
下拉框对应的变量设置为_HMI_CurrentPageIndex
设置下拉框SetVariable
事件,当下拉框的当前选项变化时,将na_page_number
变量的值修改为_HMI_CurrentPageIndex
,目的是为了保持PLC里用于修改当前画面的page_number
变量值和当前实际显示画面的索引值保持一致。
在Page0下添“上一页”按钮,增加两个按钮事件分别为DecreaseVarible
和SetVariable
。DecreaseVarible
事件用于将_HMI_CurrentPageIndex
值减1,实现“上一页”的效果。SetVariable
事件目的是为了保持PLC里用于修改当前画面的page_number
变量值和当前实际显示画面的索引值保持一致。
在Page0下添“下一页”按钮,也增加两个按钮事件分别为DecreaseVarible
和SetVariable
。DecreaseVarible
事件用于将_HMI_CurrentPageIndex
值加1,实现“下一页”的效果。SetVariable
事件目的是为了保持PLC里用于修改当前画面的page_number
变量值和当前实际显示画面的索引值保持一致。
在画面1和画面2中的下拉框和“上一页”、“下一页”按钮的设置和画面1相同。
启动联合模拟模拟
点击画面0中的“切换到画面1”按钮
画面已正常切换到画面1,并且下拉框显示画面1
PLC里的page_number
变量值也变为了1
page_number
值切换换面演示如下将PLC中的page_number
赋值为2
可以看到画面已经切换到了画面2,下拉框显示的也是画面2
PLC里的page_number
变量值也变为了0
PLC里的page_number
变量值也变为了1
PLC里的page_number
变量值也变为了0
下拉框控件,当下拉框指定的变量值发生变化时,下拉框的当前选项也会随之变化;
_HMI_CurrentPage
变量为当前页面的名字,类型为String
,通过切换该全局变量的值也能实现画面的切换;
源工程下载