瀏覽代碼

Kepler operation页面增加PMB、PMC、TM压力值和真空大气信号 去除MFVentRoutine结束后关闭N2valve

zhouhr 1 年之前
父節點
當前提交
187a5c453d

+ 47 - 2
Venus/Venus_MainPages/ViewModels/OperationOverViewModel.cs

@@ -85,6 +85,9 @@ namespace Venus_MainPages.ViewModels
 
         private string m_ATMModeIsOn;
 
+        private float m_PMBPressure;
+        private float m_PMCPressure;
+
         #endregion
 
         #region  属性
@@ -376,6 +379,19 @@ namespace Venus_MainPages.ViewModels
             get { return m_ATMModeIsOn; }
             set { SetProperty(ref m_ATMModeIsOn, value); }
         }
+
+        public float PMBPressure
+        {
+            get { return  m_PMBPressure; }
+            set { SetProperty(ref m_PMBPressure, value); }
+        }
+
+        public float PMCPressure
+        {
+            get { return m_PMCPressure; }
+            set { SetProperty(ref m_PMCPressure, value); }
+        }
+
         #endregion
 
         #region 命令
@@ -665,12 +681,28 @@ namespace Venus_MainPages.ViewModels
                 PMBWafer = ModuleManager.ModuleInfos["PMB"].WaferManager.Wafers[0];
                 PMBRecipeResult = CommonFunction.GetValue<RecipeResult>(RtDataValues, $"PMB.CurrentRecipeResult");
 
+                if (Math.Abs(100 - CommonFunction.GetValue<float>(RtDataValues, $"PMB.ProcessLowPressure")) > 1 && CommonFunction.GetValue<float>(RtDataValues, $"PMB.ProcessLowPressure") < 100)
+                {
+                    PMBPressure =  CommonFunction.GetValue<float>(RtDataValues, $"PMB.ProcessLowPressure");
+                }
+                else
+                {
+                    PMBPressure =  CommonFunction.GetValue<float>(RtDataValues, $"PMB.ProcessHighPressure");
+                }
+
             }
             if (PMCIsInstalled == true)
             {
                 PMCWafer = ModuleManager.ModuleInfos["PMC"].WaferManager.Wafers[0];
                 PMCRecipeResult = CommonFunction.GetValue<RecipeResult>(RtDataValues, $"PMC.CurrentRecipeResult");
-
+                if (Math.Abs(100 - CommonFunction.GetValue<float>(RtDataValues, $"PMC.ProcessLowPressure")) > 1 && CommonFunction.GetValue<float>(RtDataValues, $"PMC.ProcessLowPressure") < 100)
+                {
+                    PMCPressure = CommonFunction.GetValue<float>(RtDataValues, $"PMC.ProcessLowPressure");
+                }
+                else
+                {
+                    PMCPressure = CommonFunction.GetValue<float>(RtDataValues, $"PMC.ProcessHighPressure");
+                }
             }
             if (PMDIsInstalled == true)
             {
@@ -1066,14 +1098,23 @@ namespace Venus_MainPages.ViewModels
                 m_RtDataKeys.Add("PMB.CurrentRecipeResult");
 
                 m_RtDataKeys.Add("PMB.IsOnline");
+
+                m_RtDataKeys.Add("PMB.IsATM");
+                m_RtDataKeys.Add("PMB.IsVAC");
+
+                m_RtDataKeys.Add($"PMB.ProcessHighPressure");
+                m_RtDataKeys.Add($"PMB.ProcessLowPressure");
             }
 
             if (PMCIsInstalled == true)
             {
                 m_RtDataKeys.Add("PMC.IsSlitDoorClosed");
                 m_RtDataKeys.Add("PMC.CurrentRecipeResult");
-
+                m_RtDataKeys.Add("PMC.IsATM");
+                m_RtDataKeys.Add("PMC.IsVAC");
                 m_RtDataKeys.Add("PMC.IsOnline");
+                m_RtDataKeys.Add($"PMC.ProcessHighPressure");
+                m_RtDataKeys.Add($"PMC.ProcessLowPressure");
             }
 
             if (PMDIsInstalled == true)
