Selaa lähdekoodia

1.Fix Chamber DE recipe process bugs
2.add chamber de ui parameters
2.Fix Venus SE Chamber DE sequence bugs

hecl 11 kuukautta sitten
vanhempi
commit
c1ae6b6ea1

+ 3 - 0
Venus/Framework/Common/SubstrateTrackings/WaferManager.cs

@@ -12,6 +12,7 @@ using MECF.Framework.Common.DBCore;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.Utilities;
 using MECF.Framework.Common.Schedulers;
+using System.Diagnostics;
 
 namespace MECF.Framework.Common.SubstrateTrackings
 {
@@ -223,6 +224,7 @@ namespace MECF.Framework.Common.SubstrateTrackings
 
         public bool IsWaferSlotLocationValid(ModuleName module, int slot)
         {
+            bool s = _locationWafers.ContainsKey(module) && _locationWafers[module].ContainsKey(slot);
             return _locationWafers.ContainsKey(module) && _locationWafers[module].ContainsKey(slot);
         }
 
@@ -287,6 +289,7 @@ namespace MECF.Framework.Common.SubstrateTrackings
 
         public bool CheckHasWafer(ModuleName module, int slot)
         {
+            bool s = IsWaferSlotLocationValid(module, slot) && !_locationWafers[module][slot].IsEmpty;
             return IsWaferSlotLocationValid(module, slot) && !_locationWafers[module][slot].IsEmpty;
         }
         public bool CheckWaferIsDummy(ModuleName module, int slot)

+ 1 - 1
Venus/Venus_MainPages/Venus_MainPages.csproj.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <ProjectView>ShowAllFiles</ProjectView>
+    <ProjectView>ProjectFiles</ProjectView>
   </PropertyGroup>
 </Project>

+ 15 - 11
Venus/Venus_MainPages/ViewModels/OverVenusDEViewModel.cs

@@ -141,6 +141,7 @@ namespace Venus_MainPages.ViewModels
 
         private AITRfData m_SRFData;
         private AITRfData m_BRFData;
+        private AITMatchData m_BRMatch;
 
         private AITPendulumValveData m_PendulumValveData;
 
@@ -718,6 +719,12 @@ namespace Venus_MainPages.ViewModels
             get { return m_BRFData; }
             set { SetProperty(ref m_BRFData, value); }
         }
+
+        public AITMatchData BRMatch
+        {
+            get { return m_BRMatch; }
+            set { SetProperty(ref m_BRMatch, value); }
+        }
         public PMState PMCurrentState
         {
             get { return m_PMCurrentState; }
@@ -1251,8 +1258,6 @@ namespace Venus_MainPages.ViewModels
         {
             m_RtDataKeys = new List<string>();
 
-            
-
             m_IsATM = true;
 
             ModuleName = "PMA";
@@ -1854,6 +1859,7 @@ namespace Venus_MainPages.ViewModels
 
                 // SRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.Rf}.DeviceData");
                 BRFData = CommonFunction.GetValue<AITRfData>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasRf}.DeviceData");
+                BRMatch = CommonFunction.GetValue<AITMatchData>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasMatch}.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");
@@ -1870,7 +1876,6 @@ namespace Venus_MainPages.ViewModels
 
                 ChillerTemperature = float.Parse(RtDataValues[$"{ModuleName}.Chiller.Temp"].ToString());
                 HVTemperature = float.Parse(RtDataValues[$"{ModuleName}.{VenusDevice.ESCHV}.Temp"].ToString());
-
                 if ((bool)QueryDataClient.Instance.Service.GetConfig($"{ModuleName}.WallChiller.EnableChiller"))
                 {
                     WallChillerTemperature = float.Parse(RtDataValues[$"{ModuleName}.WallChiller.Temp"].ToString());
@@ -1893,9 +1898,6 @@ namespace Venus_MainPages.ViewModels
                 ESCHVOutputVoltage = CommonFunction.GetValue<int>(RtDataValues, $"{ModuleName}.ESCHV.OutputVoltage");
                 PurgeValveIsOpen = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.ValvePurge.IsOpen");
 
-                MatchC1 = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.{VenusDevice.Match}.C1");
-                MatchC2 = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.{VenusDevice.Match}.C2");
-
                 BiasMatchC1 = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasMatch}.C1");
                 BiasMatchC2 = CommonFunction.GetValue<float>(RtDataValues, $"{ModuleName}.{VenusDevice.BiasMatch}.C2");
                 TurboPumpWaterFlowSwitch = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.TurboPumpWaterFlowSwitch.Value");
@@ -1909,6 +1911,7 @@ namespace Venus_MainPages.ViewModels
 
                     CurrentRecipeResult = CommonFunction.GetValue<RecipeResult>(RtDataValues, $"{ModuleName}.CurrentRecipeResult");
                     if (CurrentRecipeResult.RecipeStepNumber != null && CurrentRecipeResult.RecipeStepNumber != currentRecipeNumber)
