Pārlūkot izejas kodu

Venus DE update && Venus SE simulator update

hecl 1 gadu atpakaļ
vecāks
revīzija
1b165a2e61

+ 18 - 3
Venus/Venus_MainPages/ViewModels/OverVenusDEViewModel.cs

@@ -448,6 +448,19 @@ namespace Venus_MainPages.ViewModels
                 SetProperty(ref m_IsWaterFlowOk, value);
             }
         }
+        private bool m_MainPurgeValveIsOpen;
+        public bool MainPurgeValveIsOpen
+        {
+            get { return m_MainPurgeValveIsOpen; }
+            set { SetProperty(ref m_MainPurgeValveIsOpen, value); }
+        }
+
+        private bool m_SecondPurgeValveIsOpen;
+        public bool SecondPurgeValveIsOpen
+        {
+            get { return m_SecondPurgeValveIsOpen; }
+            set { SetProperty(ref m_SecondPurgeValveIsOpen, value); }
+        }
         public bool IsCDAOK
         {
             get { return m_IsCDAOK; }
@@ -1730,12 +1743,12 @@ namespace Venus_MainPages.ViewModels
                 BRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasRf}.DeviceData");
                 PendulumValveData = CommonFunction.GetValue<AITPendulumValveData>(RtDataValues, $"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
                 ESCHVData = CommonFunction.GetValue<AITHVData>(RtDataValues, $"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");
-
+                SecondPurgeValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveSecondPurge.IsOpen");
 
                 ValveHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ValveHeater.DeviceData"];
                 ForelineHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.ForelineHeater.DeviceData"];
                 //WallHeaterData = (AITHeaterData)RtDataValues[$"{ModuleName}.WallHeater.DeviceData"];
-
+                MainPurgeValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValveMainPurge.IsOpen");
                 ChamberPressure = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.ChamberPressure");
                 ProcessPressure = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.ProcessPressure");
                 ForelinePressure = float.Parse(RtDataValues[$"{ModuleName}.ForelinePressure"].ToString());
@@ -1876,7 +1889,7 @@ namespace Venus_MainPages.ViewModels
             m_RtDataKeys.Add($"{ModuleName}.ValveMfc9.IsOpen");
             m_RtDataKeys.Add($"{ModuleName}.ValveMfc10.IsOpen");
             m_RtDataKeys.Add($"{ModuleName}.ValveMfc11.IsOpen");
-            m_RtDataKeys.Add($"{ModuleName}.ValveMfc12.IsOpen");
+           // m_RtDataKeys.Add($"{ModuleName}.ValveMfc12.IsOpen");
             m_RtDataKeys.Add($"{ModuleName}.ValveGasFinal.IsOpen");
             //m_RtDataKeys.Add($"{ModuleName}.ValveSoftPump.IsOpen");
             m_RtDataKeys.Add($"{ModuleName}.ValveFastPump.IsOpen");
@@ -1936,6 +1949,8 @@ namespace Venus_MainPages.ViewModels
             m_RtDataKeys.Add($"{ModuleName}.Chiller.IsOn");
 
             m_RtDataKeys.Add($"{ModuleName}.ValveHeater.DeviceData");
+            m_RtDataKeys.Add($"{ModuleName}.ValveMainPurge.IsOpen");
+            m_RtDataKeys.Add($"{ModuleName}.ValveSecondPurge.IsOpen");
             m_RtDataKeys.Add($"{ModuleName}.ForelineHeater.DeviceData");
             m_RtDataKeys.Add($"{ModuleName}.WallHeater.DeviceData");
             m_RtDataKeys.Add($"{ModuleName}.FsmState");

+ 122 - 50
Venus/Venus_MainPages/Views/OverVenusDEView.xaml

@@ -83,18 +83,18 @@
                     </LinearGradientBrush>
                 </Rectangle.Fill>
             </Rectangle>
-            <Path Canvas.Left="6" Canvas.Top="2"    Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="4.5"  Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="7.5"  Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="10.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="13.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="16.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="19.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="22.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="25.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="28.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="31.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="34.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="2"    Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="4.5"  Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="7.5"  Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="10.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="13.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="16.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="19.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="22.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="25.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="28.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="31.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="34.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
         </Canvas>
         <Canvas Canvas.Left="1123" Canvas.Top="400">
             <Rectangle Width="30" Height="40" StrokeThickness="1,.8">
@@ -141,18 +141,18 @@
                     </LinearGradientBrush>
                 </Rectangle.Fill>
             </Rectangle>
-            <Path Canvas.Left="6" Canvas.Top="2"    Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="4.5"  Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="7.5"  Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="10.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="13.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="16.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="19.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="22.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="25.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="28.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="31.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
-            <Path Canvas.Left="6" Canvas.Top="34.5" Stroke="Lime" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="2"    Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="4.5"  Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="7.5"  Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="10.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="13.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="16.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="19.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="22.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="25.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="28.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="31.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
+            <Path Canvas.Left="6" Canvas.Top="34.5" Stroke="#B87333" StrokeThickness="1.5" Width="18" Height="4" StrokeDashArray="0" StrokeDashCap="Round" Data="M 100,100 A 100,50 0 1 0 300,100" Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5"></Path>
         </Canvas>
         <Grid   Canvas.Left="50" Canvas.Top="62">
             <Grid.RowDefinitions>
@@ -236,8 +236,8 @@
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
 
-            <TextBlock Text="VN22" Canvas.Left="280" Canvas.Top="90"/>
-            <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="288" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVN22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
+            <TextBlock Canvas.Left="123" Canvas.Top="94"><Run Text="VN2"/><Run Language="zh-cn" Text="1"/></TextBlock>
+            <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="112" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVN22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
 
 
 
@@ -291,6 +291,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -387,6 +388,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -427,6 +429,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -464,6 +467,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -498,6 +502,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -530,6 +535,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -560,6 +566,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -588,6 +595,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -614,6 +622,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -621,6 +630,7 @@
             <ctrls:FlowPipe  Height="8"  Width="400" Canvas.Left="85"  Canvas.Top="634" IsFlowing="{Binding MFC11ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <ctrls:FlowPipe   Height="8"  Width="112" Canvas.Left="85"  Canvas.Top="634" IsFlowing="{Binding PVB1ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <ctrls:FlowPipe   Height="8"  Width="76"  Canvas.Left="175"  Canvas.Top="661" IsFlowing="{Binding PVB2ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+            <ctrls:FlowPipe   Height="8"  Width="76"  Canvas.Left="182"  Canvas.Top="709" IsFlowing="{Binding PVC2ValveIsOpen}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
             <TextBlock Text="V11" Canvas.Left="436" Canvas.Top="612" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <customControls:CommonValveControl Status="{Binding MFC11ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="436" Canvas.Top="627" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="Mfc11" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <ctrls:FlowPipe   Height="8"  Width="22" Canvas.Left="178"  Canvas.Top="640" RotateTransformValue="90" IsFlowing="{Binding PVB2ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
@@ -638,18 +648,28 @@
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
             <!--Gas12-->
             <ctrls:FlowPipe  Height="8"  Width="391" Canvas.Left="85"  Canvas.Top="679" IsFlowing="{Binding MFC12ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <ctrls:FlowPipe   Height="8"  Width="112" Canvas.Left="85"  Canvas.Top="679" IsFlowing="{Binding PVC1ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
-            <ctrls:FlowPipe   Height="8"  Width="76"  Canvas.Left="175"  Canvas.Top="709" IsFlowing="{Binding PVC2ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+            <ctrls:FlowPipe   Height="8"  Width="182"  Canvas.Left="258"  Canvas.Top="709" IsFlowing="{Binding SecondPurgeValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+            <ctrls:FlowPipe   Height="8"  Width="122"  Canvas.Left="452"  Canvas.Top="709" IsFlowing="{Binding MainPurgeValveIsOpen}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
             <TextBlock Text="V12" Canvas.Left="436" Canvas.Top="658" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <customControls:CommonValveControl Status="{Binding MFC12ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="436" Canvas.Top="673" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="Mfc12" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <ctrls:FlowPipe   Height="8"  Width="22" Canvas.Left="178"  Canvas.Top="685" RotateTransformValue="90" IsFlowing="{Binding PVC2ValveIsOpen}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
             <ctrls:Pipe2     Canvas.Left="183"  Canvas.Top="717" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="-180" />
-            <ctrls:FlowPipe   Height="8"  Width="46" Canvas.Left="257"  Canvas.Top="664" RotateTransformValue="90" IsReverse="True" HorizontalAlignment="Center" VerticalAlignment="Top">
+            <ctrls:FlowPipe   Height="8"  Width="42" Canvas.Left="259"  Canvas.Top="663" RotateTransformValue="90" IsReverse="True" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">
+                <userControls:FlowPipe.RenderTransform>
+                    <TransformGroup>
+                        <ScaleTransform/>
+                        <SkewTransform/>
+                        <RotateTransform Angle="90.021"/>
+                        <TranslateTransform X="-27" Y="19"/>
+                    </TransformGroup>
+                </userControls:FlowPipe.RenderTransform>
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
                         <Binding Path="PVC2ValveIsOpen"/>
@@ -660,10 +680,10 @@
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
-            <ctrls:Pipe2    Canvas.Left="257"  Canvas.Top="704" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="90" Panel.ZIndex="5" />
 
             <!--<TextBlock Text="Pressure Alarm" Canvas.Left="68" Canvas.Top="94"/>-->
             <Ellipse Width="20" Height="20"  Canvas.Left="90" Canvas.Top="114" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
@@ -700,6 +720,7 @@
                         <Binding Path="MFC10ValveIsOpen"/>
                         <Binding Path="MFC11ValveIsOpen"/>
                         <Binding Path="MFC12ValveIsOpen"/>
+                        <Binding Path="SecondPurgeValveIsOpen"/>
                     </MultiBinding>
                 </ctrls:FlowPipe.IsFlowing>
             </ctrls:FlowPipe>
@@ -744,13 +765,13 @@
 
 
             <!--阀-->
-            <TextBlock Text="VC1" Canvas.Left="126" Canvas.Top="659" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <TextBlock Text="V121" Canvas.Left="126" Canvas.Top="659" HorizontalAlignment="Left" VerticalAlignment="Center"/>
             <customControls:CommonValveControl Status="{Binding PVC1ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="127" Canvas.Top="673" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVC1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
-            <TextBlock Text="VB1" Canvas.Left="126" Canvas.Top="611" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <TextBlock Text="V111" Canvas.Left="126" Canvas.Top="611" HorizontalAlignment="Left" VerticalAlignment="Center"/>
             <customControls:CommonValveControl Status="{Binding PVB1ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="127" Canvas.Top="628" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVB1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
-            <TextBlock Text="VA1" Canvas.Left="127" Canvas.Top="566" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <TextBlock Text="V101" Canvas.Left="127" Canvas.Top="566" HorizontalAlignment="Left" VerticalAlignment="Center"/>
             <customControls:CommonValveControl Status="{Binding PVA1ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="127" Canvas.Top="582" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVA1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
             <TextBlock Text="V91" Canvas.Left="128" Canvas.Top="522" HorizontalAlignment="Center" VerticalAlignment="Top"/>
@@ -820,22 +841,22 @@
 
             <customControls:CommonValveControl Status="{Binding PV92ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="564" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PV92" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
-            <TextBlock Text="VA2" Canvas.Left="199" Canvas.Top="596" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <TextBlock Text="V102" Canvas.Left="199" Canvas.Top="596" HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
             <customControls:CommonValveControl Status="{Binding PVA2ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="609" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVA2" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
-            <TextBlock Text="VB2" Canvas.Left="199" Canvas.Top="641" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <TextBlock Text="V112" Canvas.Left="199" Canvas.Top="641" HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
             <customControls:CommonValveControl Status="{Binding PVB2ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="655" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVB2" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
-            <TextBlock Text="VC2" Canvas.Left="200" Canvas.Top="688" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <TextBlock Text="V122" Canvas.Left="200" Canvas.Top="688" HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
             <customControls:CommonValveControl Status="{Binding PVC2ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="703" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVC2" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
 
 
 
-            <TextBlock Text="VN21" Canvas.Left="200" Canvas.Top="136" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+            <TextBlock Text="VN22" Canvas.Left="200" Canvas.Top="136" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
             <customControls:CommonValveControl Status="{Binding PVN21ValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Left="243" Canvas.Top="132" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="PVN21" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
 
@@ -873,8 +894,8 @@
 
 
 
-            <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}"  Canvas.Left="360" Canvas.Top="712" Stroke="Silver" StrokeThickness="2" HorizontalAlignment="Center" VerticalAlignment="Top"/>
-            <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="712" Style="{StaticResource SysBtnStyle}"  Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+            <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}"  Canvas.Left="452" Canvas.Top="745" Stroke="Silver" StrokeThickness="2" HorizontalAlignment="Left" VerticalAlignment="Top"/>
+            <Button Width="100" Content="Gas ON/OFF" Canvas.Left="482" Canvas.Top="745" Style="{StaticResource SysBtnStyle}"  Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
             <TextBlock FontSize="12" Text="Vent N2" Canvas.Left="35" Canvas.Top="117" Foreground="Black"  Block.TextAlignment="Right"  Panel.ZIndex="4"/>
             <TextBlock FontSize="12" Canvas.Left="-5" Canvas.Top="158" Block.TextAlignment="Right" Width="85" TextAlignment="Right" Panel.ZIndex="4">
                 <TextBlock.Text>
@@ -975,8 +996,8 @@
 
         </Canvas >
         <Canvas Canvas.Right="2050" Canvas.Top="70">
-            <Ellipse Width="20" Height="20" Fill="{Binding PVHe1ValveIsOpen,Converter={StaticResource boolToColor}}"  Canvas.Left="650" Canvas.Top="682" Stroke="Silver" StrokeThickness="2"/>
-            <Button Width="100" Content="He ON/OFF"  Style="{StaticResource SysBtnStyle}"  Command="{Binding HeCommand}"                Canvas.Left="680" Canvas.Top="682" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
+            <Ellipse Width="20" Height="20" Fill="{Binding PVHe1ValveIsOpen,Converter={StaticResource boolToColor}}"  Canvas.Left="793" Canvas.Top="715" Stroke="Silver" StrokeThickness="2" HorizontalAlignment="Left" VerticalAlignment="Top"/>
+            <Button Width="100" Content="He ON/OFF"  Style="{StaticResource SysBtnStyle}"  Command="{Binding HeCommand}"                Canvas.Left="823" Canvas.Top="715" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
             <RadioButton Canvas.Left="790" Canvas.Top="684" Content="Flow Mode" FontSize="15"     IsChecked="{Binding HeIsPressureMode,Converter={StaticResource BoolToBool},UpdateSourceTrigger=PropertyChanged}"/>
             <RadioButton Canvas.Left="890" Canvas.Top="684" Content="Pressure Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode,UpdateSourceTrigger=PropertyChanged}"/>
 
@@ -1024,7 +1045,7 @@
 
 
             <!--与chamber底部连接的管道-->
-            <ctrls:FlowPipe   Height="8"  Width="293" Canvas.Left="760"  Canvas.Top="658" IsFlowing="{Binding PVHe1ValveIsOpen}"/>
+            <ctrls:FlowPipe   Height="8"  Width="255" Canvas.Left="798"  Canvas.Top="658" IsFlowing="{Binding PVHe1ValveIsOpen}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
             <ctrls:FlowPipe   Height="8"  Width="148" Canvas.Left="1055"  Canvas.Top="463" RotateTransformValue="90"  IsReverse="{Binding PVHe1ValveIsOpen}">
                 <ctrls:FlowPipe.IsFlowing>
                     <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
@@ -1136,8 +1157,8 @@
             <customControls:CommonValveControl Status="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Left="1434"  Canvas.Top="610" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="TurboPumpPurge" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
             <TextBlock Text="Turbo N2&#10;   Purge" Canvas.Left="1365"  Canvas.Top="610" FontSize="15"/>
 
-            <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="785"/>
-            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"   Canvas.Top="652" Canvas.Left="790" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="PVHe1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
+            <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="807" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"   Canvas.Top="652" Canvas.Left="813" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="PVHe1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
 
             <TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1060"/>
@@ -1183,10 +1204,10 @@
             </Image>
             <TextBlock Text="N2" Canvas.Top="720" Canvas.Left="1438"/>
 
-            <Image  Canvas.Top="650" Canvas.Left="715"  Width="40" Height="25"  Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" >
+            <Image  Canvas.Top="650" Canvas.Left="766"  Width="40" Height="24"  Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Center" >
 
             </Image>
-            <TextBlock Text="Helium" Canvas.Top="653" Canvas.Left="670" FontSize="15"/>
+            <TextBlock Text="Helium" Canvas.Top="651" Canvas.Left="710" FontSize="15"/>
 
 
 
@@ -1525,7 +1546,7 @@
             <!--<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="360" Height="190" Canvas.Left="1350" Canvas.Top="5"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
+        <Grid Width="360" Height="190" Canvas.Left="1530" Canvas.Top="4"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4">
             <Grid.RowDefinitions>
                 <RowDefinition/>
                 <RowDefinition/>
@@ -1650,9 +1671,9 @@
                 <RowDefinition/>
             </Grid.RowDefinitions>
             <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="2*"/>
-                <ColumnDefinition Width="*"/>
-                <ColumnDefinition Width="*"/>
+                <ColumnDefinition Width="1.2*"/>
+                <ColumnDefinition Width="0.9*"/>
+                <ColumnDefinition Width="0.9*"/>
             </Grid.ColumnDefinitions>
             <TextBlock Grid.Row="0" Text="ESC Voltage(V)"     FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>
             <TextBlock Grid.Row="1" Text="ESC R+/R-"      FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>
@@ -1679,6 +1700,42 @@
 
 
         </Grid>
+        <Grid Width="250" Height="80"  Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Canvas.Left="825" Canvas.Top="230">
+            <Grid.RowDefinitions>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+                <RowDefinition/>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="*"/>
+                <ColumnDefinition Width="*"/>
+            </Grid.ColumnDefinitions>
+            <TextBlock Grid.Row="0" Text="Magnet"  FontSize="15" Grid.ColumnSpan="2" VerticalAlignment="Center"  HorizontalAlignment="Center" />
+            <TextBlock Grid.Row="1" Text="Intensity(gs)"      FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>
+            <TextBlock Grid.Row="2" Text="Magnet1(A)" FontSize="15" VerticalAlignment="Bottom" HorizontalAlignment="Left" Padding="1,0,0,0" Margin="1,0,0,1"/>
+            <TextBlock Grid.Row="3" Text="Magnet2(A)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>
+            <!--<TextBlock Grid.Row="4" Text="Wall Temp.(°C)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="1,0,0,0"/>-->
+            <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="20" Text="0.0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White"  BorderThickness="0" VerticalAlignment="Top" />
+            <TextBlock Grid.Row="2"  Grid.Column="1" Width="Auto" Height="Auto" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}/{2}">
+                        <Binding Path="ESCHVData.PositiveOutputCurrent"></Binding>
+                        <Binding Path="ESCHVData.NegativeOutputCurrent"></Binding>
+                        <Binding Path="ESCHVData.Leak"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+            <TextBlock Grid.Row="3"  Grid.Column="1" Width="Auto" Height="Auto"   TextBlock.TextAlignment="Center" VerticalAlignment="Bottom" Block.TextAlignment="Center" Margin="0,0,0,4">
+                <TextBlock.Text>
+                    <MultiBinding StringFormat="{}{0}/{1}/{2}">
+                        <Binding Path="ESCHVData.PositiveOutputCurrent"></Binding>
+                        <Binding Path="ESCHVData.NegativeOutputCurrent"></Binding>
+                        <Binding Path="ESCHVData.Leak"></Binding>
+                    </MultiBinding>
+                </TextBlock.Text>
+            </TextBlock>
+        </Grid>
 
         <Grid Width="400" Height="25"  Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Canvas.Left="500" Canvas.Top="318">
             <Grid.RowDefinitions>
@@ -1775,10 +1832,11 @@
                     <Binding Path="MFC10ValveIsOpen"/>
                     <Binding Path="MFC11ValveIsOpen"/>
                     <Binding Path="MFC12ValveIsOpen"/>
+                    <Binding Path="SecondPurgeValveIsOpen"/>
                 </MultiBinding>
             </userControls:FlowPipe.IsFlowing>
         </userControls:FlowPipe>
-        <TextBlock Text="Gas Final" Canvas.Left="900" Canvas.Top="90" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+        <TextBlock Text="Purge value" Canvas.Left="900" Canvas.Top="90" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center"/>
         <customControls:CommonValveControl Status="{Binding GasFinalValveIsOpen, Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="922" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode, Converter={StaticResource BoolToBool}}" Tag="GasFinal" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
         <userControls:FlowPipe  Height="8"  Width="218" Canvas.Left="1112" Canvas.Top="132" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top">
             <userControls:FlowPipe.IsFlowing>
@@ -1818,6 +1876,20 @@
                 </MultiBinding>
             </userControls:FlowPipe.IsFlowing>
         </userControls:FlowPipe>
+        <userControls:FlowPipe   Height="8"  Width="41" Canvas.Left="487"  Canvas.Top="710" RotateTransformValue="90" IsReverse="True" Panel.ZIndex="5" HorizontalAlignment="Center" VerticalAlignment="Top">
+            <userControls:FlowPipe.IsFlowing>
+                <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
+                    <Binding Path="SecondPurgeValveIsOpen"/>
+                </MultiBinding>
+            </userControls:FlowPipe.IsFlowing>
+        </userControls:FlowPipe>
+        <customControls:CommonValveControl Status="{Binding SecondPurgeValveIsOpen, Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="743" IsCanEdit="{Binding IsAutoMode, Converter={StaticResource BoolToBool}}" Tag="SecondPurge" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
+        <customControls:CommonValveControl Status="{Binding MainPurgeValveIsOpen, Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="511" Canvas.Top="743" IsCanEdit="{Binding IsAutoMode, Converter={StaticResource BoolToBool}}" Tag="MainPurge" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+        <TextBlock Canvas.Left="400" Canvas.Top="762" HorizontalAlignment="Center" VerticalAlignment="Top" Height="15"><Run Text="Second"/><Run Language="zh-cn" Text=" purge"/><LineBreak/><Run/></TextBlock>
+
+        <TextBlock Canvas.Left="485"  Text="Primary purge" Canvas.Top="763" Height="15" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+        <userControls:Pipe2     Canvas.Left="262"  Canvas.Top="757" RotateTransformValue="-180" HorizontalAlignment="Left" VerticalAlignment="Top" />
+
 
     </Canvas>
 </UserControl>

+ 7 - 1
Venus/Venus_RT/Config/PM/VenusDE/VenusDEDeviceModel.xml

@@ -99,7 +99,7 @@
 				isDefaultOpen="false" diOpen="" doOpen="DO_MFC10_Valve" diCloseSensor="" diOpenSensor="" />
 		<IoValve id="ValveMfc11" display="MFC11 Valve" schematicId="PV11" unit="" isNc="true"
 				isDefaultOpen="false" diOpen="" doOpen="DO_MFC11_Valve" diCloseSensor="" diOpenSensor="" />
-		<IoValve id="ValveMfc12" display="MFC12 Valve" schematicId="PV12" unit="" isNc="true"
+		<IoValve id="ValveMfc12" display="MFC12 Valve" schematicId="" unit="" isNc="true"
 				isDefaultOpen="false" diOpen="" doOpen="DO_MFC12_Valve" diCloseSensor="" diOpenSensor="" />
 		<IoValve id="ValvePVHe1" display="PVHe1 valve" schematicId=""
 				  unit="" isNc="true" isDefaultOpen="false" diOpen="" doOpen="DO_PVHe1"
@@ -113,6 +113,12 @@
 		<IoValve id="ValveHeISO" display="He ISO valve" schematicId=""
 				  unit="" isNc="true" isDefaultOpen="false" diOpen="" doOpen="DO_He_ISO"
 				  diCloseSensor="" diOpenSensor="" />
+    <IoValve id="ValveMainPurge" display="Main Purge Valve" schematicId=""
+          unit="" isNc="true" isDefaultOpen="false" diOpen="" doOpen="DO_Main_Purge_Valve"
+          diCloseSensor="" diOpenSensor="" />
+    <IoValve id="ValveSecondPurge" display="Second Purge valve" schematicId="PV12"
+      unit="" isNc="true" isDefaultOpen="false" diOpen="" doOpen="DO_Second_Purge_Valve"
+      diCloseSensor="" diOpenSensor="" />
 	</IoValves>
 	<IoMfcs assembly="Venus_RT" classType="Venus_RT.Devices.IODevices.IoMfc">
 		<IoMfc id="MfcGas1" display="Gas1" schematicId="MFC1" unit="sccm"

+ 2 - 2
Venus/Venus_RT/Config/PM/VenusDE/VenusDEIoDefine.xml

@@ -153,7 +153,7 @@
     <DO_ITEM Index="32" Name="DO_Reset_Signal" Device="" Addr="w2.00" />
     <DO_ITEM Index="33" Name="DO_Valve_Heater_On" Device="" Addr="w2.01" />
     <DO_ITEM Index="34" Name="DO_Foreline_Heater_On" Device="" Addr="w2.02" />
-    <DO_ITEM Index="35" Name="" />
+    <DO_ITEM Index="35" Name="DO_MFC12_Valve" Device="" Addr="w2.03"/>
     <DO_ITEM Index="36" Name=""/>
     <DO_ITEM Index="37" Name=""/>
     <DO_ITEM Index="38" Name=""/>
@@ -173,7 +173,7 @@
     <DO_ITEM Index="52" Name="DO_MFC9_Valve" Device="GPV9" Addr="w3.04" />
     <DO_ITEM Index="53" Name="DO_MFC10_Valve" Device="GPV10" Addr="w3.05" />
     <DO_ITEM Index="54" Name="DO_MFC11_Valve" Device="GPV11" Addr="w3.06" />
-    <DO_ITEM Index="55" Name="DO_MFC12_Valve" Device="GPV12" Addr="w3.07" />
+    <DO_ITEM Index="55" Name="DO_Second_Purge_Valve" Device="GPV12" Addr="w3.07" />
     <DO_ITEM Index="56" Name="DO_Main_Purge_Valve" Device="GPVM" Addr="w3.08" />
     <DO_ITEM Index="57" Name="DO_PV51" Device="GPV51" Addr="w3.09" />
     <DO_ITEM Index="58" Name="DO_PV52" Device="GPV52" Addr="w3.10" />

+ 4 - 18
Venus/Venus_RT/Config/TM/SETMInterlock.xml

@@ -64,33 +64,19 @@
 
 	</Action>
 	<Action do="DO_VCE_Fast_Pumping"	value="true" tip="VCE Fast Pumping"	tip.zh-CN="" tip.en-US="DO-25" >
-			
-		<Limit di="DI_LID_DOOR_CLOSED"		value="true" tip="TM Lid Door Closed"		tip.zh-CN="" tip.en-US="DI-01" />
-		<Limit di="DI_System_CDA_Pressure_OK"			value="true" tip="System CDA Pressure OK"		tip.zh-CN="" tip.en-US="DI-00" />												  	   	    
-		<Limit do="DO_VCE_Fast_Vent"		value="false" tip="VCE Fast Vent"		tip.zh-CN="" tip.en-US="DO-27" />												  	   	    
-		<Limit do="DO_VCE_Soft_Vent"		value="false" tip="VCE Soft Vent"		tip.zh-CN="" tip.en-US="DO-28" />												  	   	    
+													  	   	    
 												  	   
 	</Action>												  	   
 	<Action do="DO_VCE_Soft_Pumping"	value="true" tip="VCE Soft Pumping"	tip.zh-CN="" tip.en-US="DO-26" >
-
-		<Limit di="DI_LID_DOOR_CLOSED"		value="true" tip="TM Lid Door Closed"		tip.zh-CN="" tip.en-US="DI-01" />
-		<Limit di="DI_System_CDA_Pressure_OK"			value="true" tip="System CDA Pressure OK"		tip.zh-CN="" tip.en-US="DI-00" />												  	   	    
+									  	   	    
 	
 	</Action>
 	<Action do="DO_VCE_Fast_Vent"	value="true" tip="VCE Fast Vent"	tip.zh-CN="" tip.en-US="DO-27" >
-			
-		<Limit di="DI_LID_DOOR_CLOSED"		value="true" tip="TM Lid Door Closed"		tip.zh-CN="" tip.en-US="DI-01" />
-		<Limit di="DI_System_CDA_Pressure_OK"			value="true" tip="System CDA Pressure OK"			tip.zh-CN="" tip.en-US="DI-00" />												  	   	    
-		<Limit do="DO_VCE_Fast_Pumping"		value="true" tip="VCE Fast Pumping"			tip.zh-CN="" tip.en-US="DO-25" />												  	   	    
-		<Limit di="DI_SYSTEM_N2_Pressure_SW"		value="true" tip="SYSTEM N2 Pressure SW"			tip.zh-CN="" tip.en-US="DO-15" />												  	   	    
+													  	   	    
 												  	   
 	</Action>											  	   
 	<Action do="DO_VCE_Soft_Vent"	value="true" tip="VCE Soft Vent"	tip.zh-CN="" tip.en-US="DO-28" >
-
-		<Limit di="DI_LID_DOOR_CLOSED"		value="true" tip="TM Lid Door Closed"		tip.zh-CN="" tip.en-US="DI-01" />
-		<Limit di="DI_System_CDA_Pressure_OK"			value="true" tip="System CDA Pressure OK"			tip.zh-CN="" tip.en-US="DI-00" />												  	   	    
-		<Limit do="DO_VCE_Fast_Pumping"		value="true" tip="VCE Fast Pumping"			tip.zh-CN="" tip.en-US="DO-25" />												  	   	    
-		<Limit di="DI_SYSTEM_N2_Pressure_SW"		value="true" tip="SYSTEM N2 Pressure SW"			tip.zh-CN="" tip.en-US="DO-15" />												  	   	    
+							  	   	    
 
 	</Action>
 	<Action do="DO_PCW_Valve"	value="true" tip="PCW Valve"	tip.zh-CN="" tip.en-US="DO-29" >

+ 10 - 5
Venus/Venus_RT/Devices/JetVenusDEPM.cs

@@ -79,6 +79,7 @@ namespace Venus_RT.Devices
         private readonly IoValve _PVHe3Valve;
         private readonly IoValve _HeISOValve;
         private readonly IoValve _MainPurgeValve;//新增
+        private readonly IoValve _SecondPurgeValve;//新增
 
         private readonly IoSensor _ATM_sw;
         private readonly IoSensor _CDAPressure;
@@ -178,9 +179,10 @@ namespace Venus_RT.Devices
             _GuageValve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.ValveGuage}");
             _PVHe3Valve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.ValvePVHe3}");
             _HeISOValve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.ValveHeISO}");
