Ver código fonte

优化TM leak check功能
移动TM 配置文件位置
TM 添加控压功能

lixiang 1 ano atrás
pai
commit
b6acfe2e29

+ 3 - 5
Venus/Venus_Core/ProcessUnitDefine.cs

@@ -99,6 +99,9 @@ namespace Venus_Core
         public int HeaterTemp { get; set; } = 10;
 
         public int HeaterRatio { get; set; } = 10;
+        public Suspect SuspectPosition { get; set; } = Suspect.Home;
+
+        public int PositionOffset { get; set; } = 1;
 
     }
     public class TCPUnit : ProcessUnitBase
@@ -133,11 +136,6 @@ 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;
          

+ 3 - 3
Venus/Venus_Core/Recipe.cs

@@ -264,15 +264,15 @@ namespace Venus_Core
         //    set { m_EnableRamp = value; InvokePropertyChanged("EnableRamp"); }
         //}
 
-       
 
-        
+
+
 
         private int m_OverEtchPercent;
         public int OverEtchPercent
         {
             get { return m_OverEtchPercent; }
-            set { m_OverEtchPercent = value;InvokePropertyChanged("OverEtchPercent"); }
+            set { m_OverEtchPercent = value; InvokePropertyChanged("OverEtchPercent"); }
         }
 
         private bool m_CycleStart;

+ 15 - 2
Venus/Venus_MainPages/ViewModels/OverVenusViewModel.cs

@@ -84,6 +84,8 @@ namespace Venus_MainPages.ViewModels
         private double m_MFC7SetPoint;
         private double m_MFC8SetPoint;
         private double m_N2SetPoint;
+        private double m_TurboN2FlowSetPoint;
+
 
 
 
@@ -493,6 +495,18 @@ namespace Venus_MainPages.ViewModels
             get { return m_N2SetPoint; }
             set { SetProperty(ref m_N2SetPoint, value); }
         }
+        public double TurboN2FlowSetPoint
+        {
+            get { return m_TurboN2FlowSetPoint; }
+            set 
+            {
+                if (value != m_TurboN2FlowSetPoint)
+                { 
+                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", value);
+                }
+                SetProperty(ref m_TurboN2FlowSetPoint, value);
+            }
+        }
         public AITMfcData MFC1Data
         {
             get { return m_MFC1Data; }
@@ -1430,8 +1444,7 @@ namespace Venus_MainPages.ViewModels
                 return;
             }
 
-            var N2SetPoint =Convert.ToInt32( QueryDataClient.Instance.Service.GetConfig("System.TurboN2FlowSetPoint"));
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcN2.SetPoint", N2SetPoint);
+            TurboN2FlowSetPoint = Convert.ToInt32( QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.TurboN2FlowSetPoint"));
 
             PVN21ValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePVN21.IsOpen");
             GasFinalValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveGasFinal.IsOpen");

+ 29 - 4
Venus/Venus_MainPages/ViewModels/TMOperationViewModel.cs

@@ -56,7 +56,7 @@ namespace Venus_MainPages.ViewModels
         private List<string> m_RtDataKeys=new List<string> ();
 
         private int m_TMOutChamberPressure;
-
+        private int m_TMChamberPressureSetPoint;
 
         public bool TMValveN2IsOpen
         {
@@ -128,6 +128,12 @@ namespace Venus_MainPages.ViewModels
             get { return m_LLBVentValveIsOpen; }
             set { SetProperty(ref m_LLBVentValveIsOpen, value); }
         }
+        public int TMChamberPressureSetPoint
+        {
+            get { return m_TMChamberPressureSetPoint; }
+            set { SetProperty(ref m_TMChamberPressureSetPoint, value); }
+        }
+        
         #endregion
 
         #region 属性
@@ -219,7 +225,10 @@ namespace Venus_MainPages.ViewModels
         private DelegateCommand _PurgeCommand;
         public DelegateCommand PurgeCommand =>
             _PurgeCommand ?? (_PurgeCommand = new DelegateCommand(OnPurge));
-   
+
+        private DelegateCommand _LeakCheckCommand;
+        public DelegateCommand LeakCheckCommand =>
+            _LeakCheckCommand ?? (_LeakCheckCommand = new DelegateCommand(OnLeakCheck));
 
         private DelegateCommand _AbortCommand;
         public DelegateCommand AbortCommand =>
@@ -259,6 +268,10 @@ namespace Venus_MainPages.ViewModels
             _ChamberDoorCloseCommand ?? (_ChamberDoorCloseCommand = new DelegateCommand<object>(OnChamberDoorClose));
 
 
+        private DelegateCommand _SetTMChamberPressureCommand;
+        public DelegateCommand SetTMChamberPressureCommand =>
+            _SetTMChamberPressureCommand ?? (_SetTMChamberPressureCommand = new DelegateCommand(OnSetTMChamberPressure));
+        
 
         #endregion
 
@@ -313,7 +326,10 @@ namespace Venus_MainPages.ViewModels
         {
             InvokeClient.Instance.Service.DoOperation($"{m_ModuleCheckedName}.{RtOperation.Purge}");
         }
-
+        private void OnLeakCheck()
+        {
+            InvokeClient.Instance.Service.DoOperation($"{m_ModuleCheckedName}.{RtOperation.LeakCheck}");
+        }
         private void OnAbort()
         {
             InvokeClient.Instance.Service.DoOperation($"{m_ModuleCheckedName}.{RtOperation.Abort}");
@@ -362,6 +378,13 @@ namespace Venus_MainPages.ViewModels
         {
             InvokeClient.Instance.Service.DoOperation($"{obj?.ToString()}.SlitDoor.Close");
         }
+        private void OnSetTMChamberPressure()
+        {
+            //InvokeClient.Instance.Service.DoOperation($"TM.SetChamberPressure", TMChamberPressureSetPoint);
+            //TMOutChamberPressure = TMChamberPressureSetPoint;
+            InvokeClient.Instance.Service.DoOperation("System.SetConfig","TM.ChamberPressure", TMChamberPressureSetPoint.ToString());
+        }
+      
         #endregion
 
         #region 私有方法
@@ -435,8 +458,10 @@ namespace Venus_MainPages.ViewModels
             m_RtDataKeys.Add("TM.LLAESlitDoor.IsClosed");
             m_RtDataKeys.Add("TM.LLBESlitDoor.IsClosed");
             m_RtDataKeys.Add("TM.N2PressureSwitch.Value");
+            m_RtDataKeys.Add("TM.TMPressureCtrl.TMChamberSetPoint");
+
+
 
-            
         }
         private void UIEvents_PMDoorRaiseChangedEvent(DoorPara obj)
         {

+ 6 - 8
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -43,8 +43,8 @@
 
                     <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}" />
+                    <userControls:TMChamber ModuleName="PMC" x:Name="PMC" Canvas.Top="-37"  Canvas.Left="586" Width="140" Height="140" RotateTransformValue="29"   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}"/>
 
 
                     
@@ -60,7 +60,7 @@
             <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 Width="280" Height="170" Canvas.Left="30" Canvas.Top="250"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
             <Grid.RowDefinitions>
                 <RowDefinition Height="30"/>
                 <RowDefinition/>
@@ -110,7 +110,7 @@
             </TextBlock>
         </Grid>
 
-        <Grid Width="280" Height="160" Canvas.Left="30" Canvas.Top="50"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+        <Grid Width="280" Height="170" Canvas.Left="30" Canvas.Top="50"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
             <Grid.RowDefinitions>
                 <RowDefinition Height="30"/>
                 <RowDefinition/>
@@ -160,8 +160,7 @@
             </TextBlock>
         </Grid>
 
-
-        <Grid Width="280" Height="160" Canvas.Left="830" Canvas.Top="50"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+        <Grid Width="280" Height="170" Canvas.Left="830" Canvas.Top="50"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
             <Grid.RowDefinitions>
                 <RowDefinition Height="30"/>
                 <RowDefinition/>
@@ -211,8 +210,7 @@
             </TextBlock>
         </Grid>
 
-        
-        <Grid Width="280" Height="160" Canvas.Left="830" Canvas.Top="250"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+        <Grid Width="280" Height="170" Canvas.Left="830" Canvas.Top="250"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
             <Grid.RowDefinitions>
                 <RowDefinition Height="30"/>
                 <RowDefinition/>

+ 66 - 103
Venus/Venus_MainPages/Views/OverKepler2200AView.xaml