+
                     {
                         var recipePath = Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", ModuleName, CurrentRecipe.Header.Type.ToString(), CurrentRecipeResult.RecipeName + ".rcp");
                         CurrentRecipe = Recipe.Load(File.ReadAllText(recipePath));
@@ -1917,11 +1920,11 @@ namespace Venus_MainPages.ViewModels
                     currentRecipeNumber = CurrentRecipeResult.RecipeStepNumber;
 
                 }
-                else
-                {
-                    CurrentRecipeResult = null;
-                    CurrentRecipeStep = null;
-                }
+                //else
+                //{
+                //    CurrentRecipeResult = null;
+                //    CurrentRecipeStep = null;
+                //}
 
                 if (Math.Abs(100 - ProcessPressure) > 1 && ProcessPressure < 100)
                 {
@@ -2038,6 +2041,7 @@ namespace Venus_MainPages.ViewModels
 
             m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.C1");
             m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.C2");
+            m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.BiasMatch}.DeviceData");
 
             m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.PendulumValve}.DeviceData");
             m_RtDataKeys.Add($"{ModuleName}.{VenusDevice.ESCHV}.DeviceData");

+ 1 - 6
Venus/Venus_MainPages/ViewModels/StatisticsViewModel.cs

@@ -331,7 +331,6 @@ namespace Venus_MainPages.ViewModels
 
         public void SetAlarmValue(StatsDataListItem item)
         {
-            if (MenuPermission != 3) return;
             if (string.IsNullOrEmpty(item.AlarmValueSetPoint) ||
                 !int.TryParse(item.AlarmValueSetPoint, out int setValue))
             {
@@ -347,7 +346,6 @@ namespace Venus_MainPages.ViewModels
 
         public void SetWarningValue(StatsDataListItem item)
         {
-            if (MenuPermission != 3) return;
             if (string.IsNullOrEmpty(item.WarningValueSetPoint) ||
                 !int.TryParse(item.WarningValueSetPoint, out int setValue))
             {
@@ -363,25 +361,22 @@ namespace Venus_MainPages.ViewModels
         
         public void ResetTotalValue(StatsDataListItem item)
         {
-            if (MenuPermission != 3) return;
             InvokeClient.Instance.Service.DoOperation("System.Stats.ResetTotalValue", item.Name);
         }
 
         public void ResetTimeValue(StatsDataListItemRFAndPump item)
         {
-            if (MenuPermission != 3) return;
             InvokeClient.Instance.Service.DoOperation("System.StatsRFAndPump.ResetValue", item.Name);
         }
 
         public void ResetRFEnableAlarm(StatsDataListItemRFAndPump item)
         {
-            if (MenuPermission != 3) return;
             InvokeClient.Instance.Service.DoOperation("System.StatsRFAndPump.EnableAlarm", item.Name, item.AlarmEnable);
         }
 
         public void SetPMIntervalValue(StatsDataListItemRFAndPump item)
         {
-            if (MenuPermission != 3) return;
+
             if (string.IsNullOrEmpty(item.PMIntervalSetPoint) ||
                 !int.TryParse(item.PMIntervalSetPoint, out int setValue))
             {

+ 30 - 44
Venus/Venus_MainPages/Views/OverVenusDEView.xaml

@@ -994,8 +994,8 @@
         <Canvas Canvas.Right="2050" Canvas.Top="70">
             <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="813" Canvas.Top="692" Content="Flow Mode" FontSize="15"     IsChecked="{Binding HeIsPressureMode,Converter={StaticResource BoolToBool},UpdateSourceTrigger=PropertyChanged}"/>
-            <RadioButton Canvas.Left="917" Canvas.Top="692" Content="Pressure Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode,UpdateSourceTrigger=PropertyChanged}"/>
+            <!--<RadioButton Canvas.Left="813" Canvas.Top="692" Content="Flow Mode" FontSize="15"     IsChecked="{Binding HeIsPressureMode,Converter={StaticResource BoolToBool},UpdateSourceTrigger=PropertyChanged}"/>
+            <RadioButton Canvas.Left="917" Canvas.Top="692" Content="Pressure Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode,UpdateSourceTrigger=PropertyChanged}"/>-->
 
             <!--与chamber右上角连接的管道-->
             <ctrls:FlowPipe  Height="8"  Width="40" Canvas.Left="1343" Canvas.Top="355"  RotateTransformValue="90" />
@@ -1349,6 +1349,7 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
+                    <RowDefinition/>
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="2*"/>
@@ -1454,38 +1455,22 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <!--<TextBlock Grid.Row="18"        Background="#E9EDF4"    Padding="10,5,0,0" >
-                    <TextBlock.Text>
-                        <MultiBinding StringFormat="{}Gas11({0}:{1})">
-                            <Binding Path="MFC11Data.DisplayName"></Binding>
-                            <Binding Path="MFC11Data.Scale"></Binding>
-                        </MultiBinding>
-                    </TextBlock.Text>
-                </TextBlock>
-                <TextBlock Grid.Row="19"        Background="#D0D8E8"    Padding="10,5,0,0" >
-                    <TextBlock.Text>
-                        <MultiBinding StringFormat="{}Gas12({0}:{1})">
-                            <Binding Path="MFC12Data.DisplayName"></Binding>
-                            <Binding Path="MFC12Data.Scale"></Binding>
-                        </MultiBinding>
-                    </TextBlock.Text>
-                </TextBlock>-->
                 <TextBlock Grid.Row="18"   Text="ESC Clamp Voltage"          Background="#E9EDF4"  Padding="10,5,0,0"  />
                 <TextBlock Grid.Row="19"   Text="ESC Temperature"        Background="#D0D8E8"  Padding="10,5,0,0" />
                 <TextBlock Grid.Row="20"  Text="Helium Pressure"       Background="#E9EDF4"    Padding="10,5,0,0"/>
                 <TextBlock Grid.Row="21"   Text="Helium Flow"       Background="#D0D8E8"    Padding="10,5,0,0" />
-
+                <TextBlock Grid.Row="22"   Text="Magnet Intensity"       Background="#D0D8E8"    Padding="10,5,0,0" />
                 <!--<TextBlock Grid.Row="1" Grid.Column="1"  Text="{Binding SRFData.ForwardPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,5,0,0"/>
-                <TextBlock Grid.Row="2"  Grid.Column="1" Text="{Binding SRFData.ReflectPower}"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>-->
-                <TextBlock Grid.Row="1"  Grid.Column="1" Text="{Binding BRFData.ForwardPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="2"  Grid.Column="1" Text="{Binding BRFData.ReflectPower}"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="3"  Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="4"  Grid.Column="1" Text="{Binding BiasMatchC2,StringFormat='F1'}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="5"  Grid.Column="1" Text="N/A"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="2"  Grid.Column="1" Text="{Binding SRFData.ReflectPower}"                 Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>-->
+                <TextBlock Grid.Row="1"  Grid.Column="1" Text="{Binding BRFData.ForwardPower}"                      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="2"  Grid.Column="1" Text="{Binding BRFData.ReflectPower}"                      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="3"  Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}"             Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="4"  Grid.Column="1" Text="{Binding BiasMatchC2,StringFormat='F1'}"             Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="5"  Grid.Column="1" Text="N/A"                                                 Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="6"  Grid.Column="1" Text="{Binding ChamberPressureFeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="7"  Grid.Column="1" Text="{Binding PendulumValvePosition}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="8"  Grid.Column="1" Text="{Binding MFC1Data.FeedBack,StringFormat='F1'}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="9"  Grid.Column="1" Text="{Binding MFC2Data.FeedBack,StringFormat='F1'}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="8"  Grid.Column="1" Text="{Binding MFC1Data.FeedBack,StringFormat='F1'}"        Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="9"  Grid.Column="1" Text="{Binding MFC2Data.FeedBack,StringFormat='F1'}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="10"  Grid.Column="1" Text="{Binding MFC3Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="11"  Grid.Column="1" Text="{Binding MFC4Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="12"  Grid.Column="1" Text="{Binding MFC5Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
@@ -1493,40 +1478,40 @@
                 <TextBlock Grid.Row="14"  Grid.Column="1" Text="{Binding MFC7Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="15"  Grid.Column="1" Text="{Binding MFC8Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="16"  Grid.Column="1" Text="{Binding MFC9Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="17"  Grid.Column="1" Text="{Binding MFC10Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="17"  Grid.Column="1" Text="{Binding MFC10Data.FeedBack,StringFormat='F1'}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <!--<TextBlock Grid.Row="18"  Grid.Column="1" Text="{Binding MFC11Data.FeedBack,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="19"  Grid.Column="1" Text="{Binding MFC12Data.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>-->
-                <TextBlock Grid.Row="18"  Grid.Column="1" Text="{Binding ESCHVData.OutputVoltage}"          Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center" />
-                <TextBlock Grid.Row="19"  Grid.Column="1" Text="{Binding HVTemperature,StringFormat='F1'}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="18"  Grid.Column="1"  Text="{Binding ESCHVData.OutputVoltage}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="19"  Grid.Column="1" Text="{Binding ChillerTemperature,StringFormat='F1'}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center" />
                 <TextBlock Grid.Row="20"  Grid.Column="1" Text="{Binding ESCHePressure,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="21"  Grid.Column="1" Text="{Binding MFCHeData.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-
+                <TextBlock Grid.Row="22"  Grid.Column="1" Text="{Binding MagnetData.MagnetIntensity,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <!--<TextBlock Grid.Row="1" Grid.Column="2"  Text="{Binding CurrentRecipeStep.LstUnit[1].RFPower}"          Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
                 <TextBlock Grid.Row="2"  Grid.Column="2" Text="N/A"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>-->
-                <TextBlock Grid.Row="1"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasRFPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="1"  Grid.Column="2" Text="{Binding BRFData.PowerSetPoint,StringFormat='F1'}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="2"  Grid.Column="2" Text="N/A"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="3"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasTuneCapPreset}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="4"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasLoadCapPreset}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="5"  Grid.Column="2" Text="N/A"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="6"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="3"  Grid.Column="2" Text="{Binding BRMatch.C1SetPoint,StringFormat='F1'}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="4"  Grid.Column="2" Text="{Binding BRMatch.C2SetPoint,StringFormat='F1'}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="5"  Grid.Column="2" Text="N/A"                                      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="6"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}"             Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="7"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].ValvePositionPreset}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="8"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas1}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="9"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas2}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="10"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas3}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="8"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas1}"        Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="9"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas2}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="10"  Grid.Column="2"  Text="{Binding CurrentRecipeStep.LstUnit[3].Gas3}"    Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="11"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas4}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="12"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas5}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="12"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas5}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="13"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas6}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="14"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas7}"       Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="15"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas8}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="16"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas9}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="17"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas10}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="17"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas10}"      Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <!--<TextBlock Grid.Row="18"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas11}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="19"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas12}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>-->
-                <TextBlock Grid.Row="18"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].ESCClampValtage}"          Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center" />
-                <TextBlock Grid.Row="19"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].Temperature}"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="18"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].ESCClampValtage}"     Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center" />
+                <TextBlock Grid.Row="19"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].Temperature}"         Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="20"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[4].BacksideHelum}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="21"  Grid.Column="2" Text=""       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
-
+                <TextBlock Grid.Row="22"  Grid.Column="2" Text="{Binding MagnetData.MagnetIntensity,StringFormat='F1'}"     Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <!--<TextBlock Grid.Row="1" Grid.Column="3"  Text="W"           Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
                 <TextBlock Grid.Row="2"  Grid.Column="3" Text="W"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>-->
                 <TextBlock Grid.Row="1"  Grid.Column="3" Text="W"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
