| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- using Aitex.Core.RT.Routine;
 
- using Aitex.Core.RT.SCCore;
 
- using Venus_RT.Devices;
 
- using MECF.Framework.Common.Routine;
 
- using MECF.Framework.Common.Equipment;
 
- using Venus_Core;
 
- using Aitex.Core.RT.Log;
 
- namespace Venus_RT.Modules.TM
 
- {
 
-     class MFHomeRoutine : ModuleRoutineBase, IRoutine
 
-     {
 
-         private enum HomeStep
 
-         {
 
-             kHoming,
 
-             kEnd,
 
-         }
 
-         private int _homingTimeout = 30000;
 
-         private readonly JetTM _JetTM;
 
-         private readonly ITransferRobot _robot;
 
-         public MFHomeRoutine(JetTM jetTM, ITransferRobot robot) : base(ModuleName.TM)
 
-         {
 
-             _JetTM = jetTM;
 
-             _robot = robot;
 
-             Name = "TM Home";
 
-         }
 
-         public RState Start(params object[] objs)
 
-         {
 
-             Reset();
 
-             _homingTimeout = SC.GetValue<int>($"{Module}.HomeTimeout") * 1000;
 
-             return Runner.Start(Module, Name);
 
-         }
 
-         public RState Monitor()
 
-         {
 
-             Runner.Run((int)HomeStep.kHoming,   HomeTM,     CheckHomeReady,     _homingTimeout)
 
-                 .End((int)HomeStep.kEnd,        NullFun,    _delay_50ms);
 
-             return Runner.Status;
 
-         }
 
-         private bool HomeTM()
 
-         {
 
-             return _robot.Home();
 
-         }
 
-         private bool CheckHomeReady()
 
-         {     
 
-             return _robot.Status == RState.End;
 
-         }
 
-         public void Abort()
 
-         {
 
-         }
 
-     }
 
- }
 
 
  |