@@ -852,11 +852,6 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
-                    <RowDefinition Height="0"/>
-                    <RowDefinition Height="0"/>
-                    <RowDefinition Height="0"/>
-                    <RowDefinition Height="0"/>
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
@@ -865,12 +860,13 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
-                    <RowDefinition Height="0"/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
-                    <RowDefinition Height="0"/>
+                    <RowDefinition/>
+                    <RowDefinition/>
+                    <RowDefinition/>
+                    <!--<RowDefinition/>-->
+
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="2*"/>
@@ -887,16 +883,13 @@
 
 
 
-                <TextBlock Grid.Row="1"   Text="Top RF Forward Power"           Background="#D0D8E8"    Padding="10,5,0,0"/>
-                <TextBlock Grid.Row="2"   Text="Top RF Reflected Power"           Background="#E9EDF4"   Padding="10,5,0,0" />
-                <TextBlock Grid.Row="3"  Text="Bias RF Forward Power"           Background="#D0D8E8"    Padding="10,5,0,0" />
-                <TextBlock Grid.Row="4"   Text="Bias RF Reflected Power"           Background="#E9EDF4"    Padding="10,5,0,0" />
-                <TextBlock Grid.Row="5"   Text="Bias RF Match C1%"           Background="#D0D8E8"    Padding="10,5,0,0" />
-                <TextBlock Grid.Row="6"  Text="Bias RF Match C2%"           Background="#E9EDF4"   Padding="10,5,0,0" />
-                <TextBlock Grid.Row="7"   Text="Bias Voltage"           Background="#D0D8E8"    Padding="10,5,0,0" />
-                <TextBlock Grid.Row="8"   Text="Pressure"       Background="#E9EDF4"    Padding="10,5,0,0" />
-                <TextBlock Grid.Row="9"   Text="Pressure Control Valve Position"       Background="#D0D8E8"    Padding="10,5,0,0"/>
-                <TextBlock Grid.Row="10"          Background="#E9EDF4"    Padding="10,5,0,0" >
+                <TextBlock Grid.Row="1"   Text="RF Forward Power"                   Background="#D0D8E8"    Padding="10,5,0,0"/>
+                <TextBlock Grid.Row="2"   Text="RF Reflected Power"                 Background="#E9EDF4"    Padding="10,5,0,0" />
+                <TextBlock Grid.Row="3"   Text="RF Match C1%"                       Background="#D0D8E8"    Padding="10,5,0,0" />
+                <TextBlock Grid.Row="4"   Text="RF Match C2%"                       Background="#E9EDF4"    Padding="10,5,0,0" />
+                <TextBlock Grid.Row="5"   Text="Pressure"                           Background="#D0D8E8"    Padding="10,5,0,0" />
+                <TextBlock Grid.Row="6"   Text="Pressure Control Valve Position"    Background="#E9EDF4"    Padding="10,5,0,0"/>
+                <TextBlock Grid.Row="7"                                             Background="#D0D8E8"    Padding="10,5,0,0" >
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}Gas1({0}:{1})">
                             <Binding Path="MFC1Data.DisplayName"></Binding>
@@ -904,7 +897,7 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="11"         Background="#D0D8E8"    Padding="10,5,0,0" >
+                <TextBlock Grid.Row="8"                                             Background="#E9EDF4"    Padding="10,5,0,0" >
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}Gas2({0}:{1})">
                             <Binding Path="MFC2Data.DisplayName"></Binding>
@@ -912,7 +905,7 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="12"        Background="#E9EDF4"    Padding="10,5,0,0" >
+                <TextBlock Grid.Row="9"                                             Background="#D0D8E8"    Padding="10,5,0,0" >
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}Gas3({0}:{1})">
                             <Binding Path="MFC3Data.DisplayName"></Binding>
@@ -920,7 +913,7 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="13"         Background="#D0D8E8"   Padding="10,5,0,0" >
+                <TextBlock Grid.Row="10"                                            Background="#E9EDF4"   Padding="10,5,0,0" >
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}Gas4({0}:{1})">
                             <Binding Path="MFC4Data.DisplayName"></Binding>
@@ -928,7 +921,7 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="14"         Background="#E9EDF4"    Padding="10,5,0,0">
+                <TextBlock Grid.Row="11"                                            Background="#D0D8E8"    Padding="10,5,0,0">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}Gas5({0}:{1})">
                             <Binding Path="MFC5Data.DisplayName"></Binding>
@@ -936,7 +929,7 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="15"          Background="#D0D8E8"   Padding="10,5,0,0">
+                <TextBlock Grid.Row="12"                                            Background="#E9EDF4"   Padding="10,5,0,0">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}Gas6({0}:{1})">
                             <Binding Path="MFC6Data.DisplayName"></Binding>
@@ -944,95 +937,65 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="16"         Background="#E9EDF4"  Padding="10,5,0,0">
-                    <TextBlock.Text>
-                        <MultiBinding StringFormat="{}Gas7({0}:{1})">
-                            <Binding Path="MFC7Data.DisplayName"></Binding>
-                            <Binding Path="MFC7Data.Scale"></Binding>
-                        </MultiBinding>
-                    </TextBlock.Text>
-                </TextBlock>
-                <TextBlock Grid.Row="17"        Background="#D0D8E8"    Padding="10,5,0,0" >
-                    <TextBlock.Text>
-                        <MultiBinding StringFormat="{}Gas8({0}:{1})">
-                            <Binding Path="MFC8Data.DisplayName"></Binding>
-                            <Binding Path="MFC8Data.Scale"></Binding>
-                        </MultiBinding>
-                    </TextBlock.Text>
-                </TextBlock>
-                <TextBlock Grid.Row="18"   Text="ESC Clamp Voltage"          Background="#E9EDF4"  Padding="10,5,0,0"  />
-                <TextBlock Grid.Row="19"   Text="ESC Temperature"        Background="#D0D8E8"  Padding="10,5,0,0" />
-                <TextBlock Grid.Row="20"  Text="Helium Pressure"       Background="#E9EDF4"    Padding="10,5,0,0"/>
-                <TextBlock Grid.Row="21"   Text="Helium Flow"       Background="#D0D8E8"    Padding="10,5,0,0" />
+                <TextBlock Grid.Row="13"   Text="Heater Position"                   Background="#D0D8E8"    Padding="10,5,0,0"/>
+                <TextBlock Grid.Row="14"   Text="Heater Temp"                 Background="#E9EDF4"    Padding="10,5,0,0" />
+                <TextBlock Grid.Row="15"   Text="Heater Ratio"                       Background="#D0D8E8"    Padding="10,5,0,0" />
+
+
 
                 <TextBlock Grid.Row="1" Grid.Column="1"  Text="{Binding SRFData.ForwardPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,5,0,0"/>
                 <TextBlock Grid.Row="2"  Grid.Column="1" Text="{Binding SRFData.ReflectPower}"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="3"  Grid.Column="1" Text="{Binding BRFData.ForwardPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="4"  Grid.Column="1" Text="{Binding BRFData.ReflectPower}"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="5"  Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="6"  Grid.Column="1" Text="{Binding BiasMatchC2,StringFormat='F1'}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="7"  Grid.Column="1" Text="N/A"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="8"  Grid.Column="1" Text="{Binding ChamberPressureFeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="9"  Grid.Column="1" Text="{Binding PendulumValvePosition}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="10"  Grid.Column="1" Text="{Binding MFC1Data.FeedBack,StringFormat='F1'}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="11"  Grid.Column="1" Text="{Binding MFC2Data.FeedBack,StringFormat='F1'}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="12"  Grid.Column="1" Text="{Binding MFC3Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="13"  Grid.Column="1" Text="{Binding MFC4Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="14"  Grid.Column="1" Text="{Binding MFC5Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="15"  Grid.Column="1" Text="{Binding MFC6Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="16"  Grid.Column="1" Text="{Binding MFC7Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="17"  Grid.Column="1" Text="{Binding MFC8Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="18"  Grid.Column="1" Text="{Binding ESCHVOutputVoltage}"          Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center" />
-                <TextBlock Grid.Row="19"  Grid.Column="1" Text="{Binding ChillerTemperature,StringFormat='F1'}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="20"  Grid.Column="1" Text="{Binding ESCHePressure,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="21"  Grid.Column="1" Text="{Binding MFCHeData.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-
+                <TextBlock Grid.Row="3"  Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="4"  Grid.Column="1" Text="{Binding BiasMatchC2,StringFormat='F1'}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+
+                <TextBlock Grid.Row="5"  Grid.Column="1" Text="{Binding ChamberPressureFeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="6"  Grid.Column="1" Text="{Binding PendulumValvePosition}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="7"  Grid.Column="1" Text="{Binding MFC1Data.FeedBack,StringFormat='F1'}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="8"  Grid.Column="1" Text="{Binding MFC2Data.FeedBack,StringFormat='F1'}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="9"  Grid.Column="1" Text="{Binding MFC3Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="10"  Grid.Column="1" Text="{Binding MFC4Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="11"  Grid.Column="1" Text="{Binding MFC5Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="12"  Grid.Column="1" Text="{Binding MFC6Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="13" Grid.Column="1"  Text="Home"           Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,5,0,0"/>
+                <TextBlock Grid.Row="14"  Grid.Column="1" Text="{Binding SRFData.ReflectPower}"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="15"  Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                
                 <TextBlock Grid.Row="1" Grid.Column="2"  Text="{Binding CurrentRecipeStep.LstUnit[1].RFPower}"          Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
                 <TextBlock Grid.Row="2"  Grid.Column="2" Text="N/A"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="3"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasRFPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="4"  Grid.Column="2" Text="N/A"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="5"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasTuneCapPreset}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="6"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasLoadCapPreset}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="7"  Grid.Column="2" Text="N/A"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="8"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="9"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].ValvePositionPreset}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="10"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas1}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="11"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas2}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="12"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas3}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="13"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas4}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="14"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas5}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="15"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas6}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="16"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas7}"       Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="17"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas8}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="18"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].ESCClampValtage}"          Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center" />
