ReadAndLoadRoutine.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Core.RT.SCCore;
  3. using athosRT.FSM;
  4. using athosRT.tool;
  5. using MECF.Framework.Common.Equipment;
  6. using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.LoadPortBase;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace athosRT.Modules.LPs
  13. {
  14. public class ReadAndLoadRoutine : ModuleRoutineBase, FSM.IRoutine
  15. {
  16. private SCConfigItem _scLoadTimeout = null;
  17. private int _timeoutload = 0;
  18. private LoadFoupRoutine _loadfouproutine = null;
  19. private LoadPortBaseDevice _device = null;
  20. public ModuleName Chamber { get;set; }
  21. public ReadAndLoadRoutine(ModuleName module) : base(module)
  22. {
  23. _loadfouproutine = new LoadFoupRoutine(module);
  24. _timeoutload = SC.GetConfigItem("LoadPort.TimeLimitLoadportLoad").IntValue;
  25. }
  26. public RState Start(params object[] objs)
  27. {
  28. Reset();
  29. _loadfouproutine._chamber = Chamber;
  30. _device = DEVICE.GetDevice<LoadPortBaseDevice>(Chamber.ToString());
  31. //EV.PostMessage();
  32. return Runner.Start(Chamber, "Start ReadAndLoad");
  33. }
  34. public RState Monitor()
  35. {
  36. return _loadfouproutine.Monitor();
  37. }
  38. public void Abort()
  39. {
  40. throw new NotImplementedException();
  41. }
  42. }
  43. }