Ver código fonte

1.优化PMC Kepler2200A界面

lixiang 1 ano atrás
pai
commit
72ac29dac2

+ 70 - 6
Venus/Venus_Core/ProcessUnitDefine.cs

@@ -24,23 +24,49 @@ namespace Venus_Core
     /// 3. 通过配置文件里面定义 ProcessUnit Class Name列表, 来定义当前机台支持的工艺功能, 也就是说如果Recipe文件里面保函了
     ///     配置文件里面没有列出的工艺单元, 表明本机台不支持此Recipe, 并报警提示用户
     /// </summary>
- 
 
+    public enum Suspect
+    { 
+    Home,
+    Position1,
+    Position2
+    }
+    public enum VenusUnits
+    {
+        PressureByPressureModeUnit,
+        TCPUnit,
+        BiasUnit,
+        GasControlUnit,
+        ESCHVUnit,
+        ProcessKitUnit
+    }
+    public enum Kepler2300Uints
+    {
+
+    }
+    public enum Kepler2200AUnits
+    { 
+    
+    }
+    public enum Kepler2200BUnits
+    {
+
+    }
     public partial class PressureByPressureModeUnit : ProcessUnitBase
     {
         public string UnitName { get; set; } = "PressureModeUnit";
 
         public PressureUnitMode PressureUnitMode { get; set; }
 
-        public int StartPressure { get; set; } = 10;
+        public int StartValue { get; set; } = 10;
+
+
         public int ValvePositionPreset { get; set; } = 10;
 
         public bool EnableRamp { get; set; }
-       
-        public int TargetPressure { get; set; } = 20;
         public int HoldTime { get; set; } = 1000;
-        public int StartPosition { get; set; } = 10;
-        public int TargetPosition { get; set; } = 100;
+        public int TargetValue { get; set; } = 100;
+
 
 
 
@@ -65,6 +91,16 @@ namespace Venus_Core
 
     }
 
+    public class HeaterUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "HeaterUnit";
+
+        public int HeaterPressure { get; set; } = 10;
+        public int HeaterTemp { get; set; } = 10;
+
+        public int HeaterRatio { get; set; } = 10;
+
+    }
     public class TCPUnit : ProcessUnitBase
     {
         private string m_UnitName = "TCPUnit";
@@ -94,6 +130,21 @@ namespace Venus_Core
 
     }
 
+    public class Kepler2200RFUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "RFUnit";
+
+        public Suspect SuspectPosition { get; set; } = Suspect.Home;
+
+        public int PositionOffset { get; set; } = 1;
+
+        public int TuneCapPreset { get; set; } = 10;
+        public int LoadCapPreset { get; set; } = 10;
+         
+
+        
+
+    }
 
     public class BiasUnit : ProcessUnitBase
     {
@@ -140,6 +191,19 @@ namespace Venus_Core
         public int FlowRatie { get; set; } = 100;
     }
 
+
+    public class Kepler2200GasControlUnit : ProcessUnitBase
+    {
+        public string UnitName { get; set; } = "GasUnit";
+        public int Gas1 { get; set; } = 100;
+        public int Gas2 { get; set; } = 100;
+        public int Gas3 { get; set; } = 100;
+        public int Gas4 { get; set; } = 100;
+        public int Gas5 { get; set; } = 100;
+        public int Gas6 { get; set; } = 100;
+    }
+
+
     public class ESCHVUnit : ProcessUnitBase
     {
         public string UnitName { get; set; } = "ESCHVUnit";

+ 55 - 11
Venus/Venus_Core/Recipe.cs

@@ -69,6 +69,13 @@ namespace Venus_Core
             set { _Version = value; InvokePropertyChanged("Version"); }
         }
 
+        private JetChamber _ChamberType = JetChamber.Venus;
+        public JetChamber ChamberType
+        {
+            get { return _ChamberType; }
+            set { _ChamberType = value; InvokePropertyChanged("ChamberType"); }
+        }
+
         private RecipeType m_Type;
         [JsonConverter(typeof(StringEnumConverter))]
         public RecipeType Type
@@ -250,12 +257,12 @@ namespace Venus_Core
             get { return m_MaxEndPointTime; }
             set { m_MaxEndPointTime = value; InvokePropertyChanged("MaxEndPointTime"); }
         }
-        private bool m_EnableRamp;
-        public bool EnableRamp
-        {
-            get { return m_EnableRamp; }
-            set { m_EnableRamp = value; InvokePropertyChanged("EnableRamp"); }
-        }
+        //private bool m_EnableRamp;
+        //public bool EnableRamp
+        //{
+        //    get { return m_EnableRamp; }
+        //    set { m_EnableRamp = value; InvokePropertyChanged("EnableRamp"); }
+        //}
 
        
 
@@ -479,6 +486,18 @@ namespace Venus_Core
                         case "ProcessKitUnit":
                             unit.Add(JsonConvert.DeserializeObject<ProcessKitUnit>(step.LstUnit[i].ToString()));
                             break;
+
+                        case "HeaterUnit":
+                            unit.Add(JsonConvert.DeserializeObject<HeaterUnit>(step.LstUnit[i].ToString()));
+                            break;
+                        case "GasUnit":
+                            unit.Add(JsonConvert.DeserializeObject<Kepler2200GasControlUnit>(step.LstUnit[i].ToString()));
+                            break;
+                        case "RFUnit":
+                            unit.Add(JsonConvert.DeserializeObject<Kepler2200RFUnit>(step.LstUnit[i].ToString()));
+                            break;
+
+                            
                     }
                 }
                 step.LstUnit.Clear();
@@ -545,7 +564,7 @@ namespace Venus_Core
         {
             return JsonConvert.SerializeObject(recipe);
         }