-                <TextBlock Grid.Row="19"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].Temperature}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="20"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].BacksideHelum}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="21"  Grid.Column="2" Text=""       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-
-                <TextBlock Grid.Row="1" Grid.Column="3"  Text="W"           Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
-                <TextBlock Grid.Row="2"  Grid.Column="3" Text="W"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="3"  Grid.Column="3" Text="W"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="4"  Grid.Column="3" Text="W"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="5"  Grid.Column="3" Text="%"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="6"  Grid.Column="3" Text="%"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="7"  Grid.Column="3" Text="V"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="8"  Grid.Column="3" Text="mTorr"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="9"  Grid.Column="3" Text="Count"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="3"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasTuneCapPreset}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="4"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasLoadCapPreset}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="5"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="6"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].ValvePositionPreset}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="7"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas1}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="8"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas2}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="9"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas3}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="10"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas4}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="11"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas5}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="12"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas6}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="10"  Grid.Column="2" Text=""       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="11"  Grid.Column="2" Text=""       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="13"  Grid.Column="2" Text=""       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="14" Grid.Column="2"  Text=""           Background="#E9EDF4"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
+                <TextBlock Grid.Row="15"  Grid.Column="2" Text=""           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+
+                <TextBlock Grid.Row="1"  Grid.Column="3" Text="W"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="2"  Grid.Column="3" Text="W"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="3"  Grid.Column="3" Text="%"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="4"  Grid.Column="3" Text="%"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="5"  Grid.Column="3" Text="mTorr"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="6"  Grid.Column="3" Text="‰"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="7"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="8"  Grid.Column="3" Text="sccm"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="9"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="10"  Grid.Column="3" Text="sccm"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="11"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="12"  Grid.Column="3" Text="sccm"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="13"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="14"  Grid.Column="3" Text="sccm"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="13"  Grid.Column="3" Text="N/A"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="14"  Grid.Column="3" Text="°C"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="15"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="16"  Grid.Column="3" Text="sccm"       Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="17"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="18"  Grid.Column="3" Text="V"          Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center" />
-                <TextBlock Grid.Row="19"  Grid.Column="3" Text="°C"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="20"  Grid.Column="3" Text="Torr"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="21"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+
             </Grid>
-            <!--<Button Width="120" Height="30" Content="Abort"            Canvas.Left="910" Canvas.Top="690"  IsEnabled="{Binding IsAutoMode}"/>
-            <Button Width="120" Height="30" Content="Chamber Offline"  Canvas.Left="1110" Canvas.Top="690" IsEnabled="{Binding IsAutoMode}"/>-->
+
         </Canvas>
         <Grid Width="350" Height="150" Canvas.Left="1350" Canvas.Top="20"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
             <Grid.RowDefinitions>

+ 22 - 20
Venus/Venus_MainPages/Views/TMOperationView.xaml

@@ -395,7 +395,7 @@
             <TextBlock Text="ATM" Canvas.Left="464" Canvas.Top="474"/>
             <TextBlock Text="VAC" Canvas.Left="444" Canvas.Top="565"/>
 
-            <userControls:TextboxWithLabel  Canvas.Left="351" Canvas.Top="265" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding TMOutChamberPressure}" TextBoxColor="#D7E4BD"/>
+            <userControls:TextboxWithLabel  Canvas.Left="351" Canvas.Top="265" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding RtDataValues[TM.TMPressureCtrl.TMChamberSetPoint]}" TextBoxColor="#D7E4BD"/>
             
             <Border    BorderBrush="Gray"  BorderThickness="0"  Width="60" Height="6" Canvas.Left="445" Canvas.Top="524" >
                 <Border.Background>
@@ -472,7 +472,7 @@
 
             <userControls:TMChamber x:Name="PMA" ModuleName="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="Collapsed" IsEnabled="{Binding PMAIsInstalled}"/>
             <userControls:TMChamber x:Name="PMB" ModuleName="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="Collapsed" IsEnabled="{Binding PMBIsInstalled}"/>
-            <userControls:TMChamber x:Name="PMC" ModuleName="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="Collapsed" IsEnabled="{Binding PMCIsInstalled}"/>
+            <userControls:TMChamber x:Name="PMC" ModuleName="PMC" Canvas.Top="-37"  Canvas.Left="586" Width="140" Height="140" RotateTransformValue="29"   DoorIsOpen="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="Collapsed" IsEnabled="{Binding PMCIsInstalled}"/>
             <userControls:TMChamber x:Name="PMD" ModuleName="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="Collapsed" IsEnabled="{Binding PMDIsInstalled}"/>
         </Canvas>
         <customControls:CommonValveControl Status="{Binding TMSoftVentValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="440" Canvas.Top="284"  Tag="TMPurgeValve" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" IsCanEdit="True"/>
@@ -551,7 +551,9 @@
                         <customControls:PathButton Content="Home"              Width="110" Height="28" Margin="0,0,5,0"   Command="{Binding HomeCommand}" IsEnabled="{Binding Path=TMIsOFFline}"/>
                         <customControls:PathButton Content="Vent"              Width="110" Height="28" Margin="0 0 5 0"  IsEnabled="{Binding Path=TMIsOFFline}" Command="{Binding VentCommand}"/>
                         <customControls:PathButton Content="Pump"              Width="110" Height="28" Margin="0 0 0 0"  IsEnabled="{Binding Path=TMIsOFFline}" Command="{Binding PumpCommand}"/>
-                        <customControls:PathButton Content="Check Load"        Width="114" Height="28" Margin="5,0,0,0" Visibility="{Binding ElementName=tmRadioButton,Path=IsChecked,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding Path=TMIsOFFline}"/>
+                        <!--<customControls:PathButton Content="Check Load"        Width="114" Height="28" Margin="5,0,0,0" Visibility="{Binding ElementName=tmRadioButton,Path=IsChecked,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding Path=TMIsOFFline}"/>-->
+                        <customControls:PathButton Content="Control Pressure"              Width="150" Height="28" Margin="5 0 0 0"  IsEnabled="{Binding Path=TMIsOFFline}" Command="{Binding SetTMChamberPressureCommand}" Visibility="{Binding ElementName=tmRadioButton,Path=IsChecked,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <TextBox Text="{Binding TMChamberPressureSetPoint,UpdateSourceTrigger=PropertyChanged}" Width="60" Height="28" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Visibility="{Binding ElementName=tmRadioButton,Path=IsChecked,Converter={StaticResource bool2VisibilityConverter}}"/>
                         <customControls:PathButton Content="Abort"             Width="110"  Height="28" Margin="5,0,5,0" Command="{Binding AbortCommand}" IsEnabled="{Binding Path=TMIsOFFline}"/>
 
                     </StackPanel>
@@ -612,7 +614,7 @@
                                 </i:EventTrigger>
                             </i:Interaction.Triggers>
                         </RadioButton>
