求助WINCC画面自动切换

2025-02-28 03:11:12
推荐回答(1个)
回答1:

定义一个wincc内部int变量mytag,tag为1,tag1为1,mytag=1;tag为1,tag2为1,mytag=2;tag为1,tag3为1,mytag=3;否则mytag=0。wincc主画面用画面窗口,显示的画面名称的属性用动态对话框链接mytag,为1显示画面1,为2显示画面2,为3显示画面3.
wincc全局脚本:
#define Tag_1 "tag"
#define Tag_2 "tag1"
#define Tag_3 "tag2"
#define Tag_4 "tag3"
IF ((unsigned long)GetTagDouble(Tag_1)&(unsigned long)GetTagDouble(Tag_2))
SetTagWord("mytag",1);
IF ((unsigned long)GetTagDouble(Tag_1)&(unsigned long)GetTagDouble(Tag_3))
SetTagWord("mytag",2);
IF ((unsigned long)GetTagDouble(Tag_1)&(unsigned long)GetTagDouble(Tag_4))
SetTagWord("mytag",3);

全局脚本触发变量为你的4个bool变量。

wincc画面窗口c脚本:
#define TAG_1 "mytag"
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
static double limitValue[2] = {1.00000000000000,2.00000000000000,};
static char* value[3] = {"3#炉冷渣机调整.PDL","3#炉冷渣调整.Pdl","3#炉冷渣调整.Pdl",};
return value[Check_LimitsD (GetTagDouble (TAG_1), 3, &limitValue[0])];