TransferInfo.cs 5.5 KB

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