-                        <customControls:PathButton Content="Start"  Width="80" Height="28" VerticalAlignment="Center" Margin="0,-9,0,0" Command="{Binding PurgeCommand}"/>
+                        <customControls:PathButton Content="Start"  Width="80" Height="28" VerticalAlignment="Center" Margin="0,-9,0,0" Command="{Binding LeakCheckCommand}"/>
                     </WrapPanel>
                 </Border>
                 <!--<Border  Grid.Row="2" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >-->
@@ -727,52 +729,52 @@
                 <Border  Grid.Row="1" BorderBrush="{DynamicResource Table_BD}"  BorderThickness="1,0,1,1" >
                     <Canvas Background="{DynamicResource Table_BG_Content}" Margin="1" Height="260" Width="712">
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="10" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMA Door Open"                                             Canvas.Left="210" Canvas.Top="10" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMA.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMA.IsSlitDoorClosed]}" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMA Door Open"                                             Canvas.Left="210" Canvas.Top="10" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMA.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMA.IsSlitDoorClosed]}" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="10" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMA Door Closed"                                               Canvas.Left="410" Canvas.Top="10" Style="{StaticResource SysBtnStyle}" Command="{Binding DoorUpDownCommand}" CommandParameter="PMA.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMA Door Closed"                                               Canvas.Left="410" Canvas.Top="10" Style="{StaticResource SysBtnStyle}" Command="{Binding DoorUpDownCommand}" CommandParameter="PMA.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMB.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="40" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMB Door Open"                                               Canvas.Left="210" Canvas.Top="40" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMB.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMB.IsSlitDoorClosed]}" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMB Door Open"                                               Canvas.Left="210" Canvas.Top="40" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMB.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMB.IsSlitDoorClosed]}" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMB.IsSlitDoorClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="40" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMB Door Closed"                                               Canvas.Left="410" Canvas.Top="40" Style="{StaticResource SysBtnStyle}" Command="{Binding DoorUpDownCommand}" CommandParameter="PMB.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMB.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMB Door Closed"                                               Canvas.Left="410" Canvas.Top="40" Style="{StaticResource SysBtnStyle}" Command="{Binding DoorUpDownCommand}" CommandParameter="PMB.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMB.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="70" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMC Door Open"                                               Canvas.Left="210" Canvas.Top="70" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMC.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMC.IsSlitDoorClosed]}" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMC Door Open"                                               Canvas.Left="210" Canvas.Top="70" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMC.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMC.IsSlitDoorClosed]}" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="70" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMC Door Closed"                                               Canvas.Left="410" Canvas.Top="70" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMC.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMC Door Closed"                                               Canvas.Left="410" Canvas.Top="70" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMC.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="100" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMD Door Open"                                               Canvas.Left="210" Canvas.Top="100" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMD.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMD.IsSlitDoorClosed]}" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMD Door Open"                                               Canvas.Left="210" Canvas.Top="100" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMD.SlitDoor.Open" IsEnabled="{Binding RtDataValues[PMD.IsSlitDoorClosed]}" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="100" Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
-                        <Button Width="130" Height="25" Content="PMD Door Closed"                                               Canvas.Left="410" Canvas.Top="100" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMD.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                        <Button Width="140" Height="25" Content="PMD Door Closed"                                               Canvas.Left="410" Canvas.Top="100" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="PMD.SlitDoor.Close" IsEnabled="{Binding RtDataValues[PMD.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="130" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLATSlitDoor Open"                                               Canvas.Left="210" Canvas.Top="130" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLATSlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed]}" />
+                        <Button Width="140" Height="25" Content="LLA Inner Door Open"                                               Canvas.Left="210" Canvas.Top="130" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLATSlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed]}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="130" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLATSlitDoor Closed"                                               Canvas.Left="410" Canvas.Top="130" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLATSlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
+                        <Button Width="140" Height="25" Content="LLA Inner Door Closed"                                               Canvas.Left="410" Canvas.Top="130" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLATSlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="160" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLAESlitDoor Open"                                               Canvas.Left="210" Canvas.Top="160" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLAESlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed]}" />
+                        <Button Width="140" Height="25" Content="LLA Outer Door Open"                                               Canvas.Left="210" Canvas.Top="160" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLAESlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed]}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="160" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLAESlitDoor Closed"                                               Canvas.Left="410" Canvas.Top="160" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLAESlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
+                        <Button Width="140" Height="25" Content="LLA Outer Door Closed"                                               Canvas.Left="410" Canvas.Top="160" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLAESlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="190" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLBTSlitDoor Open"                                               Canvas.Left="210" Canvas.Top="190" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBTSlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed]}" />
+                        <Button Width="140" Height="25" Content="LLB Inner Door Open"                                               Canvas.Left="210" Canvas.Top="190" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBTSlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed]}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="190" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLBTSlitDoor Closed"                                               Canvas.Left="410" Canvas.Top="190" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBTSlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
+                        <Button Width="140" Height="25" Content="LLB Inner Door Closed"                                               Canvas.Left="410" Canvas.Top="190" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBTSlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="180" Canvas.Top="220" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLBESlitDoor Open"                                               Canvas.Left="210" Canvas.Top="220" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBESlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed]}" />
+                        <Button Width="140" Height="25" Content="LLB Outer Door Open"                                               Canvas.Left="210" Canvas.Top="220" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBESlitDoor.Open" IsEnabled="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed]}" />
 
                         <Ellipse Width="22" Height="22" Fill="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource boolToColor}}"  Canvas.Left="380" Canvas.Top="220" Stroke="Silver" StrokeThickness="2" />
-                        <Button Width="130" Height="25" Content="LLBESlitDoor Closed"                                               Canvas.Left="410" Canvas.Top="220" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBESlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
+                        <Button Width="140" Height="25" Content="LLB Outer Door Closed"                                               Canvas.Left="410" Canvas.Top="220" Style="{StaticResource SysBtnStyle}"  Command="{Binding DoorUpDownCommand}" CommandParameter="TM.LLBESlitDoor.Close" IsEnabled="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" />
 
 
                     </Canvas>

+ 1 - 1
Venus/Venus_MainPages/Views/TMView.xaml

