|
@@ -490,6 +490,11 @@ namespace Venus_RT.Modules.PMs
|
|
|
Transition(PMState.Processing, FSM_MSG.TIMER, FnProcessTimeout, PMState.Idle);
|
|
|
Transition(PMState.Processing, MSG.Abort, FnAbortProcess, PMState.Idle);
|
|
|
|
|
|
+ // Process
|
|
|
+ Transition(PMState.Idle, MSG.Clean, FnRunRecipe, PMState.Clean);
|
|
|
+ Transition(PMState.Clean, FSM_MSG.TIMER, FnProcessTimeout, PMState.Idle);
|
|
|
+ Transition(PMState.Clean, MSG.Abort, FnAbortProcess, PMState.Idle);
|
|
|
+
|
|
|
// Gas Flow sequence
|
|
|
Transition(PMState.Idle, MSG.GasFlow, FnStartGasFlow, PMState.GasFlowing);
|
|
|
Transition(PMState.GasFlowing, MSG.GasFlow, FnAbortGasFlow, PMState.Idle);
|
|
@@ -538,48 +543,6 @@ namespace Venus_RT.Modules.PMs
|
|
|
// Swap Wafer With PM
|
|
|
Transition(PMState.DropDownReady, MSG.PreparePlace, FnStartSwapPlace, PMState.PreparePlace);
|
|
|
|
|
|
- #region 注
|
|
|
- //Transition(PMState.Idle, MSG.PartialPressure, (a) =>
|
|
|
- //{
|
|
|
- // return _pmPartialPressureRoutine.Start(a) == RState.Running;
|
|
|
- //}, PMState.PartialPressureTesting);
|
|
|
- //Transition(PMState.PartialPressureTesting, FSM_MSG.TIMER, (a) =>
|
|
|
- //{
|
|
|
- // RState ret = _pmPartialPressureRoutine.Monitor();
|
|
|
- // if (ret == RState.Failed || ret == RState.Timeout)
|
|
|
- // {
|
|
|
- // PostMsg(MSG.Error);
|
|
|
- // return false;
|
|
|
- // }
|
|
|
- // return ret == RState.End;
|
|
|
- //}, PMState.Idle);
|
|
|
- //Transition(PMState.PartialPressureTesting, MSG.Abort, (a) =>
|
|
|
- //{
|
|
|
- // _pmPartialPressureRoutine.Abort();
|
|
|
- // return true;
|
|
|
- //}, PMState.Idle);
|
|
|
-
|
|
|
- //Transition(PMState.Idle, MSG.VATPerformance, (a) =>
|
|
|
- //{
|
|
|
- // return _pmVATPerformanceRoutine.Start(a) == RState.Running;
|
|
|
- //}, PMState.VATPerformanceTesting);
|
|
|
- //Transition(PMState.VATPerformanceTesting, FSM_MSG.TIMER, (a) =>
|
|
|
- //{
|
|
|
- // RState ret = _pmVATPerformanceRoutine.Monitor();
|
|
|
- // if (ret == RState.Failed || ret == RState.Timeout)
|
|
|
- // {
|
|
|
- // PostMsg(MSG.Error);
|
|
|
- // return false;
|
|
|
- // }
|
|
|
- // return ret == RState.End;
|
|
|
- //}, PMState.Idle);
|
|
|
- //Transition(PMState.VATPerformanceTesting, MSG.Abort, (a) =>
|
|
|
- //{
|
|
|
- // _pmVATPerformanceRoutine.Abort();
|
|
|
- // return true;
|
|
|
- //}, PMState.Idle);
|
|
|
- #endregion
|
|
|
-
|
|
|
Transition(PMState.Idle, MSG.PartialPressure, FnStartPartialPressure, PMState.PartialPressureTesting);
|
|
|
Transition(PMState.PartialPressureTesting, FSM_MSG.TIMER, FnPartialPressureTimeout, PMState.Idle);
|
|
|
Transition(PMState.PartialPressureTesting, MSG.Abort, FnAbortPartialPressure, PMState.Idle);
|