Browse Source

新版本Recioeview界面开发

lixiang 9 months ago
parent
commit
ced69ea3b9

+ 5 - 0
Venus/Venus_Core/ProcessUnitDefine.cs

@@ -543,4 +543,9 @@ namespace Venus_Core
     //    FdcItems.Add("MfcGas6.FeedBack", Gas6);
     //    return FdcItems;
     //}
+
+    public class HeliosBiasRFKitUnit
+    { 
+    
+    }
 }

+ 8 - 0
Venus/Venus_MainPages/Venus_MainPages.csproj

@@ -185,6 +185,7 @@
     <Compile Include="ViewModels\ProcessHistoryViewModel.cs" />
     <Compile Include="ViewModels\ProcessViewModel.cs" />
     <Compile Include="ViewModels\RecipeSequenceSelectViewModel.cs" />
+    <Compile Include="ViewModels\NewRecipeViewModel.cs" />
     <Compile Include="ViewModels\RecipeViewModel.cs" />
     <Compile Include="ViewModels\RFCalibrationViewModel.cs" />
     <Compile Include="ViewModels\RoleViewModel.cs" />
@@ -288,6 +289,9 @@
     <Compile Include="Views\RecipeSequenceSelectView.xaml.cs">
       <DependentUpon>RecipeSequenceSelectView.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Views\NewRecipeView.xaml.cs">
+      <DependentUpon>NewRecipeView.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Views\RecipeView.xaml.cs">
       <DependentUpon>RecipeView.xaml</DependentUpon>
     </Compile>
@@ -510,6 +514,10 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
+    <Page Include="Views\NewRecipeView.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
     <Page Include="Views\RecipeView.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>

+ 1 - 1
Venus/Venus_MainPages/ViewModels/KeplerGasLeakCheckViewModel.cs

@@ -1095,7 +1095,7 @@ namespace Venus_MainPages.ViewModels
             {
                 CurrentStep = RtDataValues[$"{ModuleName}.GasLeakCheck.Step"]?.ToString();
                 //stepTimeCountValue += 1;
-                StepTime = TimeSpan.FromSeconds(stopwatch.ElapsedMilliseconds);
+                StepTime = TimeSpan.FromSeconds(stopwatch.ElapsedMilliseconds/1000);
 
             }
             else if ((PMState)RtDataValues[$"{ModuleName}.FsmState"] == PMState.LeakCheck)

File diff suppressed because it is too large
+ 1684 - 0
Venus/Venus_MainPages/ViewModels/NewRecipeViewModel.cs


+ 41 - 26
Venus/Venus_MainPages/ViewModels/OperationOverViewModel.cs