-
+            _SecondPurgeValve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.ValveSecondPurge}");
             _ATM_sw = DEVICE.GetDevice<IoSensor>($"{Module}.SensorATMSwitch");
             _N2Pressure_sw = DEVICE.GetDevice<IoSensor>($"{Module}.N2PressureOk");
+            _MainPurgeValve = DEVICE.GetDevice<IoValve>($"{Module}.{VenusDevice.ValveMainPurge}");
             _VAC_sw = DEVICE.GetDevice<IoSensor>($"{Module}.SensorVacSwitch");
             _Water_Flow = DEVICE.GetDevice<IoSensor>($"{Module}.SensorWaterFlowOk");
             _WLK_sw = DEVICE.GetDevice<IoSensor>($"{Module}.SensorWaterLeakOk");
@@ -330,7 +332,8 @@ namespace Venus_RT.Devices
                 { ValveType.TurboPumpPurge,  _TurboPumpPurgeValve},
                 { ValveType.Guage,  _GuageValve},
                 { ValveType.HeISO,  _HeISOValve},
-                { ValveType.MainPurge,_MainPurgeValve}
+                { ValveType.MainPurge,_MainPurgeValve},
+                { ValveType.SecondPurge,  _SecondPurgeValve},
             };
         }
         #endregion
@@ -436,11 +439,11 @@ namespace Venus_RT.Devices
                 switch (Module)
                 {
                     case ModuleName.PMA:
-                        return Singleton<RouteManager>.Instance.seTM.IsPMASlitDoorClosed;
+                        return Singleton<RouteManager>.Instance.seTM.IsPMASlitDoorClosed && Singleton<RouteManager>.Instance.PMA.IsSlitDoorClose;
                     case ModuleName.PMB:
-                        return Singleton<RouteManager>.Instance.seTM.IsPMBSlitDoorClosed;
+                        return Singleton<RouteManager>.Instance.seTM.IsPMBSlitDoorClosed && Singleton<RouteManager>.Instance.PMB.IsSlitDoorClose;
                     case ModuleName.PMC:
-                        return Singleton<RouteManager>.Instance.seTM.IsPMCSlitDoorClosed;
+                        return Singleton<RouteManager>.Instance.seTM.IsPMCSlitDoorClosed && Singleton<RouteManager>.Instance.PMC.IsSlitDoorClose;
                     default:
                         return true;
                 }
