今天用MT8000编个跳转宏指令,可是不跳啊。具体如下,在画面建立功能键,设置为Local HMI LB0,窗口打开时设为ON,宏指令如下:
macro_command main()
short num=11
bool on=true, off=false
DELAY(5000)//延时3分钟
SetData(num, "Local HMI", LW, 0, 1)//切换到11窗口
SetData(off, "Local HMI", LB, 0, 1)//结束执行宏指令
end macro_command
帮看一下问题在哪儿,谢谢。
回答:
威纶通触摸屏窗口有很多类别,系统窗口,公式窗口,基本窗口。
窗口编号3到9为特殊用途窗口,特殊用途特殊用。
一般我们也只能使用基本窗口,也就是窗口编号10以后的窗口。
基本窗口可以以背景窗口的形式,在其他窗口显示。
也可以以嵌入或弹窗的形式显示。
窗口受控制显示可以通过间接嵌入窗口实现。
也可以通过PLC控制元件实现。
这里编写一个实例,通过宏指令实现这两种窗口切换功能。
界面如下:
威纶通触摸屏宏指令窗口跳转
在界面上点击通过宏切换窗口,可以切换基本窗口。
当前宏可以这样通过手动触发,也可以通过其他方式触发,比如PLC元件。
宏代码如下:
macro_command main()
bool b=false
GetData(b, "Local HMI", LB, 0, 1)
short n=0
if b==false then
n= 11
else
n= 10
end if
SetData(n, "Local HMI", LW, 0, 1)
//
b=~b
SetData(b, "Local HMI", LB, 0, 1)
end macro_command
宏是通过修改LW0来切换窗口,
具体LW0所实现的功能是通过PLC控制元件来设置使用。
威纶通触摸屏宏指令窗口跳转
另外嵌入窗口的循环切换是通过间接嵌入窗口元件实现。
元件设置,如下图所示。
威纶通触摸屏宏指令窗口跳转
然后再编写一个宏指令,周期修改LW1修改便可。
macro_command main()
bool b=false
GetData(b, "Local HMI", LB, 1, 1)
short n=0
if b==false then
b=true
n= 12
else
b=false
n= 13
end if
SetData(n, "Local HMI", LW, 1, 1)
//
SetData(b, "Local HMI", LB, 1, 1)
end macro_command
很简单就实现的两种窗口切换功能。
窗口切换功能还是很常用的。
所以也有很多相似的问题。
具体效果还可以下载例程模拟运行查看。
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|