@@ -238,7 +238,7 @@
 
                     <userControls:TMChamber x:Name="PMA" ModuleName="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 x:Name="PMB" ModuleName="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 x:Name="PMC" ModuleName="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 x:Name="PMC" ModuleName="PMC" Canvas.Top="-37"  Canvas.Left="586" Width="140" Height="140" RotateTransformValue="29"   DoorIsOpen="{Binding RtDataValues[PMC.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMCIsInstalled}"/>
                     <userControls:TMChamber x:Name="PMD" ModuleName="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}"/>
                 </Canvas>
             </Viewbox>

+ 0 - 559
Venus/Venus_RT/Config/Interlock.xml

@@ -1,559 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Interlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  
-	<!--PMA-->
-  <Action do="PMA.DO_PVN21" value="true" tip="PVN21" tip.zh-CN=""  tip.en-US="DO-0" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PVN22"  value="true" tip="PVN22" tip.zh-CN="" tip.en-US="DO-1" >
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"          tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-  
-  <Action do="PMA.DO_PV11" value="true" tip="PV11" tip.zh-CN="" tip.en-US="DO-2" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"            tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"   tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"          tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PV12" value="true" tip="PV12" tip.zh-CN="" tip.en-US="DO-3" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PV21" value="true" tip="PV21" tip.zh-CN="" tip.en-US="DO-4" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"            tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"   tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"          tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PV22" value="true" tip="PV22" tip.zh-CN="" tip.en-US="DO-5" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-  
-  <Action do="PMA.DO_PV31" value="true" tip="PV31" tip.zh-CN="" tip.en-US="DO-6" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PV32" value="true" tip="PV32" tip.zh-CN="" tip.en-US="DO-7" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PV41" value="true" tip="PV41" tip.zh-CN="" tip.en-US="DO-8" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-  
-  <Action do="PMA.DO_PV42" value="true" tip="PV42" tip.zh-CN="" tip.en-US="DO-9" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_N2_Valve" value="true" tip="N2" tip.zh-CN="" tip.en-US="DO-10" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	<Limit do="PMA.DO_Soft_Pumping_Valve"	value="false" tip="DO Soft Pumping Valve"	tip.zh-CN="" tip.en-US="DO-22" />
-	<Limit do="PMA.DO_Fast_Pumping_Valve"	value="false" tip="DO Fast Pumping Valve"	tip.zh-CN="" tip.en-US="DO-23" />
-  </Action>
-
-  <Action do="PMA.DO_MFC1_Valve" value="true" tip="MFC1 Valve" tip.zh-CN="" tip.en-US="DO-11" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC2_Valve" value="true" tip="MFC2 Valve" tip.zh-CN="" tip.en-US="DO-12" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC3_Valve" value="true" tip="MFC3 Valve" tip.zh-CN="" tip.en-US="DO-13" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC4_Valve" value="true" tip="MFC4 Valve" tip.zh-CN="" tip.en-US="DO-14" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC5_Valve" value="true" tip="MFC5 Valve" tip.zh-CN="" tip.en-US="DO-15" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC6_Valve" value="true" tip="MFC6 Valve" tip.zh-CN="" tip.en-US="DO-16" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC7_Valve" value="true" tip="MFC7 Valve" tip.zh-CN="" tip.en-US="DO-17" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_MFC8_Valve" value="true" tip="MFC8 Valve" tip.zh-CN="" tip.en-US="DO-18" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PVHe1" value="true" tip="PVHe1" tip.zh-CN="" tip.en-US="DO-19" >
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_PVHe2" value="true" tip="PVHe2" tip.zh-CN="" tip.en-US="DO-20" >
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-	<Limit di="PMA.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-  </Action>
-
-  <Action do="PMA.DO_Gas_Final_Valve" value="true" tip="Gas Final Valve" tip.zh-CN=""	tip.en-US="DO-21" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI PM Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-  </Action>
-
-  <Action do="PMA.DO_Soft_Pumping_Valve" value="true" tip="Soft Pumping Valve" tip.zh-CN="" tip.en-US="DO-22" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI PM Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit do="PMA.DO_N2_Valve"				value="false" tip="DO N2 Valve"				tip.zh-CN="" tip.en-US="DO-10" />
-  </Action>
-
-  <Action do="PMA.DO_Fast_Pumping_Valve" value="true" tip="Fast Pumping Valve" tip.zh-CN="" tip.en-US="DO-23" >
-	<Limit di="PMA.DI_PM_Lid_Closed"		value="true" tip="DI PM Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit do="PMA.DO_N2_Valve"				value="false" tip="DO N2 Valve"				tip.zh-CN="" tip.en-US="DO-10" />
-  </Action>
-
-  <Action do="PMA.DO_Slit_Door_Open" value="true" tip="Slit Door Open" tip.zh-CN="" tip.en-US="DO-24" >
-	<Limit di="PMA.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-	<Limit di="PMA.DI_Loadlock_Arm_Retract_POS"	value="true" tip="DI Loadlock Arm Retract POS"	tip.zh-CN="" tip.en-US="DI-47" />
-  </Action>
-
-  <Action do="PMA.DO_Slit_Door_Close" value="true" tip="Slit Door Close" tip.zh-CN="" tip.en-US="DO-25" >
-	<Limit di="PMA.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-	<Limit di="PMA.DI_Loadlock_Arm_Retract_POS"	value="true" tip="DI Loadlock Arm Retract POS"	tip.zh-CN="" tip.en-US="DI-47" />
-  </Action>
-
-	
-  <Action do="PMA.DO_Lift_Pin_Up" value="true" tip="Lift Pin Up" tip.zh-CN="" tip.en-US="DO-26" >
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-  </Action>
-
-  <Action do="PMA.DO_Lift_Pin_Down" value="true" tip="Lift Pin Down" tip.zh-CN="" tip.en-US="DO-27" >
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-  </Action>
-
-  <Action do="PMA.DO_Turbo_Pump_Pumping_Valve" value="true" tip="Turbo Pump Pumping Valve" tip.zh-CN="" tip.en-US="DO-29" >
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-  </Action>
-
-  <Action do="PMA.DO_Turbo_Pump_Purge_Valve" value="true" tip="Turbo Pump Purge Valve" tip.zh-CN="" tip.en-US="DO-30" >
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-
-  </Action>
-
-  <Action do="PMA.DO_Guage_Valve" value="true" tip="Guage Valve" tip.zh-CN="" tip.en-US="DO-31" >
-	<Limit di="PMA.DI_PM_VAC_SW"				value="true" tip="DI PM Vacuum SW"				tip.zh-CN="" tip.en-US="DI-2" />
-	<Limit di="PMA.DI_Slit_Door_Close_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-11" />
-  </Action>
-
-  <Action do="PMA.DO_CHB_Wall_Heater_On" value="true" tip="Chamber Wall Heater On" tip.zh-CN="" tip.en-US="DO-35" >
-	<Limit di="PMA.DI_CHB_Wall_OT_SW_Alarm" value="false" tip="DI Chamber Wall OT Alarm" tip.zh-CN="" tip.en-US="DI-32" />
-  </Action>
-
-  <Action do="PMA.DO_Loadlock_Pumping_Valve" value="true" tip="Loadlock Pumping Valve" tip.zh-CN="" tip.en-US="DO-42" >
-	<Limit di="PMA.DI_Slit_Door_Close_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-	<Limit do="PMA.DO_Loadlock_Vent_Valve"		value="false" tip="DO Loadlock Vent Valve"		tip.zh-CN="" tip.en-US="DO-43" />
-  </Action>
-
-  <Action do="PMA.DO_Loadlock_Vent_Valve" value="true" tip="Loadlock Vent Valve" tip.zh-CN="" tip.en-US="DO-43" >
-	<Limit di="PMA.DI_Slit_Door_Close_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-11" />
-	<Limit di="PMA.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	<Limit di="PMA.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-	<Limit do="PMA.DO_Loadlock_Pumping_Valve"	value="false" tip="DO Loadlock Pumping Valve"	tip.zh-CN="" tip.en-US="DO-42" />
-  </Action>
-
-  <Action do="PMA.DO_Loadlock_Arm_Extend" value="true" tip="Loadlock Arm Extend" tip.zh-CN="" tip.en-US="DO-44" >
-	<Limit di="PMA.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Open_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-10" />
-	<Limit di="PMA.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-  </Action>
-	
-  <Action do="PMA.DO_Loadlock_Arm_Retract" value="true" tip="Loadlock Arm Retract" tip.zh-CN="" tip.en-US="DO-45" >
-	<Limit di="PMA.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-	<Limit di="PMA.DI_Slit_Door_Open_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-10" />
-	<Limit di="PMA.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-  </Action>
-
-	<!--PMB-->
-	<!--<Action do="PMB.DO_PVN21" value="true" tip="PVN21" tip.zh-CN=""  tip.en-US="DO-0" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PVN22"  value="true" tip="PVN22" tip.zh-CN="" tip.en-US="DO-1" >
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"          tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV11" value="true" tip="PV11" tip.zh-CN="" tip.en-US="DO-2" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"            tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"   tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"          tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV12" value="true" tip="PV12" tip.zh-CN="" tip.en-US="DO-3" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV21" value="true" tip="PV21" tip.zh-CN="" tip.en-US="DO-4" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"            tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"   tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"          tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV22" value="true" tip="PV22" tip.zh-CN="" tip.en-US="DO-5" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV31" value="true" tip="PV31" tip.zh-CN="" tip.en-US="DO-6" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV32" value="true" tip="PV32" tip.zh-CN="" tip.en-US="DO-7" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV41" value="true" tip="PV41" tip.zh-CN="" tip.en-US="DO-8" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PV42" value="true" tip="PV42" tip.zh-CN="" tip.en-US="DO-9" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_N2_Valve" value="true" tip="N2" tip.zh-CN="" tip.en-US="DO-10" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-		<Limit do="PMB.DO_Soft_Pumping_Valve"	value="false" tip="DO Soft Pumping Valve"	tip.zh-CN="" tip.en-US="DO-22" />
-		<Limit do="PMB.DO_Fast_Pumping_Valve"	value="false" tip="DO Fast Pumping Valve"	tip.zh-CN="" tip.en-US="DO-23" />
-	</Action>
-
-	<Action do="PMB.DO_MFC1_Valve" value="true" tip="MFC1 Valve" tip.zh-CN="" tip.en-US="DO-11" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC2_Valve" value="true" tip="MFC2 Valve" tip.zh-CN="" tip.en-US="DO-12" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC3_Valve" value="true" tip="MFC3 Valve" tip.zh-CN="" tip.en-US="DO-13" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC4_Valve" value="true" tip="MFC4 Valve" tip.zh-CN="" tip.en-US="DO-14" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC5_Valve" value="true" tip="MFC5 Valve" tip.zh-CN="" tip.en-US="DO-15" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC6_Valve" value="true" tip="MFC6 Valve" tip.zh-CN="" tip.en-US="DO-16" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC7_Valve" value="true" tip="MFC7 Valve" tip.zh-CN="" tip.en-US="DO-17" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_MFC8_Valve" value="true" tip="MFC8 Valve" tip.zh-CN="" tip.en-US="DO-18" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PVHe1" value="true" tip="PVHe1" tip.zh-CN="" tip.en-US="DO-19" >
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_PVHe2" value="true" tip="PVHe2" tip.zh-CN="" tip.en-US="DO-20" >
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Gas_Box_Door_SW"		value="true" tip="DI Gas Box Door SW"		tip.zh-CN="" tip.en-US="DI-51" />
-		<Limit di="PMB.DI_Gas_Box_Pressure_SW"	value="true" tip="DI Gas Box Pressure SW"	tip.zh-CN="" tip.en-US="DI-52" />
-	</Action>
-
-	<Action do="PMB.DO_Gas_Final_Valve" value="true" tip="Gas Final Valve" tip.zh-CN=""	tip.en-US="DO-21" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI PM Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-	</Action>
-
-	<Action do="PMB.DO_Soft_Pumping_Valve" value="true" tip="Soft Pumping Valve" tip.zh-CN="" tip.en-US="DO-22" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI PM Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit do="PMB.DO_N2_Valve"				value="false" tip="DO N2 Valve"				tip.zh-CN="" tip.en-US="DO-10" />
-	</Action>
-
-	<Action do="PMB.DO_Fast_Pumping_Valve" value="true" tip="Fast Pumping Valve" tip.zh-CN="" tip.en-US="DO-23" >
-		<Limit di="PMB.DI_PM_Lid_Closed"		value="true" tip="DI PM Lid Closed"			tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"	value="true" tip="DI Slit Door Close POS"	tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"			value="true" tip="DI CDA Pressure"			tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit do="PMB.DO_N2_Valve"				value="false" tip="DO N2 Valve"				tip.zh-CN="" tip.en-US="DO-10" />
-	</Action>
-
-	<Action do="PMB.DO_Slit_Door_Open" value="true" tip="Slit Door Open" tip.zh-CN="" tip.en-US="DO-24" >
-		<Limit di="PMB.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-		<Limit di="PMB.DI_Loadlock_Arm_Retract_POS"	value="true" tip="DI Loadlock Arm Retract POS"	tip.zh-CN="" tip.en-US="DI-47" />
-	</Action>
-
-	<Action do="PMB.DO_Slit_Door_Close" value="true" tip="Slit Door Close" tip.zh-CN="" tip.en-US="DO-25" >
-		<Limit di="PMB.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-		<Limit di="PMB.DI_Loadlock_Arm_Retract_POS"	value="true" tip="DI Loadlock Arm Retract POS"	tip.zh-CN="" tip.en-US="DI-47" />
-	</Action>
-
-
-	<Action do="PMB.DO_Lift_Pin_Up" value="true" tip="Lift Pin Up" tip.zh-CN="" tip.en-US="DO-26" >
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	</Action>
-
-	<Action do="PMB.DO_Lift_Pin_Down" value="true" tip="Lift Pin Down" tip.zh-CN="" tip.en-US="DO-27" >
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	</Action>
-
-	<Action do="PMB.DO_Turbo_Pump_Pumping_Valve" value="true" tip="Turbo Pump Pumping Valve" tip.zh-CN="" tip.en-US="DO-29" >
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-	</Action>
-
-	<Action do="PMB.DO_Turbo_Pump_Purge_Valve" value="true" tip="Turbo Pump Purge Valve" tip.zh-CN="" tip.en-US="DO-30" >
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-
-	</Action>
-
-	<Action do="PMB.DO_Guage_Valve" value="true" tip="Guage Valve" tip.zh-CN="" tip.en-US="DO-31" >
-		<Limit di="PMB.DI_PM_VAC_SW"				value="true" tip="DI PM Vacuum SW"				tip.zh-CN="" tip.en-US="DI-2" />
-		<Limit di="PMB.DI_Slit_Door_Close_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-11" />
-	</Action>
-
-	<Action do="PMB.DO_CHB_Wall_Heater_On" value="true" tip="Chamber Wall Heater On" tip.zh-CN="" tip.en-US="DO-35" >
-		<Limit di="PMB.DI_CHB_Wall_OT_SW_Alarm" value="false" tip="DI Chamber Wall OT Alarm" tip.zh-CN="" tip.en-US="DI-32" />
-	</Action>
-
-	<Action do="PMB.DO_Loadlock_Pumping_Valve" value="true" tip="Loadlock Pumping Valve" tip.zh-CN="" tip.en-US="DO-42" >
-		<Limit di="PMB.DI_Slit_Door_Close_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-		<Limit do="PMB.DO_Loadlock_Vent_Valve"		value="false" tip="DO Loadlock Vent Valve"		tip.zh-CN="" tip.en-US="DO-43" />
-	</Action>
-
-	<Action do="PMB.DO_Loadlock_Vent_Valve" value="true" tip="Loadlock Vent Valve" tip.zh-CN="" tip.en-US="DO-43" >
-		<Limit di="PMB.DI_Slit_Door_Close_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-11" />
-		<Limit di="PMB.DI_CDA_Pressure"				value="true" tip="DI CDA Pressure"				tip.zh-CN="" tip.en-US="DI-12" />
-		<Limit di="PMB.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-		<Limit do="PMB.DO_Loadlock_Pumping_Valve"	value="false" tip="DO Loadlock Pumping Valve"	tip.zh-CN="" tip.en-US="DO-42" />
-	</Action>
-
-	<Action do="PMB.DO_Loadlock_Arm_Extend" value="true" tip="Loadlock Arm Extend" tip.zh-CN="" tip.en-US="DO-44" >
-		<Limit di="PMB.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Open_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-10" />
-		<Limit di="PMB.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-	</Action>
-
-	<Action do="PMB.DO_Loadlock_Arm_Retract" value="true" tip="Loadlock Arm Retract" tip.zh-CN="" tip.en-US="DO-45" >
-		<Limit di="PMB.DI_PM_Lid_Closed"			value="true" tip="DI PM Lid Closed"				tip.zh-CN="" tip.en-US="DI-0" />
-		<Limit di="PMB.DI_Slit_Door_Open_POS"		value="true" tip="DI Slit Door Close POS"		tip.zh-CN="" tip.en-US="DI-10" />
-		<Limit di="PMB.DI_Loadlock_Lid_Closed"		value="true" tip="DI Loadlock Lid Closed"		tip.zh-CN="" tip.en-US="DI-45" />
-	</Action>-->
-	
-   <!--TM-->
-	<Action do="TM.DO_LLA_Slit_Door_E_Open"					value="true" tip="Loadlock A EFEM Side Door Open"	tip.zh-CN="" tip.en-US="DO-11" >
-		<Limit di="TM.DI_LLA_T_Slit_Door_close_Position"	value="true" tip="LLA TM Side Door Closed"			tip.zh-CN="" tip.en-US="DI-25" />
-		<Limit di="TM.DI_LLA_Lid_Door_Closed"				value="true" tip="LLA Lid Closed"					tip.zh-CN="" tip.en-US="DI-26" />
-		<Limit di="TM.DI_EFEM_RB_Not_Extend_LLA"			value="true" tip="EFEM Robot Net Extend to LLA"		tip.zh-CN="" tip.en-US="DI-11" />
-	</Action>
-	
-	<Action do="TM.DO_LLA_Slit_Door_E_Close"				value="true" tip="Loadlock A EFEM Side Door Close"	tip.zh-CN="" tip.en-US="DO-12" >
-		<Limit di="TM.DI_LLA_Lid_Door_Closed"				value="true" tip="LLA Lid Closed"					tip.zh-CN="" tip.en-US="DI-26" />
-		<Limit di="TM.DI_EFEM_RB_Not_Extend_LLA"			value="true" tip="EFEM Robot Net Extend to LLA"		tip.zh-CN="" tip.en-US="DI-11" />
-	</Action>
-	
-	<Action do="TM.DO_LLB_Slit_Door_E_Open"					value="true" tip="Loadlock B EFEM Side Door Open"	tip.zh-CN="" tip.en-US="DO-21" >
-		<Limit di="TM.DI_LLB_T_Slit_Door_close_Position"	value="true" tip="LLB TM Side Door Closed"			tip.zh-CN="" tip.en-US="DI-30" />
-		<Limit di="TM.DI_LLB_Lid_Door_Closed"				value="true" tip="LLB Lid Closed"					tip.zh-CN="" tip.en-US="DI-31" />
-		<Limit di="TM.DI_EFEM_RB_Not_Extend_LLB"			value="true" tip="EFEM Robot Net Extend to LLB"		tip.zh-CN="" tip.en-US="DI-12" />
-	</Action>
-	
-	<Action do="TM.DO_LLB_Slit_Door_E_Close"				value="true" tip="Loadlock B EFEM Side Door Close"	tip.zh-CN="" tip.en-US="DO-12" >
-		<Limit di="TM.DI_LLB_Lid_Door_Closed"				value="true" tip="LLB Lid Closed"					tip.zh-CN="" tip.en-US="DI-31" />
-		<Limit di="TM.DI_EFEM_RB_Not_Extend_LLB"			value="true" tip="EFEM Robot Net Extend to LLB"		tip.zh-CN="" tip.en-US="DI-12" />
-	</Action>
-
-	<Action do="TM.DO_LLA_Slit_Door_T_Open"					value="true" tip="Loadlock A TM Side Door Open"		tip.zh-CN="" tip.en-US="DO-13" >
-		<Limit di="TM.DI_TM_RB_Not_Extend_LLA"				value="true" tip="TM Robot Net Extend to LLA"		tip.zh-CN="" tip.en-US="DI-8" />
-		<Limit di="TM.DI_LLA_E_Slit_Door_close_Position"	value="true" tip="LLA EFEM Side Door Closed"		tip.zh-CN="" tip.en-US="DI-23" />
-		<Limit di="TM.DI_LLA_Lid_Door_Closed"				value="true" tip="LLA Lid Closed"					tip.zh-CN="" tip.en-US="DI-26" />
-		<Limit di="TM.DI_EFEM_Side_Door_Closed"				value="true" tip="EFEM Side Panel Closed"			tip.zh-CN="" tip.en-US="DI-13" />
-	</Action>
-	
-	<Action do="TM.DO_LLA_Slit_Door_T_Close"				value="true" tip="Loadlock A TM Side Door Close"	tip.zh-CN="" tip.en-US="DO-14" >
-		<Limit di="TM.DI_TM_RB_Not_Extend_LLA"				value="true" tip="TM Robot Net Extend to LLA"		tip.zh-CN="" tip.en-US="DI-8" />
-		<Limit di="TM.DI_LLA_Lid_Door_Closed"				value="true" tip="LLA Lid Closed"					tip.zh-CN="" tip.en-US="DI-26" />
-		<Limit di="TM.DI_EFEM_Side_Door_Closed"				value="true" tip="EFEM Side Panel Closed"			tip.zh-CN="" tip.en-US="DI-13" />
-	</Action>
-	
-	<Action do="TM.DO_LLB_Slit_Door_T_Open"					value="true" tip="Loadlock B TM Side Door Open"		tip.zh-CN="" tip.en-US="DO-23" >
-		<Limit di="TM.DI_TM_RB_Not_Extend_LLB"				value="true" tip="TM Robot Net Extend to LLB"		tip.zh-CN="" tip.en-US="DI-9" />
-		<Limit di="TM.DI_LLB_E_Slit_Door_close_Position"	value="true" tip="LLB EFEM Side Door Closed"		tip.zh-CN="" tip.en-US="DI-28" />
-		<Limit di="TM.DI_LLB_Lid_Door_Closed"				value="true" tip="LLB Lid Closed"					tip.zh-CN="" tip.en-US="DI-31" />
-		<Limit di="TM.DI_EFEM_Side_Door_Closed"				value="true" tip="EFEM Side Panel Closed"			tip.zh-CN="" tip.en-US="DI-13" />
-	</Action>
-	
-	<Action do="TM.DO_LLB_Slit_Door_T_Close"				value="true" tip="Loadlock B TM Side Door Close"	tip.zh-CN="" tip.en-US="DO-24" >
-		<Limit di="TM.DI_TM_RB_Not_Extend_LLB"				value="true" tip="TM Robot Net Extend to LLB"		tip.zh-CN="" tip.en-US="DI-9" />
-		<Limit di="TM.DI_LLB_Lid_Door_Closed"				value="true" tip="LLB Lid Closed"					tip.zh-CN="" tip.en-US="DI-31" />
-		<Limit di="TM.DI_EFEM_Side_Door_Closed"				value="true" tip="EFEM Side Panel Closed"			tip.zh-CN="" tip.en-US="DI-13" />
-	</Action>
-	
-</Interlock>

+ 1 - 1
Venus/Venus_RT/Config/IoProviderConfig.xml

@@ -70,7 +70,7 @@
 	</IoProvider>
 	
 
-	<IoProvider load_condition="0" module="TM" name="PLC" map_module="TM" map_file="_ioDefineVenus_MF.xml" class="MECF.Framework.RT.Core.IoProviders.MCProtocolPlc" assembly="MECF.Framework.RT.Core">
+	<IoProvider load_condition="0" module="TM" name="PLC" map_module="TM" map_file="TM\\_ioDefineVenus_MF.xml" class="MECF.Framework.RT.Core.IoProviders.MCProtocolPlc" assembly="MECF.Framework.RT.Core">
 		<Parameter ip="127.0.0.1" port="6831" network_id="1" station_id="1"></Parameter>
 		<Blocks>
 			<Block type="di" offset="0" size="640" value_type=""></Block>

+ 0 - 2
Venus/Venus_RT/Config/SequenceFormat.xml

@@ -51,8 +51,6 @@
       <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"  />-->

+ 4 - 2
Venus/Venus_RT/Config/System.sccfg

@@ -16,8 +16,7 @@
 		<config default="100" name="PMLLMaxPressureDifference" nameView="Max PM/LL Pressure difference for open slit valve" description="" max="500" min="20" paramter="" tag="" unit="mtorr" type="Double" />
 		<config default="100" name="TMLLMaxPressureDifference" nameView="Max TM/LL Pressure difference for open slit valve" description="" max="500" min="20" paramter="" tag="" unit="mtorr" type="Double" />
 		<config default="LLA,PMA" name="InstalledModules" description="安装的模块" max="" min="" paramter="" tag="" unit="" visible="false" type="String" />
-		<config default="2" name="MaxInternalWaferCount" nameView="Max Internal wafer count" description="系统可允许进入的wafer数" max="8" min="1" paramter="" tag="" unit="" visible="true" type="Integer" />
-		<config default="100" name="TurboN2FlowSetPoint" nameView="TurboN2SetPoint" description="" max="200" min="0" paramter="" tag="" unit="mtorr" type="Double" />
+		<config default="2" name="MaxInternalWaferCount" nameView="Max Internal wafer count" description="系统可允许进入的wafer数" max="8" min="1" paramter="" tag="" unit="" visible="true" type="Integer" />		
 		<config default="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000" name="COMLogFlag" description="Flag for print COM data log" max="" min="" paramter="" tag="" unit="" visible="false" type="String" />
 
 		<!--FA-->
@@ -209,6 +208,7 @@
 	<!--PMA-->
 	<configs name="PMA" nameView="PMA" >
 		<config default="0" name="ChamberType"  nameView="Chamber Type" description="0=>Venus,1=>Kepler2300,2=>Kepler2200A,3=>Kepler2200B" max="3" min="0" paramter="" tag=""  unit="" type="Integer" visible="false"/>
+		<config default="100" name="TurboN2FlowSetPoint" nameView="TurboN2SetPoint" description="" max="200" min="0" paramter="" tag="" unit="mtorr" type="Double" />
 		<config default="120" name="PrepareTransferTimeout" nameView="Prepare Transfer Timeout" description="prepare transfer time out" max="99999" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="120" name="TransferWaferTimeout" nameView="Transfer Wafer Timeout" description="Transfer Wafer Timeout" max="99999" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="1" name="OpenGasValveTimeout" nameView="Open Gas Valve Timeout" description="开阀超时" max="60" min="0" paramter="" tag="" unit="second" type="Integer" />
@@ -674,6 +674,7 @@
 	<!--PMB-->
 	<configs name="PMB" nameView="PMB" >
 		<config default="1" name="ChamberType"  nameView="Chamber Type" description="0=>Venus,1=>Kepler2300,2=>Kepler2200A,3=>Kepler2200B" max="3" min="0" paramter="" tag=""  unit="" type="Integer" visible="false"/>
+		<config default="100" name="TurboN2FlowSetPoint" nameView="TurboN2SetPoint" description="" max="200" min="0" paramter="" tag="" unit="mtorr" type="Double" />
 		<config default="120" name="PrepareTransferTimeout" nameView="Prepare Transfer Timeout" description="prepare transfer time out" max="99999" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="120" name="TransferWaferTimeout" nameView="Transfer Wafer Timeout" description="Transfer Wafer Timeout" max="99999" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="1" name="OpenGasValveTimeout" nameView="Open Gas Valve Timeout" description="开阀超时" max="60" min="0" paramter="" tag="" unit="second" type="Integer" />
@@ -1123,6 +1124,7 @@
 	<!--PMC-->
 	<configs name="PMC" nameView="PMC" >
 		<config default="2" name="ChamberType"  nameView="Chamber Type" description="0=>Venus,1=>Kepler2300,2=>Kepler2200A,3=>Kepler2200B" max="3" min="0" paramter="" tag=""  unit="" type="Integer" visible="false"/>
+		<config default="100" name="TurboN2FlowSetPoint" nameView="TurboN2SetPoint" description="" max="200" min="0" paramter="" tag="" unit="mtorr" type="Double" />
 		<config default="120" name="PrepareTransferTimeout" nameView="Prepare Transfer Timeout" description="prepare transfer time out" max="99999" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="120" name="TransferWaferTimeout" nameView="Transfer Wafer Timeout" description="Transfer Wafer Timeout" max="99999" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="1" name="OpenGasValveTimeout" nameView="Open Gas Valve Timeout" description="开阀超时" max="60" min="0" paramter="" tag="" unit="second" type="Integer" />

Venus/Venus_RT/Config/DeviceModelVenus_MF.xml → Venus/Venus_RT/Config/TM/DeviceModelVenus_MF.xml


Venus/Venus_RT/Config/_ioDefineVenus_MF.xml → Venus/Venus_RT/Config/TM/_ioDefineVenus_MF.xml


+ 1 - 1
Venus/Venus_RT/Devices/DeviceManager.cs

@@ -42,7 +42,7 @@ namespace Venus_RT.Instances
             //        break;
             //}
           
-            device_model_file_MF = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config\\", RtInstance.DeviceModelFileName_MF);
+            device_model_file_MF = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config\\","TM", RtInstance.DeviceModelFileName_MF);
         }
 
         public override bool Initialize()