@@ -726,6 +729,8 @@ namespace Venus_RT.Devices
 
             _PVHe3Valve.TurnValve(false, out _);
             _HeISOValve.TurnValve(false, out _);
+            _MainPurgeValve.TurnValve(false, out _);
+            _SecondPurgeValve.TurnValve(false, out _);
 
             //新增
             _Mfc1Valve.TurnValve(false, out _);

+ 1 - 1
Venus/Venus_Simulator/Config/_ioDefineVenusDE.xml

@@ -153,7 +153,7 @@
     <DO_ITEM Index="32" Name="DO_Reset_Signal" Device="" Addr="w2.00" />
     <DO_ITEM Index="33" Name="DO_Valve_Heater_On" Device="" Addr="w2.01" />
     <DO_ITEM Index="34" Name="DO_Foreline_Heater_On" Device="" Addr="w2.02" />
-    <DO_ITEM Index="35" Name="" />
+    <DO_ITEM Index="35" Name="DO_MFC12_Valve" Device="" Addr="w2.03"/>
     <DO_ITEM Index="36" Name=""/>
     <DO_ITEM Index="37" Name=""/>
     <DO_ITEM Index="38" Name=""/>

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

@@ -650,7 +650,7 @@ namespace Venus_Simulator.Instances
             IO.DI[$"{mod}.DI_PMB_SLIT_DOOR_OPEN_ENABLE"].Value = true;
             IO.DI[$"{mod}.DI_VCE_ATM_SW"].Value = true;
             IO.DI[$"{mod}.DI_TM_ATM_SW"].Value = true;