@@ -1552,6 +1537,7 @@
                 <TextBlock Grid.Row="19"  Grid.Column="3" Text="°C"        Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="20"  Grid.Column="3" Text="Torr"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="21"  Grid.Column="3" Text="sccm"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="22"  Grid.Column="3" Text="gs"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
             </Grid>
             <!--<Button Width="120" Height="30" Content="Abort"            Canvas.Left="910" Canvas.Top="690"  IsEnabled="{Binding IsAutoMode}"/>
             <Button Width="120" Height="30" Content="Chamber Offline"  Canvas.Left="1110" Canvas.Top="690" IsEnabled="{Binding IsAutoMode}"/>-->

+ 4 - 4
Venus/Venus_MainPages/Views/OverVenusSEView.xaml

@@ -1421,12 +1421,12 @@
                 <TextBlock Grid.Row="24"  Grid.Column="1" Text="{Binding ESCHePressure,StringFormat='F1'}"       Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="25"  Grid.Column="1" Text="{Binding MFCHeData.FeedBack,StringFormat='F1'}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
 
-                <TextBlock Grid.Row="1" Grid.Column="2"  Text="{Binding CurrentRecipeStep.LstUnit[1].RFPower}"          Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
+                <TextBlock Grid.Row="1" Grid.Column="2"  Text="{Binding SRFData.PowerSetPoint}"          Background="#D0D8E8"   TextBlock.TextAlignment="Center"    Block.TextAlignment="Center" Padding="0,6,0,0"/>
                 <TextBlock Grid.Row="2"  Grid.Column="2" Text="N/A"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="3"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasRFPower}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="3"  Grid.Column="2" Text="{Binding BRFData.PowerSetPoint}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="4"  Grid.Column="2" Text="N/A"           Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="5"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasTuneCapPreset}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
