WINCC不同變量結(jié)構(gòu)使用同一窗口實現(xiàn)畫面切換
1. 新建畫面
2. 建立變量
3. 連接變量
1. 新建畫面
使用同一個畫面窗口利用按鈕切換不同變量前綴的內(nèi)容畫面,并實現(xiàn)不同系統(tǒng)之間的切換。
首先新建兩個子畫面(電機,風(fēng)機)內(nèi)容包括一個小標(biāo)題,兩個按鈕,兩個狀態(tài)顯示。
然后建立一個彈窗畫面用來切換子畫面包括兩個切換按鈕,兩個畫面窗口,實現(xiàn)電機和風(fēng)機的切換。
建立一個主畫面用來調(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); //關(guān)閉風(fēng)機畫面 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是電機畫面的標(biāo)題變量,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號風(fēng)機"); } if (n==1) { SetTagChar("Prefix_ventilator","2_ventilator_"); SetTagChar("XBT_ventilator","2號風(fēng)機"); }
#include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { SetTagWord("X_彈窗",180);//彈窗畫面窗口的位置 SetTagWord("Y_彈窗",180);//彈窗畫面窗口的位置 SetTagBit("Temp_彈窗",0);//關(guān)閉上一個彈窗畫面窗口 SetTagChar("BT_彈窗","1號系統(tǒng)");//BT_motor是1號彈窗畫面窗口的標(biāo)題變量 SetTagBit("Temp_彈窗",1);//打開彈窗彈窗畫面窗口 SetTagWord("temp",0);//識別系統(tǒng)編號賦值便于給彈窗畫面的變量前綴 SetTagBit("Temp_motor",1); //默認打開電機 SetTagBit("Temp_ventilator",0); //默認關(guān)閉風(fēng)機 SetTagChar("Prefix_motor","1_Motor_"); //給當(dāng)前1號系統(tǒng)的電機分配前綴 SetTagChar("XBT_motor","1號電機");//給彈窗畫面中的標(biāo)題分配內(nèi)容 }
#include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { SetTagWord("X_彈窗",180);//彈窗畫面窗口的位置 SetTagWord("Y_彈窗",240);//彈窗畫面窗口的位置 SetTagBit("Temp_彈窗",0);//關(guān)閉上一個彈窗畫面窗口 SetTagChar("BT_彈窗","2號系統(tǒng)");//BT_motor是1號彈窗畫面窗口的標(biāo)題變量 SetTagBit("Temp_彈窗",1);//打開彈窗彈窗畫面窗口 SetTagWord("temp",1);//識別系統(tǒng)編號賦值便于給彈窗畫面的變量前綴 SetTagBit("Temp_motor",1); //默認打開電機 SetTagBit("Temp_ventilator",0); //默認關(guān)閉風(fēng)機 SetTagChar("Prefix_motor","2_Motor_"); //給當(dāng)前1號系統(tǒng)的電機分配前綴 SetTagChar("XBT_motor","2號電機");//給彈窗畫面中的標(biāo)題分配內(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); }