+ 4 - 0
Venus/Venus_RT/Devices/IODevices/IoTMPressureCtl.cs

@@ -10,6 +10,7 @@ using Aitex.Core.RT.Tolerance;
 using Aitex.Core.Util;
 using Venus_RT.Devices.IODevices;
 using Aitex.Core.RT.Log;
+using Aitex.Core.RT.DataCenter;
 
 namespace Venus_RT.Devices
 {
@@ -58,12 +59,15 @@ namespace Venus_RT.Devices
 
         public bool Initialize()
         {
+            DATA.Subscribe($"{Module}.{Name}.TMChamberSetPoint", () => _GetRealFloat(_aoMFPressureSP));
             return true;
         }
 
         public void SetTMPressure(float pressure)
         {
             _SetRealFloat(_aoMFPressureSP, pressure);
+
+            
         }
 
         public void Terminate()

+ 2 - 0
Venus/Venus_RT/Modules/LLs/LLEntity.cs

@@ -117,6 +117,8 @@ namespace Venus_RT.Modules
             OP.Subscribe($"{Module}.{RtOperation.Vent}", (cmd, args) => CheckToPostMessage((int)MSG.Vent));
             OP.Subscribe($"{Module}.{RtOperation.Purge}", (cmd, args) => CheckToPostMessage((int)MSG.Purge));
             OP.Subscribe($"{Module}.{RtOperation.Abort}", (cmd, args) => CheckToPostMessage((int)MSG.Abort));
+            OP.Subscribe($"{Module}.{RtOperation.LeakCheck}", (cmd, args) => CheckToPostMessage((int)MSG.LeakCheck));
+
 
 
             DATA.Subscribe($"{Module}.FsmState", () => (((STATE)fsm.State).ToString()));

+ 1 - 1
Venus/Venus_RT/Modules/TM/MFLeakCheckRoutine.cs

@@ -55,7 +55,7 @@ namespace Venus_RT.Modules.TM
                 _CrossingPressure = SC.GetValue<double>($"{Module}.PumpCrossingPressure");
                 _leakcheckPumpTime = SC.GetValue<int>($"{Module}.LeakCheckPumpTime");
                 _leakcheckWaitTime = SC.GetValue<int>($"{Module}.LeakCheckWaitTime");
-                _leakRate = SC.GetValue<double>($"{Module}.Pump.LeakRate");
+                _leakRate = SC.GetValue<double>($"{Module}.LeakRate");
 
                 return Runner.Start(Module, Name);
             }

