12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using Aitex.Core.RT.Event;
- using Aitex.Core.RT.Log;
- using Aitex.Core.RT.Routine;
- using EFEM.RT.Devices.Flipper;
- using MECF.Framework.Common.Equipment;
- using System;
- namespace EFEM.RT.Routines.FLP
- {
- public class FlipperHomeRoutine : CommonRoutine, IRoutine
- {
- private FlipperBase _flipper;
- private ModuleName modulename;
- private int _waitTimeout;
- private int _ClampTimeout;
- private int _TurnTimeout;
- public FlipperHomeRoutine(ModuleName module, FlipperBase flipper)
- {
- modulename = module;
- _flipper = flipper;
- _waitTimeout = 60;
- _ClampTimeout = 60;
- _TurnTimeout = 60;
- }
- public Result Start(params object[] objs)
- {
- if (_flipper == null)
- {
- LOG.Error($"{Module.ToString()} Flipper is null. Cannot Start");
- return Result.FAIL;
- }
- Reset();
- return Result.RUN;
- }
- public Result Monitor()
- {
- try
- {
- FlipperReset((int)FlipperHomeStep.Reset, _flipper, "Flipper Reset", _waitTimeout, Notify, Stop);
- TimeDelay((int)FlipperHomeStep.DeviceWait1, 1000);
- FlipperClampClose((int)FlipperHomeStep.ClampClose, _flipper, "Flipper Clamp Close", _ClampTimeout, Notify, Stop);
- TimeDelay((int)FlipperHomeStep.DeviceWait2, 1000);
- FlipperTurnToHome((int)FlipperHomeStep.TurnToHome, _flipper, "Flipper Turn to Home", _TurnTimeout, Notify, Stop);
- }
- catch (RoutineBreakException)
- {
- return Result.RUN;
- }
- catch (RoutineFaildException)
- {
- return Result.FAIL;
- }
- EV.PostMessage(ModuleName.System.ToString(), EventEnum.HomeEnds, ModuleName.System.ToString());
- return Result.DONE;
-
- }
- protected override void Notify(string message)
- {
- EV.PostMessage(Module, EventEnum.GeneralInfo, String.Format("Flipper Home Sequence :{0}", message));
- }
- /// <summary>
- /// prepare process failed
- /// </summary>
- /// <param name="failReason"></param>
- /// <param name="reactor"></param>
- protected override void Stop(string failReason)
- {
- string reason = String.Empty;
- EV.PostMessage(Module, EventEnum.HomeFailed, failReason);
- }
- enum FlipperHomeStep
- {
- Reset,
- DeviceWait1,
- ClampOpen,
- ClampClose,
- DeviceWait2,
- TurnToHome
- }
- }
- }
|