-            IO.DI[$"{mod}.DI_VCE_Wafer_Senser"].Value = false;
+            IO.DI[$"{mod}.DI_VCE_Wafer_Senser"].Value = true;
             IO.DI[$"{mod}.DI_PMA_Wafer_Senser"].Value = true;
             IO.DI[$"{mod}.DI_PMB_Wafer_Senser"].Value = true;
             IO.DI[$"{mod}.DI_PMC_Wafer_Senser"].Value = true;

+ 103 - 75
Venus/Venus_Themes/UserControls/ChamberDE.xaml

@@ -139,6 +139,13 @@
                         </Style.Triggers>
                     </Style>
                 </Grid.Style>
+                <Rectangle x:Name="BG_Status_Copy15"  Cursor="Hand" RenderTransformOrigin="-0.375,0.425" Margin="128,0,48,-2">
+                    <Rectangle.Style>
+                        <Style>
+                            <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
+                        </Style>
+                    </Rectangle.Style>
+                </Rectangle>
             </Grid>
             <Grid Grid.RowSpan="2" Height="167" VerticalAlignment="Bottom" Margin="17,0,40,2" Grid.Column="2">
                 <Rectangle Height="12" Stroke="Gray" VerticalAlignment="Top" Width="150" Margin="0,98,0,0">