@@ -622,12 +622,6 @@ namespace Venus_MainPages.ViewModels
         #region 构造函数
         public OperationOverViewModel()
         {
-            timer = new DispatcherTimer();
-            timer.Interval = TimeSpan.FromSeconds(0.5);
-            addDataKeys();
-            RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
-            timer.Tick += Timer_Tick;
-            timer.Start();
             string allModules = QueryDataClient.Instance.Service.GetConfig($"System.InstalledModules").ToString();
             PMAIsInstalled = allModules.Contains("PMA");
             PMBIsInstalled = allModules.Contains("PMB");
@@ -638,6 +632,14 @@ namespace Venus_MainPages.ViewModels
             EFEMIsInstalled = allModules.Contains("EFEM");
             TMIsInstalled = allModules.Contains("TM");
 
+            timer = new DispatcherTimer();
+            timer.Interval = TimeSpan.FromSeconds(0.5);
+            addDataKeys();
+            RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
+            timer.Tick += Timer_Tick;
+            timer.Start();
+            
+
             if (PMAIsInstalled)
             {
                 PMAChamberType = ((JetChamber)QueryDataClient.Instance.Service.GetConfig($"PMA.ChamberType")).ToString();
@@ -1279,26 +1281,39 @@ namespace Venus_MainPages.ViewModels
 
         private void addDataKeys()
         {
-            m_RtDataKeys.Add("PMA.IsSlitDoorClosed");
-            m_RtDataKeys.Add("PMA.CurrentRecipeResult");
-            m_RtDataKeys.Add("PMA.IsOnline");
-            m_RtDataKeys.Add("PMA.CalculationPressure");
-            m_RtDataKeys.Add("PMA.IsLidClosed");
-            m_RtDataKeys.Add("PMB.IsSlitDoorClosed");
-            m_RtDataKeys.Add("PMB.CurrentRecipeResult");
-            m_RtDataKeys.Add("PMB.IsOnline");
-            m_RtDataKeys.Add("PMB.CalculationPressure");
-            m_RtDataKeys.Add("PMB.IsLidClosed");
-            m_RtDataKeys.Add("PMC.IsSlitDoorClosed");
-            m_RtDataKeys.Add("PMC.CurrentRecipeResult");
-            m_RtDataKeys.Add("PMC.IsOnline");
-            m_RtDataKeys.Add("PMC.CalculationPressure");
-            m_RtDataKeys.Add("PMC.IsLidClosed");
-            m_RtDataKeys.Add("PMD.IsSlitDoorClosed");
-            m_RtDataKeys.Add("PMD.CurrentRecipeResult");
-            m_RtDataKeys.Add("PMD.IsOnline");
-            m_RtDataKeys.Add("PMD.CalculationPressure");
-            m_RtDataKeys.Add("PMD.IsLidClosed");
+            if (PMAIsInstalled)
+            {
+                m_RtDataKeys.Add("PMA.IsSlitDoorClosed");
+                m_RtDataKeys.Add("PMA.CurrentRecipeResult");
+                m_RtDataKeys.Add("PMA.IsOnline");
+                m_RtDataKeys.Add("PMA.CalculationPressure");
+                m_RtDataKeys.Add("PMA.IsLidClosed");
+            }
+            if (PMBIsInstalled)
+            {
+                m_RtDataKeys.Add("PMB.IsSlitDoorClosed");
+                m_RtDataKeys.Add("PMB.CurrentRecipeResult");
+                m_RtDataKeys.Add("PMB.IsOnline");
+                m_RtDataKeys.Add("PMB.CalculationPressure");
+                m_RtDataKeys.Add("PMB.IsLidClosed");
+            }
+            if (PMCIsInstalled)
+            {
+                m_RtDataKeys.Add("PMC.IsSlitDoorClosed");
+                m_RtDataKeys.Add("PMC.CurrentRecipeResult");
+                m_RtDataKeys.Add("PMC.IsOnline");
+                m_RtDataKeys.Add("PMC.CalculationPressure");
+                m_RtDataKeys.Add("PMC.IsLidClosed");
+            }
+            if (PMDIsInstalled)
+            {
+                m_RtDataKeys.Add("PMD.IsSlitDoorClosed");
+                m_RtDataKeys.Add("PMD.CurrentRecipeResult");
+                m_RtDataKeys.Add("PMD.IsOnline");
+                m_RtDataKeys.Add("PMD.CalculationPressure");
+                m_RtDataKeys.Add("PMD.IsLidClosed");
+            }
+            
             m_RtDataKeys.Add("TM.LLATSlitDoor.IsClosed");
             m_RtDataKeys.Add("TM.LLBTSlitDoor.IsClosed");
             m_RtDataKeys.Add("TM.LLAESlitDoor.IsClosed");

+ 177 - 0
Venus/Venus_MainPages/Views/NewRecipeView.xaml

@@ -0,0 +1,177 @@
+<UserControl x:Class="Venus_MainPages.Views.NewRecipeView"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             mc:Ignorable="d" 
+             xmlns:prism="http://prismlibrary.com/" 
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
+             xmlns:customeControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
+            
+             xmlns:controls="clr-namespace:Aitex.Core.UI.View.Common;assembly=MECF.Framework.UI.Core"
+             d:DesignHeight="450" d:DesignWidth="1200" Name="recipeView">
+    <UserControl.Resources>
+        <Style TargetType="{x:Type CheckBox}">
+            <Setter Property="Background" Value="White" />
+            <Setter Property="BorderBrush" Value="#FF262E34"/>
+            <Setter Property="Foreground" Value="#FF262E34"/>
+            <Setter Property="BorderThickness" Value="1"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="{x:Type CheckBox}">
+                        <Border BorderThickness="0.8" BorderBrush="Gray" Background="White">
+                            <StackPanel Orientation="Horizontal" Name="mainStackPanel" HorizontalAlignment="Center" Background="White" VerticalAlignment="Center">
+                                <Border  BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" Width="15" Height="15"  HorizontalAlignment="Center">
+                                    <!--                                   your color here -->
+                                    <Path Width="15" Height="10"  Stroke="PaleVioletRed"  StrokeThickness="3" Name="eliCheck" Data="M 2,4 C 2,4 3,5 5,13 C 5,13 5,3 12,0" Visibility="Collapsed"/>
+                                </Border>
+                                <TextBlock Margin="5,0,0,0"  VerticalAlignment="Center" Foreground="{TemplateBinding Foreground}" Text="{TemplateBinding Content}"></TextBlock>
+                            </StackPanel>
+                        </Border>
+
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsMouseOver" Value="True">
+                                <Setter Property="Background" Value="LightGray" />
+                            </Trigger>
+                            <Trigger Property="IsPressed" Value="True">
+                                <Setter Property="Background" Value="#FF9C9E9F" />
+                            </Trigger>
+                            <Trigger Property="IsEnabled" Value="False">
+                                <Setter Property="Background" Value="LightGray" />
+                                <Setter Property="Foreground" Value="Gray" />
+                                <Setter Property="BorderBrush" Value="Gray"/>
+                                <Setter TargetName="eliCheck" Property="Opacity" Value="0.5" />
+                                <Setter TargetName="mainStackPanel" Property="Background" Value="#DDEBF9"/>
+                            </Trigger>
+                            <Trigger Property="IsChecked" Value="True">
+                                <Setter TargetName="eliCheck" Property="Visibility" Value="Visible"></Setter>
+                            </Trigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style TargetType="{x:Type controls:TreeViewFileItem}">
+            <Style.Triggers>
+                <Trigger Property="IsSelected"          Value="True">
+                    <Setter Property="BorderThickness"  Value="1"/>
+                    <Setter Property="Opacity"          Value="1"/>
+                    <!--<Setter Property="Foreground"       Value="{DynamicResource TreeView_BG_Select}"/>-->
+                    <!--<Setter Property="Background"       Value="{DynamicResource TreeView_BG_Select}"/>-->
+                    <Setter Property="BorderBrush"      Value="#0078D7"/>
+                </Trigger>
+                <Trigger Property="IsMouseOver"  Value="True">
+                    <Setter Property="Cursor" Value="Hand"/>
+                    <Setter Property="Background" Value="AliceBlue"/>
+                </Trigger>
+                <!--<Trigger Property="IsFocused" Value="True">
+                    <Setter Property="Background" Value="LightBlue"/>
+                </Trigger>-->
+
+            </Style.Triggers>
+        </Style>
+
+    </UserControl.Resources>
+    <i:Interaction.Triggers>
+        <i:EventTrigger EventName="Loaded">
+            <i:InvokeCommandAction Command="{Binding LoadedCommand}" CommandParameter="{Binding ElementName=recipeView}"/>
+        </i:EventTrigger>
+        <i:EventTrigger EventName="Unloaded">
+            <i:InvokeCommandAction Command="{Binding UnloadCommand}"/>
+        </i:EventTrigger>
+    </i:Interaction.Triggers>
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="Auto" />
+            <ColumnDefinition Width="6" />
+            <ColumnDefinition Width="800*" />
+        </Grid.ColumnDefinitions>
+
+        <Grid Grid.Column="0">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="40"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+            <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
+                <TextBlock Text="Recipe List" Margin="5" FontFamily="Arial" FontSize="20" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center"  VerticalAlignment="Center"/>
+
+            </Border>
+            <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
+                <i:Interaction.Triggers>
+                    <i:EventTrigger EventName="MouseDown">
+                        <i:InvokeCommandAction Command="{Binding ClearRecipeCommand}"/>
+                    </i:EventTrigger>
+                </i:Interaction.Triggers>
+                <TreeView Name="treeViewRcpList" Margin="0,6" Height="Auto"
+                      FontSize="18" BorderThickness="1" BorderBrush="Black" Canvas.Top="140" Canvas.Left="4" Opacity="1" Background="LightSteelBlue"  AllowDrop="True" 
+                      >
+                    <i:Interaction.Triggers>
+                        <i:EventTrigger EventName="MouseRightButtonDown">
+                            <i:InvokeCommandAction Command="{Binding MouseRightButtonDownCommand}" CommandParameter="{Binding ElementName=treeViewRcpList}"/>
+                        </i:EventTrigger>
+                        <i:EventTrigger EventName="MouseLeftButtonDown">
+                            <i:InvokeCommandAction Command="{Binding MouseLeftButtonDownCommand}" CommandParameter="{Binding ElementName=treeViewRcpList}"/>
+                        </i:EventTrigger>
+                    </i:Interaction.Triggers>
+                </TreeView>
+            </Border>
+        </Grid>
+        <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Transparent" />
+        <Grid x:Name="gridDisplay" Grid.Column="2">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="40" />
+                <RowDefinition Height="706*"/>
+            </Grid.RowDefinitions>
+            <StackPanel Grid.Row="0" Orientation="Horizontal">
+                <!--<customeControls:PathButton PathData="{StaticResource Icon_Save}"    Content="Save"           DefaultFillBrush="White"     Command="{Binding SaveRecipeCommand}"    Margin="30,4,22,0"        FontSize="16" Height="30"   Width="130"   VerticalContentAlignment="Center"  HorizontalAlignment="Right" VerticalAlignment="Top"/>-->
+                <customeControls:SplitButton  Content="Save"    Style="{StaticResource SplitButtonStyle}" Command="{Binding SaveRecipeCommand}" Cursor="Hand"  Foreground="White" Margin="30,0,22,0"        FontSize="16" Height="30"   Width="130" Background="#009ad6">
+                    <MenuItem Header="Save To PMA" Cursor="Hand"   Command="{Binding SaveToRecipeCommand}" CommandParameter="0" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                    <MenuItem Header="Save To PMB" Cursor="Hand"   Command="{Binding SaveToRecipeCommand}" CommandParameter="1" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                    <MenuItem Header="Save To PMC" Cursor="Hand"   Command="{Binding SaveToRecipeCommand}" CommandParameter="2" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                    <MenuItem Header="Save To PMD" Cursor="Hand"   Command="{Binding SaveToRecipeCommand}" CommandParameter="3" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>
+                    <MenuItem Header="Save To All" Cursor="Hand"   Command="{Binding SaveToRecipeCommand}" CommandParameter="4"/>
+                </customeControls:SplitButton>
+
+                <customeControls:PathButton PathData="{StaticResource Icon_Add}"       Content="Add Step"       DefaultFillBrush="White"     Command="{Binding AddStepCommand}"       Margin="30,4,22,0"        FontSize="16" Height="30"   Width="130"   VerticalContentAlignment="Center"  HorizontalAlignment="Right" VerticalAlignment="Top"/>
+                <customeControls:PathButton PathData="{StaticResource Icon_Delete}"    Content="Del Step"       DefaultFillBrush="White"     Command="{Binding DeleteStepCommand}"    Margin="30,4,22,0"        FontSize="16" Height="30"   Width="130"   VerticalContentAlignment="Center"  HorizontalAlignment="Right" VerticalAlignment="Top"/>
+                <customeControls:PathButton PathData="{StaticResource Icon_Refresh}"   Content="Refresh"        DefaultFillBrush="White"     Command="{Binding RefreshCommand}"       Margin="30,4,22,0"        FontSize="16" Height="30"   Width="130"   VerticalContentAlignment="Center"  HorizontalAlignment="Right" VerticalAlignment="Top"/>
+                <!--<customeControls:PathButton PathData="{StaticResource Icon_Tolerance}" Content="Tolerance"      DefaultFillBrush="White"     Command="{Binding ToleranceCommand}"       Margin="30,4,22,0"        FontSize="16" Height="30"   Width="130"   VerticalContentAlignment="Center"  HorizontalAlignment="Right" VerticalAlignment="Top"/>-->
+
+                <RadioButton Content="Unfrozen"   FontSize="15"   Width="120" Height="30" Margin="30,0,10,0"  Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsFrozen,Converter={StaticResource BoolToBool},Mode=TwoWay}"/>
+                <RadioButton Content="Frozen"     FontSize="15"   Width="120" Height="30" Margin="0,0,30,0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsFrozen,Mode=TwoWay}"/>
+            </StackPanel>
+            <Grid x:Name="grid1" Grid.Row="1" >
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition/>
+                    <ColumnDefinition Width="Auto"/>
+                </Grid.ColumnDefinitions>
+
+                <Grid Margin="0,-40,0,0" Grid.Column="1" Grid.Row="1" Background="#C6D2DE" Width="300" x:Name="expandGrid">
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="30"/>
+                        <RowDefinition Height="Auto"/>
+                    </Grid.RowDefinitions>
+                    <StackPanel Orientation="Horizontal">
+                        <customeControls:PathButton Width="25" Height="25"  BorderThickness="0" PathData="{StaticResource Icon_Expand}"          Background="Transparent"  DefaultFillBrush="Black"   Foreground="White"  Cursor="Hand"     Command="{Binding ExpandCommand}" Margin="5 5 0 0"/>
+
+
+                        <TextBlock Text="Recipe Head" FontSize="20" Margin="35 5 0 0"/>
+                    </StackPanel>
+                    <WrapPanel Grid.Row="1" x:Name="headWrapPanel" Orientation="Horizontal" Width="300" Margin="15 5 0 0" />
+
+                </Grid>
+
+                <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
+                    <DockPanel>
+                        <Grid DockPanel.Dock="Left" Name="leftGrid"/>
+                        <ScrollViewer HorizontalScrollBarVisibility="Auto"  VerticalScrollBarVisibility="Disabled" >
+                            <Grid Name="rightGrid"/>
+                        </ScrollViewer>
+                    </DockPanel>
+                </ScrollViewer>
+                
+            </Grid>
+        </Grid>
+    </Grid>
+</UserControl>

+ 20 - 0
Venus/Venus_MainPages/Views/NewRecipeView.xaml.cs

@@ -0,0 +1,20 @@
+using System.Windows.Controls;
+using Venus_MainPages.ViewModels;
+
+namespace Venus_MainPages.Views
+{
+    /// <summary>
+    /// RecipeView.xaml 的交互逻辑
+    /// </summary>
+    public partial class NewRecipeView : UserControl
+    {
+        public NewRecipeView()
+        {
+            InitializeComponent();
+        }
+        public void Init(string systemName)
+        {
+            (this.DataContext as NewRecipeViewModel).ModuleName = systemName;
+        }
+    }
+}

+ 12 - 12
Venus/Venus_MainPages/Views/NewWaferAssociationUnit.xaml

@@ -37,36 +37,36 @@
                 </Grid.RowDefinitions>
 
                 <StackPanel Grid.Row="0" Orientation="Horizontal">
-                    <TextBlock Text="Lot ID:" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="75"></TextBlock>
-                    <TextBox Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="200"  Margin="5 0 0 0"></TextBox>
+                    <TextBlock Text="Lot ID:" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="75"></TextBlock>
+                    <TextBox Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},Mode=TwoWay}" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="200"  Margin="5 0 0 0"></TextBox>
                 </StackPanel>
                 <StackPanel Grid.Row="1" Orientation="Horizontal">
                     