+ 2 - 5
Venus/Venus_RT/Venus_RT.csproj

@@ -274,7 +274,7 @@
     <Content Include="Config\PM\Kepler2300\Kepler2300DeviceModel.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-    <Content Include="Config\DeviceModelVenus_MF.xml">
+    <Content Include="Config\TM\DeviceModelVenus_MF.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
     <Content Include="Config\PM\Kepler2300\Kepler2300Interlock.xml">
@@ -289,7 +289,7 @@
     <Content Include="Config\TM\TMInterlock.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-    <Content Include="Config\_ioDefineVenus_MF.xml">
+    <Content Include="Config\TM\_ioDefineVenus_MF.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
     <Resource Include="RT2.ico" />
@@ -310,9 +310,6 @@
     <Content Include="Config\PM\Venus\VenusDeviceModel.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-    <Content Include="Config\Interlock.xml">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
     <Content Include="Config\SignalTower.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>

+ 1 - 1
Venus/Venus_Themes/Themes/Generic.xaml

@@ -1070,7 +1070,7 @@
         <Setter Property="BorderThickness" Value="1" />
         <Setter Property="MouseOverBrush" Value="#1b315e"/>
         <Setter Property="IsPressedBrush" Value="#009ad6"/>
-        <Setter Property="Focusable" Value="False"/>
+        <!--<Setter Property="Focusable" Value="False"/>-->
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="{x:Type customControls:PathButton}">

