Parcourir la source

1. Revise coolingBuffer reset;
2. Optimize coolingBuffer state display;

niuyx il y a 2 semaines
Parent
commit
d142a16b8a

+ 1 - 1
Framework/AitexSorterUI/Controls/FoupListControl.xaml

@@ -29,7 +29,7 @@
                     <StackPanel Grid.Row="1" Orientation="Horizontal">
                         <Button Margin="8,0,0,0" Height="30" Width="80" Content="ReadID" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
 
-                        <Button Margin="8,0,0,0" Height="30" Width="80" Content="Map" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
+                        <Button Margin="5,0,0,0" Height="30" Width="80" Content="Map" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" ctrlCommon:CommandHelper.Target="{Binding Station}" />
 
                         <!--<Button Height="30"  Width="80" Grid.Row="1" Grid.ColumnSpan="2" Content="Offline" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Offline}" ctrlCommon:CommandHelper.Target="{Binding Station}" />-->
                     </StackPanel>

+ 1 - 1
Framework/RTEquipmentLibrary/RTEquipmentLibrary/HardwareUnits/LoadPorts/LoadPortBase/LoadPortBaseDevice.cs

@@ -469,7 +469,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.LoadPortBas
 
             Transition(LoadPortStateEnum.Resetting, LoadPortMsg.ResetComplete, fCompleteReset, LoadPortStateEnum.Idle);
             Transition(LoadPortStateEnum.Resetting, LoadPortMsg.ActionDone, fCompleteReset, LoadPortStateEnum.Idle);
-            //Transition(LoadPortStateEnum.Resetting, FSM_MSG.TIMER, fMonitorReset, LoadPortStateEnum.Idle);
+            Transition(LoadPortStateEnum.Resetting, FSM_MSG.TIMER, fMonitorReset, LoadPortStateEnum.Idle);
 
 
             Transition(LoadPortStateEnum.Init, LoadPortMsg.Init, fStartInit, LoadPortStateEnum.Initializing);

+ 7 - 3
Jet/Jet_001_2P_Jet/EfemRT/Devices/IoCoolingBuffer.cs

@@ -9,6 +9,7 @@ using Aitex.Core.RT.Log;
 using Aitex.Core.RT.OperationCenter;
 using Aitex.Core.RT.SCCore;
 using Aitex.Core.Util;
+using EFEM.RT.Devices.Flipper;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.SubstrateTrackings;
 
