请教各位高手,在WinCC 中,我需要实现的功能是当第一次点击一个按钮时,切换到画面1,当第二次点击这个按钮是,调出另一张画面2(菜单功能),此时画面1还存在,我的做法是在按钮的C脚本中写入如下代码:
int flag1;
if(flag1==1)
{
SetVisible("Main.pdl","画面2",1);
}
else
{
flag1=1;
SetPropChar(lpszPictureName,"MID-Main","PictureName","画面1");
}
在执行以上代码时,不论点多少次这个按钮,都只调出画面1,请问高手高如何做才能实现我要的功能,谢谢!
问题补充:
我按照1楼的做法做了,仍然不能实现我要的功能,而且发现问题的根本原因在于bflag1 无法置1,因为我手动给bflag1 置1后就可以实现我要的功能,请各位专家指点一下,谢谢!
最佳答案
flag的作用域仅限于本函数,而且没有初始化,其值未知。在脚本不做大改动的情况下,增加一个BOOL内部变量bFlag1:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你的要求不全,比如点击第三次、第四次的情况如何等等,脚本只能如此了,另外变量名是区分大小写的,特别注意。
if (GetTagBit("bFlag1"))
{
SetVisible("Main.pdl","画面2",1);
}
else
{
SetTagBit("bFlag1",TRUE);
SetPropChar(lpszPictureName,"MID-Main","PictureName","画面1");
}
提问者对于答案的评价:
谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc274478.html