-                    <TextBlock Text="Sequence:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
+                    <TextBlock Text="Sequence:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
 
                     <customControls:CustomComBobox Width="200" x:Name="cb"  DropDownOpened="cb_DropDownOpened"  SelectionChanged="cb_SelectionChanged" Margin="0 2 0 2" SelectedValue="{Binding ElementName=WaferUnit,Path=SequenceName}"/>
 
 
                 </StackPanel>
                 <StackPanel Grid.Row="2" Orientation="Horizontal">
-                    <TextBlock Text="Pre Clean:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
+                    <TextBlock Text="Pre Clean:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
                     <customControls:CustomComBobox Width="200" x:Name="preComboBox"  DropDownOpened="preComboBox_DropDownOpened"  SelectionChanged="preComboBox_SelectionChanged" Margin="0 2 0 2" SelectedValue="{Binding ElementName=WaferUnit,Path=WAInfo.PreCleanRecipeName}"/>
                 </StackPanel>
                 <StackPanel Grid.Row="3" Orientation="Horizontal">
-                    <TextBlock Text="Post Clean:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
+                    <TextBlock Text="Post Clean:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
                     <customControls:CustomComBobox Width="200" x:Name="postComboBox" DropDownOpened="postComboBox_DropDownOpened"  SelectionChanged="postComboBox_SelectionChanged" Margin="0 3 0 3" SelectedValue="{Binding ElementName=WaferUnit,Path=WAInfo.PostCleanRecipeName}"/>
                 </StackPanel>
                 <StackPanel Grid.Row="4" Orientation="Horizontal">