+ 1 - 1
Venus/Venus_Themes/UserControls/TMChamber.xaml

@@ -43,7 +43,7 @@
 
             <Canvas Width="200" Height="200" Grid.Row="1">
                 <TextBlock Text="{Binding ElementName=tmChamber,Path=Name}" Canvas.Top="-50" Canvas.Left="65" FontSize="30" Visibility="{Binding ElementName=tmChamber,Path=PMVisibility}"/>
-                <Polygon Stroke="Black"  StrokeThickness="2" Points="00,200 0,0 200,0 200,200" Visibility="{Binding ElementName=tmChamber,Path=PMVisibility}">
+                <Polygon Stroke="Black"  StrokeThickness="2" Points="00,200 0,3 3,0 197,0 200,3 200,200" Visibility="{Binding ElementName=tmChamber,Path=PMVisibility}">
                     <Polygon.Fill>
                         <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                             <GradientStop Color="Silver" Offset="0.0" />

+ 17 - 0
Venus/Venus_UI/Views/ShellView.xaml.cs

@@ -94,6 +94,23 @@ namespace Venus_UI.Views
                 aduRadioButtonIcon.Tag = index;
                 index += 1;
                 Bottom_Frame.Children.Add(aduRadioButtonIcon);
+                //if (VenusMenu[i].Id == "PMC")
+                //{
+                //    AduRadioButtonIcon aduRadioButtonIcon2 = new AduRadioButtonIcon();
+                   
+                //    IconElement.SetPathData(aduRadioButtonIcon2, (Geometry)aduRadioButtonIcon.FindResource($"Icon_{VenusMenu[i].Id}"));
+                //    aduRadioButtonIcon2.Content = "PMD";
+                //    //aduRadioButtonIcon2.Click += AduRadioButtonIcon_Click;
+                //    aduRadioButtonIcon2.SelectBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#6AD7FF"));
+                //    aduRadioButtonIcon2.SelectColor = new SolidColorBrush((Colors.Black));
+                //    aduRadioButtonIcon2.DefaultBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#94BCD7"));
+                //    //aduRadioButtonIcon.DefaultBackground = new SolidColorBrush(Colors.DarkGray);
+
+
+                //    aduRadioButtonIcon2.Width = 180;
+                //    aduRadioButtonIcon2.Height = 40;
+                //    Bottom_Frame.Children.Add(aduRadioButtonIcon2);
+                //}
                 TabControl tabControl = new TabControl();
                 for (int j = 0; j < VenusMenu[i].MenuItem.Count; j++)
                 {