@@ -289,27 +296,29 @@
                 </Canvas>-->
 
                 <!--左边slit door-->
-                <Grid x:Name="Slit_valve" Margin="-41,-10,191,29" >
-                    <Rectangle x:Name="SlitValve_Top"  Fill="DimGray" VerticalAlignment="Top" Height="75" Margin="0,0,1,0"   />
-                    <Rectangle x:Name="SlitValve_Bottom"  Fill="DimGray" Margin="0,73,1,-1" />
-                </Grid>
-
-                <!--slit door右边-->
-                <Grid Margin="190,-10,-40,29" Cursor="Hand">
+                <Grid x:Name="Slit_valve" Margin="-41,-9,191,26.5" >
                     <Grid.RowDefinitions>
-                        <RowDefinition Height="28*"/>
-                        <RowDefinition Height="9*"/>
+                        <RowDefinition Height="37*"/>
+                        <RowDefinition Height="37*"/>
                     </Grid.RowDefinitions>
                     <Grid.ContextMenu>
                         <ContextMenu >
-                            <MenuItem Header="Open Door"   Click="OpenDoor_Click"  IsChecked="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"                                        IsEnabled="{Binding IsSlitDoorClosed}"/>
+                            <MenuItem Header="Open Door"   Click="OpenDoor_Click"  IsChecked="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding IsSlitDoorClosed}"/>
                             <MenuItem Header="Close Door"  Click="CloseDoor_Click"  IsChecked="{Binding IsSlitDoorClosed}"  IsEnabled="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"/>
                         </ContextMenu>
                     </Grid.ContextMenu>