-        public static String CreateRecipe(RecipeType recipeType,string recipeName)
+        public static String CreateRecipe(JetChamber currentChamber, RecipeType recipeType,string recipeName)
         {
             Recipe recipe = new Recipe();
             recipe.Header = new RecipeHead();
@@ -554,10 +573,15 @@ namespace Venus_Core
             recipe.Header.Name = recipeName;
             recipe.Header.LastModifiedBy = "Admin";
             recipe.Steps = new ObservableCollection<RecipeStep>();
-            recipe.Steps.Add(new RecipeStep()
+
+            switch (currentChamber)
             {
-                StepNo=1,
-                LstUnit = new ObservableCollection<Object>()
+                case JetChamber.Venus:
+                case JetChamber.Kepler2300:
+                    recipe.Steps.Add(new RecipeStep()
+                    {
+                        StepNo = 1,
+                        LstUnit = new ObservableCollection<Object>()
                 {
                  new PressureByPressureModeUnit(),
                  new TCPUnit(),
@@ -566,7 +590,27 @@ namespace Venus_Core
                  new ESCHVUnit(),
                  new ProcessKitUnit()
                  }
-            });
+                    });
+                    break;
+
+                case JetChamber.Kepler2200A:
+                    recipe.Steps.Add(new RecipeStep()
+                    {
+                        StepNo = 1,
+
+
+                        LstUnit = new ObservableCollection<Object>()
+                {
+             new Kepler2200GasControlUnit(),
+             new HeaterUnit(),
+             new Kepler2200RFUnit()
+                 }
+                    });
+
+                    break;
+            }
+
+          
             var recipeString = JsonConvert.SerializeObject(recipe);
             //var Recipe2=JsonConvert.DeserializeObject<Recipe>(recipeString);
             //string test = "";

+ 99 - 30
Venus/Venus_MainPages/ViewModels/RecipeViewModel.cs

@@ -62,6 +62,8 @@ namespace Venus_MainPages.ViewModels
         private int copyIndex = -1;
         private List<string> EPDCfgList=new List<string> ();
         private EPDType currentEPDType=EPDType.None;
+        private JetChamber currentChamber;
+        private bool isInstalledEPD;
         #endregion
 
         #region  属性
@@ -130,14 +132,34 @@ namespace Venus_MainPages.ViewModels
                 RecipeStep recipeStep;
                 if (copyIndex == -1)
                 {
+
                     recipeStep = new RecipeStep();
 
-                    recipeStep.LstUnit.Add(new PressureByPressureModeUnit());
-                    recipeStep.LstUnit.Add(new TCPUnit());
-                    recipeStep.LstUnit.Add(new BiasUnit());
-                    recipeStep.LstUnit.Add(new GasControlUnit());
-                    recipeStep.LstUnit.Add(new ESCHVUnit());
-                    recipeStep.LstUnit.Add(new ProcessKitUnit());
+                    switch (currentChamber)
+                    {
+                        case JetChamber.Venus:
+                        case JetChamber.Kepler2300:
+                            recipeStep.LstUnit.Add(new PressureByPressureModeUnit());
+                            recipeStep.LstUnit.Add(new TCPUnit());
+                            recipeStep.LstUnit.Add(new BiasUnit());
+                            recipeStep.LstUnit.Add(new GasControlUnit());
+                            recipeStep.LstUnit.Add(new ESCHVUnit());
+                            recipeStep.LstUnit.Add(new ProcessKitUnit());
+                            break;
+
+                        case JetChamber.Kepler2200A:
+                            recipeStep.LstUnit.Add(new Kepler2200GasControlUnit());
+
+                            recipeStep.LstUnit.Add(new HeaterUnit());
+                            recipeStep.LstUnit.Add(new Kepler2200RFUnit());
+
+                            
+
+
+
+                            break;
+                    }
+
                     CurrentRecipe.Steps.Insert(index - 1, recipeStep);
 
                 }
