소스 검색

1.修复iomfc writemode的合并冲突bug

lixiang 1 년 전
부모
커밋
95f5be1ca4

+ 4 - 0
Venus/Venus_MainPages/ViewModels/OverKepler2200AViewModel.cs

@@ -1708,6 +1708,8 @@ namespace Venus_MainPages.ViewModels
                 ChamberPressureFeedBack = ChamberPressure;
             }
             HighTemperatureHeaterData = CommonFunction.GetValue<AITHighTemperatureHeaterData>(RtDataValues, $"{ModuleName}.HighTemperatureHeater.DeviceData");
+            IsAutoMode = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsOnline");
+
         }
         public void addDataKeys()
         {
@@ -1819,6 +1821,8 @@ namespace Venus_MainPages.ViewModels
             m_RtDataKeys.Add($"{ModuleName}.CurrentRecipeResult");
 
             m_RtDataKeys.Add($"{ModuleName}.HighTemperatureHeater.DeviceData");
+            m_RtDataKeys.Add($"{ModuleName}.IsOnline");
+
         }
         #endregion
     }

+ 4 - 0
Venus/Venus_MainPages/ViewModels/OverKepler2200BViewModel.cs

@@ -1775,6 +1775,8 @@ namespace Venus_MainPages.ViewModels
                 ChamberPressureFeedBack = ChamberPressure;
             }
             HighTemperatureHeaterData = CommonFunction.GetValue<AITHighTemperatureHeaterData>(RtDataValues, $"{ModuleName}.HighTemperatureHeater.DeviceData");
+            IsAutoMode = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsOnline");
+
         }
         public void addDataKeys()
         {
@@ -1892,6 +1894,8 @@ namespace Venus_MainPages.ViewModels
             m_RtDataKeys.Add($"{ModuleName}.CurrentRecipeResult");
 
             m_RtDataKeys.Add($"{ModuleName}.HighTemperatureHeater.DeviceData");
+            m_RtDataKeys.Add($"{ModuleName}.IsOnline");
+
         }
         #endregion
     }

+ 1 - 1
Venus/Venus_MainPages/Views/OverKepler2200AView.xaml

@@ -956,7 +956,7 @@
                         <!--<MenuItem Header="Stop Recipe/Stop Dechuck Step" Cursor="Hand"                        Command="{Binding AbortRecipeCommnad}" CommandParameter="1"/>-->
                         <MenuItem Header="Stop Recipe=>Return Wafer To Foup" Cursor="Hand"   Command="{Binding AbortRecipeCommnad}" CommandParameter="2"/>
                     </customControls:SplitButton>
-                    <RadioButton Content="OffLine"     Width="120" Height="28" Margin="0 0 5 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},Mode=TwoWay}" FontSize="15" Command="{Binding OfflineCommand}"/>
+                    <RadioButton Content="OffLine"     Width="120" Height="28" Margin="0 0 5 0" Style="{StaticResource Button_RadioButton}"  IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},Mode=TwoWay}" FontSize="15" Command="{Binding OfflineCommand}"/>
                     <RadioButton Content="OnLine"      Width="120" Height="28" Margin="0 0 30 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Mode=TwoWay}" FontSize="15"                                      Command="{Binding OnlineCommand}"/>
                     <customControls:PathButton  Width="130" Height="30" Content="Vent"          Command="{Binding VentCommand}"         IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" />
                     <customControls:PathButton  Width="134" Height="30" Content="Pump Purge"    Command="{Binding PurgeCommand}"         Margin="50,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>

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

@@ -528,7 +528,7 @@ namespace Venus_RT.Devices.IODevices
             //{
             //    jetChamber = (JetChamber)SC.GetValue<int>($"{module}.ChamberType");
             //}
-            _writeMode = (MFCWriteMode)SC.GetValue<int>($"{module}.{Name}.MFCWriteMode");
+            //_writeMode = (MFCWriteMode)SC.GetValue<int>($"{module}.{Name}.MFCWriteMode");
 
             if(ModuleHelper.IsPm(module))
                 m_JetChamber = (JetChamber)SC.GetValue<int>($"{module}.ChamberType");

+ 15 - 9
Venus/Venus_RT/Modules/TM/MFPMSwapRoutine.cs

