|
@@ -21,6 +21,7 @@ using Venus_Themes.UserControls;
|
|
|
using Prism.Commands;
|
|
|
using MECF.Framework.Common.DataCenter;
|
|
|
using System.IO;
|
|
|
+using System.Windows.Controls;
|
|
|
|
|
|
namespace Venus_MainPages.ViewModels
|
|
|
{
|
|
@@ -196,9 +197,9 @@ namespace Venus_MainPages.ViewModels
|
|
|
private int m_TurboPumpRotationalSpeed;
|
|
|
|
|
|
private bool m_LiftPinIsUp;
|
|
|
- private bool m_IsSlitDoorClosed=true;
|
|
|
+ private bool m_IsSlitDoorClosed = true;
|
|
|
private bool m_IsLinerDoorClosed;
|
|
|
- private bool m_IsLidClosed=true;
|
|
|
+ private bool m_IsLidClosed = true;
|
|
|
|
|
|
private float m_ChillerTemperature;
|
|
|
private float m_HVTemperature;
|
|
@@ -232,9 +233,9 @@ namespace Venus_MainPages.ViewModels
|
|
|
private RecipeResult m_CurrentRecipeResult = new RecipeResult();
|
|
|
|
|
|
private RecipeStep m_CurrentRecipeStep = new RecipeStep();
|
|
|
-
|
|
|
+ private int m_SelectedRecipeIndex = -1;
|
|
|
private double m_ChamberPressureFeedBack;
|
|
|
-
|
|
|
+ private ComboBoxItem m_SelectedRecipeType;
|
|
|
private string m_WaferID;
|
|
|
private string m_ModuleName;
|
|
|
private int? currentRecipeNumber;
|
|
@@ -258,6 +259,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
get { return m_CurrentRecipeResult; }
|
|
|
set { SetProperty(ref m_CurrentRecipeResult, value); }
|
|
|
}
|
|
|
+
|
|
|
public RecipeStep CurrentRecipeStep
|
|
|
{
|
|
|
get { return m_CurrentRecipeStep; }
|
|
@@ -691,7 +693,11 @@ namespace Venus_MainPages.ViewModels
|
|
|
get { return m_WallHeaterData; }
|
|
|
set { SetProperty(ref m_WallHeaterData, value); }
|
|
|
}
|
|
|
-
|
|
|
+ public int SelectedRecipeIndex
|
|
|
+ {
|
|
|
+ get { return m_SelectedRecipeIndex; }
|
|
|
+ set { SetProperty(ref m_SelectedRecipeIndex, value); }
|
|
|
+ }
|
|
|
public AITRfData SRFData
|
|
|
{
|
|
|
get { return m_SRFData; }
|
|
@@ -702,7 +708,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
get { return m_BRFData; }
|
|
|
set { SetProperty(ref m_BRFData, value); }
|
|
|
}
|
|
|
- public PMState PMCurrentState
|
|
|
+ public PMState PMCurrentState
|
|
|
{
|
|
|
get { return m_PMCurrentState; }
|
|
|
set { SetProperty(ref m_PMCurrentState, value); }
|
|
@@ -759,22 +765,22 @@ namespace Venus_MainPages.ViewModels
|
|
|
get { return m_PurgeValveIsOpen; }
|
|
|
set { SetProperty(ref m_PurgeValveIsOpen, value); }
|
|
|
}
|
|
|
- public bool PV51ValveIsOpen{ get{return m_PV51ValveIsOpen;} set{SetProperty(ref m_PV51ValveIsOpen,value);}}
|
|
|
- public bool PV52ValveIsOpen{ get{return m_PV52ValveIsOpen;} set{SetProperty(ref m_PV52ValveIsOpen,value);}}
|
|
|
- public bool PV61ValveIsOpen{ get{return m_PV61ValveIsOpen;} set{SetProperty(ref m_PV61ValveIsOpen,value);}}
|
|
|
- public bool PV62ValveIsOpen{ get{return m_PV62ValveIsOpen;} set{SetProperty(ref m_PV62ValveIsOpen,value);}}
|
|
|
- public bool PV71ValveIsOpen{ get{return m_PV71ValveIsOpen;} set{SetProperty(ref m_PV71ValveIsOpen,value);}}
|
|
|
- public bool PV72ValveIsOpen{ get{return m_PV72ValveIsOpen;} set{SetProperty(ref m_PV72ValveIsOpen,value);}}
|
|
|
- public bool PV81ValveIsOpen{ get{return m_PV81ValveIsOpen;} set{SetProperty(ref m_PV81ValveIsOpen,value);}}
|
|
|
- public bool PV82ValveIsOpen{ get{return m_PV82ValveIsOpen;} set{SetProperty(ref m_PV82ValveIsOpen,value);}}
|
|
|
- public bool PV91ValveIsOpen{ get{return m_PV91ValveIsOpen;} set{SetProperty(ref m_PV91ValveIsOpen,value);}}
|
|
|
- public bool PV92ValveIsOpen{ get{return m_PV92ValveIsOpen;} set{SetProperty(ref m_PV92ValveIsOpen,value);}}
|
|
|
- public bool PVA1ValveIsOpen{ get{return m_PVA1ValveIsOpen;} set{SetProperty(ref m_PVA1ValveIsOpen,value);}}
|
|
|
- public bool PVA2ValveIsOpen{ get{return m_PVA2ValveIsOpen;} set{SetProperty(ref m_PVA2ValveIsOpen,value);}}
|
|
|
- public bool PVB1ValveIsOpen{ get{return m_PVB1ValveIsOpen;} set{SetProperty(ref m_PVB1ValveIsOpen,value);}}
|
|
|
- public bool PVB2ValveIsOpen{ get{return m_PVB2ValveIsOpen;} set{SetProperty(ref m_PVB2ValveIsOpen,value);}}
|
|
|
- public bool PVC1ValveIsOpen{ get{return m_PVC1ValveIsOpen;} set{SetProperty(ref m_PVC1ValveIsOpen,value);}}
|
|
|
- public bool PVC2ValveIsOpen{ get{return m_PVC2ValveIsOpen;} set{ SetProperty(ref m_PVC2ValveIsOpen, value); } }
|
|
|
+ public bool PV51ValveIsOpen { get { return m_PV51ValveIsOpen; } set { SetProperty(ref m_PV51ValveIsOpen, value); } }
|
|
|
+ public bool PV52ValveIsOpen { get { return m_PV52ValveIsOpen; } set { SetProperty(ref m_PV52ValveIsOpen, value); } }
|
|
|
+ public bool PV61ValveIsOpen { get { return m_PV61ValveIsOpen; } set { SetProperty(ref m_PV61ValveIsOpen, value); } }
|
|
|
+ public bool PV62ValveIsOpen { get { return m_PV62ValveIsOpen; } set { SetProperty(ref m_PV62ValveIsOpen, value); } }
|
|
|
+ public bool PV71ValveIsOpen { get { return m_PV71ValveIsOpen; } set { SetProperty(ref m_PV71ValveIsOpen, value); } }
|
|
|
+ public bool PV72ValveIsOpen { get { return m_PV72ValveIsOpen; } set { SetProperty(ref m_PV72ValveIsOpen, value); } }
|
|
|
+ public bool PV81ValveIsOpen { get { return m_PV81ValveIsOpen; } set { SetProperty(ref m_PV81ValveIsOpen, value); } }
|
|
|
+ public bool PV82ValveIsOpen { get { return m_PV82ValveIsOpen; } set { SetProperty(ref m_PV82ValveIsOpen, value); } }
|
|
|
+ public bool PV91ValveIsOpen { get { return m_PV91ValveIsOpen; } set { SetProperty(ref m_PV91ValveIsOpen, value); } }
|
|
|
+ public bool PV92ValveIsOpen { get { return m_PV92ValveIsOpen; } set { SetProperty(ref m_PV92ValveIsOpen, value); } }
|
|
|
+ public bool PVA1ValveIsOpen { get { return m_PVA1ValveIsOpen; } set { SetProperty(ref m_PVA1ValveIsOpen, value); } }
|
|
|
+ public bool PVA2ValveIsOpen { get { return m_PVA2ValveIsOpen; } set { SetProperty(ref m_PVA2ValveIsOpen, value); } }
|
|
|
+ public bool PVB1ValveIsOpen { get { return m_PVB1ValveIsOpen; } set { SetProperty(ref m_PVB1ValveIsOpen, value); } }
|
|
|
+ public bool PVB2ValveIsOpen { get { return m_PVB2ValveIsOpen; } set { SetProperty(ref m_PVB2ValveIsOpen, value); } }
|
|
|
+ public bool PVC1ValveIsOpen { get { return m_PVC1ValveIsOpen; } set { SetProperty(ref m_PVC1ValveIsOpen, value); } }
|
|
|
+ public bool PVC2ValveIsOpen { get { return m_PVC2ValveIsOpen; } set { SetProperty(ref m_PVC2ValveIsOpen, value); } }
|
|
|
|
|
|
public bool MFC2ValveIsOpen
|
|
|
{
|
|
@@ -1079,6 +1085,11 @@ namespace Venus_MainPages.ViewModels
|
|
|
get { return m_WaferID; }
|
|
|
set { SetProperty(ref m_WaferID, value); }
|
|
|
}
|
|
|
+ public ComboBoxItem SelectedRecipeType
|
|
|
+ {
|
|
|
+ get { return m_SelectedRecipeType; }
|
|
|
+ set { SetProperty(ref m_SelectedRecipeType, value); }
|
|
|
+ }
|
|
|
#endregion
|
|
|
#region 命令
|
|
|
|
|
@@ -1090,6 +1101,10 @@ namespace Venus_MainPages.ViewModels
|
|
|
public DelegateCommand PMAbortCommnad =>
|
|
|
_PMAbortCommnad ?? (_PMAbortCommnad = new DelegateCommand(OnPMAbort));
|
|
|
|
|
|
+ private DelegateCommand _SwitchTypeCommand;
|
|
|
+ public DelegateCommand SwitchTypeCommand =>
|
|
|
+ _SwitchTypeCommand ?? (_SwitchTypeCommand = new DelegateCommand(OnSwitchType));
|
|
|
+
|
|
|
private DelegateCommand _GasCommand;
|
|
|
public DelegateCommand GasCommand =>
|
|
|
_GasCommand ?? (_GasCommand = new DelegateCommand(OnGas));
|
|
@@ -1213,7 +1228,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
#endregion
|
|
|
|
|
|
#region 构造函数
|
|
|
- public OverVenusDEViewModel()
|
|
|
+ public OverVenusDEViewModel()
|
|
|
{
|
|
|
m_RtDataKeys = new List<string>();
|
|
|
|
|
@@ -1489,10 +1504,10 @@ namespace Venus_MainPages.ViewModels
|
|
|
// }
|
|
|
//}
|
|
|
private async void OnSetBRf()
|
|
|
- {
|
|
|
+ {
|
|
|
if (BRFData.IsRfOn == true)
|
|
|
{
|
|
|
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, false);
|
|
|
+ InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, false);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -1500,7 +1515,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
{
|
|
|
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.BiasMatch}.{AITRfOperation.SetMatchPosition}", BRFMatchC1, BRFMatchC2);
|
|
|
await Task.Delay(100);
|
|
|
- InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, true);
|
|
|
+ InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, true);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1527,7 +1542,8 @@ namespace Venus_MainPages.ViewModels
|
|
|
}
|
|
|
private void OnLoadRecipe()
|
|
|
{
|
|
|
- CurrentModuleRecipes = GetFilesNames(Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName, "Process")).ToList();
|
|
|
+ string recipeType = SelectedRecipeType.Content.ToString();
|
|
|
+ CurrentModuleRecipes = GetFilesNames(Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName, recipeType)).ToList();
|
|
|
}
|
|
|
|
|
|
private void OnHV()
|
|
@@ -1557,10 +1573,18 @@ namespace Venus_MainPages.ViewModels
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ private void OnSwitchType()
|
|
|
+ {
|
|
|
+ SelectedRecipeIndex = -1;
|
|
|
+ }
|
|
|
private void OnRunRecipe(object obj)
|
|
|
{
|
|
|
- string recipeName = SelectedRecipe;
|
|
|
+ if (SelectedRecipeIndex == -1)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ string recipeName = CurrentModuleRecipes[SelectedRecipeIndex];
|
|
|
+ string recipeType = SelectedRecipeType.Content.ToString();
|
|
|
if (recipeName == null)
|
|
|
{
|
|
|
return;
|
|
@@ -1796,14 +1820,14 @@ namespace Venus_MainPages.ViewModels
|
|
|
MFCHeData = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcHe");
|
|
|
MFCN2Data = CommonFunction.GetValue<AITMfcData>(RtDataValues, $"{ModuleName}.MfcN2");
|
|
|
|
|
|
- // SRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.Rf}.DeviceData");
|
|
|
+ // SRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.Rf}.DeviceData");
|
|
|
BRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasRf}.DeviceData");
|
|
|
PendulumValveData = CommonFunction.GetValue<AITPendulumValveData>(RtDataValues, $"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
|
|
|
ESCHVData = CommonFunction.GetValue<AITHVData>(RtDataValues, $"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
|
|
|
SecondPurgeValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveSecondPurge.IsOpen");
|
|
|
|
|
|
ValveHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ValveHeater.DeviceData"];
|
|
|
- MagnetData= CommonFunction.GetValue<AITMagnetData>(RtDataValues, $"{ModuleName}.AIoMagnet.DeviceData");
|
|
|
+ MagnetData = CommonFunction.GetValue<AITMagnetData>(RtDataValues, $"{ModuleName}.AIoMagnet.DeviceData");
|
|
|
ForelineHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ForelineHeater.DeviceData"];
|
|
|
//WallHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.WallHeater.DeviceData"];
|
|
|
MainPurgeValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMainPurge.IsOpen");
|
|
@@ -1947,7 +1971,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
m_RtDataKeys.Add($"{ModuleName}.ValveMfc9.IsOpen");
|
|
|
m_RtDataKeys.Add($"{ModuleName}.ValveMfc10.IsOpen");
|
|
|
m_RtDataKeys.Add($"{ModuleName}.ValveMfc11.IsOpen");
|
|
|
- // m_RtDataKeys.Add($"{ModuleName}.ValveMfc12.IsOpen");
|
|
|
+ // m_RtDataKeys.Add($"{ModuleName}.ValveMfc12.IsOpen");
|
|
|
m_RtDataKeys.Add($"{ModuleName}.ValveGasFinal.IsOpen");
|
|
|
//m_RtDataKeys.Add($"{ModuleName}.ValveSoftPump.IsOpen");
|
|
|
m_RtDataKeys.Add($"{ModuleName}.ValveFastPump.IsOpen");
|
|
@@ -1982,7 +2006,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.C2");
|
|
|
|
|
|
m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
|
|
|
- m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
|
|
|
+ m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
|
|
|
m_RtDataKeys.Add($"{ModuleName}.AIoMagnet.DeviceData");
|
|
|
m_RtDataKeys.Add($"{ModuleName}.TurboPumpRotationalSpeed");
|
|
|
|