@@ -173,13 +195,14 @@ namespace Venus_MainPages.ViewModels
         {
             if (firstLoad == true)
             {
+                currentChamber = (JetChamber)Enum.Parse(typeof(JetChamber), QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.ChamberType").ToString());
+                isInstalledEPD = bool.Parse(QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.EPD.IsEnabled").ToString()) ;
                 firstLoad = false;
                 recipeView = myrecipeView as RecipeView;
                 treeViewRcpList = recipeView.treeViewRcpList;
                 headWrapPanel = recipeView.headWrapPanel;
                 bodyStackPanel = recipeView.bodyStackPanel;
                 UpdateRecipeFileList();
-                
                 treeViewRcpList.SelectedItemChanged += TreeViewRcpList_SelectedItemChanged;
 
                 DispatcherTimer timer = new DispatcherTimer();
@@ -296,7 +319,7 @@ namespace Venus_MainPages.ViewModels
                 {
                     var recipeName = folderName + "\\" + dlg.InputText;
                     RecipeType type = (RecipeType)Enum.Parse(typeof(RecipeType), dlg.SelectedType);
-                    string newRecipe =RecipeUnity.CreateRecipe(type, dlg.InputText);
+                    string newRecipe =RecipeUnity.CreateRecipe(currentChamber,type, dlg.InputText);
 
                     //string recipeContent = m_uiRecipeManager.GetRecipeTemplate(ModuleName);
 
@@ -528,8 +551,13 @@ namespace Venus_MainPages.ViewModels
                     {
                         if (index == 0 && grid.ColumnDefinitions.Count == 1)
                         {
+                           
                             RowDefinition row1 = new RowDefinition();
                             grid.RowDefinitions.Add(row1);
+                            if ((propertyInfoName == "EPDConfig" || propertyInfoName == "MinEndPointTime" || propertyInfoName == "MaxEndPointTime") && isInstalledEPD == false)
+                            {
+                                row1.Height = new GridLength(0);
+                            }
                         }
 
                         if (grid.ColumnDefinitions.Count == 1 && j == 0)
@@ -589,6 +617,8 @@ namespace Venus_MainPages.ViewModels
                                         break;
                                     }
                                     TextBox textBox = new TextBox();
+                                    textBox.HorizontalContentAlignment = HorizontalAlignment.Center;
+                                    textBox.VerticalContentAlignment = VerticalAlignment.Center;
                                     if (stepcheckbinding == null)
                                     {
                                         textBox.IsEnabled = true;
@@ -642,29 +672,29 @@ namespace Venus_MainPages.ViewModels
                                     Grid.SetRow(checkBox, i);
                                     Grid.SetColumn(checkBox, index + location);
 
+                                    //if (stepcheckbinding == null)
+                                    //{
+                                    //    stepcheckbinding = new Binding
+                                    //    {
+                                    //        Source = checkBox,                // 数据源  
+                                    //        Path = new PropertyPath("IsChecked"), // 需绑定的数据源属性名  
+                                    //        Mode = BindingMode.TwoWay,        // 绑定模式  
+                                    //        UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged    //触发器
+                                    //    };
+                                    //}
+                                    //else
+                                    //{
+
+                                    //}
                                     if (stepcheckbinding == null)
                                     {
-                                        stepcheckbinding = new Binding
-                                        {
-                                            Source = checkBox,                // 数据源  
-                                            Path = new PropertyPath("IsChecked"), // 需绑定的数据源属性名  
-                                            Mode = BindingMode.TwoWay,        // 绑定模式  
-                                            UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged    //触发器
-                                        };
+                                        checkBox.IsEnabled = true;
                                     }
                                     else
                                     {
-                                        if (stepcheckbinding == null)
-                                        {
-                                            checkBox.IsEnabled = true;
-                                        }
-                                        else
-                                        {
-                                            checkBox.SetBinding(TextBox.IsEnabledProperty, stepcheckbinding);
-                                        }
+                                        checkBox.SetBinding(TextBox.IsEnabledProperty, stepcheckbinding);
                                     }
 
-
                                     break;
 
                                 default:
@@ -744,6 +774,18 @@ namespace Venus_MainPages.ViewModels
                                     var data8 = (AITMfcData)QueryDataClient.Instance.Service.GetData($"{ModuleName}.MfcGas8");
                                     textBlock.Text = $"{propertyInfo.Name}({data8.DisplayName},{data8.Scale})";
                                     break;
+                                case "HeaterPressure":
+                                    textBlock.Text = "Pressure(Pa)";
+
+                                    break;
+                                case "HeaterTemp":
+                                    textBlock.Text = "Heater Temp(℃)";
+
+                                    break;
+                                case "HeaterRatio":
+                                    textBlock.Text = "Heater Ratio";
+
+                                    break;
                                 default:
                                     textBlock.Text = propertyInfo.Name;
                                     break;
@@ -772,6 +814,9 @@ namespace Venus_MainPages.ViewModels
                             if (propertyInfo.Name == "UnitName")
                             {
                                 TextBox textBlock1 = new TextBox();
+                                textBlock1.HorizontalContentAlignment = HorizontalAlignment.Center;
+                                textBlock1.VerticalContentAlignment =VerticalAlignment.Center;
+
                                 textBlock1.Text = propertyInfo.GetValue(x).ToString();
                                 textBlock1.IsReadOnly = true;
                                 grid.Children.Add(textBlock1);
@@ -785,6 +830,8 @@ namespace Venus_MainPages.ViewModels
                                     case "Int32":
                                     case "String":
                                         TextBox textBox = new TextBox();
+                                        textBox.HorizontalContentAlignment = HorizontalAlignment.Center;
+                                        textBox.VerticalContentAlignment = VerticalAlignment.Center;
                                         if (checkbinding == null)
                                         {
                                             textBox.IsEnabled = true;
@@ -828,6 +875,7 @@ namespace Venus_MainPages.ViewModels
                                                 var data8 = (AITMfcData)QueryDataClient.Instance.Service.GetData($"{ModuleName}.MfcGas8");
                                                
                                                 break;
+                                           
 
                                         }
                                         textBox.SetBinding(TextBox.TextProperty, binding);
@@ -862,6 +910,7 @@ namespace Venus_MainPages.ViewModels
 
                                     default:
                                         ComboBox comboBox = new ComboBox();
+                                        comboBox.BorderBrush = Brushes.Gray;
                                         comboBox.Style = (Style)recipeView.FindResource("customeComboBoxStyle");
 
                                         if (checkbinding == null)
@@ -954,12 +1003,32 @@ namespace Venus_MainPages.ViewModels
                 {
                     recipeStep = new RecipeStep();
 
-                    recipeStep.LstUnit.Add(new PressureByPressureModeUnit());
-                    recipeStep.LstUnit.Add(new TCPUnit());
-                    recipeStep.LstUnit.Add(new BiasUnit());
-                    recipeStep.LstUnit.Add(new GasControlUnit());
-                    recipeStep.LstUnit.Add(new ESCHVUnit());
-                    recipeStep.LstUnit.Add(new ProcessKitUnit());
+                    //recipeStep.LstUnit.Add(new PressureByPressureModeUnit());
+                    //recipeStep.LstUnit.Add(new TCPUnit());
+                    //recipeStep.LstUnit.Add(new BiasUnit());
+                    //recipeStep.LstUnit.Add(new GasControlUnit());
+                    //recipeStep.LstUnit.Add(new ESCHVUnit());
+                    //recipeStep.LstUnit.Add(new ProcessKitUnit());
+                    switch (currentChamber)
+                    {
+                        case JetChamber.Venus:
+                        case JetChamber.Kepler2300:
+                            recipeStep.LstUnit.Add(new PressureByPressureModeUnit());
+                            recipeStep.LstUnit.Add(new TCPUnit());
+                            recipeStep.LstUnit.Add(new BiasUnit());
+                            recipeStep.LstUnit.Add(new GasControlUnit());
+                            recipeStep.LstUnit.Add(new ESCHVUnit());
+                            recipeStep.LstUnit.Add(new ProcessKitUnit());
+                            break;
+
+                        case JetChamber.Kepler2200A:
+                            recipeStep.LstUnit.Add(new Kepler2200GasControlUnit());
+
+                            recipeStep.LstUnit.Add(new HeaterUnit());
+                            recipeStep.LstUnit.Add(new Kepler2200RFUnit());
+
+                            break;
+                    }
                     CurrentRecipe.Steps.Insert(index - 1, recipeStep);
 
                 }

+ 221 - 12
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -29,7 +29,7 @@
         <converters:BoolToBool x:Key="BoolToBool"/>
     </UserControl.Resources>
     <Canvas>
-        <Canvas >
+        <Canvas Canvas.Left="180">
             <Viewbox Width="800" Height="800" Canvas.Top="100" Canvas.Left="-20" Stretch="Fill">
                 <Canvas Width="1000" Height="1000">
                     <userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90"/>
@@ -44,7 +44,7 @@
                     <userControls:TMChamber ModuleName="PMA" x:Name="PMA" Canvas.Top="302"  Canvas.Left="233" Width="140" Height="140" RotateTransformValue="-90"  DoorIsOpen="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMAIsInstalled}"/>
                     <userControls:TMChamber ModuleName="PMB" x:Name="PMB" Canvas.Top="28"   Canvas.Left="315" Width="140" Height="140" RotateTransformValue="-28"  DoorIsOpen="{Binding RtDataValues[PMB.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMBWafer}" PMVisibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMBIsInstalled}"/>
                     <userControls:TMChamber ModuleName="PMC" x:Name="PMC" Canvas.Top="-38"  Canvas.Left="588" Width="140" Height="140" RotateTransformValue="30"   DoorIsOpen="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMCIsInstalled}"/>
-                    <userControls:TMChamber ModuleName="PMD" x:Name="PMD" Canvas.Top="160"  Canvas.Left="788" Width="140" Height="140" RotateTransformValue="90"   DoorIsOpen="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMDWafer}" PMVisibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMDIsInstalled}"/>
+                    <userControls:TMChamber ModuleName="PMD" x:Name="PMD" Canvas.Top="160"  Canvas.Left="788" Width="140" Height="140" RotateTransformValue="90"   DoorIsOpen="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMDWafer}" />
 
 
                     
@@ -60,6 +60,215 @@
             <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="310" Canvas.Top="160"   Width="160" Height="240"     RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding TMBladeBWafer}"/>
         </Canvas>
 
+        <Grid Width="280" Height="160" Canvas.Left="30" Canvas.Top="250"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="3*"/>
+                <ColumnDefinition Width="2*"/>
+            </Grid.ColumnDefinitions>
+            <TextBlock Grid.Row="0" Text="PMA" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="120,2,0,0" Background="#376092"/>
+
+            <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="4" Text="Step Elpased Time"  FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
+
+
+            <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
+            <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+            <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
+            <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
+            <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+        </Grid>
+
+        <Grid Width="280" Height="160" Canvas.Left="30" Canvas.Top="50"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="3*"/>
+                <ColumnDefinition Width="2*"/>
+            </Grid.ColumnDefinitions>
+            <TextBlock Grid.Row="0" Text="PMB" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="120,2,0,0" Background="#376092"/>
+
+            <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="4" Text="Step Elpased Time"  FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
+
+
+            <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
+            <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+            <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
+            <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
+            <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+        </Grid>
+
+
+        <Grid Width="280" Height="160" Canvas.Left="830" Canvas.Top="50"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="3*"/>
+                <ColumnDefinition Width="2*"/>
+            </Grid.ColumnDefinitions>
+            <TextBlock Grid.Row="0" Text="PMC" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="120,2,0,0" Background="#376092"/>
+
+            <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="4" Text="Step Elpased Time"  FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
+
+
+            <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
+            <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+            <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
+            <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
+            <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+        </Grid>
+
+        
+        <Grid Width="280" Height="160" Canvas.Left="830" Canvas.Top="250"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="3*"/>
+                <ColumnDefinition Width="2*"/>
+            </Grid.ColumnDefinitions>
+            <TextBlock Grid.Row="0" Text="PMD" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="120,2,0,0" Background="#376092"/>
+
+            <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="4" Text="Step Elpased Time"  FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#D0D8E8"/>
+            <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/>
+
+
+            <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/>
+            <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+            <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}"  FontSize="15" Padding="10,2,0,0"/>
+            <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
+            <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
+            <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#E9EDF4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}">
+                        <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding>
+                        <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+        </Grid>
+
+        <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot"  Canvas.Top="460" Canvas.Left="140"/>
+
+        <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot"      Canvas.Top="460" Canvas.Left="820"/>
+
+
+
+
         <Canvas Canvas.Left="300" Canvas.Top="-40">
             <RadioButton Content="Carrier" Name="CarrierRadioButton"  Canvas.Left="900"   Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}"  IsChecked="True"   />
             <RadioButton Content="LP1"     Name="JobRadioButton1"      Canvas.Left="961"  Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}"   IsChecked="False"  />
@@ -219,7 +428,7 @@
                         </Grid.ColumnDefinitions>
                         <deviceControl:AITSensor Margin="-30,0,5,0" GreenColor="True" LightOnValue="{Binding IsRtInitialized}"></deviceControl:AITSensor>
 
-                        <Button Grid.Column="1" Content="初始化"  Width="120" Height="25" Command="{Binding HomeAllCommand}">
+                        <Button Grid.Column="1" Content="Init"  Width="120" Height="25" Command="{Binding HomeAllCommand}">
 
                         </Button>
                     </Grid>
@@ -228,7 +437,7 @@
                             <ColumnDefinition Width="0"/>
                             <ColumnDefinition />
                         </Grid.ColumnDefinitions>
-                        <Button  Grid.Column="1" Content="终止" Width="120" Height="25" Command="{Binding AbortAllCommand}">
+                        <Button  Grid.Column="1" Content="Abort" Width="120" Height="25" Command="{Binding AbortAllCommand}">
 
                         </Button>
                     </Grid>
@@ -237,11 +446,11 @@
                             <ColumnDefinition Width="0"/>
                             <ColumnDefinition />
                         </Grid.ColumnDefinitions>
-                        <Button  Grid.Column="1" Content="全部暂停" Width="120" Height="25" IsEnabled="{Binding IsPauseAllEnable}" Command="{Binding PauseAllJobCommand}">
+                        <Button  Grid.Column="1" Content="All Abort" Width="120" Height="25" IsEnabled="{Binding IsPauseAllEnable}" Command="{Binding PauseAllJobCommand}">
 
                         </Button>
                     </Grid>
-                    <Grid Margin="0,8,0,0">
+                    <Grid Margin="0,8,0,0" Visibility="Collapsed">
                         <Grid.ColumnDefinitions>
                             <ColumnDefinition Width="0"/>
                             <ColumnDefinition />
@@ -259,18 +468,18 @@
             <Border Grid.Row="5" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1">
                 <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">
 
-                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin ="5" Content="自动"  Width="80" Height="25" Command="{Binding EnableAutoCommand}">
+                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin ="5" Content="Auto"  Width="80" Height="25" Command="{Binding EnableAutoCommand}">
 
                     </Button>
 
-                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin ="5" Content="手动" Width="80" Height="25" Command="{Binding EnableManualCommand}">
+                    <Button  IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin ="5" Content="Manusl" Width="80" Height="25" Command="{Binding EnableManualCommand}">
 
                     </Button>
 
 
                     <Grid x:Name="Cycle_Info" Visibility="{Binding IsCycleInfoVisibility}" Margin="0,10,0,0">
                         <Grid.ColumnDefinitions>
-                            <ColumnDefinition Width="90"/>
+                            <ColumnDefinition Width="110"/>
                             <ColumnDefinition Width="70"/>
                         </Grid.ColumnDefinitions>
                         <Grid.RowDefinitions>
@@ -279,15 +488,15 @@
                             <RowDefinition Height="24"/>
 
                         </Grid.RowDefinitions>
-                        <TextBlock Grid.ColumnSpan="2" Text="Cycle 信息" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,3"/>
+                        <TextBlock Grid.ColumnSpan="2" Text="Cycle Information" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,3"/>
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">
-                            <TextBlock Text="跑片数量" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
+                            <TextBlock Text="Wafer Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
                         </Border>
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">
                             <TextBlock Text="{Binding CycledWafer}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
                         </Border>
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">
-                            <TextBlock Text="Cycle数量" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
+                            <TextBlock Text="Cycle Count" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
                         </Border>
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
                             <TextBlock Text="{Binding CycleCountDisplay}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>

+ 83 - 62
Venus/Venus_MainPages/Views/OverKepler2200AView.xaml

@@ -92,6 +92,25 @@
             <Ellipse                            Grid.Column="17"  Width="16" Height="16"  Fill="{Binding TurboPumpWaterFlowSwitch,Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2"></Ellipse>-->
         </Grid>
         <!--</Border>-->
+
+        <Grid Height="33" Canvas.Left="500" Canvas.Top="550" Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="100"/>
+                <ColumnDefinition Width="100"/>
+                <ColumnDefinition Width="100"/>
+                <ColumnDefinition Width="80"/>
+
+
+            </Grid.ColumnDefinitions>
+            <TextBlock Text="Heater Position" Width="100" Padding="4,8,0,0"/>
+            <ComboBox Grid.Column="1" SelectedIndex="0"  Height="25" Margin="1,2,0,2">
+                <ComboBoxItem>Home</ComboBoxItem>
+                <ComboBoxItem>Position1</ComboBoxItem>
+                <ComboBoxItem>Position2</ComboBoxItem>
+            </ComboBox>
+            <TextBlock Grid.Column="2" Text="Home"  Width="100" Padding="30,8,0,0"/>
+            <Button    Grid.Column="3" Content="Set" Width="60" Style="{x:Null}" Height="25" Cursor="Hand"/>
+        </Grid>
        
         <Canvas Canvas.Top="40" >
            
@@ -259,7 +278,7 @@
 
 
             <!--与chamber上方连接的管道-->
-            <ctrls:FlowPipe  Height="8"  Width="520" Canvas.Left="482" Canvas.Top="120">
+            <ctrls:FlowPipe  Height="8"  Width="440" Canvas.Left="482" Canvas.Top="120">
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
                         <Binding Path="GasFinalValveIsOpen"/>
@@ -276,10 +295,10 @@
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
 
-            <TextBlock Text="Gas Final" Canvas.Left="900" Canvas.Top="90" FontSize="15"/>
-            <customControls:CommonValveControl Status="{Binding GasFinalValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="922" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="21" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
+            <TextBlock Text="Gas Final" Canvas.Left="700" Canvas.Top="90" FontSize="15"/>
+            <customControls:CommonValveControl Status="{Binding GasFinalValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="722" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="21" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
 
-            <ctrls:Pipe2    Canvas.Left="1000" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top"  />
+            <ctrls:Pipe2    Canvas.Left="920" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top"  />
                             
            
             <ctrls:FlowPipe Name="l8" Height="8"  Width="56" Canvas.Left="490" Canvas.Top="126"  RotateTransformValue="90" IsReverse="True">
@@ -380,7 +399,7 @@
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>-->
-            <ctrls:FlowPipe  Height="8"  Width="120" Canvas.Left="1013" Canvas.Top="129" RotateTransformValue="90">
+            <ctrls:FlowPipe  Height="8"  Width="110" Canvas.Left="933" Canvas.Top="129" RotateTransformValue="90">
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
                         <Binding Path="GasFinalValveIsOpen"/>
@@ -462,8 +481,8 @@
 
             
 
-            <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}"  Canvas.Left="360" Canvas.Top="538" Stroke="Silver" StrokeThickness="2"/>
-            <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="540" Style="{StaticResource SysBtnStyle}"  Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
+            <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}"  Canvas.Left="260" Canvas.Top="538" Stroke="Silver" StrokeThickness="2"/>
+            <Button  Width="100" Content="Gas ON/OFF" Canvas.Left="290" Canvas.Top="540" Style="{StaticResource SysBtnStyle}"  Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
             <TextBlock FontSize="13" Text="Vent N2" Canvas.Left="10" Canvas.Top="117" Foreground="Black"  Block.TextAlignment="Right" Width="50"/>
             <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="227" Block.TextAlignment="Right" MaxWidth="65">
                 <TextBlock.Text>