-                    <Rectangle  Fill="DimGray" Style="{StaticResource SlitValve_Animation}" Width="8" VerticalAlignment="Top" Height="75" Margin="1,0,1,0" />
-                    <Rectangle  Fill="DimGray" Style="{StaticResource SlitValve_Animation}" Width="8" VerticalAlignment="Bottom" Height="74" Margin="73,0,-71,0" Grid.RowSpan="2" />
+                    <Rectangle x:Name="SlitValve_Top"  Style="{StaticResource SlitValve_Animation}" Fill="DimGray" VerticalAlignment="Top" Height="78" Margin="1,3,1,0" Grid.RowSpan="2"   />
+                    <Rectangle x:Name="SlitValve_Bottom" Style="{StaticResource SlitValve_Animation}" Width="8" Fill="DimGray" VerticalAlignment="Center" Height="78" Margin="1,0,1,0" Grid.Row="1" />
+                </Grid>
+
+                <!--slit door右边-->
+                <Grid Margin="190,-10,-40,29" Cursor="Hand">
+
+                    <Rectangle  Fill="DimGray"  Width="8" VerticalAlignment="Top" Height="75" Margin="1,0,1,0" />
+
                 </Grid>
             </Grid>
+            <Rectangle  Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="74" Margin="280,0,-71,1" Grid.Column="2" />
             <Rectangle x:Name="BG_Status_Copy4"  Cursor="Hand" Margin="66,0,147,140" Grid.Column="2">
                 <Rectangle.Style>
                     <Style>
