WINCC不同變量結構使用同一窗口實現(xiàn)畫面切換
1. 新建畫面
2. 建立變量
3. 連接變量
1. 新建畫面
使用同一個畫面窗口利用按鈕切換不同變量前綴的內容畫面,并實現(xiàn)不同系統(tǒng)之間的切換。
首先新建兩個子畫面(電機,風機)內容包括一個小標題,兩個按鈕,兩個狀態(tài)顯示。
然后建立一個彈窗畫面用來切換子畫面包括兩個切換按鈕,兩個畫面窗口,實現(xiàn)電機和風機的切換。
建立一個主畫面用來調用彈窗畫面,實現(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號電機是要顯示的內容 } 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號電機");//給彈窗畫面中的標題分配內容 }
#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號電機");//給彈窗畫面中的標題分配內容 }
#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); }