TransferInfo.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  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. Blade3 = 2,
  26. [EnumMember]
  27. Both = 3,
  28. }
  29. public enum Axis
  30. {
  31. //‘S’ : Rotation axis.
  32. //‘A’ : Extension axis.
  33. //‘H’ : Wrist axis 1.
  34. //‘I’ : Wrist axis 2.
  35. //‘Z’ : Elevation axis.
  36. [EnumMember]
  37. S=0,
  38. [EnumMember]
  39. A=1,
  40. [EnumMember]
  41. H=2,
  42. [EnumMember]
  43. I=3,
  44. [EnumMember]
  45. Z=4
  46. }
  47. public enum MoveType
  48. {
  49. Move, //single move
  50. Swap, //Single swap
  51. SPSP, //double move seperate pick, seperate place
  52. SPDP, //double move seperate pick, double place
  53. DPSP, //double move. double pick, seperate place
  54. DPDP, //double move, double pick, double place
  55. }
  56. [Flags]
  57. public enum MoveOption
  58. {
  59. None = 0, //0000
  60. Align = 1, //0001
  61. ReadID = 2, //0010
  62. ReadID2 = 4, //0100
  63. Reader1 = 8, //1000
  64. Reader2 = 16, //0001 0000
  65. LoadLock1 = 32, //0010 0000
  66. LoadLock2 = 64, //0100 0000
  67. LoadLock3 = 128,//1000 0000
  68. LoadLock4 = 256,//0001 0000 0000
  69. Buffer = 512, //0010 0000 0000
  70. Turnover = 1024, //0100 0000 0000
  71. LoadLock5 = 2048, //1000 0000 0000
  72. LoadLock6 = 4096, //0001 1000 0000 0000
  73. LoadLock7 = 8192, //0010 1000 0000 0000
  74. LoadLock8 = 16384, //0100 1000 0000 0000
  75. CoolingBuffer1 = 32768,
  76. CoolingBuffer2 = 65536,
  77. Aligner1 = 131072,
  78. Aligner2=262144,
  79. }
  80. public enum LMReadOption
  81. {
  82. LMRead1 = 1,
  83. LMRead2 = 2
  84. }
  85. [DataContract]
  86. public class TransferInfo
  87. {
  88. /// <summary>
  89. /// 源Wafer
  90. /// </summary>
  91. [DataMember]
  92. public string WaferID
  93. {
  94. get; set;
  95. }
  96. /// <summary>
  97. /// 源
  98. /// </summary>
  99. [DataMember]
  100. public ModuleName Source
  101. {
  102. get;
  103. set;
  104. }
  105. /// <summary>
  106. /// 源槽位
  107. /// </summary>
  108. [DataMember]
  109. public int SourceSlot
  110. {
  111. get;
  112. set;
  113. }
  114. /// <summary>
  115. /// 目的地
  116. /// </summary>
  117. [DataMember]
  118. public ModuleName Station
  119. {
  120. get; set;
  121. }
  122. /// <summary>
  123. /// 目的地槽位
  124. /// </summary>
  125. [DataMember]
  126. public int Slot
  127. {
  128. get; set;
  129. }
  130. [DataMember]
  131. public MoveOption Option
  132. {
  133. get; set;
  134. }
  135. [DataMember]
  136. public bool PreAlign
  137. {
  138. get;
  139. set;
  140. }
  141. [DataMember]
  142. public double Angle
  143. {
  144. get;
  145. set;
  146. }
  147. [DataMember]
  148. public bool VerifyAny
  149. {
  150. get;
  151. set;
  152. }
  153. [DataMember]
  154. public bool VerifyLaserMaker
  155. {
  156. get;
  157. set;
  158. }
  159. [DataMember]
  160. public bool VerifyLM1Checksum
  161. {
  162. get;
  163. set;
  164. }
  165. [DataMember]
  166. public string LaserMaker
  167. {
  168. get;
  169. set;
  170. }
  171. [DataMember]
  172. public bool VerifyT7Code
  173. {
  174. get;
  175. set;
  176. }
  177. [DataMember]
  178. public bool VerifyLM2Checksum
  179. {
  180. get;
  181. set;
  182. }
  183. [DataMember]
  184. public string T7Code
  185. {
  186. get;
  187. set;
  188. }
  189. [DataMember]
  190. public List<string> LM1JobFile
  191. { get; set; }
  192. [DataMember]
  193. public List<string> LM2JobFile
  194. { get; set; }
  195. [DataMember]
  196. public LMReadOption LM1Reader
  197. { get; set; }
  198. [DataMember]
  199. public LMReadOption LM2Reader
  200. { get; set; }
  201. [DataMember]
  202. public bool PostAlign
  203. {
  204. get;
  205. set;
  206. }
  207. [DataMember]
  208. public double PostAlignAngle
  209. {
  210. get;
  211. set;
  212. }
  213. }
  214. [Serializable]
  215. [DataContract]
  216. public class ManualTransferTask
  217. {
  218. [DataMember]
  219. public ModuleName SourceModule { get; set; }
  220. [DataMember]
  221. public int SourceSlotIndex { get; set; }
  222. [DataMember]
  223. public ModuleName DestModule { get; set; }
  224. [DataMember]
  225. public int DestSlotIndex { get; set; }
  226. }
  227. }