-                <TextBlock Grid.Row="6"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasLoadCapPreset}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="5"  Grid.Column="2" Text="{Binding MatchData.C1SetPoint}"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
+                <TextBlock Grid.Row="6"  Grid.Column="2" Text="{Binding MatchData.C2SetPoint}"           Background="#E9EDF4"  TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="7"  Grid.Column="2" Text="N/A"           Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="8"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}"      Background="#E9EDF4"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>
                 <TextBlock Grid.Row="9"  Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].ValvePositionPreset}"       Background="#D0D8E8"   TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/>

+ 6 - 6
Venus/Venus_MainPages/Views/StatisticsView.xaml

@@ -53,7 +53,7 @@
                         <DataGridTemplateColumn Width="130">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
-                                    <Button Content="Reset Value"  Command="{Binding DataContext.ResetValueCommnad, ElementName=stastic}" Width="120" Height="25" FontSize="12">
+                                    <Button Content="Reset Value"  Command="{Binding DataContext.ResetValueCommnad, ElementName=stastic}" CommandParameter="{Binding }" Width="120" Height="25" FontSize="12">
                                         <!--Command="{Binding DataContext.ResetValueCommnad,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"-->
                                     </Button>
                                 </DataTemplate>
@@ -97,7 +97,7 @@
                         <DataGridTemplateColumn Width="80">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
-                                    <Button Content="Set" Width="60" Command="{Binding DataContext.SetWarningValueCommnad, ElementName=stastic}"  Height="25" FontSize="12"/>
+                                    <Button Content="Set" Width="60" Command="{Binding DataContext.SetWarningValueCommnad, ElementName=stastic}" CommandParameter="{Binding }"  Height="25" FontSize="12"/>
 
                                 </DataTemplate>
                             </DataGridTemplateColumn.CellTemplate>
@@ -140,7 +140,7 @@
                         <DataGridTemplateColumn Width="80">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