@@ -328,7 +337,7 @@
                 </Path.RenderTransform>
             </Path>
         </Grid>
-        <Rectangle  Fill="DimGray" Style="{StaticResource SlitValve_Animation}" Width="8" VerticalAlignment="Top" Height="74" RenderTransformOrigin="0.5,0.5" Canvas.Left="264" Canvas.Top="132" HorizontalAlignment="Center" >
+        <Rectangle  Fill="DimGray"  Width="8" VerticalAlignment="Top" Height="74" RenderTransformOrigin="0.5,0.5" Canvas.Left="264" Canvas.Top="132" HorizontalAlignment="Center" >
             <Rectangle.RenderTransform>
                 <TransformGroup>
                     <ScaleTransform/>
@@ -356,7 +365,7 @@
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="SlitValve_Top_Copy"  Fill="DimGray" Width="44" Height="240"   HorizontalAlignment="Center" Canvas.Left="97" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Canvas.Top="-43"   >
+        <Rectangle x:Name="SlitValve_Top_Copy"  Fill="DimGray" Width="44" Height="239"   HorizontalAlignment="Center" Canvas.Left="97.5" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Canvas.Top="-43"   >
             <Rectangle.RenderTransform>
                 <TransformGroup>
                     <ScaleTransform/>
@@ -366,10 +375,10 @@
                 </TransformGroup>
             </Rectangle.RenderTransform>
         </Rectangle>
-        <Path Data="M0,0 L 50,100 100,0z" Stroke="#FF747474" Stretch="Fill" Height="22" Canvas.Top="62.062" Width="16" Canvas.Left="100.292" HorizontalAlignment="Center" VerticalAlignment="Center" Fill="WhiteSmoke"/>
+        <Path Data="M0,0 L 50,100 100,0z" Stroke="#FF747474" Stretch="Fill" Height="22" Canvas.Top="62.125" Width="16" Canvas.Left="100.448" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="WhiteSmoke"/>
         <Path Data="M0,0 L 100,0 100,100 90,100 90,10 0,10z" Stroke="Black" Stretch="Fill" Height="36" Canvas.Top="114" Width="31" HorizontalAlignment="Left" VerticalAlignment="Center" Fill="black"/>
-        <Path Data="M0,0 L 80,0 80,10 10,10 10,210 -30,210 -30,200 0,200z" Stroke="Black" Fill="black" Canvas.Left="199.75" Canvas.Top="118.375" Height="100" Stretch="Fill" Width="39" HorizontalAlignment="Center" VerticalAlignment="Center"/>
-        <Rectangle x:Name="BG_Status_Copy1" Visibility="{Binding BiasRfPowerOnChamberVisibility}" Cursor="Hand" Height="21" Canvas.Left="202" Canvas.Top="48" Width="6" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.583,0.361">
+        <Path Data="M0,0 L 80,0 80,10 10,10 10,210 -30,210 -30,200 0,200" Stroke="Black" Fill="black" Canvas.Left="199.75" Canvas.Top="118.375" Height="100" Stretch="Fill" Width="39" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+        <Rectangle x:Name="BG_Status_Copy1" Visibility="{Binding BiasRfPowerOnChamberVisibility}" Cursor="Hand" Height="14" Canvas.Left="202" Canvas.Top="54" Width="6" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.583,0.361">
             <Rectangle.ContextMenu >
                 <ContextMenu>
                     <MenuItem Header="Create Wafer"  Click="CreateWafer_Click"     IsChecked="{Binding IsHasWafer}" IsEnabled="{Binding IsHasWafer, Converter={StaticResource BoolToBool}}"/>
@@ -387,7 +396,7 @@
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy2" Visibility="{Binding BiasRfPowerOnChamberVisibility}" Cursor="Hand" Height="100" Canvas.Left="155" Canvas.Top="16" Width="6" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">
+        <Rectangle x:Name="BG_Status_Copy2" Visibility="{Binding BiasRfPowerOnChamberVisibility}" Cursor="Hand" Height="100" Canvas.Left="155" Canvas.Top="16" Width="6" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">
             <Rectangle.RenderTransform>
                 <TransformGroup>
                     <ScaleTransform/>
@@ -413,131 +422,150 @@
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy3"  Cursor="Hand" Height="20" Canvas.Left="66" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy14" Visibility="{Binding BiasRfPowerOnChamberVisibility}" Cursor="Hand" Height="53" Canvas.Left="10" Canvas.Top="46" Width="21" HorizontalAlignment="Center" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
-                    <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
+                    <Setter Property="Shape.Fill" Value="#D2B48C "/>
+                    <Style.Triggers>
+                        <DataTrigger Binding="{Binding IsBRFOn, ElementName=chamber}"  Value="True">
+                            <Setter Property="Shape.Fill" Value="#FFFF9292"/>
+                        </DataTrigger>
+                    </Style.Triggers>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy5"  Cursor="Hand" Height="20" Canvas.Left="84" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="SlitValve_Bottom_Copy"  Fill="DimGray" Width="10" Height="70" Canvas.Left="30" Canvas.Top="202" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" >
+            <Rectangle.RenderTransform>
+                <TransformGroup>
+                    <ScaleTransform/>
+                    <SkewTransform/>
+                    <RotateTransform Angle="90"/>
+                    <TranslateTransform/>
+                </TransformGroup>
+            </Rectangle.RenderTransform>
+        </Rectangle>
+
+        <Rectangle x:Name="SlitValve_Bottom_Copy2"  Fill="DimGray" Width="8" HorizontalAlignment="Center" Height="69" Canvas.Left="62" Canvas.Top="231" VerticalAlignment="Top" />
+        <Rectangle x:Name="SlitValve_Bottom_Copy3"  Fill="DimGray" Width="8" Height="104" Canvas.Left="118" Canvas.Top="244" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center" >
+            <Rectangle.RenderTransform>
+                <TransformGroup>
+                    <ScaleTransform/>
+                    <SkewTransform/>
+                    <RotateTransform Angle="90"/>
+                    <TranslateTransform/>
+                </TransformGroup>
+            </Rectangle.RenderTransform>
+        </Rectangle>
+        <Rectangle x:Name="SlitValve_Bottom_Copy11"  Fill="DimGray" Width="8" HorizontalAlignment="Center" Height="69" Canvas.Left="171" Canvas.Top="231" VerticalAlignment="Top" />
+        <Rectangle x:Name="SlitValve_Bottom_Copy80" Fill="DimGray"  Width="8" Height="124"  Canvas.Left="303" Canvas.Top="231" HorizontalAlignment="Left" VerticalAlignment="Center" >
+            <Rectangle.RenderTransform>
+                <TransformGroup>
+                    <ScaleTransform/>
+                    <SkewTransform/>
+                    <RotateTransform Angle="89.935"/>
+                    <TranslateTransform/>
+                </TransformGroup>
+            </Rectangle.RenderTransform>
+        </Rectangle>
+        <Rectangle x:Name="BG_Status_Copy17"  Cursor="Hand" Height="16" Canvas.Left="166" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Center" VerticalAlignment="Top">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy6"  Cursor="Hand" Height="20" Canvas.Left="75" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy16"  Cursor="Hand" Height="16" Canvas.Left="157" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy7"  Cursor="Hand" Height="20" Canvas.Left="93" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy13"  Cursor="Hand" Height="16" Canvas.Left="148" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy8"  Cursor="Hand" Height="20" Canvas.Left="102" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy12"  Cursor="Hand" Height="16" Canvas.Left="139" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy9"  Cursor="Hand" Height="20" Canvas.Left="111" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy11"  Cursor="Hand" Height="16" Canvas.Left="130" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy10"  Cursor="Hand" Height="20" Canvas.Left="120" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy10"  Cursor="Hand" Height="16" Canvas.Left="121" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy11"  Cursor="Hand" Height="20" Canvas.Left="129" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy9"  Cursor="Hand" Height="16" Canvas.Left="112" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy12"  Cursor="Hand" Height="20" Canvas.Left="138" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy8"  Cursor="Hand" Height="16" Canvas.Left="101" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy13"  Cursor="Hand" Height="20" Canvas.Left="148" Canvas.Top="83" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center" RenderTransformOrigin="-0.375,0.425">
+        <Rectangle x:Name="BG_Status_Copy7"  Cursor="Hand" Height="16" Canvas.Left="92" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
                     <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="BG_Status_Copy14" Visibility="{Binding BiasRfPowerOnChamberVisibility}" Cursor="Hand" Height="53" Canvas.Left="10" Canvas.Top="46" Width="21" HorizontalAlignment="Center" VerticalAlignment="Center">
