我是刚学习wincc的,请高工们指点,我从网上下载的DEMOV6演示程序,在开始运行画面上的10切换画面的按钮,每个按钮调用不同的画面画面显示在同一个'应用窗口'里,应用窗口里的属性--显示--动态对话框,连接了一个模拟量的变量'pic_win_no'.
在按钮里的鼠标C动作如下:
按钮1;
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction DMTagName
#define Apc_pic_no "PA1.pic_no"
#define Apc_pic_win_no "pic_win_no"
#define Apc_pic_max "PA1.pic_no_max"
#define Apc_global_nav "global_nav"
// next TagID : 5
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction PictureName
#define Apc_Navigation_top "Navigation_top.pdl"
#define Apc_Navigation_bot "Navigation_bot.pdl"
// next PicID : 3
// WINCC:PICNAME_SECTION_END
//extern global_nav;
extern global_PA1pic_no_max;
int g_nav;
//g_nav = GetTagWord("global_nav");
SetTagPrefix(lpszPictureName,"Nav_win_top","PA1."); //Rückgabe-Typ :BOOL
SetPictureName(lpszPictureName,"Nav_win_top",Apc_Navigation_top);
SetTagPrefix(lpszPictureName,"Nav_win_bottom","PA1."); //Rückgabe-Typ :BOOL
SetPictureName(lpszPictureName,"Nav_win_bottom",Apc_Navigation_bot);
//global_nav=1;
//SetTagWord("global_nav", g_nav);
SetTagMultiWait
("%d%d%d%d",
Apc_global_nav,1,
Apc_pic_no,0,
Apc_pic_win_no,1,
Apc_pic_max,global_PA1pic_no_max
);
}
按钮2:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction DMTagName
#define Apc_pic_no "PA2.pic_no"
#define Apc_pic_win_no "pic_win_no"
#define Apc_pic_max "PA2.pic_no_max"
#define Apc_global_nav "global_nav"
// next TagID : 5
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction PictureName
#define Apc_Navigation_top "Navigation_top.pdl"
#define Apc_Navigation_bot "Navigation_bot.pdl"
// next PicID : 3
// WINCC:PICNAME_SECTION_END
//extern global_nav;
extern global_PA2pic_no_max;
int global_nav;
//global_nav = GetTagWord("global_nav");
SetTagPrefix(lpszPictureName,"Nav_win_top","PA2."); //Rückgabe-Typ :BOOL
SetPictureName(lpszPictureName,"Nav_win_top",Apc_Navigation_top);
SetTagPrefix(lpszPictureName,"Nav_win_bottom","PA2."); //Rückgabe-Typ :BOOL
SetPictureName(lpszPictureName,"Nav_win_bottom",Apc_Navigation_bot);
//global_nav=2;
//SetTagWord("global_nav", global_nav);
SetTagMultiWait
("%d%d%d%d",
Apc_global_nav,2,
Apc_pic_no,0,
Apc_pic_win_no,2,
Apc_pic_max,global_PA2pic_no_max
);
}
请高工们给我讲解一下这两段C动作是如何利用"应用窗口"切换画面的,
问题补充:
是画面窗口
我是刚学习wincc的,请高工们指点,我从网上下载的DEMOV6演示程序,在开始运行画面上的10个切换画面的按钮,每个按钮调用不同的画面画面显示在同一个'画面窗口'里,画面窗口里的属性--显示--动态对话框,连接了一个模拟量的变量'pic_win_no'.
最佳答案
通过改变画面窗口的前缀变量来实现切换各种画面的。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc268378.html