TransferInfo.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.Serialization;
  4. using MECF.Framework.Common.Equipment;
  5. namespace Aitex.Sorter.Common
  6. {
  7. public enum Motion
  8. {
  9. [EnumMember]
  10. Pick = 0, //Lower arm
  11. [EnumMember]
  12. Place = 1, //Upper arm
  13. [EnumMember]
  14. Exchange = 2,
  15. [EnumMember]
  16. Alignment = 3,
  17. }
  18. public enum Hand
  19. {
  20. [EnumMember]
  21. Blade1 = 0, //Lower arm
  22. [EnumMember]
  23. Blade2 = 1, //Upper arm
  24. [EnumMember]
  25. Both = 2,
  26. }
  27. public enum MoveType
  28. {
  29. Move, //single move
  30. Swap, //Single swap
  31. SPSP, //double move seperate pick, seperate place
  32. SPDP, //double move seperate pick, double place
  33. DPSP, //double move. double pick, seperate place
  34. DPDP, //double move, double pick, double place
  35. }
  36. [Flags]
  37. public enum MoveOption
  38. {
  39. None = 0, //0000
  40. Align = 1, //0001
  41. ReadID = 2, //0010
  42. ReadID2 = 4, //0100
  43. Reader1 = 8, //1000
  44. Reader2 = 16, //0001 0000
  45. LoadLock1 = 32, //0010 0000
  46. LoadLock2 = 64, //0100 0000
  47. LoadLock3 = 128,//1000 0000
  48. LoadLock4 = 256,//0001 0000 0000
  49. Buffer = 512, //0010 0000 0000
  50. Turnover = 1024, //0100 0000 0000
  51. LoadLock5 = 2048, //1000 0000 0000
  52. LoadLock6 = 4096, //0001 1000 0000 0000
  53. LoadLock7 = 8192, //0010 1000 0000 0000
  54. LoadLock8 = 16384 //0100 1000 0000 0000
  55. }
  56. public enum LMReadOption
  57. {
  58. LMRead1 = 1,
  59. LMRead2 = 2
  60. }
  61. [DataContract]
  62. public class TransferInfo
  63. {
  64. /// <summary>
  65. /// 源Wafer
  66. /// </summary>
  67. [DataMember]
  68. public string WaferID
  69. {
  70. get; set;
  71. }
  72. /// <summary>
  73. /// 源
  74. /// </summary>
  75. [DataMember]
  76. public ModuleName Source
  77. {
  78. get;
  79. set;
  80. }
  81. /// <summary>
  82. /// 源槽位
  83. /// </summary>
  84. [DataMember]
  85. public int SourceSlot
  86. {
  87. get;
  88. set;
  89. }
  90. /// <summary>
  91. /// 目的地
  92. /// </summary>
  93. [DataMember]
  94. public ModuleName Station
  95. {
  96. get; set;
  97. }
  98. /// <summary>
  99. /// 目的地槽位
  100. /// </summary>
  101. [DataMember]
  102. public int Slot
  103. {
  104. get; set;
  105. }
  106. [DataMember]
  107. public MoveOption Option
  108. {
  109. get; set;
  110. }
  111. [DataMember]
  112. public bool PreAlign
  113. {
  114. get;
  115. set;
  116. }
  117. [DataMember]
  118. public double Angle
  119. {
  120. get;
  121. set;
  122. }
  123. [DataMember]
  124. public bool VerifyAny
  125. {
  126. get;
  127. set;
  128. }
  129. [DataMember]
  130. public bool VerifyLaserMaker
  131. {
  132. get;
  133. set;
  134. }
  135. [DataMember]
  136. public bool VerifyLM1Checksum
  137. {
  138. get;
  139. set;
  140. }
  141. [DataMember]
  142. public string LaserMaker
  143. {
  144. get;
  145. set;
  146. }
  147. [DataMember]
  148. public bool VerifyT7Code
  149. {
  150. get;
  151. set;
  152. }
  153. [DataMember]
  154. public bool VerifyLM2Checksum
  155. {
  156. get;
  157. set;
  158. }
  159. [DataMember]
  160. public string T7Code
  161. {
  162. get;
  163. set;
  164. }
  165. [DataMember]
  166. public List<string> LM1JobFile
  167. { get; set; }
  168. [DataMember]
  169. public List<string> LM2JobFile
  170. { get; set; }
  171. [DataMember]
  172. public LMReadOption LM1Reader
  173. { get; set; }
  174. [DataMember]
  175. public LMReadOption LM2Reader
  176. { get; set; }
  177. [DataMember]
  178. public bool PostAlign
  179. {
  180. get;
  181. set;
  182. }
  183. [DataMember]
  184. public double PostAlignAngle
  185. {
  186. get;
  187. set;
  188. }
  189. }
  190. }