+        <Rectangle x:Name="BG_Status_Copy3"  Cursor="Hand" Height="16" Canvas.Left="83" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
             <Rectangle.Style>
                 <Style>
-                    <Setter Property="Shape.Fill" Value="#D2B48C "/>
-                    <Style.Triggers>
-                        <DataTrigger Binding="{Binding IsBRFOn, ElementName=chamber}"  Value="True">
-                            <Setter Property="Shape.Fill" Value="#FFFF9292"/>
-                        </DataTrigger>
-                    </Style.Triggers>
+                    <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
                 </Style>
             </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="SlitValve_Bottom_Copy"  Fill="DimGray" Width="9" Height="63" Canvas.Left="34" Canvas.Top="204" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" >
-            <Rectangle.RenderTransform>
-                <TransformGroup>
-                    <ScaleTransform/>
-                    <SkewTransform/>
-                    <RotateTransform Angle="90"/>
-                    <TranslateTransform/>
-                </TransformGroup>
-            </Rectangle.RenderTransform>
+        <Rectangle x:Name="BG_Status_Copy5"  Cursor="Hand" Height="16" Canvas.Left="74" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
+            <Rectangle.Style>
+                <Style>
+                    <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
+                </Style>
+            </Rectangle.Style>
         </Rectangle>
-
-        <Rectangle x:Name="SlitValve_Bottom_Copy2"  Fill="DimGray" Width="8" HorizontalAlignment="Center" Height="69" Canvas.Left="62" Canvas.Top="231" VerticalAlignment="Top" />
-        <Rectangle x:Name="SlitValve_Bottom_Copy3"  Fill="DimGray" Width="8" Height="104" Canvas.Left="118" Canvas.Top="244" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center" >
-            <Rectangle.RenderTransform>
-                <TransformGroup>
-                    <ScaleTransform/>
-                    <SkewTransform/>
-                    <RotateTransform Angle="90"/>
-                    <TranslateTransform/>
-                </TransformGroup>
-            </Rectangle.RenderTransform>
+        <Rectangle x:Name="BG_Status_Copy6"  Cursor="Hand" Height="16" Canvas.Left="65" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
+            <Rectangle.Style>
+                <Style>
+                    <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
+                </Style>
+            </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="SlitValve_Bottom_Copy4"  Fill="DimGray" Width="9" Height="63" Canvas.Left="34" Canvas.Top="204" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" >
-            <Rectangle.RenderTransform>
-                <TransformGroup>
-                    <ScaleTransform/>
-                    <SkewTransform/>
-                    <RotateTransform Angle="90"/>
-                    <TranslateTransform/>
-                </TransformGroup>
-            </Rectangle.RenderTransform>
+        <Rectangle x:Name="BG_Status_Copy18"  Cursor="Hand" Height="16" Canvas.Left="56" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
+            <Rectangle.Style>
+                <Style>
+                    <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
+                </Style>
+            </Rectangle.Style>
         </Rectangle>
-        <Rectangle x:Name="SlitValve_Bottom_Copy11"  Fill="DimGray" Width="8" HorizontalAlignment="Center" Height="69" Canvas.Left="171" Canvas.Top="231" VerticalAlignment="Top" />
-        <Rectangle  Fill="DimGray" Style="{StaticResource SlitValve_Animation}" Width="8" Height="124" RenderTransformOrigin="0.5,0.5" Canvas.Left="237" Canvas.Top="173" HorizontalAlignment="Left" VerticalAlignment="Center" >
-            <Rectangle.RenderTransform>
-                <TransformGroup>
-                    <ScaleTransform/>
-                    <SkewTransform/>
-                    <RotateTransform Angle="89.935"/>
-                    <TranslateTransform/>
-                </TransformGroup>
-            </Rectangle.RenderTransform>
+        <Rectangle x:Name="BG_Status_Copy19"  Cursor="Hand" Height="16" Canvas.Left="47" Canvas.Top="83" Width="4" RenderTransformOrigin="-0.375,0.425" HorizontalAlignment="Left" VerticalAlignment="Center">
+            <Rectangle.Style>
+                <Style>
+                    <Setter Property="Shape.Fill" Value="WhiteSmoke"/>
+                </Style>
+            </Rectangle.Style>
         </Rectangle>
+        <Rectangle x:Name="SlitValve_Bottom_Copy1"  Fill="DimGray" Width="8" Height="43" Canvas.Top="198" HorizontalAlignment="Center" VerticalAlignment="Top" />