@@ -539,17 +558,17 @@
             <RadioButton Canvas.Left="890" Canvas.Top="684" Content="Pressure Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode}"/>-->
 
             <!--与chamber右上角连接的管道-->
-            <ctrls:FlowPipe  Height="8"  Width="40" Canvas.Left="1262" Canvas.Top="275"  RotateTransformValue="90" />
-            <ctrls:FlowPipe  Height="8"  Width="126" Canvas.Left="1250" Canvas.Top="192"  RotateTransformValue="90" />
-            <ctrls:Pipe2     Canvas.Left="1254" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
+            <ctrls:FlowPipe  Height="8"  Width="40" Canvas.Left="1192" Canvas.Top="275"  RotateTransformValue="90" />
+            <ctrls:FlowPipe  Height="8"  Width="126" Canvas.Left="1180" Canvas.Top="192"  RotateTransformValue="90" />
+            <ctrls:Pipe2     Canvas.Left="1184" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
 
-            <ctrls:FlowPipe  Height="8"  Width="80" Canvas.Left="1252" Canvas.Top="182"   />
-            <ctrls:FlowPipe  Height="8"  Width="70" Canvas.Left="1264" Canvas.Top="272"   />
-            <TextBlock Text="Guage" Canvas.Left="1272" Canvas.Top="248"/>
+            <ctrls:FlowPipe  Height="8"  Width="80" Canvas.Left="1182" Canvas.Top="182"   />
+            <ctrls:FlowPipe  Height="8"  Width="70" Canvas.Left="1194" Canvas.Top="272"   />
+            <TextBlock Text="Guage" Canvas.Left="1202" Canvas.Top="248"/>
 
