UniversalEvents.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace MECF.Framework.Common.FAServices
  7. {
  8. /// <summary>
  9. /// Gem200的事件
  10. /// </summary>
  11. public static class UniversalEvents
  12. {
  13. public const string EquipmentOFFLINE = "EquipmentOFFLINE";
  14. public const string ControlStateLOCAL = "ControlStateLOCAL";
  15. public const string ControlStateREMOTE = "ControlStateREMOTE";
  16. public const string ProcessingStarted = "ProcessingStarted";
  17. public const string ProcessingCompleted = "ProcessingCompleted";
  18. public const string ProcessingStopped = "ProcessingStopped";
  19. public const string ProcessingStateChanged = "ProcessingStateChanged";
  20. public const string EquipmentConstantChanged = "EquipmentConstantChanged";
  21. public const string ProcessProgramChanged = "ProcessProgramChanged";
  22. public const string ProcessProgramSelected = "ProcessProgramSelected";
  23. public const string ProcessProgramCreated = "ProcessProgramCreated";
  24. public const string SpoolingActivated = "SpoolingActivated";
  25. public const string SpoolingDeactivated = "SpoolingDeactivated";
  26. public const string SpoolingFailed = "SpoolingFailed";
  27. public const string EquipmentChangeToAuto = "EquipmentChangeToAuto";
  28. public const string EquipmentChangeToManual = "EquipmentChangeToManual";
  29. public const string WAFER_LEFT_POSITION = "WAFER_LEFT_POSITION";
  30. public const string WAFER_ARRIVE_POSITION = "WAFER_ARRIVE_POSITION";
  31. public const string CARRIER_ARRIVED = "CARRIER_ARRIVED";
  32. public const string CARRIER_REMOVED = "CARRIER_REMOVED";
  33. public const string CARRIER_ID_READ = "CARRIER_ID_READ";
  34. public const string CARRIER_ID_READ_FAILED = "CARRIER_ID_READ_FAILED";
  35. public const string CARRIER_ID_WRITE = "CARRIER_ID_WRITE";
  36. public const string CARRIER_ID_WRITE_FAILED = "CARRIER_ID_WRITE_FAILED";
  37. public const string CARRIER_LOADED = "CARRIER_LOADED";
  38. public const string CARRIER_UNLOADED = "CARRIER_UNLOADED";
  39. public const string SLOT_MAP_AVAILABLE = "SLOT_MAP_AVAILABLE";
  40. public const string PortClamped = "PortClamped";
  41. public const string PortUnClamped = "PortUnClamped";
  42. public const string PortReadyToLoad = "PortReadyToLoad";
  43. public const string PortReadyToUnload = "PortReadyToUnload";
  44. public const string CarrierProcessStart = "CarrierProcessStart";
  45. public const string CarrierProcessComplete = "CarrierProcessComplete";
  46. public const string PortJobStarted = "PortJobStarted";
  47. public const string PortJobStopped = "PortJobStopped";
  48. public const string PortJobPaused = "PortJobPaused";
  49. public const string PortJobResumed = "PortJobResumed";
  50. public const string PortJobAborted = "PortJobAborted";
  51. public const string PortJobFinished = "PortJobFinished";
  52. public const string PortJobFailed = "PortJobFailed";
  53. public const string PortMapFailed = "PortMapFailed";
  54. public const string PortPPSelected = "PortPPSelected";
  55. public const string PortPPSelectFailed = "PortPPSelectFailed";
  56. public const string PortJobWaferStart = "PortJobWaferStart";
  57. public const string PortJobWaferEnd = "PortJobWaferEnd";
  58. public const string RecipeStart = "RecipeStart";
  59. public const string RecipeComplete = "RecipeComplete";
  60. public const string RecipeStepStart = "RecipeStepStart";
  61. public const string RecipeStepEnd = "RecipeStepEnd";
  62. public const string RecipeFailed = "RecipeFailed";
  63. /// <summary>
  64. /// 定义Gem200事件的ID
  65. /// </summary>
  66. public enum EventName
  67. {
  68. EquipmentOFFLINE = 1,
  69. ControlStateLOCAL = 2,
  70. ControlStateREMOTE = 3,
  71. ProcessingStarted = 4,
  72. ProcessingCompleted = 5,
  73. ProcessingStopped = 6,
  74. ProcessingStateChanged = 7,
  75. EquipmentConstantChanged = 8,
  76. ProcessProgramChanged = 9,
  77. ProcessProgramSelected = 10,
  78. ProcessProgramCreated = 11,
  79. SpoolingActivated = 160,
  80. SpoolingDeactivated = 161,
  81. SpoolingFailed = 162,
  82. EquipmentChangeToAuto = 501,
  83. EquipmentChangeToManual = 502,
  84. WAFER_LEFT_POSITION = 503,
  85. WAFER_ARRIVE_POSITION = 504,
  86. CARRIER_ARRIVED = 1000,
  87. CARRIER_REMOVED = 1001,
  88. CARRIER_ID_READ = 1002,
  89. CARRIER_ID_READ_FAILED = 1003,
  90. CARRIER_ID_WRITE = 1004,
  91. CARRIER_ID_WRITE_FAILED = 1005,
  92. CARRIER_LOADED = 1006,
  93. CARRIER_UNLOADED = 1007,
  94. SLOT_MAP_AVAILABLE = 1008,
  95. PortReadyToLoad = 1010,
  96. PortReadyToUnload = 1011,
  97. PortClamped = 1012,
  98. PortUnClamped = 1013,
  99. CarrierProcessStart = 1020,
  100. CarrierProcessComplete = 1021,
  101. PortJobStarted = 1022,
  102. PortJobStopped = 1023,
  103. PortJobPaused = 1024,
  104. PortJobResumed = 1025,
  105. PortJobAborted = 1026,
  106. PortJobFinished = 1027,
  107. PortJobFailed = 1028,
  108. PortMapFailed = 1029,
  109. PortPPSelected = 1030,
  110. PortPPSelectFailed = 1031,
  111. PortJobWaferStart = 1032,
  112. PortJobWaferEnd = 1033,
  113. RecipeStart = 2000,
  114. RecipeComplete = 2001,
  115. RecipeStepStart = 2002,
  116. RecipeStepEnd = 2003,
  117. RecipeFailed = 2004,
  118. }
  119. /// <summary>
  120. /// 定义Gem200的事件所Link的VIDs
  121. /// </summary>
  122. public static Dictionary<string, VIDItem> UniversalEventsDictionary = new Dictionary<string, VIDItem>()
  123. {
  124. {EquipmentOFFLINE, new VIDItem() {Name = EquipmentOFFLINE, Index = (int)EventName.EquipmentOFFLINE, LinkableVid = new[] {3,4}}},
  125. {ControlStateLOCAL, new VIDItem() {Name = ControlStateLOCAL, Index = (int)EventName.ControlStateLOCAL, LinkableVid = new[] {3,4}}},
  126. {ControlStateREMOTE, new VIDItem() {Name = ControlStateREMOTE, Index = (int)EventName.ControlStateREMOTE, LinkableVid = new[] {3,4}}},
  127. {ProcessingStarted, new VIDItem() {Name = ProcessingStarted, Index = (int)EventName.ProcessingStarted, LinkableVid = new[] {3,7}}},
  128. {ProcessingCompleted, new VIDItem() {Name = ProcessingCompleted, Index = (int)EventName.ProcessingCompleted, LinkableVid = new[] {3,7}}},
  129. {ProcessingStopped, new VIDItem() {Name = ProcessingStopped, Index = (int)EventName.ProcessingStopped, LinkableVid = new[] {3,7}}},
  130. {ProcessingStateChanged, new VIDItem() {Name = ProcessingStateChanged, Index = (int)EventName.ProcessingStateChanged, LinkableVid = new[] {3,8,7}}},
  131. {EquipmentConstantChanged, new VIDItem() {Name = EquipmentConstantChanged, Index = (int)EventName.EquipmentConstantChanged, LinkableVid = new[] {(int)DataVariables.DataName.ECChangedID}}},
  132. {ProcessProgramChanged, new VIDItem() {Name = ProcessProgramChanged, Index = (int)EventName.ProcessProgramChanged, LinkableVid = new[] {(int)DataVariables.DataName.SequenceID}}},
  133. {ProcessProgramSelected, new VIDItem() {Name = ProcessProgramSelected, Index = (int)EventName.ProcessProgramSelected, LinkableVid = new[] {(int)DataVariables.DataName.SequenceID}}},
  134. {ProcessProgramCreated, new VIDItem() {Name = ProcessProgramCreated, Index = (int)EventName.ProcessProgramCreated, LinkableVid = new[] {(int)DataVariables.DataName.SequenceID}}},
  135. {SpoolingActivated, new VIDItem() {Name = SpoolingActivated, Index = (int)EventName.SpoolingActivated}},
  136. {SpoolingDeactivated, new VIDItem() {Name = SpoolingDeactivated, Index = (int)EventName.SpoolingDeactivated}},
  137. {SpoolingFailed, new VIDItem() {Name = SpoolingFailed, Index = (int)EventName.SpoolingFailed}},
  138. {EquipmentChangeToAuto, new VIDItem() {Name = EquipmentChangeToAuto, Index = (int)EventName.EquipmentChangeToAuto}},
  139. {EquipmentChangeToManual, new VIDItem() {Name = EquipmentChangeToManual, Index = (int)EventName.EquipmentChangeToManual}},
  140. {WAFER_LEFT_POSITION, new VIDItem() {Name = WAFER_LEFT_POSITION, Index = (int)EventName.WAFER_LEFT_POSITION, LinkableVid = new[] {(int)DataVariables.DataName.SubstID,(int)DataVariables.DataName.SubstLocID,(int)DataVariables.DataName.SubstLocState,3}}},
  141. {WAFER_ARRIVE_POSITION, new VIDItem() {Name = WAFER_ARRIVE_POSITION, Index = (int)EventName.WAFER_ARRIVE_POSITION, LinkableVid = new[] {(int)DataVariables.DataName.SubstID,(int)DataVariables.DataName.SubstLocID,(int)DataVariables.DataName.SubstLocState,3}}},
  142. {CARRIER_ARRIVED, new VIDItem() {Name = CARRIER_ARRIVED, Index = (int)EventName.CARRIER_ARRIVED, LinkableVid = new[] {(int)DataVariables.DataName.PortID,3}}},
  143. {CARRIER_REMOVED, new VIDItem() {Name = CARRIER_REMOVED, Index = (int)EventName.CARRIER_REMOVED, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID, (int)DataVariables.DataName.PortID, 3 }}},
  144. { CARRIER_ID_READ, new VIDItem() {Name = CARRIER_ID_READ, Index = (int)EventName.CARRIER_ID_READ, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID, (int)DataVariables.DataName.PortID, (int)DataVariables.DataName.SmartTag, 3 }}},
  145. { CARRIER_ID_READ_FAILED, new VIDItem() {Name = CARRIER_ID_READ_FAILED, Index = (int)EventName.CARRIER_ID_READ_FAILED, LinkableVid = new[] { (int)DataVariables.DataName.PortID, 3 }}},
  146. { CARRIER_ID_WRITE, new VIDItem() {Name = CARRIER_ID_WRITE, Index = (int)EventName.CARRIER_ID_WRITE, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID, (int)DataVariables.DataName.PortID, 3 }}},
  147. { CARRIER_ID_WRITE_FAILED, new VIDItem() {Name = CARRIER_ID_WRITE_FAILED, Index = (int)EventName.CARRIER_ID_WRITE_FAILED, LinkableVid = new[] {(int)DataVariables.DataName.PortID, 3 }}},
  148. { CARRIER_LOADED, new VIDItem() {Name = CARRIER_LOADED, Index = (int)EventName.CARRIER_LOADED, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID, (int)DataVariables.DataName.PortID, 3 }}},
  149. { CARRIER_UNLOADED, new VIDItem() {Name = CARRIER_UNLOADED, Index = (int)EventName.CARRIER_UNLOADED, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID, (int)DataVariables.DataName.PortID, 3 }}},
  150. { SLOT_MAP_AVAILABLE, new VIDItem() {Name = SLOT_MAP_AVAILABLE, Index = (int)EventName.SLOT_MAP_AVAILABLE, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID,(int)DataVariables.DataName.SlotMap, (int)DataVariables.DataName.PortID, 3 }}},
  151. { PortReadyToLoad, new VIDItem() {Name = PortReadyToLoad, Index = (int)EventName.PortReadyToLoad, LinkableVid = new[] {(int)DataVariables.DataName.PortID, 3 }}},
  152. { PortReadyToUnload, new VIDItem() {Name = PortReadyToUnload, Index = (int)EventName.PortReadyToUnload, LinkableVid = new[] {(int)DataVariables.DataName.PortID, 3 }}},
  153. { PortClamped, new VIDItem() {Name = PortClamped, Index = (int)EventName.PortClamped, LinkableVid = new[] {(int)DataVariables.DataName.PortID, 3 }}},
  154. { PortUnClamped, new VIDItem() {Name = PortUnClamped, Index = (int)EventName.PortUnClamped, LinkableVid = new[] {(int)DataVariables.DataName.PortID, 3 }}},
  155. { CarrierProcessStart, new VIDItem() {Name = CarrierProcessStart, Index = (int)EventName.CarrierProcessStart, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID,(int)DataVariables.DataName.PortID,3}}},
  156. {CarrierProcessComplete, new VIDItem() {Name = CarrierProcessComplete, Index = (int)EventName.CarrierProcessComplete, LinkableVid = new[] {(int)DataVariables.DataName.CarrierID,(int)DataVariables.DataName.PortID,3}}},
  157. {PortJobStarted, new VIDItem() {Name = PortJobStarted, Index = (int)EventName.PortJobStarted, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  158. {PortJobStopped, new VIDItem() {Name = PortJobStopped, Index = (int)EventName.PortJobStopped, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  159. {PortJobPaused, new VIDItem() {Name = PortJobPaused, Index = (int)EventName.PortJobPaused, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  160. {PortJobResumed, new VIDItem() {Name = PortJobResumed, Index = (int)EventName.PortJobResumed, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  161. {PortJobAborted, new VIDItem() {Name = PortJobAborted, Index = (int)EventName.PortJobAborted, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  162. {PortJobFinished, new VIDItem() {Name = PortJobFinished, Index = (int)EventName.PortJobFinished, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID, (int)DataVariables.DataName.ProcessedWaferCount }}},
  163. {PortJobFailed, new VIDItem() {Name = PortJobFailed, Index = (int)EventName.PortJobFailed, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  164. {PortMapFailed, new VIDItem() {Name = PortMapFailed, Index = (int)EventName.PortMapFailed, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  165. {PortPPSelected, new VIDItem() {Name = PortPPSelected, Index = (int)EventName.PortPPSelected, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  166. {PortPPSelectFailed, new VIDItem() {Name = PortPPSelectFailed, Index = (int)EventName.PortPPSelectFailed, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  167. {PortJobWaferStart, new VIDItem() {Name = PortJobWaferStart, Index = (int)EventName.PortJobWaferStart, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID}}},
  168. {PortJobWaferEnd, new VIDItem() {Name = PortJobWaferEnd, Index = (int)EventName.PortJobWaferEnd, LinkableVid = new[] {(int)DataVariables.DataName.LotID,(int)DataVariables.DataName.JobID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.SequenceID,(int)DataVariables.DataName.WaferProcessResult}}},
  169. {RecipeStart, new VIDItem() {Name = RecipeStart, Index = (int)EventName.RecipeStart, LinkableVid = new[] {(int)DataVariables.DataName.RecipeID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.StationName,(int)DataVariables.DataName.SlotID}}},
  170. {RecipeComplete, new VIDItem() {Name = RecipeComplete, Index = (int)EventName.RecipeComplete, LinkableVid = new[] {(int)DataVariables.DataName.RecipeID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.StationName,(int)DataVariables.DataName.SlotID}}},
  171. {RecipeStepStart, new VIDItem() {Name = RecipeStepStart, Index = (int)EventName.RecipeStepStart, LinkableVid = new[] {(int)DataVariables.DataName.RecipeID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.StationName,(int)DataVariables.DataName.RecipeStepNumber,(int)DataVariables.DataName.SlotID}}},
  172. {RecipeStepEnd, new VIDItem() {Name = RecipeStepEnd, Index = (int)EventName.RecipeStepEnd, LinkableVid = new[] {(int)DataVariables.DataName.RecipeID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.StationName, (int)DataVariables.DataName.RecipeStepNumber, (int)DataVariables.DataName.SlotID}}},
  173. {RecipeFailed, new VIDItem() {Name = RecipeFailed, Index = (int)EventName.RecipeFailed, LinkableVid = new[] {(int)DataVariables.DataName.RecipeID,(int)DataVariables.DataName.PortID,(int)DataVariables.DataName.StationName,(int)DataVariables.DataName.SlotID}}},
  174. };
  175. }
  176. }