C脚本关闭WINCC当前窗口

各位好,现在在做一个画面P2(此画面被父画面P1画面窗口PW1调用),P2上的按钮需要触发一个脉冲信号,按下按钮 置Tag1为1,释放按钮 复位Tag1同时关闭P2(或者说PW1不显示),因为释放按钮需要执行两个动作,所以要用C或者VBS脚本。
看到之前有用到这条语句:SetVisible(GetParentPicture(lpszPictureName),GetParentPictureWindow(lpszPictureName),FALSE);

我写的是:
SetVisible(GetParentPicture(“P2.Pdl”),GetParentPictureWindow("P2.Pdl"),FALSE);
怎么就关不上呢?到底哪儿写错了呢?

最佳答案

tag1的置位和复位就不说了。
关闭画面窗口脚本用这个,通用脚本,而且不需要考虑什么画面和画面窗口的名字。
int i, j, n;
char pic_name[256];
char obj_name[60];

n = strlen( lpszPictureName );

for ( i = n; i > 0; i– )
  if ( lpszPictureName[i] == ”.” )
    {
    strncpy( pic_name, lpszPictureName, i );
    strcpy( obj_name, &lpszPictureName[i+1] );
    for ( j = 0; j < (n-i); j++)
      if ( obj_name[j] == ”:” )
        {
        obj_name[j] = ”\0”;
        break;
        }
    SetVisible(pic_name,obj_name,FALSE);
    break;
    }

提问者对于答案的评价:
发现相当好用,多谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc255650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:35
下一篇 2019年6月10日

相关推荐