-            <customControls:CommonValveControl   ValveOrientation="Horizontal" Status="{Binding GuageValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1280" Canvas.Top="265" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="27" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
+            <customControls:CommonValveControl   ValveOrientation="Horizontal" Status="{Binding GuageValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1210" Canvas.Top="265" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="27" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
 
-            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="18" Height="6" Canvas.Left="1315" Canvas.Top="164" >
+            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="18" Height="6" Canvas.Left="1245" Canvas.Top="164" >
                 <Border.RenderTransform>
                     <RotateTransform Angle="90"/>
                 </Border.RenderTransform>
@@ -561,7 +580,7 @@
                     </LinearGradientBrush>
                 </Border.Background>
             </Border>
-            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="20" Height="6" Canvas.Left="1285" Canvas.Top="188" >
+            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="20" Height="6" Canvas.Left="1215" Canvas.Top="188" >
                 <Border.RenderTransform>
                     <RotateTransform Angle="90"/>
                 </Border.RenderTransform>
@@ -573,11 +592,11 @@
                     </LinearGradientBrush>
                 </Border.Background>
             </Border>
-            <Ellipse Width="20" Height="20"  Canvas.Left="1302" Canvas.Top="150" Fill="{Binding IsATM,Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
-            <Ellipse Width="20" Height="20"  Canvas.Left="1272" Canvas.Top="200" Fill="{Binding IsVAC,Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
-            <TextBlock Text="ATM" Canvas.Left="1300" Canvas.Top="134"/>
-            <TextBlock Text="VAC" Canvas.Left="1270" Canvas.Top="220"/>
-            <ctrls:Pipe2     Canvas.Left="1242" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
+            <Ellipse Width="20" Height="20"  Canvas.Left="1232" Canvas.Top="150" Fill="{Binding IsATM,Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <Ellipse Width="20" Height="20"  Canvas.Left="1202" Canvas.Top="200" Fill="{Binding IsVAC,Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <TextBlock Text="ATM" Canvas.Left="1230" Canvas.Top="134"/>
+            <TextBlock Text="VAC" Canvas.Left="1200" Canvas.Top="220"/>
+            <ctrls:Pipe2     Canvas.Left="1172" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
 
 
 
@@ -605,7 +624,7 @@
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
             <ctrls:FlowPipe   Height="8"  Width="40" Canvas.Left="1265"  Canvas.Top="658" />
-            <ctrls:FlowPipe   Height="8"  Width="178" Canvas.Left="1266"  Canvas.Top="464" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">
+            <ctrls:FlowPipe   Height="8"  Width="192" Canvas.Left="1266"  Canvas.Top="446" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">
 
             </ctrls:FlowPipe>
             <ctrls:FlowPipe   Height="8"  Width="45" Canvas.Left="1266"  Canvas.Top="638" RotateTransformValue="90" >
@@ -637,7 +656,20 @@
             <ctrls:Pipe2    Canvas.Left="1173"  Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
 
             <ctrls:FlowPipe   Height="8"  Width="48" Canvas.Left="1165"  Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}"  />