-                    <TextBlock Text="Cycle Set:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
+                    <TextBlock Text="Cycle Set:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
                     <CheckBox x:Name="IsEnableCycleCheckBox" Content="IsEnable" VerticalAlignment="Center" Padding="0 1 0 0"  IsChecked="{Binding ElementName=WaferUnit,Path=WAInfo.IsEnableCycle}" Unchecked="IsEnableCycleCheckBox_Unchecked" Checked="IsEnableCycleCheckBox_Checked"/>
                     <TextBlock Text="Cycle Num:" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Margin="10 0 5 0"/>
-                    <TextBox x:Name="CycleNumTextbox" Width="50" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="20" BorderThickness="0 0 0 1" Text="{Binding ElementName=WaferUnit,Path=WAInfo.CycleNumber}" IsEnabled="False">
+                    <TextBox x:Name="CycleNumTextbox" Width="50" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="20" BorderThickness="0 0 0 1" Text="{Binding ElementName=WaferUnit,Path=WAInfo.CycleNumber,Mode=TwoWay}" IsEnabled="False">
                        
                     </TextBox>
                 </StackPanel>
                 <StackPanel Grid.Row="5" Orientation="Horizontal">
-                    <TextBlock Text="Cycle Info:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
-                    <TextBlock Text="{Binding ElementName=WaferUnit,Path=CycleInfo}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"/>
+                    <TextBlock Text="Cycle Info:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
+                    <TextBlock Text="{Binding ElementName=WaferUnit,Path=CycleInfo}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
                 </StackPanel>
                 <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
                     <Button Content="Select All"    Height="25"    Command="{Binding SelectAllCommand}"   CommandParameter="{Binding ElementName=WaferUnit,Path=WAInfo}" Width="125" Click="SelectAllButton_Click"/>
@@ -80,9 +80,9 @@
                         <ColumnDefinition Width="1*"/>
                         <ColumnDefinition Width="2*"/>
                     </Grid.ColumnDefinitions>
-                    <TextBlock Grid.Column="0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Grid.Column="0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
                     <TextBox   Grid.Column="1" Text="{Binding WAInfo.JobID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextAlignment="Center" VerticalContentAlignment="Center" Margin="0 3 5 3"     IsEnabled="False"/>
-                    <TextBlock Grid.Column="2" Text="Status:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Grid.Column="2" Text="Status:"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
                     <TextBox   Grid.Column="3" Text="{Binding WAInfo.JobStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextAlignment="Center" VerticalContentAlignment="Center" Margin="0 3 0 3" IsEnabled="False"/>
 
                    
@@ -149,7 +149,7 @@
                             </Grid.ColumnDefinitions>
 
                             <Border Grid.Column="0" BorderBrush="#E0E4E7" BorderThickness="0,0,1,1" Width="95">
-                                <ctrl:Slot Grid.Column="1" ViewType="Front" AllowDrop="True"    WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top"  Margin="0 2.5 0 0" SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" Cursor="Hand" IsEnabled="{Binding ElementName=WaferUnit,Path=ButtonIsEnable}">
+                                <ctrl:Slot Grid.Column="1" ViewType="Front" AllowDrop="True"    WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top"  Margin="0 2.5 0 0" SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" Cursor="Hand" IsEnabled="{Binding ElementName=WaferUnit,Path=ButtonIsEnable}"  >
 
                                 </ctrl:Slot>
                             </Border>

