EvtHandler.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Core.RT.Event;
  3. using Aitex.Core.RT.Log;
  4. namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.TDK
  5. {
  6. public class SetEventHandler : IMsg //common move
  7. {
  8. public bool background { get; private set;}
  9. public string deviceID { private get; set; }
  10. private string _cmd = string.Empty;
  11. public SetEventHandler()
  12. {
  13. background = false;
  14. }
  15. public string package(params object[] args)
  16. {
  17. _cmd = args[0].ToString();
  18. return string.Format("EVT:{0}", _cmd);
  19. }
  20. public string retry()
  21. {
  22. return string.Format("RFN:{0}", _cmd);
  23. }
  24. public bool unpackage(string type, string[] cmds)
  25. {
  26. if (!type.Equals("ACK"))
  27. return false;
  28. return true;
  29. }
  30. public bool canhandle(string id)
  31. {
  32. return id.Equals(_cmd);
  33. }
  34. }
  35. public class OnEventHandler : IMsg //common move
  36. {
  37. public bool background { get; private set; }
  38. public string deviceID { private get; set; }
  39. private string _cmd = string.Empty;
  40. public OnEventHandler()
  41. {
  42. background = false;
  43. }
  44. public string package(params object[] args)
  45. {
  46. _cmd = args[0].ToString();
  47. return "";
  48. }
  49. public string retry()
  50. {
  51. return "";
  52. }
  53. public bool unpackage(string type, string[] items)
  54. {
  55. TDKLoadPort device = DEVICE.GetDevice<TDKLoadPort>(deviceID);
  56. if (type.Equals("INF") || type.Equals("RIF") )
  57. {
  58. string name = items[0];
  59. switch (name)
  60. {
  61. case "PODON": // PODON The FOUP is moved from no load to the normal position.
  62. {
  63. device.OnCarrierPresent();
  64. device.OnCarrierPlaced();
  65. string reason = string.Empty;
  66. device.OnEvent(out reason);
  67. }
  68. break;
  69. case "PODOF": //PODOF The FOUP is moved from normal position to no load.
  70. {
  71. device.OnCarrierNotPlaced();
  72. device.OnCarrierNotPresent();
  73. string reason = string.Empty;
  74. device.OnEvent(out reason);
  75. }
  76. break;
  77. case "ABNST": //PODOF The FOUP is moved from normal position to no load.
  78. {
  79. device.OnCarrierNotPlaced();
  80. device.OnCarrierPresent();
  81. string reason = string.Empty;
  82. device.OnEvent(out reason);
  83. }
  84. break;
  85. case "SMTON":
  86. {
  87. device.OnCarrierNotPlaced();
  88. device.OnCarrierPresent();
  89. string reason = string.Empty;
  90. device.OnEvent(out reason);
  91. }
  92. break;
  93. case "FANST":
  94. device.FFUIsOK = false;
  95. break;
  96. case "MANSW":
  97. EV.PostMessage(device.Module, EventEnum.ManualOpAccess, device.Display);
  98. device.OnSwitchKey1();
  99. break;
  100. case "MA2SW":
  101. device.OnSwitchKey2();
  102. break;
  103. case "ITLOF":
  104. device.UnlockKey = false;
  105. break;
  106. case "ITLON":
  107. device.UnlockKey = true;
  108. break;
  109. default:
  110. //LOG.Write(string.Format("Not handled event {0} from LP {1}", name, device.DeviceID));
  111. break;
  112. }
  113. return true;
  114. }
  115. else if (type.Equals("ABS") || type.Equals("RAS"))
  116. {
  117. //LOG.Write(string.Format("Received {0} event from {1}", type, device.DeviceID));
  118. }
  119. return false;
  120. }
  121. public bool canhandle(string id)
  122. {
  123. return true;
  124. }
  125. }
  126. }