@@ -21,6 +21,7 @@ namespace Venus_RT.Modules.TM
         {
             WaitPMReady,
             PreRotation,
+            OpenSlitDoor,
             PickPrepare,
             PickExtend,
             DropDownWafer,
@@ -31,6 +32,7 @@ namespace Venus_RT.Modules.TM
             LiftUpWafer,
             PlaceDelay,
             PlaceRetract,
+            CloseSlitDoor,
             NotifyDone,
         }
         private enum SwapWithHeaterStep
@@ -144,6 +146,8 @@ namespace Venus_RT.Modules.TM
 
                     Runner.Wait(SwapStep.WaitPMReady, () => _pmModule.IsIdle, _delay_60s)
                           .RunIf(SwapStep.PreRotation, _JetTM.PreRotateModules.ContainsKey(_targetModule), RotateArm, WaitRotateDone)
+                          .Run(SwapStep.OpenSlitDoor, OpenPMSlitDoor, OpenPMSlitDoorIsOK)
+
                           .Run(SwapStep.PickPrepare, PickPrepare, IsModuleReadyForPick)
                           .Run(SwapStep.PickExtend, PickExtend, WaitRobotExtendDone)
                           .Run(SwapStep.DropDownWafer, NotifyPMPickWafer, WaitPMWaferDropDown)
@@ -154,21 +158,23 @@ namespace Venus_RT.Modules.TM
                           .Run(SwapStep.LiftUpWafer, NotifyLiftUpWafer, WaitPMWaferLiftUp)
                           .Delay(SwapStep.PlaceDelay, _placeDelayTime)
                           .Run(SwapStep.PlaceRetract, PlaceRetract, WaitRobotRetractDone)
+                          .Run(SwapStep.CloseSlitDoor, ClosePMSlitDoor, ClosePMSlitDoorIsOK)
+
                           .End(SwapStep.NotifyDone, NotifyPMDone, _delay_50ms);
                     break;
 
                 case JetChamber.Kepler2200A:
                 case JetChamber.Kepler2200B:
 
-                    Runner.Wait(SwapWithHeaterStep.WaitPMReady, () => _pmModule.IsIdle, _delay_60s)
-                          .RunIf(SwapWithHeaterStep.PreRotation, _JetTM.PreRotateModules.ContainsKey(_targetModule), RotateArm, WaitRotateDone)
-                          .Run(SwapWithHeaterStep.OpenSlitDoor, OpenPMSlitDoor, OpenPMSlitDoorIsOK)
-                          .Run(SwapWithHeaterStep.PickPrepare, PickPrepare, IsModuleReadyForPick)
-                          .Run(SwapWithHeaterStep.Picking, Picking, WaitPickDone)
-                          .Run(SwapWithHeaterStep.PlacePrepare, PlacePrepare, IsModuleReadyForPlace)
-                          .Run(SwapWithHeaterStep.Placing, Placing, WaitPlaceDone)
-                          .Run(SwapWithHeaterStep.CloseSlitDoor, ClosePMSlitDoor, ClosePMSlitDoorIsOK)
-                          .End(SwapStep.NotifyDone, NotifyPMDone, _delay_50ms);
+                    Runner.Wait(SwapWithHeaterStep.WaitPMReady,    () => _pmModule.IsIdle,              _delay_60s)
+                          .RunIf(SwapWithHeaterStep.PreRotation,   _JetTM.PreRotateModules.ContainsKey(_targetModule), RotateArm, WaitRotateDone)
+                          .Run(SwapWithHeaterStep.OpenSlitDoor,    OpenPMSlitDoor,                      OpenPMSlitDoorIsOK)
+                          .Run(SwapWithHeaterStep.PickPrepare,     PickPrepare,                         IsModuleReadyForPick)
+                          .Run(SwapWithHeaterStep.Picking,         Picking,                             WaitPickDone)
+                          .Run(SwapWithHeaterStep.PlacePrepare,    PlacePrepare,                        IsModuleReadyForPlace)
+                          .Run(SwapWithHeaterStep.Placing,         Placing,                             WaitPlaceDone)
+                          .Run(SwapWithHeaterStep.CloseSlitDoor,   ClosePMSlitDoor,                     ClosePMSlitDoorIsOK)
+                          .End(SwapStep.NotifyDone,                NotifyPMDone,                        _delay_50ms);
                     break;
             }
             return Runner.Status;