-                                    <Button Content="Set" Width="60" Command="{Binding DataContext.SetAlarmValueCommnad, ElementName=stastic}" Height="25" FontSize="12">
+                                    <Button Content="Set" Width="60" Command="{Binding DataContext.SetAlarmValueCommnad, ElementName=stastic}" CommandParameter="{Binding }" Height="25" FontSize="12">
                                     </Button>
                                 </DataTemplate>
                             </DataGridTemplateColumn.CellTemplate>
@@ -166,7 +166,7 @@
                         <DataGridTemplateColumn Width="130"  >
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
-                                    <Button Content="Reset Total" Command="{Binding DataContext.ResetTotalValue, ElementName=stastic}" Width="120" Height="25" FontSize="12">
+                                    <Button Content="Reset Total" Command="{Binding DataContext.ResetTotalValue, ElementName=stastic}" CommandParameter="{Binding }" Width="120" Height="25" FontSize="12">
                                     </Button>
                                 </DataTemplate>
                             </DataGridTemplateColumn.CellTemplate>
@@ -214,7 +214,7 @@
                         <DataGridTemplateColumn Width="130">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
-                                    <Button Content="Reset Value" Command="{Binding DataContext.ResetTimeValueCommnad, ElementName=stastic}" Width="120" Height="25" FontSize="12">
+                                    <Button Content="Reset Value" Command="{Binding DataContext.ResetTimeValueCommnad, ElementName=stastic}" CommandParameter="{Binding }" Width="120" Height="25" FontSize="12">
                                     </Button>
                                 </DataTemplate>
                             </DataGridTemplateColumn.CellTemplate>
@@ -247,7 +247,7 @@
                         <DataGridTemplateColumn Width="80">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
-                                    <Button Content="Set" Width="60" Command="{Binding DataContext.SetPMIntervalValueCommnad, ElementName=stastic}" Height="25" FontSize="12">
+                                    <Button Content="Set" Width="60" Command="{Binding DataContext.SetPMIntervalValueCommnad, ElementName=stastic}" CommandParameter="{Binding }" Height="25" FontSize="12">
                                     </Button>
                                 </DataTemplate>
                             </DataGridTemplateColumn.CellTemplate>

+ 2 - 2
Venus/Venus_RT/Config/System_VenusSE.sccfg

@@ -644,8 +644,8 @@
 			<config default="20" name="ChamberForelinePressureTimeout" nameView="Chamber Foreline Pressure Timeout" description="" max="3000" min="0" paramter="" tag="" unit="s" type="Integer" />
 		</configs>
 		<configs name="Magnet" nameView="Magnet" visible="true">
-			<config default="1" name="Magnetwareform" nameView="Magnet wareform" description="波形, 0:SIN 1=Squre 2=Single" max="2" min="0" paramter="" tag="" unit="" type="Integer" visible="true"/>
-			<config default="25" name="MagentFieldRatio" nameView="Magent Field Ratio" description="" max="100" min="0" paramter="" tag="" unit="%" type="Integer" visible="true"/>
+			<config default="1" name="Magnetwareform" nameView="Magnet wareform" description="波形, 0:SIN 1:Squre 2:Single" max="2" min="0" paramter="" tag="" unit="" type="Integer" visible="true"/>
+			<config default="25" name="MagnetFieldRatio" nameView="Magent Field Ratio" description="" max="100" min="0" paramter="" tag="" unit="%" type="Integer" visible="true"/>
 			<config default="4" name="Magnetcycleperiod" nameView="Magnet cycle period" description="serial port name of pump" max="10" min="0" paramter="" tag="" unit="s" type="Integer" visible="true"/>
 			<config default="50" name="Magnet_1A_output_full_scale" nameView="Magnet 1A output full scale" description="" max="100" min="-100" paramter="" tag="" unit="%" type="Integer" visible="true"/>
 			<config default="50" name="Magnet_1B_output_full_scale" nameView="Magnet 1B output full scale" description="" max="100" min="-100" paramter="" tag="" unit="%" type="Integer" visible="true" />

+ 4 - 1
Venus/Venus_RT/Devices/ESC5HighVoltage.cs

@@ -344,7 +344,10 @@ namespace Venus_RT.Devices
         {
             return SendCommand(Operation.SetCurrentLimit, limit);
         }
