QueryStateTask.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Aitex.Core.Util;
  2. using athosRT.Devices.EFEM.ABS;
  3. using MECF.Framework.Common.Equipment;
  4. using MECF.Framework.Common.SubstrateTrackings;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Reflection;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace athosRT.Devices.EFEM.Task
  12. {
  13. public class QueryStateTask : CheckImp, ITask
  14. {
  15. public bool Execute(out string result, params string[] args)
  16. {
  17. string device = "System";
  18. if (!(args[0] == "VER") && !(args[0] == "TRACK"))
  19. {
  20. result = "PARAM_NG";
  21. return false;
  22. }
  23. return this.Check<NoReadyPolicy>(device, out result) && this.Check<MaintenancePolicy>(device, out result);
  24. }
  25. public bool? Monitor(out string result, params string[] args)
  26. {
  27. result = string.Empty;
  28. if (args.Length < 1)
  29. return new bool?(false);
  30. if (args[0] == "VER")
  31. {
  32. string str = Assembly.GetExecutingAssembly().GetName().Version.ToString();
  33. DateTime now = DateTime.Now;
  34. result = string.Format("{0}({1}-{2}-{3})", str,now.Year, now.Month, now.Day);
  35. return new bool?(true);
  36. }
  37. if (!(args[0] == "TRACK"))
  38. return new bool?(true);
  39. result += Singleton<WaferManager>.Instance.CheckHasWafer(ModuleName.Robot, 1) ? "1" : "0";
  40. result += Singleton<WaferManager>.Instance.CheckHasWafer(ModuleName.Robot, 0) ? "1" : "0";
  41. result += Singleton<WaferManager>.Instance.CheckHasWafer(ModuleName.Aligner1, 0) ? "1" : "0";
  42. result += Singleton<WaferManager>.Instance.CheckHasWafer(ModuleName.Aligner2, 0) ? "1" : "0";
  43. result += Singleton<WaferManager>.Instance.CheckHasWafer(ModuleName.CoolingBuffer1, 0) ? "1" : "0";
  44. result += Singleton<WaferManager>.Instance.CheckHasWafer(ModuleName.CoolingBuffer2, 0) ? "1" : "0";
  45. return new bool?(true);
  46. }
  47. }
  48. }