WINCC不同變量結構使用同一窗口實現(xiàn)畫面切換
1. 新建畫面
2. 建立變量
3. 連接變量
1. 新建畫面
使用同一個畫面窗口利用按鈕切換不同變量前綴的內(nèi)容畫面,并實現(xiàn)不同系統(tǒng)之間的切換。
首先新建兩個子畫面(電機,風機)內(nèi)容包括一個小標題,兩個按鈕,兩個狀態(tài)顯示。

然后建立一個彈窗畫面用來切換子畫面包括兩個切換按鈕,兩個畫面窗口,實現(xiàn)電機和風機的切換。

建立一個主畫面用來調(diào)用彈窗畫面,實現(xiàn)系統(tǒng)的切換。

2. 建立變量


3. 連接變量



#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
int n;
SetTagBit("Temp_motor",1);	   //打開電機畫面 
SetTagBit("Temp_ventilator",0); //關閉風機畫面 
n = GetTagWord("temp");	//獲取主畫面系統(tǒng)編號的賦值
if (n==0)                    //根據(jù)1號系統(tǒng)編號分配變量前綴
{
SetTagChar("Prefix_motor","1_Motor_");//Prefix_motor是電機的變量前綴的中間變量,1_Motor_是變量前綴
SetTagChar("XBT_motor","1號電機");//XBT_motor是電機畫面的標題變量,1號電機是要顯示的內(nèi)容
}
if (n==1)  //根據(jù)2號系統(tǒng)編號分配變量前綴
{
SetTagChar("Prefix_motor","2_Motor_"); 
SetTagChar("XBT_motor","2號電機"); 
}


#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
int n;
SetTagBit("Temp_ventilator",1); 
SetTagBit("Temp_motor",0);	 
n = GetTagWord("temp"); 
if (n==0)
{
SetTagChar("Prefix_ventilator","1_ventilator_"); 
SetTagChar("XBT_ventilator","1號風機"); 
}
if (n==1)
{
SetTagChar("Prefix_ventilator","2_ventilator_"); 
SetTagChar("XBT_ventilator","2號風機"); 
}
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
SetTagWord("X_彈窗",180);//彈窗畫面窗口的位置
SetTagWord("Y_彈窗",180);//彈窗畫面窗口的位置
SetTagBit("Temp_彈窗",0);//關閉上一個彈窗畫面窗口
SetTagChar("BT_彈窗","1號系統(tǒng)");//BT_motor是1號彈窗畫面窗口的標題變量
SetTagBit("Temp_彈窗",1);//打開彈窗彈窗畫面窗口
SetTagWord("temp",0);//識別系統(tǒng)編號賦值便于給彈窗畫面的變量前綴
SetTagBit("Temp_motor",1);	//默認打開電機 
SetTagBit("Temp_ventilator",0);	//默認關閉風機
SetTagChar("Prefix_motor","1_Motor_"); //給當前1號系統(tǒng)的電機分配前綴
SetTagChar("XBT_motor","1號電機");//給彈窗畫面中的標題分配內(nèi)容
}#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
SetTagWord("X_彈窗",180);//彈窗畫面窗口的位置
SetTagWord("Y_彈窗",240);//彈窗畫面窗口的位置
SetTagBit("Temp_彈窗",0);//關閉上一個彈窗畫面窗口
SetTagChar("BT_彈窗","2號系統(tǒng)");//BT_motor是1號彈窗畫面窗口的標題變量
SetTagBit("Temp_彈窗",1);//打開彈窗彈窗畫面窗口
SetTagWord("temp",1);//識別系統(tǒng)編號賦值便于給彈窗畫面的變量前綴
SetTagBit("Temp_motor",1);	//默認打開電機 
SetTagBit("Temp_ventilator",0);	//默認關閉風機
SetTagChar("Prefix_motor","2_Motor_"); //給當前1號系統(tǒng)的電機分配前綴
SetTagChar("XBT_motor","2號電機");//給彈窗畫面中的標題分配內(nèi)容
}#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagBit("Temp_彈窗",0);
SetTagBit("Temp_motor",0);
SetTagBit("Temp_ventilator",0);
}						