@@ -18,6 +19,7 @@ namespace Aitex.Core.RT.Device.Unit
     {
         enum DeviceState
         {
+            Init,
             Idle,
             Homing,
             MovingUp,
@@ -58,7 +60,7 @@ namespace Aitex.Core.RT.Device.Unit
         private DOAccessor _do6InchRetract;
 
 
-        private DeviceState _state = DeviceState.Idle;
+        private DeviceState _state = DeviceState.Init;
         private DeviceTimer _timer = new DeviceTimer();
 
         private WaferSize _size = WaferSize.WS8;
@@ -302,12 +304,14 @@ namespace Aitex.Core.RT.Device.Unit
 
             _scLiftUpTimeout = ParseScNode("scUpTimeout", node);
             _scLiftDownTimeout = ParseScNode("scDownTimeout", node);
+
+            DATA.Subscribe($"{module}.{module}.Status", () => _state.ToString());
         }
         public bool ManualOperation = false;
 
         public bool Initialize()
         {
-            _state = DeviceState.Idle;
+            _state = DeviceState.Init;
             if (Module == "System")
             {
                 LOG.Write($"IoCoolingBuffer module is System.");
@@ -769,7 +773,7 @@ namespace Aitex.Core.RT.Device.Unit
                 reason = $"{Module} isn't exist";
                 return false;
             }
-            if (_state != DeviceState.Error && _state != DeviceState.Idle)
+            if (_state != DeviceState.Error && _state != DeviceState.Idle && _state != DeviceState.Init)
             {
                 reason = $"{Module} is in {_state} state.";
                 return false;

+ 7 - 7
Jet/Jet_001_2P_Jet/EfemRT/Devices/LoadPorts/Hirata/HirataLoadPort.cs

@@ -957,13 +957,13 @@ namespace EfemRT.Devices.LoadPorts.Hirata
             return true;
         }
 
-        protected override bool fMonitorReset(object[] param)
-        {
-            MapError = false;
-            IsError = false;
-            base.IsBusy = false;
-            return true;
-        }
+        //protected override bool fMonitorReset(object[] param)
+        //{
+        //    MapError = false;
+        //    IsError = false;
+        //    base.IsBusy = false;
+        //    return true;
+        //}
 
         protected override bool fCompleteReset(object[] param)
         {

+ 1 - 1
Jet/Jet_001_2P_Jet/EfemRT/Routines/CommonRoutine.cs

@@ -1844,7 +1844,7 @@ namespace EFEM.RT.Routines
             {
                 
 
-                if (LPs.Any(lp => lp.CurrentState == LoadPortStateEnum.Error))
+                if (LPs.Any(lp => lp.CurrentState == LoadPortStateEnum.Error && (SC.GetValue<int>($"LoadPort.{lp.Name}.CstType") != 1)))
                 {
                     return null;
                 }

+ 4 - 4
Jet/Jet_001_2P_Jet/EfemUI/Views/TopView2LP.xaml

@@ -141,13 +141,13 @@
                         <TextBlock Text="CoolingBuffer1" Style="{StaticResource txtStatus}" HorizontalAlignment="Center" />
                     </Border>
                     <Border Visibility="{Binding CoolingBuffer1Enable,Converter={StaticResource boolVisibilityConverter}, ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="Gray" VerticalAlignment="Center" Background="{Binding CoolingBuffer1Status}" >
-                        <TextBlock VerticalAlignment="Center" Text="{Binding _CoolingBuffer1Status}" Style="{StaticResource TopPanelStatus}"    Width="120" HorizontalAlignment="Center"/>
+                        <TextBlock VerticalAlignment="Center" Text="{Binding _CoolingBuffer1Status}" Background="{Binding CoolingBuffer1Background}" Style="{StaticResource TopPanelStatus}"    Width="120" HorizontalAlignment="Center"/>
                     </Border>
                     <Border Visibility="{Binding CoolingBuffer2Enable,Converter={StaticResource boolVisibilityConverter}, ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="Gray" Background="{StaticResource NewBKColor}" Width="141" Height="32">
-                        <TextBlock Text="CoolingBuffer2" Style="{StaticResource txtStatus}" HorizontalAlignment="Center" />
+                        <TextBlock Text="CoolingBuffer2" Background="{Binding CoolingBuffer2Background}" Style="{StaticResource txtStatus}" HorizontalAlignment="Center" />
                     </Border>
                     <Border Visibility="{Binding CoolingBuffer2Enable,Converter={StaticResource boolVisibilityConverter}, ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="Gray" VerticalAlignment="Center" Background="{Binding CoolingBuffer2Status}" >
-                        <TextBlock VerticalAlignment="Center" Text="{Binding _CoolingBuffer2Status}" Style="{StaticResource TopPanelStatus}"    Width="120" HorizontalAlignment="Center"/>
+                        <TextBlock VerticalAlignment="Center" Text="{Binding _CoolingBuffer2Status}" Background="{Binding CoolingBuffer2Background}"  Style="{StaticResource TopPanelStatus}"    Width="120" HorizontalAlignment="Center"/>
                     </Border>
                     <Border Visibility="{Binding BufferEnable,Converter={StaticResource boolVisibilityConverter}, ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="Gray" Background="{StaticResource NewBKColor}" Width="80" Height="32">
                         <TextBlock Text="Buffer" Style="{StaticResource txtStatus}" HorizontalAlignment="Center"/>
@@ -183,7 +183,7 @@
                         <TextBlock Text="Flipper" Style="{StaticResource txtStatus}" HorizontalAlignment="Center" />
                     </Border>
                     <Border Visibility="{Binding FlipperEnable,Converter={StaticResource boolVisibilityConverter}, ConverterParameter={StaticResource True}}" BorderThickness="1" BorderBrush="Gray" VerticalAlignment="Center" Background="{Binding FlipperBackground}" >
-                        <TextBlock VerticalAlignment="Center" Text="{Binding FlipperStatus}" Style="{StaticResource TopPanelStatus}"    Width="120" HorizontalAlignment="Center"/>
+                        <TextBlock VerticalAlignment="Center" Text="{Binding FlipperStatus}" Background="{Binding FlipperBackground}"  Style="{StaticResource TopPanelStatus}"    Width="120" HorizontalAlignment="Center"/>
                     </Border>
                 </StackPanel>