提问:
请问 一下,我们子程序想在威纶通进入界面,开关ON,退出界面,开关off。
这样才不会和别的子程序 相互影响,请问可以实现么,如何设置?
回答:方法有很多,都是对威纶通功能的综合应用。
下面来具体介绍每种方法的实现,方法不仅仅有下面的介绍,可以自己思考额外增加。
第一种方法。
威纶通里面没有直接的元件来实现,但我们可以通过多个元件的组合,通过多种方法来实现。
最简单的方法就是使用两个位状态设置元件组合来实现。
我们可以在新版本编程软件界面,菜单,元件,位状态设置,添加此元件。
打开属性设置对话框,如下,可以看到有当窗口打开时设置为ON,窗口关闭时设置为OFF等选项。
这样通过两个这种元件组合,就能简单快速实现当一窗口打开或关闭时开关指定位寄存器。
当然这两元件如果是以这种方式来使用的话,我们就可以将它们放于窗口可视区域外,或去除图片属性,不显示出来。
此元件还能够触发一个宏指令,当前不用此功能就不用勾选了。
如果对威纶通的元件不熟悉,我录制的两套教程也很全面的介绍了元件的使用。
可以下载学习,快速熟悉:
第二种方法。
可以周期执行一个宏指令来实时获取当前打开窗口的编号,
如果打开了指定窗口则设置位寄存器为为ON,不是则设置为OFF.
宏代码如下:
macro_command main()
short nIndex=0
GetData(nIndex, "Local HMI", LW, 9050, 1)
if nIndex == 10 then
bool on=true
SetData(on, "Local HMI", LB, 1, 1)
else
on = false
SetData(on, "Local HMI", LB, 1, 1)
end if
end macro_command
宏设置的是LB1,可以在界面公共窗口4里添加指示类元件,显示LB1的状态。
宏编辑界面设置宏每隔100ms执行一次,通过系统寄存器LW9050检测打开窗口的编号,并设置LB1状态。
第三种方法。
这种方法仅支持较高版本触摸屏。
我们在设置一个窗口属性时,可以设置打开窗口与关闭窗口时,要执行的宏指令,如下图。
在图中红线位置里可以设置我们事先编写的宏代码,在宏里面设置一元件为ON,在另一宏里设置元件为OFF.
图中为灰色不可用状态,是因为我们创建的是TK6071IP触摸屏程序,此硬件不支持这一功能。
第四种方法。
通过多状态设置元件来实现。
同样,在我们添加这种元件里,在属性里也可以设置窗口打开,关闭时的动作,如下图。
当然,这里我们使用的是一个字的寄存器,威纶提供足够多的元件供使用,所以虽浪费,但也无妨。
通过元件的设置,可以在窗口打开时向指定的寄存器如LW0,向其写入常数,
如:
打开窗口时写入1,表示将LW_bit0.0设置OF,
关闭窗口时写入0,表示将LW_bit0.0设置off.
如果还想在设置on后触发一个宏指令,也可再添加一个PLC控制任务,也就是通过PLC控制元件来实现。
添加时设置如下:
这里也根据上面的介绍编写了一个实例,
界面操作效果如下:
点击切换窗口,可以在窗口10,11来回切换。
通过前面介绍的3种方法,在进入窗口10时,将LB0,LB1,lw_bit0.0设置为ON,进行窗口11设置为OFF.
根据触摸屏硬件的不同,还会有其他方法。
学习了我录制的教程后,可以综合应用,摸索出更多方法。
例程下载地址:
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|