Browse Source

Venus修复传片bug

lixiang 1 year ago
parent
commit
d3c29df415

+ 7 - 7
Venus/Venus_MainPages/ViewModels/PlatformViewModel.cs

@@ -47,13 +47,13 @@ namespace Venus_MainPages.ViewModels
             {
                 if (m_WaferInPosSensor != value)
                 {
-                    if (value == true && LLAWaferIsVisibility==Visibility.Collapsed && PMCurrentState!=PMState.LLPicking && PMCurrentState != PMState.LLPlacing)
+                    if (value == true && PMCurrentState!=PMState.LLPicking && PMCurrentState != PMState.LLPlacing)
                     {
-                        InvokeClient.Instance.Service.DoOperation("CreateWafer", "LLA", 0);
+                        InvokeClient.Instance.Service.DoOperation("CreateWafer", "LLA", 3);
                     }
-                    else if (value == false && LLAWaferIsVisibility == Visibility.Visible && PMCurrentState != PMState.LLPicking && PMCurrentState != PMState.LLPlacing)
+                    else if (value == false  && PMCurrentState != PMState.LLPicking && PMCurrentState != PMState.LLPlacing)
                     {
-                        InvokeClient.Instance.Service.DoOperation("DeleteWafer", "LLA", 0);
+                        InvokeClient.Instance.Service.DoOperation("DeleteWafer", "LLA", 3);
                     }
                 }
                 SetProperty(ref m_WaferInPosSensor, value);
@@ -321,12 +321,12 @@ namespace Venus_MainPages.ViewModels
             PumpIsOpen = (bool)RtDataValues[$"{ModuleName}.PumpIsRunning"];
             PurgeCounter=(int)RtDataValues[$"{ModuleName}.LoadLockPurge.PurgeCounter"];
 
-            LLAWafer = ModuleManager.ModuleInfos["LLA"].WaferManager.Wafers[0];
+            LLAWafer = ModuleManager.ModuleInfos["LLA"].WaferManager.Wafers[3];
             PMAWafer = ModuleManager.ModuleInfos["PMA"].WaferManager.Wafers[0];
             
 
-            PMAWaferIsVisibility = (bool)RtDataValues[$"PMA.HasWafer"] ==true ? Visibility.Visible : Visibility.Collapsed;
-            LLAWaferIsVisibility = (bool)RtDataValues[$"LLA.HasWafer"] == true ? Visibility.Visible : Visibility.Collapsed;
+            //PMAWaferIsVisibility = (bool)RtDataValues[$"PMA.HasWafer"] ==true ? Visibility.Visible : Visibility.Collapsed;
+            //LLAWaferIsVisibility = (bool)RtDataValues[$"LLA.HasWafer"] == true ? Visibility.Visible : Visibility.Collapsed;
 
             PMCurrentState= (PMState)Enum.Parse(typeof(PMState), RtDataValues[$"{ModuleName}.FsmState"].ToString());
 

+ 2 - 2
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -31,8 +31,8 @@
                     <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="410" Canvas.Top="76"   Width="200" Height="300"   x:Name="robot2" RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding BladeBWafer}"/>
 
 
-                    <userControls:LoadLockLeft  Width="150" Height="150" Canvas.Top="310" Canvas.Left="358"  DoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLAWafer}"/>
-                    <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519"  DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Door2IsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}"/>
+                    <userControls:LoadLockLeft  Width="150" Height="150" Canvas.Top="310" Canvas.Left="358"  DoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}"  Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLAWafer}"/>
+                    <userControls:LoadLockRight Width="150" Height="150" Canvas.Top="309" Canvas.Left="519"  DoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}"  Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" RobotWafer="{Binding LLBWafer}"/>
 
 
                     <userControls:TMChamber x:Name="PMA" Canvas.Top="302"  Canvas.Left="233" Width="140" Height="140" RotateTransformValue="-90"  DoorIsOpen="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource BoolToBool}}" RobotWafer="{Binding PMAWafer}"/>

File diff suppressed because it is too large
+ 15 - 74
Venus/Venus_MainPages/Views/ProcessHistoryView.xaml


+ 3 - 5
Venus/Venus_MainPages/Views/TopView.xaml

@@ -21,15 +21,13 @@
         <converters2:TMStateConverter x:Key="TMStateConverter"/>
         <converters2:LLStateConverter x:Key="LLStateConverter"/>
         <converters2:SystemStateConverter x:Key="SystemStateConverter"/>
-
-
-
     </UserControl.Resources>
+    
     <Canvas Background="{StaticResource Login_BG}">
         <TextBlock Style="{StaticResource textBlockStyle}" Text="{Binding Title}" FontSize="60"    FontStyle="Italic" Canvas.Left="5"/>
         <TextBlock Text="{Binding SoftwareVersion}" Foreground="White"    FontSize="20"  Canvas.Left="70" Canvas.Top="80" />
 
-        <Grid Canvas.Left="240" Width="1300" Height="110">
+        <Grid Canvas.Left="240" Width="1300" Height="104">
             <Grid.RowDefinitions>
                 <RowDefinition/>
                 <RowDefinition/>
@@ -101,7 +99,7 @@
 
 
        
