假设有10副wincc画面,当一个条件满足时,要在这10副画面中弹出同一个窗口,起初我是在@ screen(起始画面)中加了一个画面窗口,触发条件后在这10个画面中都会弹出同一画面窗口,接着我又想在全局画面中写一个脚本,来完成此过程,如下:
#include "apdefap.h"
int gscAction( void )
{
if ("FI84001_T/AMON.SimOn"==1)
SetVisible("@Screen","globalwarn",TRUE);
SetPictureName("@Screen","globalwarn","globalwarning");
return 0;
}
其中globalwarn 是画面窗口名字,globalwarning是画面窗口中画面的名字,@ screen是起始画面。
但条件满足后 无法弹出窗口。
问题补充:
现在的程序是:
#include "apdefap.h"
int gscAction( void )
{
if(GetTagBit("FI84001_T/AMON.SimOn"))
SetVisible("@Screen","globalwarn",TRUE);
SetPictureName("@Screen","globalwarn","globalwarning");
return 0;
}
2.在全句脚本中 触发器周期选的2S,启动任务中也勾选了启动脚本运行。
3画面是前置的
4.个人觉得在起始画面@ screen中脚本没有执行,不知道是不是程序哪问题
钻石用户推荐最佳答案
1、如果FI84001_T/AMON.SimOn是变量,你脚本应该这样写:
if (GetTagBit("FI84001_T/AMON.SimOn"))
{
SetVisible("@Screen","globalwarn",TRUE);
SetPictureName("@Screen","globalwarn","globalwarning");
}
2、请确认画面对象:globalwarn设置前置了,没有设置前置的话,可能已经弹出但是被别的画面覆盖了
补充:
1、设置画面名称那应该是全名比如"A.PDL"
2、确认画面窗口在画面@Screen里面,并显示出来了
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc309449.html