-            <ctrls:FlowPipe   Height="8"  Width="50" Canvas.Left="1219"  Canvas.Top="463" RotateTransformValue="90">
+            <ctrls:FlowPipe   Height="8"  Width="25" Canvas.Left="1185"  Canvas.Top="455" >
+                <ctrls:FlowPipe.IsFlowing>
+                    <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
+                        <Binding Path="SoftPumpValveIsOpen"/>
+                        <Binding Path="FastPumpValveIsOpen"/>
+                    </MultiBinding>
+                </ctrls:FlowPipe.IsFlowing>
+            </ctrls:FlowPipe>
+
+            <ctrls:FlowPipe   Height="8"  Width="70" Canvas.Left="1185"  Canvas.Top="440"  IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"/>
+
+            <ctrls:Pipe2    Canvas.Left="1253"  Canvas.Top="440" HorizontalAlignment="Left" VerticalAlignment="Top"  />
+
+            <ctrls:FlowPipe   Height="8"  Width="55" Canvas.Left="1219"  Canvas.Top="458" RotateTransformValue="90">
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
                         <Binding Path="SoftPumpValveIsOpen"/>
@@ -646,6 +678,7 @@
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
             <ctrls:Pipe2    Canvas.Left="1160"  Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
+            <ctrls:Pipe2    Canvas.Left="1206"  Canvas.Top="455" HorizontalAlignment="Left" VerticalAlignment="Top"  />
 
             <TextBlock Canvas.Left="1130"  Canvas.Top="558" Text="Soft"/>
             <TextBlock Canvas.Left="1178"  Canvas.Top="558" Text="Fast"/>
@@ -713,8 +746,8 @@
           
 
             <!--chamber管道标签-->
-            <ctrls:TextboxWithLabel  Canvas.Top="156" Canvas.Left="1326" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
-            <ctrls:TextboxWithLabel  Canvas.Top="248" Canvas.Left="1318" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
+            <ctrls:TextboxWithLabel  Canvas.Top="156" Canvas.Left="1256" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
+            <ctrls:TextboxWithLabel  Canvas.Top="248" Canvas.Left="1248" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
             <!--<ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="880"  LabelValue="Pressure(mTorr)" TextBoxValue="{Binding HePressureSetpoint,Mode=TwoWay}" TextBoxColor="White" IsReadOnly="False"/>-->
             <!--<ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="820" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay}"    LabelValue="Flow(sccm)/Pressure(Torr)"  TextBoxColor="White" IsReadOnly="False"/>-->
             <!--<Ellipse Width="20" Height="20"  Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}"  Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>-->
@@ -759,13 +792,13 @@
                 <TextBlock Text="Foreline Heater"/>
                 <Button Height="18" Width="50" Content="{Binding ForelineHeaterData.FeedBack}" ToolTip="{Binding ForelineHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1"  Background="{Binding ForelineHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding ForelineHeaterData}" Cursor="Hand"/>
             </StackPanel>
-            <StackPanel Canvas.Top="320" Canvas.Left="1280" Orientation="Vertical">
+            <StackPanel Canvas.Top="320" Canvas.Left="1210" Orientation="Vertical">
                 <TextBlock Text="Wall Heater"/>
                 <Button Height="18" Width="50" Content="{Binding WallHeaterData.FeedBack}" ToolTip="{Binding WallHeaterData,Converter={StaticResource HeaterToStringConverter}}"  Foreground="White" ContentStringFormat="F1" Background="{Binding WallHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding WallHeaterData}" Cursor="Hand"/>
             </StackPanel>
 
             <!--Chamber-->
-            <ctrls:Chamber Canvas.Left="1034" Canvas.Top="224" 
+            <ctrls:Chamber Canvas.Left="960" Canvas.Top="224" 
                        IsLiftPinUp="{Binding LiftPinIsUp}" 
                        IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}" 
                        IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"  
@@ -836,8 +869,8 @@
                     <RowDefinition Height="0"/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition/>
-                    <RowDefinition/>
+                    <RowDefinition Height="0"/>
+                    <RowDefinition Height="0"/>
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="2*"/>
@@ -1154,52 +1187,40 @@
 
         </Grid>-->
 
