ThicknessTask.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Core.RT.SCCore;
  3. using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.LoadPortBase;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace EFEM.RT.Tasks
  10. {
  11. public class ThicknessTask : CheckImp, ITask
  12. {
  13. public ThicknessTask()
  14. {
  15. }
  16. public bool Execute(out string result, params string[] args)
  17. {
  18. HasInfoMessage = false;
  19. string device = Args2Unit(args.Length > 0 ? args[0] : string.Empty);
  20. if (device == null)
  21. {
  22. result = PARAM_NG;
  23. return false;
  24. }
  25. if (args.Length < 2)
  26. {
  27. result = PARAM_NG;
  28. return false;
  29. }
  30. if (!Check<NoReadyPolicy>(device, out result))
  31. {
  32. return false;
  33. }
  34. if (!Check<NoInitCompletedPolicy>(device, out result))
  35. {
  36. return false;
  37. }
  38. if (CheckIsPort(device))
  39. {
  40. SC.SetItemValueFromString($"CarrierInfo.{device}ThicknessType", args[1].ToString());
  41. }
  42. else
  43. {
  44. result = PARAM_NG;
  45. return false;
  46. }
  47. return true;
  48. }
  49. public bool? Monitor(out string result, params string[] args)
  50. {
  51. result = string.Empty;
  52. string device = Args2Unit(args.Length > 0 ? args[0] : string.Empty);
  53. return true;
  54. }
  55. }
  56. public class GetThicknessTask : CheckImp, ITask
  57. {
  58. public GetThicknessTask()
  59. {
  60. }
  61. public bool Execute(out string result, params string[] args)
  62. {
  63. string device = Args2Unit(args.Length > 0 ? args[0] : string.Empty);
  64. if (device == null)
  65. {
  66. result = PARAM_NG;
  67. return false;
  68. }
  69. if (!Check<NoReadyPolicy>(device, out result))
  70. {
  71. return false;
  72. }
  73. if (!Check<NoInitCompletedPolicy>(device, out result))
  74. {
  75. return false;
  76. }
  77. if (CheckIsPort(device))
  78. {
  79. //SC.SetItemValueFromString($"CarrierInfo.{device}ThicknessType", args[1].ToString());
  80. }
  81. else
  82. {
  83. result = PARAM_NG;
  84. return false;
  85. }
  86. return true;
  87. }
  88. public bool? Monitor(out string result, params string[] args)
  89. {
  90. result = string.Empty;
  91. string device = Args2Unit(args.Length > 0 ? args[0] : string.Empty);
  92. result = SC.GetStringValue($"CarrierInfo.{device}ThicknessType");
  93. return true;
  94. }
  95. }
  96. }