WINCC不同变量结构使用同一窗口实现画面切换
1. 新建画面
2. 建立变量
3. 连接变量
1. 新建画面
使用同一个画面窗口利用按钮切换不同变量前缀的内容画面,并实现不同系统之间的切换。
首先新建两个子画面(电机,风机)内容包括一个小标题,两个按钮,两个状态显示。
然后建立一个弹窗画面用来切换子画面包括两个切换按钮,两个画面窗口,实现电机和风机的切换。
建立一个主画面用来调用弹窗画面,实现系统的切换。
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"); //获取主画面系统编号的赋值 if (n==0) //根据1号系统编号分配变量前缀 { SetTagChar("Prefix_motor","1_Motor_");//Prefix_motor是电机的变量前缀的中间变量,1_Motor_是变量前缀 SetTagChar("XBT_motor","1号电机");//XBT_motor是电机画面的标题变量,1号电机是要显示的内容 } if (n==1) //根据2号系统编号分配变量前缀 { 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号系统");//BT_motor是1号弹窗画面窗口的标题变量 SetTagBit("Temp_弹窗",1);//打开弹窗弹窗画面窗口 SetTagWord("temp",0);//识别系统编号赋值便于给弹窗画面的变量前缀 SetTagBit("Temp_motor",1); //默认打开电机 SetTagBit("Temp_ventilator",0); //默认关闭风机 SetTagChar("Prefix_motor","1_Motor_"); //给当前1号系统的电机分配前缀 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号系统");//BT_motor是1号弹窗画面窗口的标题变量 SetTagBit("Temp_弹窗",1);//打开弹窗弹窗画面窗口 SetTagWord("temp",1);//识别系统编号赋值便于给弹窗画面的变量前缀 SetTagBit("Temp_motor",1); //默认打开电机 SetTagBit("Temp_ventilator",0); //默认关闭风机 SetTagChar("Prefix_motor","2_Motor_"); //给当前1号系统的电机分配前缀 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); }