-        <Grid Width="400" Height="25"  Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Canvas.Left="500" Canvas.Top="318">
+        <Ellipse Width="20" Height="20" Fill="{Binding SRFData.IsRfOn,Converter={StaticResource boolToColor}}"  Canvas.Left="500" Canvas.Top="605" Stroke="Silver" StrokeThickness="2"/>
+        <Button Height="20" Width="100" Content="Heater ON/OFF" Canvas.Left="530" Canvas.Top="605" Command="{Binding SetSRfCommand}"  Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
+        
+        <Grid Width="390" Height="80"  Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Canvas.Left="500" Canvas.Top="638">
             <Grid.RowDefinitions>
                 <RowDefinition/>
+                <RowDefinition/>
+
+                <RowDefinition/>
             </Grid.RowDefinitions>
             <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="6*"/>
+                <ColumnDefinition Width="2*"/>
+                <ColumnDefinition Width="2*"/>
                 <ColumnDefinition Width="3*"/>
-                <ColumnDefinition Width="*"/>
-                <ColumnDefinition Width="*"/>
-                <ColumnDefinition Width="4*"/>
             </Grid.ColumnDefinitions>
-          
-            <TextBlock Grid.Row="0" Text="Chiller Temp.(°C)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>
-            <!--<TextBlock Grid.Row="1" Text="Wall Temp.(°C)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>-->
 
+            <TextBlock Grid.Row="0" Text="Heater Temp.(°C)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
             <TextBox Grid.Row="0" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding ChillerTempSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White"  BorderThickness="0" />
-            <!--<TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding WallTempSetpoint}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White"  BorderThickness="0" />-->
-
             <TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding ChillerTemperature,StringFormat='F1'}" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" />
-           
+            <Button Grid.Row="0" Grid.Column="3" Margin="5,0,0,0" Height="20" Width="70"  Style="{x:Null}" Content="Set"             Command="{Binding SetChillerTempCommand}"  CommandParameter="True"  IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
 
-            <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="3">
-                <Ellipse Width="18" Height="18" Fill="{Binding ChillerIsOn,Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"/>
-                <Button Margin="5,0,0,0" Height="20" Width="70"  Style="{x:Null}" Content="ON/OFF"          Command="{Binding OnOffChillerCommand}"    CommandParameter="True"  IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
-                <Button Margin="5,0,0,0" Height="20" Width="70"  Style="{x:Null}" Content="Set"             Command="{Binding SetChillerTempCommand}"  CommandParameter="True"  IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
+            <TextBlock Grid.Row="1" Text="Heater Ratio" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
+            <TextBox Grid.Row="1"  Grid.Column="1"  Width="Auto" Height="Auto"  HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White"  BorderThickness="0" />
+            <TextBlock Grid.Row="1" Grid.Column="2" Text="0.0" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" />
+            <Button  Grid.Row="1" Grid.Column="3" Margin="5,0,0,0" Height="20" Width="70"  Style="{x:Null}" Content="Set"             Command="{Binding SetChillerTempCommand}"  CommandParameter="True"  IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
 
-            </StackPanel>
-            
+            <TextBlock Grid.Row="2" Text="Heater Temp Range Rate" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/>
+            <TextBox Grid.Row="2" Grid.Column="1" Width="Auto" Height="Auto"  HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White"  BorderThickness="0" />
+            <TextBlock Grid.Row="2" Grid.Column="2" Text="0.0" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" />
+            <Button  Grid.Row="2" Grid.Column="3" Margin="5,0,0,0" Height="20" Width="70"  Style="{x:Null}" Content="Set"             Command="{Binding SetChillerTempCommand}"  CommandParameter="True"  IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/>
 
         </Grid>
-        <Grid Visibility="Hidden"  Height="120" Width="300"  Canvas.Left="400" Canvas.Top="70" Background="#E8E8E8"  unity:GridOptions.ShowBorder="True">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="2*"/>
-                <ColumnDefinition />
-            </Grid.ColumnDefinitions>
-            <Grid.RowDefinitions>
-                <RowDefinition/>
-                <RowDefinition/>
-                <RowDefinition/>
-            </Grid.RowDefinitions>
-            <TextBlock Grid.Row="0"  Text="Base Pressure(mTorr)"     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
-            <TextBlock Grid.Row="0" Grid.Column="1" Text=""     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
-            <TextBlock Grid.Row="1" Grid.Column="0" Text="Leak Rate(mTorr/min)"     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
-            <TextBlock Grid.Row="1" Grid.Column="1" Text=""     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
-            <TextBlock Grid.Row="2" Grid.Column="0" Text="Leak Check Date"     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
-            <TextBlock Grid.Row="2" Grid.Column="1" Text=""     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>
-        </Grid>
+
 
 
         <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Top="20" Canvas.Left="40">

+ 3 - 3
Venus/Venus_MainPages/Views/RecipeView.xaml

@@ -18,9 +18,9 @@
             <Setter Property="Template">
                 <Setter.Value>
                     <ControlTemplate TargetType="{x:Type CheckBox}">
-                        <Border BorderThickness="0,0,0.5,0" BorderBrush="Gray" >
-                            <StackPanel Orientation="Horizontal" Name="mainStackPanel" HorizontalAlignment="Stretch" Background="White" Margin=".5">
-                                <Border BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" Width="15" Height="15" Margin="1,0,0,0">
+                        <Border BorderThickness="0.8" BorderBrush="Gray" Background="White">
+                            <StackPanel Orientation="Horizontal" Name="mainStackPanel" HorizontalAlignment="Center" Background="White" VerticalAlignment="Center">
+                                <Border  BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" Width="15" Height="15"  HorizontalAlignment="Center">
                                     <!--                                   your color here -->
                                     <Path Width="15" Height="10"  Stroke="HotPink" StrokeThickness="3" Name="eliCheck" Data="M 2,4 C 2,4 3,5 5,13 C 5,13 5,3 12,0" Visibility="Collapsed"/>
                                 </Border>

+ 8 - 5
Venus/Venus_RT/Config/SequenceFormat.xml

@@ -6,7 +6,7 @@
         <Selection Name="Aligner" DisplayName="Aligner" Parameter="AlignerSelection" />
         <Selection Name="LL" DisplayName="LL" Parameter="LLSelection" />
         <Selection Name="PM" DisplayName="PM" Parameter="PMSelection,PMARecipe,PMBRecipe,PMCRecipe,PMDRecipe" />
-        <Selection Name="Cooling" DisplayName="Cooling" Parameter="CoolingSelection,CoolingTime" />
+        <!--<Selection Name="Cooling" DisplayName="Cooling" Parameter="CoolingSelection,CoolingTime" />-->
       </Item>
     </Catalog>
 
