ThicknessTask.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Aitex.Core.RT.SCCore;
  2. using athosRT.Devices.EFEM.ABS;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace athosRT.Devices.EFEM.Task
  9. {
  10. public class ThicknessTask : CheckImp, ITask
  11. {
  12. public bool Execute(out string result, params string[] args)
  13. {
  14. this.HasInfoMessage = false;
  15. string device = this.Args2Unit(args.Length != 0 ? args[0] : string.Empty);
  16. if (device == null)
  17. {
  18. result = "PARAM_NG";
  19. return false;
  20. }
  21. if (args.Length < 2)
  22. {
  23. result = "PARAM_NG";
  24. return false;
  25. }
  26. if (!this.Check<NoReadyPolicy>(device, out result) || !this.Check<NoInitCompletedPolicy>(device, out result))
  27. return false;
  28. if (this.CheckIsPort(device))
  29. {
  30. SC.SetItemValueFromString("CarrierInfo." + device + "ThicknessType", args[1].ToString());
  31. return true;
  32. }
  33. result = "PARAM_NG";
  34. return false;
  35. }
  36. public bool? Monitor(out string result, params string[] args)
  37. {
  38. result = string.Empty;
  39. this.Args2Unit(args.Length != 0 ? args[0] : string.Empty);
  40. return new bool?(true);
  41. }
  42. }
  43. }