-
+        public bool ReConnect()
+        {
+            return _serial.ReConnect();
+        }
         public bool SetPowerOnOff(bool on)
         {
             var _chamber = DEVICE.GetDevice<JetPMBase>(Module);

+ 1 - 1
Venus/Venus_RT/Devices/IODevices/IoMagnet.cs

@@ -83,7 +83,7 @@ namespace Venus_RT.Devices.IODevices
             _SetRealFloat(_aoMagnetWaveForm, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.Magnetwareform").Value));          
             _SetRealFloat(_aoMagnetCycle, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.Magnetcycleperiod").Value));
             _SetRealFloat(_aoMinMagnet, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.Min_Magnet_Coil_Current").Value));
-            _SetRealFloat(_aoMagnetFieldRadio, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.MagentFieldRatio").Value));
+            _SetRealFloat(_aoMagnetFieldRadio, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.MagnetFieldRatio").Value));
             _SetRealFloat(_ao1Aoutput, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.Magnet_1A_output_full_scale").Value));
             _SetRealFloat(_ao1Boutput, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.Magnet_1B_output_full_scale").Value));
             _SetRealFloat(_ao2Aoutput, Convert.ToSingle(SC.GetConfigItem($"{Module}.Magnet.Magnet_2A_output_full_scale").Value));

+ 7 - 2
Venus/Venus_RT/Devices/JetVenusDEPM.cs

@@ -889,7 +889,7 @@ namespace Venus_RT.Devices
         public override bool CheckSlitDoorOpen()
         => !IsSlitDoorClosed;// !IsLinerDoorClosed
 
-        public override void CloseValves(int? delayTime = null)
+        public async override void CloseValves(int? delayTime = null)
         {
             _PVN21Valve.TurnValve(false, out _);
             //_PVN22Valve.TurnValve(false, out _);
@@ -953,6 +953,10 @@ namespace Venus_RT.Devices
             {
                 stick.Stop();
             }
+            if (delayTime != null)
+            {
+                await Task.Delay((int)delayTime);
+            }
         }
 
         public override bool ExtendWafer()
@@ -1084,6 +1088,7 @@ namespace Venus_RT.Devices
             SetLinerDoor(false, out _);
             OpenValve(ValveType.PVN22, false);
             _GeneratorBias?.ReConnect();
+            _ESCHV?.ReConnect();
             _BiasMatch?.ReConnect();
             _MainPump?.ReConnect();
             _TurboPump?.ReConnect();
@@ -1422,7 +1427,7 @@ namespace Venus_RT.Devices
         }
         public override void PMInError()
         {
-            CloseValves();
+            CloseValves(2000);
             GeneratorPowerOn(false);
             GeneratorBiasPowerOn(false);
             OpenValve(ValveType.TurboPumpPumping, true);

+ 1 - 0
Venus/Venus_RT/Devices/JetVenusSEPM.cs

@@ -1000,6 +1000,7 @@ namespace Venus_RT.Devices
             //SetSlitDoor(false, out _);
             OpenValve(ValveType.PVN22, false);
             _Generator?.ReConnect();
+            _ESCHV.ReConnect();
             _GeneratorBias?.ReConnect();
             _BiasMatch?.ReConnect();
             _Match?.ReConnect();

+ 15 - 3
Venus/Venus_RT/Devices/TM/HongHuTM.cs

@@ -320,6 +320,18 @@ namespace Venus_RT.Devices
                 _PressureControl.SetMode(false);
             }
         }
+        private bool IsPressureReady(ModuleName _targetModule)
+        {
+            double ControlPressure = SC.GetValue<int>($"{_targetModule}.ControlPressureSetPoint");
+            //double PMPressure = Singleton<RouteManager>.Instance.GetPM(_targetModule).ChamberPressure;
+            double PMPressure = (double)DATA.Poll($"{_targetModule}.ChamberPressure");
+            double range = SC.GetValue<int>($"{_targetModule}.ControlPressureOffset");
+            if ((PMPressure >= (ControlPressure - range)) && (PMPressure <= (ControlPressure + range)))
+            {
+                return true;
+            }
+            else return false;
+        }
         public override bool TurnSlitDoor(ModuleName mod, bool bOn)
         {
             double MaxPressureDifference = SC.GetValue<double>("System.PMTMMaxPressureDifference");
@@ -341,19 +353,19 @@ namespace Venus_RT.Devices
                 case ModuleName.PMA:
                     if (bOn && Singleton<RouteManager>.Instance.PMA.IsAtm && IsTMATM)
                         return _PMASlitDoor.SetCylinder(bOn, out _);
-                    if (bOn && !CanOpenSlitDoor(mod, MaxPressureDifference))
+                    if (bOn && !CanOpenSlitDoor(mod, MaxPressureDifference)&& !IsPressureReady(mod))
                         return false;
                     return _PMASlitDoor.SetCylinder(bOn, out _);
                 case ModuleName.PMB:
                     if (bOn && Singleton<RouteManager>.Instance.PMB.IsAtm && IsTMATM)
                         return _PMBSlitDoor.SetCylinder(bOn, out _);
-                    if (bOn && !CanOpenSlitDoor(mod, MaxPressureDifference))
+                    if (bOn && !CanOpenSlitDoor(mod, MaxPressureDifference)&& !IsPressureReady(mod))
                         return false;
                     return _PMBSlitDoor.SetCylinder(bOn, out _);
                 case ModuleName.PMC:
                     if (bOn && Singleton<RouteManager>.Instance.PMC.IsAtm && IsTMATM)
                         return _PMCSlitDoor.SetCylinder(bOn, out _);
-                    if (bOn && !CanOpenSlitDoor(mod, MaxPressureDifference))
+                    if (bOn && !CanOpenSlitDoor(mod, MaxPressureDifference) && !IsPressureReady(mod))
                         return false;
                     return _PMCSlitDoor.SetCylinder(bOn, out _);
             }

+ 10 - 1
Venus/Venus_RT/Devices/TruPlasmaRF.cs

@@ -384,6 +384,8 @@ namespace Venus_RT.Devices
         public EnumRfMatchTuneMode WorkMode { get; set; }
         public float C1 { get; set; }
         public float C2 { get; set; }
+        public float _C1setpoint { get; set; }
+        public float _C2setpoint { get; set; }
 
         //[Subscription("VPP")]
         public ushort VPP { get; set; }
@@ -399,7 +401,9 @@ namespace Venus_RT.Devices
                     C1 = TunePosition1,
                     C2 = TunePosition2,
                     VPP = "",
-                    DCBias = DCBias.ToString()
+                    DCBias = DCBias.ToString(),
+                    C1SetPoint= _C1setpoint,
+                    C2SetPoint = _C2setpoint,
                 };
             }
         }
@@ -419,6 +423,7 @@ namespace Venus_RT.Devices
         {
             base.Initialize();
             preset(50,50);
+            DATA.Subscribe($"{Module}.{Name}.DeviceData", () => DeviceData);
             if (_serial.Open())
             {
                 _serial.OnBinaryDataChanged += SerialBinaryPortDataReceived;
@@ -595,6 +600,8 @@ namespace Venus_RT.Devices
 
         private void SetPositionManualAuto(float c1val, float c2val)
         {
+            _C1setpoint = c1val;
+            _C2setpoint = c2val; 
             List<byte> Len = new List<byte>() { 0x16, 0xE9 };
             List<byte> DstSrc = new List<byte>() { 0x00, 0x02, 0x00, 0x01 };
             List<byte> Cmd = new List<byte> { 0x60, 0x40 };
@@ -625,6 +632,8 @@ namespace Venus_RT.Devices
         }
         private void preset(float c1val, float c2val)
         {
+            _C1setpoint = c1val;
+            _C2setpoint = c2val;
             List<byte> Len = new List<byte>() { 0x16, 0xE9 };
             List<byte> DstSrc = new List<byte>() { 0x00, 0x02, 0x00, 0x01 };
             List<byte> Cmd = new List<byte> { 0x60, 0x40 };

+ 3 - 3
Venus/Venus_RT/Modules/PMs/PMEntity.cs

@@ -728,13 +728,13 @@ namespace Venus_RT.Modules.PMs
                 StatsDataManager.Instance.Subscribe($"{Module}.RfOnTime", "Rf On Time");
             if (_chamber.IsBiasRFAble())
                 StatsDataManager.Instance.Subscribe($"{Module}.BiasRfOnTime", "Bias  Rf On Time");
-            StatsDataManager.Instance.Subscribe($"{Module}.PumpOnTime", "Pump On Time");
+            //StatsDataManager.Instance.Subscribe($"{Module}.PumpOnTime", "Pump On Time");
 
             _statProcessedWafer = StatsDataManager.Instance.GetItem($"{Module}.ProcessedWaferCount");
             _statRfOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.RfOnTime");
             if (_chamber.IsBiasRFAble())
                 _statBiasRfOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.BiasRfOnTime");
-            _statPumpOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.PumpOnTime");
+            //_statPumpOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.PumpOnTime");
 
 
             DATA.Subscribe($"{Module}.ProcessedWaferCount", () => _statProcessedWafer.Value);
@@ -742,7 +742,7 @@ namespace Venus_RT.Modules.PMs
                 DATA.Subscribe($"{Module}.RfOnTime", () => _statRfOnTime.fromLastPM);
             if (_chamber.IsBiasRFAble())
                 DATA.Subscribe($"{Module}.BiasRfOnTime", () => _statBiasRfOnTime.fromLastPM);
-            DATA.Subscribe($"{Module}.PumpOnTime", () => _statPumpOnTime.fromLastPM);
+            //DATA.Subscribe($"{Module}.PumpOnTime", () => _statPumpOnTime.fromLastPM);
 
             if (ChamberType == JetChamber.Kepler2200A && ChamberType == JetChamber.Kepler2200B)
             {

+ 3 - 3
Venus/Venus_RT/Modules/PMs/PMProcessRoutine.cs

@@ -581,7 +581,7 @@ namespace Venus_RT.Modules.PMs
             _chamber.OpenValve(ValveType.TurboPumpPurge, true);
             _chamber.OpenValve(ValveType.Guage, true);
             _chamber.SetPVPostion(1000);
-            if ((_chamber.ChamberType == JetChamber.VenusSE) && _chamber.IsHVOn == true)
+            if ((_chamber.ChamberType == JetChamber.VenusSE || _chamber.ChamberType == JetChamber.VenusDE) && _chamber.IsHVOn == true)
             {
                 _chamber.OnOffSetESCHV(false);
             }
@@ -629,8 +629,8 @@ namespace Venus_RT.Modules.PMs
             if (_chamber.ChamberType == JetChamber.VenusSE || _chamber.ChamberType == JetChamber.VenusDE)
             {
                 _chamber.SetBacksideHeThreshold(0, 0);
-
-                await Task.Delay(3000);
+                _chamber.MagnetSetpower(0);
+                await Task.Delay(2000);
                 _chamber.OnOffSetESCHV(false);
             }
         }

+ 4 - 3
Venus/Venus_RT/Modules/PMs/ProcessDefine.cs

@@ -636,7 +636,7 @@ namespace Venus_RT.Modules.PMs
             }
         }
         private RState Kepler2200GasControlUnit_Start(ProcessUnitBase unit, RecipeStep step)
-        {          
+        {
             List<ToleranceObject> toleranceObjects = new List<ToleranceObject>();
             Chamber.OpenValve(ValveType.GasFinal, true);
             var ProcessUnit = unit as Kepler2200GasControlUnit;
@@ -975,6 +975,7 @@ namespace Venus_RT.Modules.PMs
             else
             {
                 Chamber.SetESCClampVoltage(0);
+                Chamber.OnOffSetESCHV(false);
             }
             Chamber.SetBacksideHePressure(ProcessUnit.BacksideHelium);
             Chamber.SetBacksideHeThreshold(ProcessUnit.MinHeFlow, ProcessUnit.MaxHeFlow);
@@ -1151,7 +1152,7 @@ namespace Venus_RT.Modules.PMs
 
         //public void fdcStop()
         //{
-            
+
 
         //    if (m_RecipeHead.Type == RecipeType.Process)
         //    {                
@@ -1176,7 +1177,7 @@ namespace Venus_RT.Modules.PMs
                 {
                     _lastEPDStepTimeStopwatch.Restart();
                 }
-            }         
+            }
 
 
             return RState.Running;

+ 2 - 0
Venus/Venus_RT/Modules/SETMCycle.cs

@@ -265,6 +265,7 @@ namespace Venus_RT.Modules
             cj.LotWafers = new List<WaferInfo>();
             cj.SetState(EnumControlJobState.Queued);
             cj.JetState = EnumJetCtrlJobState.Created;
+            cj.SequenceNameList = slotSequence;
             cj.PreJobClean = param.ContainsKey("PreCleanRecipeName") ? (string)param["PreCleanRecipeName"] : string.Empty;
             cj.PostJobClean = param.ContainsKey("PostCleanRecipeName") ? (string)param["PostCleanRecipeName"] : string.Empty;
             Dictionary<string, bool[]> seqSlot = new Dictionary<string, bool[]>();
@@ -366,6 +367,7 @@ namespace Venus_RT.Modules
         public bool AbortJob(string jobName, out string reason)
         {
             reason = "";
+            _TMRobot._entityTaskToken = (int)FSM_MSG.NONE;
             ControlJobInfo cj = _lstControlJobs.Find(x => x.Name == jobName);
             if (cj == null)
             {

+ 8 - 4
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFPMSwapRoutine.cs

@@ -29,16 +29,18 @@ namespace Venus_RT.Modules.TM.VenusEntity
             WaitPMReady,
             OpenMFSlitDoor,
             WaitforControlPressure,
+            PickDelay,
             PreRotation,
             PickPrepare,
             PickExtend,
             DropDownWafer,
-            PickDelay,
+            PickDelay1,
             PickRetract,
             PlacePrepare,
+            PlaceDelay,
             PlaceExtend,
             LiftUpWafer,
-            PlaceDelay,
+            PlaceDelay1,
             PlaceRetract,
             NotifyDone,
             CloseMFSlitDoor,
@@ -131,14 +133,16 @@ namespace Venus_RT.Modules.TM.VenusEntity
             Runner.Wait(SwapStep.WaitPMReady,       () => _pmModule.IsIdle,     _delay_60s)
                 .Run(SwapStep.OpenMFSlitDoor,       OpenSlitDoor,               CheckSlitDoorOpen)
                 .Run(SwapStep.PickPrepare,          PickPrepare,                IsModuleReadyForPick)
+                .Delay(SwapStep.PickDelay, _placeDelayTime)
                 .Run(SwapStep.PickExtend,           PickExtend,                 WaitRobotExtendDone)
                 .Run(SwapStep.DropDownWafer,        NotifyPMPickWafer,          WaitPMWaferDropDown)
-                .Delay(SwapStep.PickDelay,          _pickDelayTime)
+                .Delay(SwapStep.PickDelay1,          _pickDelayTime)
                 .Run(SwapStep.PickRetract,          PickRetract,                WaitRobotRetractDone)
                 .Run(SwapStep.PlacePrepare,         PlacePrepare,               IsModuleReadyForPlace)
+                .Delay(SwapStep.PlaceDelay, _pickDelayTime)
                 .Run(SwapStep.PlaceExtend,          PlaceExtend,                WaitRobotExtendDone)
                 .Run(SwapStep.LiftUpWafer,          NotifyLiftUpWafer,          WaitPMWaferLiftUp)
-                .Delay(SwapStep.PlaceDelay,         _placeDelayTime)
+                .Delay(SwapStep.PlaceDelay1,         _placeDelayTime)
                 .Run(SwapStep.PlaceRetract,         PlaceRetract,               WaitRobotRetractDone)
                 .Run(SwapStep.CloseMFSlitDoor,      CheckDoorClose,             WaitPMDoorClose,            5000)
                 .Run(SwapStep.NotifyDone,           NotifyPMDone,               _delay_50ms)