+ 1 - 0
Venus/Venus_MainPages/Views/NewWaferAssociationUnit.xaml.cs

@@ -153,6 +153,7 @@ namespace Venus_MainPages.Views
         {
             CycleNumTextbox.IsEnabled = false;
             CycleNumTextbox.Text = "1";
+            WAInfo.CycleNumber = 1;
         }
 
         private void IsEnableCycleCheckBox_Checked(object sender, RoutedEventArgs e)

+ 111 - 79
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -42,7 +42,7 @@
         </Grid.ColumnDefinitions>
         <Canvas>
 
-            <Grid Canvas.Left="5" Canvas.Top="456" Width="310" Height="170" Margin="0 0 0 10"  unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <Grid Canvas.Left="5" Canvas.Top="456" Width="310" Height="180" Margin="0 0 0 10"  unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
                 <Grid.RowDefinitions>
                     <RowDefinition Height="30"/>
                     <RowDefinition/>
@@ -50,27 +50,28 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
                     <RowDefinition/>
+                    <RowDefinition Height="0"/>
 
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="108"/>
                     <ColumnDefinition/>
                 </Grid.ColumnDefinitions>
-                <TextBlock Grid.Row="0" Text="PMA" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="150,2,0,0" Background="#076DB6"/>
+                <TextBlock Grid.Row="0" Text="PMA" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="140,2,0,0" Background="#076DB6"/>
 
-                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="4" Text="Step Duration"  FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="2" Text="Step Number"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="4" Text="Step Time(s)"      FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="5" Text="Step Desc"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <!--<TextBlock Grid.Row="6" Text="Next Step"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>-->
+                <TextBlock Grid.Row="6" Text="Cycle Number"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="7" Text="Heater Position"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
 
 
                 <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeName}" FontSize="14" Padding="8,2,0,0" Background="#FFFFFF"/>
-                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMARecipeResult.RecipeStepNumber"></Binding>
@@ -78,11 +79,18 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
-                <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepDuringTime}"  FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
-                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0" Background="#FFFFFF"/>
-                <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
-                <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepType}"  FontSize="14" Padding="10,2,0,0" Background="#FFFFFF"/>
+                <TextBlock Grid.Row="4" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
+                    <TextBlock.Text>
+                        <MultiBinding StringFormat="{}{0}/{1}">
+                            <Binding Path="PMARecipeResult.RecipeStepDuringTime"></Binding>
+                            <Binding Path="PMARecipeResult.RecipeStepSetTime"></Binding>
+                        </MultiBinding>
+                    </TextBlock.Text>
+                </TextBlock>
+                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMARecipeResult.RecipeStepDescription}"  FontSize="14" Padding="10,2,0,0" Background="#FFFFFF"/>
+                <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
+                <TextBlock Grid.Row="6" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMARecipeResult.RecipeCurrentCounter"></Binding>
@@ -92,7 +100,7 @@
                 </TextBlock>
             </Grid>
 
-            <Grid Canvas.Left="5" Canvas.Top="130" Width="310" Height="170" Margin="0 0 0 10"  unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <Grid Canvas.Left="5" Canvas.Top="110" Width="310" Height="180" Margin="0 0 0 10"  unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
                 <Grid.RowDefinitions>
                     <RowDefinition Height="30"/>
                     <RowDefinition/>
@@ -100,27 +108,28 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
                     <RowDefinition/>
+                    <RowDefinition Height="0"/>
 
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="108"/>
                     <ColumnDefinition />
                 </Grid.ColumnDefinitions>
-                <TextBlock Grid.Row="0" Text="PMB" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="150,2,0,0" Background="#076DB6"/>
+                <TextBlock Grid.Row="0" Text="PMB" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="140,2,0,0" Background="#076DB6"/>
 
-                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="4" Text="Step Duration"  FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="2" Text="Step Number"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="4" Text="Step Time(s)"  FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="5" Text="Step Desc"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <!--<TextBlock Grid.Row="6" Text="Next Step"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>-->
+                <TextBlock Grid.Row="6" Text="Cycle Number"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="7" Text="Heater Position"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
 
 
                 <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeName}" FontSize="14" Padding="8,2,0,0" Background="#FFFFFF"/>
-                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMBRecipeResult.RecipeStepNumber"></Binding>
@@ -128,11 +137,18 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
-                <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepDuringTime}"  FontSize="15" Padding="10,2,0,0"/>
-                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
-                <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
-                <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepType}"  FontSize="14" Padding="10,2,0,0"/>
+                <TextBlock Grid.Row="4" Grid.Column="1"   FontSize="14" Padding="10,2,0,0">
+                    <TextBlock.Text>
+                        <MultiBinding StringFormat="{}{0}/{1}">
+                            <Binding Path="PMBRecipeResult.RecipeStepDuringTime"></Binding>
+                            <Binding Path="PMBRecipeResult.RecipeStepSetTime"></Binding>
+                        </MultiBinding>
+                    </TextBlock.Text>
+                </TextBlock>
+                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMBRecipeResult.RecipeStepDescription}"  FontSize="14" Padding="10,2,0,0"/>
+                <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
+                <TextBlock Grid.Row="6" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMBRecipeResult.RecipeCurrentCounter"></Binding>
@@ -142,7 +158,7 @@
                 </TextBlock>
             </Grid>
 
-            <Grid Canvas.Left="722" Canvas.Top="130" Width="310" Height="170"  Margin="0 0 0 10" unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <Grid Canvas.Left="722" Canvas.Top="110" Width="310" Height="180"  Margin="0 0 0 10" unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
                 <Grid.RowDefinitions>
                     <RowDefinition Height="30"/>
                     <RowDefinition/>
@@ -150,27 +166,28 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
                     <RowDefinition/>
+                    <RowDefinition Height="0"/>
 
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="108"/>
                     <ColumnDefinition/>
                 </Grid.ColumnDefinitions>
-                <TextBlock Grid.Row="0" Text="PMC" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="150,2,0,0" Background="#076DB6"/>
+                <TextBlock Grid.Row="0" Text="PMC" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="140,2,0,0" Background="#076DB6"/>
 