-            <Viewbox  Height="100" Width="40" Canvas.Right="10" Canvas.Top="10"    >
+            <Viewbox  Height="100" Width="40" Canvas.Right="10" Canvas.Top="6"    >
                 <deviceControl:AITSignalTower  
                                               IsRedLightOn   ="{Binding SignalTowerData.IsRedLightOn}"
                                               IsYellowLightOn="{Binding SignalTowerData.IsYellowLightOn}"

+ 20 - 16
Venus/Venus_RT/Modules/PMs/LLPickRoutine.cs

@@ -13,6 +13,7 @@ namespace Venus_RT.Modules.PMs
         {
             kPrepareTransfer,
             kExtend,
+            KDelay2s,
             kPinUp,
             kRetract,
             kPostTransfer,
@@ -80,6 +81,7 @@ namespace Venus_RT.Modules.PMs
         {
             Runner.Run((int)LLPickStep.kPrepareTransfer,    PrepareTransfer,        IsPrepareReady,                                     _prepareTransferTimeout * 1000)
                 .Run((int)LLPickStep.kExtend,               _chamber.ExtendWafer,   () => { return _chamber.IsLoadlockArmExtend; },     _transferWaferTimeout * 1000)
+                .Delay((int)LLPickStep.KDelay2s,2000)
                 .Run((int)LLPickStep.kPinUp,                SetLiftPinDown,         () => { return _chamber.CheckLiftDown(); })
                 .Run((int)LLPickStep.kRetract,              _chamber.RetractWafer,  () => { return _chamber.IsLoadlockArmRetract; },    _transferWaferTimeout * 1000)
                 .Run((int)LLPickStep.kPostTransfer,         PostTransfer,           IsPostTransferReady,                                _prepareTransferTimeout * 1000)
@@ -120,27 +122,29 @@ namespace Venus_RT.Modules.PMs
 
         private bool VentLoadLock()
         {
-            if (!_isATMMode)
-            {
-                return _loadLockVentRoutine.Start() == RState.Running;
-            }
-            else
+            //2023/06/08朱让取消
+            //if (!_isATMMode)
+            //{
+            //    return _loadLockVentRoutine.Start() == RState.Running;
+            //}
+            //else
                 return true;
         }
       
         private bool IsVentDone()
         {
-            if(!_isATMMode)
-            {
-                RState ret = _loadLockVentRoutine.Monitor();
-                if (ret == RState.Failed || ret == RState.Timeout)
-                {
-                    Runner.Stop("Vent Failed");
-                    return false;
-                }
-
-                return ret == RState.End;
-            }
+            //2023/06/08朱让取消
+            //if(!_isATMMode)
+            //{
+            //    RState ret = _loadLockVentRoutine.Monitor();
+            //    if (ret == RState.Failed || ret == RState.Timeout)
+            //    {
+            //        Runner.Stop("Vent Failed");
+            //        return false;
+            //    }
+
+            //    return ret == RState.End;
+            //}
 
             return true;
         }

+ 8 - 2
Venus/Venus_RT/Modules/PMs/LoadLockPumpRoutine.cs

@@ -11,6 +11,7 @@ namespace Venus_RT.Modules.PMs
         private enum PumpStep
         {
             kCloseValves,
+            KCloseISO,
             kPump,
             kClosePumpValves,
         }
@@ -18,7 +19,7 @@ namespace Venus_RT.Modules.PMs
         private int _basePressureLL = 100;
         private int _pumpTimeLimitLL = 120;
         
-
+        
         public LoadLockPumpRoutine(JetPMBase chamber) : base(chamber)
         {
             Name = "Loadlock Pump";
@@ -35,7 +36,11 @@ namespace Venus_RT.Modules.PMs
                 _chamber.CloseValves();
                 _basePressureLL = SC.GetValue<int>($"{Module}.Pump.LoadLockPumpBasePressure");
                 _pumpTimeLimitLL = SC.GetValue<int>($"{Module}.Pump.LoadLockPumpTimeLimit");
-
+                if (_chamber.PendulumValveIsOpen() == true)
+                {
+                    _chamber.TurnPendulumValve(false);
+                }
+                _chamber.OpenValve(ValveType.TurboPumpPurge, false);
                 return Runner.Start(Module, Name);
             }
             return RState.Failed;
@@ -44,6 +49,7 @@ namespace Venus_RT.Modules.PMs
         public RState Monitor()
         {
             Runner.Delay((int)PumpStep.kCloseValves,    _delay_1s)
+                .Run((int)PumpStep.KCloseISO, HOFs.WrapAction(_chamber.OpenValve, ValveType.TurboPumpPumping, false))
                 .Run((int)PumpStep.kPump,               HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockPumping, true),   () => { return _chamber.LoadlockPressure <= _basePressureLL; }, _pumpTimeLimitLL * 1000)
                 .End((int)PumpStep.kClosePumpValves,    HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockPumping, false),  _delay_1s);
 

+ 1 - 1
Venus/Venus_UI/Views/ShellView.xaml

@@ -145,7 +145,7 @@
     <Grid>
         
         <Grid.RowDefinitions>
-            <RowDefinition Height="110"/>
+            <RowDefinition Height="104"/>
             <RowDefinition/>
             <RowDefinition Height="48"/>
         </Grid.RowDefinitions>