@@ -1091,6 +1132,10 @@ namespace Venus_MainPages.ViewModels
                 m_RtDataKeys.Add("TM.LLAESlitDoor.IsClosed");
                 m_RtDataKeys.Add("TM.LLBESlitDoor.IsClosed");
                 m_RtDataKeys.Add("TM.IsOnline");
+                m_RtDataKeys.Add($"TM.TMProcessGauge.Value");
+                m_RtDataKeys.Add("TM.TMATMSwitch.Value");
+                m_RtDataKeys.Add("TM.TMVacSwitch.Value");
+
 
             }
             if (LLAIsInstalled == true)

+ 38 - 13
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -51,7 +51,7 @@
                     <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}}" Opacity="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
 
 
-                    
+
                 </Canvas>
 
             </Viewbox>
@@ -272,7 +272,7 @@
         <TextBlock Canvas.Top="465" Canvas.Left="880" Text="LLB" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"></TextBlock>
         <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="150" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True"/>
         <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="470" Canvas.Left="830" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True"/>
-        
+
         <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot"  Canvas.Top="600" Canvas.Left="140" />
 
         <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot"      Canvas.Top="600" Canvas.Left="820"/>
@@ -285,7 +285,7 @@
             <RadioButton Content="LP1"     Name="JobRadioButton1"      Canvas.Left="961"   Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}"   IsChecked="False"  />
             <RadioButton Content="LP2"     Name="JobRadioButton2"      Canvas.Left="1022"  Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}"   IsChecked="False"  />
             <RadioButton Content="LP3"     Name="JobRadioButton3"      Canvas.Left="1083"  Canvas.Top="106" Width="60" Height="33" Style="{StaticResource Button_RadioButton}"   IsChecked="False"  />
-            
+
             <TabPanel Canvas.Left="900"  Canvas.Top="140" Visibility="{Binding ElementName=CarrierRadioButton,Path=IsChecked,Converter={StaticResource boolToVisibility2}}">
                 <StackPanel Orientation="Horizontal" >
                     <StackPanel>
@@ -304,7 +304,7 @@
                             <customControls:PathButton Content="Load"   HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}"   CommandParameter="LP1"   IsEnabled="{Binding RtDataValues[LP1.IsLoaded],Converter={StaticResource BoolToBool}}"/>
                             <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,8,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP1"   IsEnabled="{Binding RtDataValues[LP1.IsLoaded]}"/>
                         </StackPanel>
-                        
+
 
                     </StackPanel>
                     <StackPanel>
@@ -321,25 +321,25 @@
                             <customControls:PathButton Content="Load"   HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP2"    IsEnabled="{Binding RtDataValues[LP2.IsLoaded],Converter={StaticResource BoolToBool}}"/>
                             <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,8,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP2"  IsEnabled="{Binding RtDataValues[LP2.IsLoaded]}"/>
                         </StackPanel>
-                           
+
 
                     </StackPanel>
                     <StackPanel>
                         <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP3" Width="Auto" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsReadOnly="True"/>
                         <ctrls:FOUPFrontView UnitData="{Binding LP3ModuleInfo}" ShowTitle="False"/>
                         <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
-                                <TextBlock.Text>
-                                    <MultiBinding StringFormat="{}Wafer Count:{0}">
-                                        <Binding Path="LP3WaferCount"></Binding>
-                                    </MultiBinding>
-                                </TextBlock.Text>
+                            <TextBlock.Text>
+                                <MultiBinding StringFormat="{}Wafer Count:{0}">
+                                    <Binding Path="LP3WaferCount"></Binding>
+                                </MultiBinding>
+                            </TextBlock.Text>
                         </TextBlock>
                         <StackPanel Orientation="Horizontal">
                             <customControls:PathButton Content="Load"   HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding LoadWaferCommand}" CommandParameter="LP3"     IsEnabled="{Binding RtDataValues[LP3.IsLoaded],Converter={StaticResource BoolToBool}}"/>
                             <customControls:PathButton Content="UnLoad" HorizontalAlignment="Center" Margin="0,5,0,0" Width="80" Height="30" Command="{Binding UnLoadWaferCommand}" CommandParameter="LP3"   IsEnabled="{Binding RtDataValues[LP3.IsLoaded]}"/>
                         </StackPanel>
 
-                           
+
 
                     </StackPanel>
                 </StackPanel>
