在WinCC 中如何选择需要切换的画面

请教各位高手,在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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