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日

相关推荐

  • 从wincc里怎么给定时器输入时间

    从从wincc建立一个输入框,里怎么给plc定时器输入时间?忘高手指教 最佳答案 1我当时也遇到过这样的问题,后来在程序里做先乘1000,在转换,在用FC40转换,在送给定时器,这…

    SIMATIC WinCC 2019年6月11日
  • wincc flexible 2007?

    1、触摸屏的那些卡(MMC  SD  CF)作用是什么?当我传程序到触摸屏的时候,触摸屏本身和卡里都有程序吗? 2、当传程序到触摸…

    SIMATIC WinCC 2019年6月11日
  • wincc界面调用问题

    功能:我想用变量前缀的脚本来吧四个一样的阀门控制器连接不同的变量(脚本1),但是出现了一问题,就是阀门控制器的选框失效了(选择远程,会显示不同的操作框(图二),选择就地(图三)),…

    2017年6月12日
  • SQL 2000无法安装

    PCS7 V6.1安装前要安装WINCC专用的SQL2000,但SQL2000只安装到2%左右就弹出一个对话框,内容是“setup finished …

    SIMATIC WinCC 2019年6月11日
  • 用户归档ID

    在用户归档中如果删除某一段配方表数据后,该段内ID会消失,如果此时再建立一个新的数据,则ID会顺延,请问:1.如果ID继续变大,当达到最大值后会重新走ID=1开始吗?2.如何再次走…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc的C脚本问题

    如图,我的IF语句条件根本就不满足,但是下面已经执行了,每次周期循环都执行 问题补充:关于二楼给yanzheng赋值的问题,这个只是我为了验证到底怎么回事做的,赋值0无所谓,因为脚…

    2021年7月5日
  • TP270与S7-200通讯

    TP270与S7-300能通讯,换成200(224与226)都不行,电缆线没总题,484通讯,频率也都一样,Wincc中MPI选向也换成了PPI。 问题补充:拨码开关设置没问题,W…

    SIMATIC WinCC 2019年6月11日
  • SetTagDWord("W",0x1000);指令用法

    恩,把 你的这些BOOL为分成 2个DWORD 类型的双字比如W=DB1.DBD0A=DB1.DBX0.0B=DB1.DBX0.1C=DB1.DBX0…

    2017年11月1日
  • 求推荐几本PLC,wincc,变频器,逆变器,伺服马达的书

    小弟以前做三菱PLC编程的,现在学习西门子,想了解西门子的PLC,wincc,变频器,逆变器,伺服马达等,想找几本书,希望大神们能提供点参考 最佳答案 <S7-200&nbs…

    SIMATIC WinCC 2021年7月5日
  • WINCC 以下函数什么意思 求高手指教

    #include "apdefap.h"void OnClick(char* lpszPictureName, char…

    SIMATIC WinCC 2019年6月11日