|
@@ -95,7 +95,6 @@ namespace CyberX8_RT.Modules.Rinse
|
|
|
/// <param name="module"></param>
|
|
|
public RinseCycleManualProcessRecipeRoutine(string module) : base(module)
|
|
|
{
|
|
|
-
|
|
|
_rinseFirstStepRoutine = new RinseFirstStepRoutine(module);
|
|
|
_rinseSecondStepRoutine = new RinseSecondStepRoutine(module);
|
|
|
_rinseThirdStepRoutine = new RinseThirdStepRoutine(module);
|
|
@@ -152,16 +151,16 @@ namespace CyberX8_RT.Modules.Rinse
|
|
|
LottrackRecord();
|
|
|
Runner.LoopStart(CycleManualRunRecipeStep.LoopStart, "Loop Start ManualRunRecipe", _cycle, NullFun, _delay_1ms)
|
|
|
|
|
|
- .LoopRun(CycleManualRunRecipeStep.LoopRunFirstStep, () => _rinseFirstStepRoutine.Start(param) == RState.Running, _delay_1ms)
|
|
|
+ .LoopRun(CycleManualRunRecipeStep.LoopRunFirstStep, startFirstRoutine, _delay_1ms)
|
|
|
.LoopRunWithStopStatus(CycleManualRunRecipeStep.LoopWaitRunFirstStepProcess, () => CommonFunction.CheckRoutineEndState(_rinseFirstStepRoutine),
|
|
|
() => { return CheckRoutineStopStatus(_rinseFirstStepRoutine, _rinseFirstStepRoutine.ErrorMsg, 0); })
|
|
|
.LoopDelay(CycleManualRunRecipeStep.LoopFirstStepDelay, _delay_1ms)
|
|
|
- .LoopRun(CycleManualRunRecipeStep.LoopRunSecondStep, () => _rinseSecondStepRoutine.Start(param) == RState.Running, _delay_1ms)
|
|
|
+ .LoopRun(CycleManualRunRecipeStep.LoopRunSecondStep, startSecondRoutine, _delay_1ms)
|
|
|
.LoopRunWithStopStatus(CycleManualRunRecipeStep.LoopWaitRunSecondStepProcess, () => CommonFunction.CheckRoutineEndState(_rinseSecondStepRoutine),
|
|
|
() => { return CheckRoutineStopStatus(_rinseSecondStepRoutine, _rinseSecondStepRoutine.ErrorMsg, 0); })
|
|
|
.LoopDelay(CycleManualRunRecipeStep.LoopSecondStepDelay, _delay_1ms)
|
|
|
|
|
|
- .LoopRunIf(CycleManualRunRecipeStep.LoopRunThirdStep, _recipe.FinalRinseDry == true, () => _rinseThirdStepRoutine.Start(param) == RState.Running, _delay_1ms)
|
|
|
+ .LoopRunIf(CycleManualRunRecipeStep.LoopRunThirdStep, _recipe.FinalRinseDry == true, startThirdRoutine, _delay_1ms)
|
|
|
.LoopRunIfWithStopStatus(CycleManualRunRecipeStep.LoopWaitRunThirdStepProcess, _recipe.FinalRinseDry == true, () => CommonFunction.CheckRoutineEndState(_rinseThirdStepRoutine),
|
|
|
() => { return CheckRoutineStopStatus(_rinseThirdStepRoutine, _rinseThirdStepRoutine.ErrorMsg, 0); })
|
|
|
.LoopRunIf(CycleManualRunRecipeStep.LoopThirdStepDelay, _recipe.FinalRinseDry == true, NullFun, _delay_1ms)
|
|
@@ -171,6 +170,48 @@ namespace CyberX8_RT.Modules.Rinse
|
|
|
return Runner.Status;
|
|
|
}
|
|
|
/// <summary>
|
|
|
+ /// 启动第一阶段Rinse
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ private bool startFirstRoutine()
|
|
|
+ {
|
|
|
+ bool result = _rinseFirstStepRoutine.Start(param) == RState.Running;
|
|
|
+ if (!result)
|
|
|
+ {
|
|
|
+ AddLotTrackData();
|
|
|
+ NotifyError(eEvent.ERR_RINSE, _rinseFirstStepRoutine.ErrorMsg, 0);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 启动第二阶段Rinse
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ private bool startSecondRoutine()
|
|
|
+ {
|
|
|
+ bool result = _rinseSecondStepRoutine.Start(param) == RState.Running;
|
|
|
+ if (!result)
|
|
|
+ {
|
|
|
+ AddLotTrackData();
|
|
|
+ NotifyError(eEvent.ERR_RINSE, _rinseSecondStepRoutine.ErrorMsg, 0);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 启动第三阶段Rinse
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ private bool startThirdRoutine()
|
|
|
+ {
|
|
|
+ bool result = _rinseThirdStepRoutine.Start(param) == RState.Running;
|
|
|
+ if (!result)
|
|
|
+ {
|
|
|
+ AddLotTrackData();
|
|
|
+ NotifyError(eEvent.ERR_RINSE, _rinseThirdStepRoutine.ErrorMsg, 0);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
/// 检验Routine停止状态
|
|
|
/// </summary>
|
|
|
/// <param name="routine"></param>
|