-                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="4" Text="Step Duration"  FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="2" Text="Step Number"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="4" Text="Step Time(s)"  FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="5" Text="Step Desc"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <!--<TextBlock Grid.Row="6" Text="Next Step"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>-->
+                <TextBlock Grid.Row="6" Text="Cycle Number"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="7" Text="Heater Position"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
 
 
                 <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeName}" FontSize="14" Padding="8,2,0,0" Background="#FFFFFF"/>
-                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMCRecipeResult.RecipeStepNumber"></Binding>
@@ -178,11 +195,18 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
-                <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepDuringTime}"  FontSize="15" Padding="10,2,0,0"/>
-                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
-                <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
-                <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepType}"  FontSize="14" Padding="10,2,0,0"/>
+                <TextBlock Grid.Row="4" Grid.Column="1"   FontSize="14" Padding="10,2,0,0">
+                    <TextBlock.Text>
+                        <MultiBinding StringFormat="{}{0}/{1}">
+                            <Binding Path="PMCRecipeResult.RecipeStepDuringTime"></Binding>
+                            <Binding Path="PMCRecipeResult.RecipeStepSetTime"></Binding>
+                        </MultiBinding>
+                    </TextBlock.Text>
+                </TextBlock>
+                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMCRecipeResult.RecipeStepDescription}"  FontSize="14" Padding="10,2,0,0"/>
+                <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
+                <TextBlock Grid.Row="6" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMCRecipeResult.RecipeCurrentCounter"></Binding>
@@ -192,7 +216,7 @@
                 </TextBlock>
             </Grid>
 
-            <Grid Canvas.Left="722" Canvas.Top="456" Width="310" Height="170"  unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
+            <Grid Canvas.Left="722" Canvas.Top="456" Width="310" Height="180"  unity:GridOptions.LineBrush="#D8DEE5"  unity:GridOptions.ShowBorder="True" Background="#FFFFFF" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">
                 <Grid.RowDefinitions>
                     <RowDefinition Height="30"/>
                     <RowDefinition/>
@@ -200,27 +224,28 @@
                     <RowDefinition/>
                     <RowDefinition/>
                     <RowDefinition/>
-                    <RowDefinition Height="0"/>
                     <RowDefinition/>
+                    <RowDefinition Height="0"/>
 
                 </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="108"/>
                     <ColumnDefinition/>
                 </Grid.ColumnDefinitions>
-                <TextBlock Grid.Row="0" Text="PMD" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="150,2,0,0" Background="#076DB6"/>
+                <TextBlock Grid.Row="0" Text="PMD" Foreground="White" Grid.ColumnSpan="2"     FontSize="20"  Padding="140,2,0,0" Background="#076DB6"/>
 
-                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="2" Text="Step Num/All"        FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="4" Text="Step Duration"  FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="5" Text="Step Time(s)"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="6" Text="Next Step"       FontSize="15"  Padding="10,2,0,0" Background="#FAFAFA"/>
-                <TextBlock Grid.Row="7" Text="Cycle Num/All"  FontSize="15" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="1" Text="Recipe Name"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="2" Text="Step Number"        FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="3" Text="Step Type"          FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="4" Text="Step Time(s)"      FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="5" Text="Step Desc"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>
+                <!--<TextBlock Grid.Row="6" Text="Next Step"       FontSize="14"  Padding="10,2,0,0" Background="#FAFAFA"/>-->
+                <TextBlock Grid.Row="6" Text="Cycle Number"    FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
+                <TextBlock Grid.Row="7" Text="Heater Position"  FontSize="14" Padding="10,2,0,0" Background="#FAFAFA"/>
 
 
                 <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeName}" FontSize="14" Padding="8,2,0,0" Background="#FFFFFF"/>
-                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="2" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMDRecipeResult.RecipeStepNumber"></Binding>
@@ -228,11 +253,18 @@
                         </MultiBinding>
                     </TextBlock.Text>
                 </TextBlock>
-                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepType}"  FontSize="15" Padding="10,2,0,0"/>
-                <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepDuringTime}"  FontSize="15" Padding="10,2,0,0"/>
-                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepSetTime}"  FontSize="15" Padding="10,2,0,0"/>
-                <customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>
-                <TextBlock Grid.Row="7" Grid.Column="1"   FontSize="15" Padding="10,2,0,0" Background="#FFFFFF">
+                <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepType}"  FontSize="14" Padding="10,2,0,0"/>
+                <TextBlock Grid.Row="4" Grid.Column="1"   FontSize="14" Padding="10,2,0,0">
+                    <TextBlock.Text>
+                        <MultiBinding StringFormat="{}{0}/{1}">
+                            <Binding Path="PMDRecipeResult.RecipeStepDuringTime"></Binding>
+                            <Binding Path="PMDRecipeResult.RecipeStepSetTime"></Binding>
+                        </MultiBinding>
+                    </TextBlock.Text>
+                </TextBlock>
+                <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding PMDRecipeResult.RecipeStepDescription}"  FontSize="14" Padding="10,2,0,0"/>
+                <!--<customControls:PathButton BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black"  Foreground="White"  Cursor="Hand" Grid.Row="6" Grid.Column="1"     Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/>-->
+                <TextBlock Grid.Row="6" Grid.Column="1"   FontSize="14" Padding="10,2,0,0" Background="#FFFFFF">
                     <TextBlock.Text>
                         <MultiBinding StringFormat="{}{0}/{1}">
                             <Binding Path="PMDRecipeResult.RecipeCurrentCounter"></Binding>
@@ -251,8 +283,8 @@
                 <StackPanel Orientation="Horizontal" Margin="0,0,0,5">
                     <customControls:PathButton PathData="{StaticResource Icon_Init}"  DefaultFillBrush="White"  Command="{Binding HomeAllCommand}"  Width="120" Height="30" Content="Home"    Margin="10,0,0,0" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
                     <customControls:PathButton PathData="{StaticResource Icon_Return}"  DefaultFillBrush="White" Width="146" Height="30" Content="Return Wafer"    Command="{Binding ReturnAllWaferCommand}"         IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}" Margin="50,0,0,0"/>