@@ -539,13 +539,38 @@
         <Ellipse Width="15" Height="15"  Canvas.Left="790" Canvas.Top="446" Fill="{Binding RtDataValues[TM.LLBVacSwitch.Value],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
         <TextBlock Text="ATM" Canvas.Left="810" Canvas.Top="426"/>
         <TextBlock Text="VAC" Canvas.Left="810" Canvas.Top="446"/>
-        
+
         <userControls:TextboxWithLabel  Canvas.Left="356" Canvas.Top="425" LabelValue="CM5(mTorr)" TextBoxValue="{Binding RtDataValues[TM.LLAPressureGauge.Value],StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
         <Ellipse Width="15" Height="15"  Canvas.Left="330" Canvas.Top="426" Fill="{Binding RtDataValues[TM.LLAATMSwitch.Value],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
         <Ellipse Width="15" Height="15"  Canvas.Left="330" Canvas.Top="446" Fill="{Binding RtDataValues[TM.LLAVacSwitch.Value],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
         <TextBlock Text="ATM" Canvas.Left="300" Canvas.Top="426"/>
         <TextBlock Text="VAC" Canvas.Left="300" Canvas.Top="446"/>
 
-       
+        <Canvas Canvas.Top="20" Canvas.Left="25" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <userControls:TextboxWithLabel  Canvas.Left="356" Canvas.Top="0" LabelValue="CM5(mTorr)" TextBoxValue="{Binding RtDataValues[PMB.ProcessHighPressure],StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
+            <Ellipse Width="15" Height="15"  Canvas.Left="330" Canvas.Top="5" Fill="{Binding RtDataValues[PMB.IsATM],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <Ellipse Width="15" Height="15"  Canvas.Left="330" Canvas.Top="25" Fill="{Binding RtDataValues[PMB.IsVAC],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <TextBlock Text="ATM" Canvas.Left="300" Canvas.Top="5"/>
+            <TextBlock Text="VAC" Canvas.Left="300" Canvas.Top="25"/>
+        </Canvas>
+        <Canvas Canvas.Top="20" Canvas.Left="315" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <userControls:TextboxWithLabel  Canvas.Left="350" Canvas.Top="0" LabelValue="CM5(mTorr)" TextBoxValue="{Binding RtDataValues[PMC.ProcessHighPressure],StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
+            <Ellipse Width="15" Height="15"  Canvas.Left="430" Canvas.Top="5" Fill="{Binding RtDataValues[PMC.IsATM],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <Ellipse Width="15" Height="15"  Canvas.Left="430" Canvas.Top="25" Fill="{Binding RtDataValues[PMC.IsVAC],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <TextBlock Text="ATM" Canvas.Left="450" Canvas.Top="5"/>
+            <TextBlock Text="VAC" Canvas.Left="450" Canvas.Top="25"/>
+        </Canvas>
+
+        <Viewbox>
+
+        </Viewbox>
+        <Canvas Canvas.Top="-100" Canvas.Left="205" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <userControls:TextboxWithLabel  Canvas.Left="356" Canvas.Top="425" LabelValue="CM5(mTorr)" TextBoxValue="{Binding RtDataValues[TM.TMProcessGauge.Value],StringFormat='F1'}" TextBoxColor="#D7E4BD" HorizontalAlignment="Center" VerticalAlignment="Top" Height="35"/>
+            <Ellipse Width="15" Height="15"  Canvas.Left="330" Canvas.Top="426" Fill="{Binding RtDataValues[TM.TMATMSwitch.Value],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <Ellipse Width="15" Height="15"  Canvas.Left="330" Canvas.Top="446" Fill="{Binding RtDataValues[TM.TMVacSwitch.Value],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>
+            <TextBlock Text="ATM" Canvas.Left="300" Canvas.Top="426"/>
+            <TextBlock Text="VAC" Canvas.Left="300" Canvas.Top="446"/>
+        </Canvas>
+
     </Canvas>
 </UserControl>

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

@@ -82,7 +82,7 @@ namespace Venus_RT.Modules.TM
 
         private bool CloseVentValve()
         {
-             _JetTM.TurnN2Valve(false);
+             //_JetTM.TurnN2Valve(false);
              _JetTM.TurnPurgeValve(Module, false);
              _JetTM.TurnVentValve(Module, false);