@@ -22,13 +22,13 @@
 
       <Item Name="AlignerSelection" DisplayName="Aligner Selection" InputType="MultiSelection" >
         <Selection Name="Aligner1" DisplayName="Aligner1"/>
-        <Selection Name="Aligner2" DisplayName="Aligner2"/>
+        <!--<Selection Name="Aligner2" DisplayName="Aligner2"/>-->
       </Item>
 
-      <Item Name="CoolingSelection" DisplayName="Cooling Selection" InputType="MultiSelection" >
+      <!--<Item Name="CoolingSelection" DisplayName="Cooling Selection" InputType="MultiSelection" >
         <Selection Name="Cooling1" DisplayName="Cooling1"/>
         <Selection Name="Cooling2" DisplayName="Cooling2"/>
-      </Item>
+      </Item>-->
 
       <Item Name="LLSelection" DisplayName="LL Selection" InputType="MultiSelection" >
         <Selection Name="LLA" DisplayName="LLA"/>
@@ -51,8 +51,11 @@
       <Item Name="PMBRecipe" DisplayName="PMB Recipe" InputType="RecipeSelection" Parameter="PMB"    Min="0" Max="999999"  />
       <Item Name="PMCRecipe" DisplayName="PMC Recipe" InputType="RecipeSelection" Parameter="PMC"    Min="0" Max="999999"  />
       <Item Name="PMDRecipe" DisplayName="PMD Recipe" InputType="RecipeSelection" Parameter="PMD"    Min="0" Max="999999"  />
+	  <Item Name="LLARecipe" DisplayName="LLA Recipe" InputType="RecipeSelection" Parameter="LLA"    Min="0" Max="999999"  />
+	  <Item Name="LLBRecipe" DisplayName="LLB Recipe" InputType="RecipeSelection" Parameter="LLB"    Min="0" Max="999999"  />
+
 
-      <Item Name="CoolingTime" DisplayName="Cooling Time(s)" InputType="NumInput"   Min="0" Max="360"  />
+		<!--<Item Name="CoolingTime" DisplayName="Cooling Time(s)" InputType="NumInput"   Min="0" Max="360"  />-->
 
     </Catalog>
   </TableSequenceFormat>

+ 7 - 0
Venus/Venus_RT/Config/System.sccfg

@@ -1568,4 +1568,11 @@
 		</configs>
 
 	</configs>
+
+	<!--Recipe-->
+	<configs name="Recipe" nameView="Recipe">		
+		<configs name="Venus" nameView="Venus Module" >
+			<config default="PressureModeUnit" name="PressureMode Unit" description="PressureMode 模块" max="" min="" paramter="" tag="" unit="" visible="false" type="String" />
+		</configs>
+	</configs>
 </root>

+ 5 - 5
Venus/Venus_RT/Modules/PMs/ProcessDefine.cs

@@ -66,14 +66,14 @@ namespace Venus_RT.Modules.PMs
 
             if (ProcessUnit.PressureUnitMode == PressureUnitMode.Pressure)
             {
-                if (Chamber.SetPVPressure(ProcessUnit.StartPressure))
+                if (Chamber.SetPVPressure(ProcessUnit.StartValue))
                 {
                     return RState.Running;
                 }
             }
             else if (ProcessUnit.PressureUnitMode == PressureUnitMode.Valve)
             {
-                if (Chamber.SetPVPostion(ProcessUnit.StartPosition))
+                if (Chamber.SetPVPostion(ProcessUnit.StartValue))
                 { 
                     return RState.Running;
                 }
@@ -88,14 +88,14 @@ namespace Venus_RT.Modules.PMs
             {
                 if (ProcessUnit.PressureUnitMode == PressureUnitMode.Pressure)
                 {
-                    if (Chamber.SetPVPressure(ProcessUnit.StartPressure + (int)((ProcessUnit.TargetPressure - ProcessUnit.StartPressure) * step.RampFactor())))
+                    if (Chamber.SetPVPressure(ProcessUnit.StartValue+ (int)((ProcessUnit.TargetValue - ProcessUnit.StartValue) * step.RampFactor())))
                         return RState.Running;
                     else
                         return RState.Failed;
                 }
                 else if (ProcessUnit.PressureUnitMode == PressureUnitMode.Valve)
                 {
-                    if (Chamber.SetPVPressure(ProcessUnit.StartPosition + (int)((ProcessUnit.TargetPosition - ProcessUnit.StartPosition) * step.RampFactor())))
+                    if (Chamber.SetPVPressure(ProcessUnit.StartValue + (int)((ProcessUnit.TargetValue - ProcessUnit.StartValue) * step.RampFactor())))
                         return RState.Running;
                     else
                         return RState.Failed;
@@ -104,7 +104,7 @@ namespace Venus_RT.Modules.PMs
 
             if (ProcessUnit.PressureUnitMode == PressureUnitMode.Pressure)
             {
-                if (step.Type == StepType.Stable && Chamber.ChamberPressure == ProcessUnit.StartPressure)
+                if (step.Type == StepType.Stable && Chamber.ChamberPressure == ProcessUnit.StartValue)
                 {
                     return RState.End;
                 }

+ 1 - 0
Venus/Venus_Simulator/Instances/SimulatorSystem.cs

@@ -65,6 +65,7 @@ namespace Venus_Simulator.Instances
 
         private void SetDefaultValue(ModuleName mod,JetChamber jetChamber)
         {
+
             if (jetChamber == JetChamber.Venus)
             {
                 // chamber

+ 1 - 1
Venus/Venus_Themes/Styles/ComboBox.xaml

@@ -746,7 +746,7 @@
                             <ColumnDefinition Width="0.7*"/>
                             <ColumnDefinition Width="0.3*" MaxWidth="30"/>
                         </Grid.ColumnDefinitions>
-                        <Border  Grid.Column="0" Grid.ColumnSpan="2" BorderThickness="0.5" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="1,0,0,1"/>
+                        <Border  Grid.Column="0" Grid.ColumnSpan="2" BorderThickness="1" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="1,0,0,1"/>
                         <ContentPresenter HorizontalAlignment="Left" Margin="3,3,0,3" x:Name="ContentSite" VerticalAlignment="Center" Content="{TemplateBinding SelectionBoxItem}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" IsHitTestVisible="False"/>
 
                         <!--ToggleButton 已数据绑定到 ComboBox 本身以切换 IsDropDownOpen-->