-                    <RadioButton Content="Manual"   FontSize="15"   Width="120" Height="28" Margin="50 0 5 0" Style="{StaticResource Button_RadioButton}"  Command="{Binding EnableManualCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
-                    <RadioButton Content="Auto"     FontSize="15"   Width="120" Height="28" Margin="0 0 0 0" Style="{StaticResource Button_RadioButton}"     Command="{Binding EnableAutoCommand}"  IsChecked="{Binding RtDataValues[System.IsAutoMode]}"/>
+                    <RadioButton Content="Manual"   FontSize="14"   Width="120" Height="28" Margin="50 0 5 0" Style="{StaticResource Button_RadioButton}"  Command="{Binding EnableManualCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>
+                    <RadioButton Content="Auto"     FontSize="14"   Width="120" Height="28" Margin="0 0 0 0" Style="{StaticResource Button_RadioButton}"     Command="{Binding EnableAutoCommand}"  IsChecked="{Binding RtDataValues[System.IsAutoMode]}"/>
                     <customControls:PathButton PathData="{StaticResource Icon_Abort}"   DefaultFillBrush="White" Width="130" Height="30" Content="Abort"           Command="{Binding AbortAllCommand}"               IsEnabled="{Binding RtDataValues[System.IsBusy]}" Margin="50 0 0 0" />
                     <customControls:PathButton PathData="{Binding RtDataValues[EquipmentStatus],Converter={StaticResource IntToPathDataConverter}}"   DefaultFillBrush="White" Width="130" Height="30" Content="{Binding RouteState}"           Command="{Binding ResumeAllJobCommand}"            IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin="50 0 0 0" />
                 </StackPanel>
@@ -262,7 +294,7 @@
             <Border Canvas.Left="12"  Canvas.Top="80"  BorderBrush="#076DB6" BorderThickness="0" Padding="5,1" >
                 <StackPanel HorizontalAlignment="Center"  Orientation="Horizontal">
                     <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="0 1 0 0">
-                        <TextBlock Text="ATM Mode"    FontSize="15"  HorizontalAlignment="Center" VerticalAlignment="Center" />
+                        <TextBlock Text="ATM Mode"    FontSize="14"  HorizontalAlignment="Center" VerticalAlignment="Center" />
                         <Ellipse                      Width="16" Height="16"  Fill="{Binding ATMModeIsOn,Converter={StaticResource boolToColor}}"   Stroke="Silver"  StrokeThickness="2" Margin="5 0 0 0"></Ellipse>
                     </StackPanel>
                     <TextBlock Margin="50 1 0 0" Text="Wafer Status:    " FontFamily="Arial" FontSize="14" Foreground="Black" HorizontalAlignment="Left" VerticalAlignment="Center"/>
@@ -335,25 +367,25 @@
                     <ColumnDefinition Width="Auto"/>
                 </Grid.ColumnDefinitions>
 
-                <TextBlock Text="TM Lid Closed"    Margin="5,0,5,0" Grid.Column="0" FontSize="15"  HorizontalAlignment="Center" VerticalAlignment="Center" />
+                <TextBlock Text="TM Lid Closed"    Margin="5,0,5,0" Grid.Column="0" FontSize="14"  HorizontalAlignment="Center" VerticalAlignment="Center" />
                 <Ellipse                     Grid.Column="1" Width="16" Height="16"  Fill="{Binding RtDataValues[TM.TMLidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver"  StrokeThickness="2"></Ellipse>
 
-                <TextBlock Text="LLA Lid Closed"   Margin="15,0,5,0"  Grid.Column="2" FontSize="15"  HorizontalAlignment="Center" VerticalAlignment="Center" />
+                <TextBlock Text="LLA Lid Closed"   Margin="15,0,5,0"  Grid.Column="2" FontSize="14"  HorizontalAlignment="Center" VerticalAlignment="Center" />
                 <Ellipse                     Grid.Column="3" Width="16" Height="16"  Fill="{Binding RtDataValues[TM.LLALidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2"></Ellipse>
 
-                <TextBlock Text="LLB Lid Closed"  Margin="15,0,5,0" Grid.Column="4"  FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                <TextBlock Text="LLB Lid Closed"  Margin="15,0,5,0" Grid.Column="4"  FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" />
                 <Ellipse                      Grid.Column="5"  Width="16" Height="16"  Fill="{Binding RtDataValues[TM.LLBLidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2"></Ellipse>
 
-                <TextBlock Text="PMA Lid Closed"  Margin="15,0,5,0" Grid.Column="6"  FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMAIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
+                <TextBlock Text="PMA Lid Closed"  Margin="15,0,5,0" Grid.Column="6"  FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMAIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
                 <Ellipse                      Grid.Column="7"  Width="16" Height="16"  Fill="{Binding RtDataValues[PMA.IsLidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMAIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
 
-                <TextBlock Text="PMB Lid Closed"  Margin="15,0,5,0" Grid.Column="8"  FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMBIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
+                <TextBlock Text="PMB Lid Closed"  Margin="15,0,5,0" Grid.Column="8"  FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMBIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
                 <Ellipse                      Grid.Column="9"  Width="16" Height="16"  Fill="{Binding RtDataValues[PMB.IsLidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMBIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
 
-                <TextBlock Text="PMC Lid Closed"  Margin="15,0,5,0" Grid.Column="10"  FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMCIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
+                <TextBlock Text="PMC Lid Closed"  Margin="15,0,5,0" Grid.Column="10"  FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMCIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
                 <Ellipse                      Grid.Column="11"  Width="16" Height="16"  Fill="{Binding RtDataValues[PMC.IsLidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMCIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
 
-                <TextBlock Text="PMD Lid Closed"  Margin="15,0,5,0" Grid.Column="12"  FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMDIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
+                <TextBlock Text="PMD Lid Closed"  Margin="15,0,5,0" Grid.Column="12"  FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding PMDIsInstalled,Converter={StaticResource boolToVisibility2}}"/>
                 <Ellipse                      Grid.Column="13"  Width="16" Height="16"  Fill="{Binding RtDataValues[PMD.IsLidClosed],Converter={StaticResource boolToColor4}}"   Stroke="Silver" StrokeThickness="2" Visibility="{Binding PMDIsInstalled,Converter={StaticResource boolToVisibility2}}"></Ellipse>
             </Grid>
             <Canvas Canvas.Top="100" Canvas.Left="-20">
@@ -405,8 +437,8 @@
 
                 <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot"      Canvas.Top="630" Canvas.Left="100" IsEnabled="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource BoolToBool}}"/>
 
-                <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="540" Canvas.Left="120" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource BoolToBool}}"/>
-                <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="540" Canvas.Left="840" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource BoolToBool}}"/>
+                <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="550" Canvas.Left="120" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource BoolToBool}}"/>
+                <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="550" Canvas.Left="840" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" ShowTitle="True" IsEnabled="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource BoolToBool}}"/>
 
                 <userControls:EFEMFrontView UnitData="{Binding EFEMModuleInfo}" Title="Efem Robot"  Canvas.Top="630" Canvas.Left="840" IsEnabled="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource BoolToBool}}"/>
 
@@ -455,7 +487,7 @@
                             </local:NewWaferAssociationUnit.CycleInfo>
                         </local:NewWaferAssociationUnit>
 
-                            <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
+                            <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="14">
                                 <TextBlock.Text>
                                 <MultiBinding StringFormat="{}Wafer Count:{0}     Throughput:{1}">
                                     <Binding Path="LP1WaferCount"></Binding>
@@ -484,7 +516,7 @@
                             </local:NewWaferAssociationUnit.CycleInfo>
                         </local:NewWaferAssociationUnit>
 
-                            <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
+                            <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="14">
                                 <TextBlock.Text>
                                 <MultiBinding StringFormat="{}Wafer Count:{0}     Throughput:{1}">
                                     <Binding Path="LP2WaferCount"></Binding>
@@ -512,7 +544,7 @@
                             </local:NewWaferAssociationUnit.CycleInfo>
                         </local:NewWaferAssociationUnit>
 
-                            <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="15">
+                            <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="14">
                                 <TextBlock.Text>
                                 <MultiBinding StringFormat="{}Wafer Count:{0}     Throughput:{1}">
                                         <Binding Path="LP3WaferCount"></Binding>

+ 4 - 15
Venus/Venus_RT/Devices/JetKepler2200APM.cs

@@ -719,10 +719,6 @@ namespace Venus_RT.Devices
 
         public override void Home()
         {
-            //if (_Heartbeat.IsUnConnect)
-            //{
-            //    VenusGlobalEvents.OnReConnectPLC(Module.ToString());
-            //}
             _Generator?.ReConnect();
             _Match?.ReConnect();
             _MainPump?.ReConnect();
@@ -735,15 +731,6 @@ namespace Venus_RT.Devices
 
             _Heartbeat.Reset();
 
-            //var devices = DEVICE.GetAllDevice();
-            //DEVICE.GetAllDevice().ForEach(x =>
-            //{
-            //    if (x.Module == Module.ToString())
-            //    {
-            //        x.Reset();
-            //    }
-            //});
-
         }
         public override bool HomeIsOK()
         {
@@ -975,8 +962,10 @@ namespace Venus_RT.Devices
 
             OpenValve(ValveType.TurboPumpPumping, true);
 
-
-            TurnPendulumValve(true);
+            if (_pendulumValve.IsOpen == false)
+            {
+                TurnPendulumValve(true);
+            }
             SetPVPressure(pressureSetpoint);
             return true;
         }

+ 8 - 0
Venus/Venus_RT/Devices/PendulumValve.cs

@@ -251,6 +251,14 @@ namespace Venus_RT.Devices
         {
             DATA.Subscribe($"{Module}.{Name}.DeviceData", () => DeviceData);
 
+            DATA.Subscribe($"{Module}.{Name}.Position", () => Position);
+            DATA.Subscribe($"{Module}.{Name}.Pressure", () => Pressure);
+            DATA.Subscribe($"{Module}.{Name}.PressureSetPoint", () => m_PressureSetPoint);
+            DATA.Subscribe($"{Module}.{Name}.PositionSetPoint", () => m_PositionSetPoint);
+            DATA.Subscribe($"{Module}.{Name}.IsOpen",           () => IsOpen);
+
+
+
             if (!_serial.Open())
             {
                 _noRepeatAlarm("Pendulum Valve 串口无法打开");

+ 1 - 1
Venus/Venus_RT/Modules/PMs/PMLeakCheckRoutine.cs

@@ -79,7 +79,7 @@ namespace Venus_RT.Modules.PMs
         public RState Monitor()
         {
             Runner.Wait(LeakCheckStep.kPumpToBasePressure,  PumpingToBasePressure)
-                .Run(LeakCheckStep.kPumpingDelay,           StartPumpDelay,         PumpingDelay              ,1000*60*60*10)
+                .Run(LeakCheckStep.kPumpingDelay,           StartPumpDelay,         PumpingDelay              , (_leakcheckPumpTime+10)*1000)
                 .Run(LeakCheckStep.kLeakCheckDelay,         StartLeakCheck,         _leakcheckHoldTime * 1000)
                 .End(LeakCheckStep.kEnd,                    CalcLeakCheckResult,    _delay_50ms);
 

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

@@ -477,7 +477,7 @@ namespace Venus_RT.Modules.PMs
             {
                 RecipeDone("Fail");
                 UpdateWaferStatus(false);
-                Runner.Stop($"Recipe:{CurrentRunningRecipe}, Step:{_currentStep + 1} Failed");
+                Runner.Stop($"Recipe:{CurrentRunningRecipe}, Step:{_currentStep + 1} Failed in {_stepTime.ElapsedMilliseconds / 1000}s");
                 EV.PostAlarmLog(Module.ToString(), $"Recipe:{CurrentRunningRecipe}, Step:{_currentStep + 1} Failed");
                 _faCallback.RecipeFailed(Module.ToString(), CurrentRunningRecipe);
                 return true;

+ 1 - 1
Venus/Venus_RT/Modules/PMs/PumpDownRoutine.cs

@@ -329,7 +329,7 @@ namespace Venus_RT.Modules.PMs
         }
         private bool OpenVATValve()
         {
-            return _chamber.SetPVPostion(1000);
+            return _chamber.TurnPendulumValve(true);
         }
         private bool VATIsAllOpen()
         {