EFEM2LPJet.xaml.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. using Aitex.Core.Common;
  2. using Aitex.Core.Util;
  3. using Aitex.Sorter.UI.Controls;
  4. using EfemUI.Controls.Common;
  5. using MECF.Framework.Common.CommonData;
  6. using System.Collections.Generic;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. namespace EfemUI.Controls
  10. {
  11. /// <summary>
  12. /// EFEM2LPJet.xaml 的交互逻辑
  13. /// </summary>
  14. public partial class EFEM2LPJet : EFEMBase
  15. {
  16. public EFEM2LPJet()
  17. {
  18. InitializeComponent();
  19. root.DataContext = this;
  20. }
  21. public WaferInfo Aligner1Wafer
  22. {
  23. get { return (WaferInfo)GetValue(Aligner1WaferProperty); }
  24. set { SetValue(Aligner1WaferProperty, value); }
  25. }
  26. // Using a DependencyProperty as the backing store for Aligner1Wafer. This enables animation, styling, binding, etc...
  27. public static readonly DependencyProperty Aligner1WaferProperty =
  28. DependencyProperty.Register("Aligner1Wafer", typeof(WaferInfo), typeof(EFEM2LPJet), new PropertyMetadata(null));
  29. public WaferInfo Aligner2Wafer
  30. {
  31. get { return (WaferInfo)GetValue(Aligner2WaferProperty); }
  32. set { SetValue(Aligner2WaferProperty, value); }
  33. }
  34. // Using a DependencyProperty as the backing store for Aligner2Wafer. This enables animation, styling, binding, etc...
  35. public static readonly DependencyProperty Aligner2WaferProperty =
  36. DependencyProperty.Register("Aligner2Wafer", typeof(WaferInfo), typeof(EFEM2LPJet), new PropertyMetadata(null));
  37. public WaferInfo CoolingBuffer1Wafer
  38. {
  39. get { return (WaferInfo)GetValue(CoolingBuffer1WaferProperty); }
  40. set { SetValue(CoolingBuffer1WaferProperty, value); }
  41. }
  42. // Using a DependencyProperty as the backing store for CoolingBuffer1Wafer. This enables animation, styling, binding, etc...
  43. public static readonly DependencyProperty CoolingBuffer1WaferProperty =
  44. DependencyProperty.Register("CoolingBuffer1Wafer", typeof(WaferInfo), typeof(EFEM2LPJet), new PropertyMetadata(null));
  45. public WaferInfo CoolingBuffer2Wafer
  46. {
  47. get { return (WaferInfo)GetValue(CoolingBuffer2WaferProperty); }
  48. set { SetValue(CoolingBuffer2WaferProperty, value); }
  49. }
  50. // Using a DependencyProperty as the backing store for CoolingBuffer2Wafer. This enables animation, styling, binding, etc...
  51. public static readonly DependencyProperty CoolingBuffer2WaferProperty =
  52. DependencyProperty.Register("CoolingBuffer2Wafer", typeof(WaferInfo), typeof(EFEM2LPJet), new PropertyMetadata(null));
  53. [Subscription("CoolingBuffer1Disable", "System")]
  54. public bool CoolingBuffer1Disable
  55. {
  56. get;
  57. set;
  58. }
  59. [Subscription("CoolingBuffer2Disable", "System")]
  60. public bool CoolingBuffer2Disable
  61. {
  62. get;
  63. set;
  64. }
  65. [Subscription("Aligner1Disable", "System")]
  66. public bool Aligner1Disable
  67. {
  68. get;
  69. set;
  70. }
  71. [Subscription("Aligner2Disable", "System")]
  72. public bool Aligner2Disable
  73. {
  74. get;
  75. set;
  76. }
  77. [Subscription("RobotMoveInfo", "Robot")]
  78. public RobotMoveInfo RobotMoveInfo
  79. {
  80. get;
  81. set;
  82. }
  83. public override Dictionary<string, StationPosition> StationPosition
  84. {
  85. get
  86. {
  87. return new Dictionary<string, StationPosition>
  88. {
  89. { "ArmA.System",new StationPosition()
  90. {
  91. StartPosition= new RobotPosition()
  92. {
  93. X=0,
  94. Root=155,
  95. Arm=240,
  96. Hand=236
  97. },
  98. EndPosition= new RobotPosition()
  99. {
  100. Root=155,
  101. Arm=240,
  102. Hand=236
  103. }
  104. }
  105. },
  106. { "ArmB.System",new StationPosition()
  107. {
  108. StartPosition= new RobotPosition()
  109. {
  110. X=0,
  111. Root=25,
  112. Arm=120,
  113. Hand=484
  114. },
  115. EndPosition= new RobotPosition()
  116. {
  117. Root=25,
  118. Arm=120,
  119. Hand=484
  120. }
  121. }
  122. },
  123. { "ArmA.LP1",new StationPosition()
  124. {
  125. StartPosition= new RobotPosition()
  126. {
  127. X=0,
  128. Root=233,
  129. Arm=179,
  130. Hand=67
  131. },
  132. EndPosition= new RobotPosition()
  133. {
  134. Root=194,
  135. Arm=225,
  136. Hand=52
  137. }
  138. }
  139. },
  140. { "ArmB.LP1",new StationPosition()
  141. {
  142. StartPosition= new RobotPosition()
  143. {
  144. X=0,
  145. Root=18,
  146. Arm=173,
  147. Hand=281
  148. },
  149. EndPosition= new RobotPosition()
  150. {
  151. Root=42,
  152. Arm=131,
  153. Hand=302
  154. }
  155. }
  156. },
  157. { "ArmA.LP2",new StationPosition()
  158. {
  159. StartPosition= new RobotPosition()
  160. {
  161. X=0,
  162. Root=152,
  163. Arm=187,
  164. Hand=93
  165. },
  166. EndPosition= new RobotPosition()
  167. {
  168. Root=140,
  169. Arm=227,
  170. Hand=61
  171. }
  172. }
  173. },
  174. { "ArmB.LP2",new StationPosition()
  175. {
  176. StartPosition= new RobotPosition()
  177. {
  178. X=0,
  179. Root=-40,
  180. Arm=178,
  181. Hand=286
  182. },
  183. EndPosition= new RobotPosition()
  184. {
  185. Root=-12,
  186. Arm=140,
  187. Hand=301
  188. }
  189. }
  190. },
  191. { "ArmA.CoolingBuffer1",new StationPosition()
  192. {
  193. StartPosition= new RobotPosition()
  194. {
  195. X=0,
  196. Root=252,
  197. Arm=189,
  198. Hand=81
  199. },
  200. EndPosition= new RobotPosition()
  201. {
  202. Root=235,
  203. Arm=230,
  204. Hand=58
  205. }
  206. }
  207. },
  208. { "ArmB.CoolingBuffer1",new StationPosition()
  209. {
  210. StartPosition= new RobotPosition()
  211. {
  212. X=0,
  213. Root=81,
  214. Arm=158,
  215. Hand=276
  216. },
  217. EndPosition= new RobotPosition()
  218. {
  219. Root=98,
  220. Arm=112,
  221. Hand=312
  222. }
  223. }
  224. },
  225. { "ArmA.CoolingBuffer2",new StationPosition()
  226. {
  227. StartPosition= new RobotPosition()
  228. {
  229. X=0,
  230. Root=286,
  231. Arm=187,
  232. Hand=88
  233. },
  234. EndPosition= new RobotPosition()
  235. {
  236. Root=272,
  237. Arm=230,
  238. Hand=58
  239. }
  240. }
  241. },
  242. { "ArmB.CoolingBuffer2",new StationPosition()
  243. {
  244. StartPosition= new RobotPosition()
  245. {
  246. X=0,
  247. Root=82,
  248. Arm=166,
  249. Hand=307
  250. },
  251. EndPosition= new RobotPosition()
  252. {
  253. Root=124,
  254. Arm=117,
  255. Hand=318
  256. }
  257. }
  258. },
  259. { "ArmA.Aligner1",new StationPosition()
  260. {
  261. StartPosition= new RobotPosition()
  262. {
  263. X=0,
  264. Root=100,
  265. Arm=202,
  266. Hand=83
  267. },
  268. EndPosition= new RobotPosition()
  269. {
  270. Root=82,
  271. Arm=243,
  272. Hand=56
  273. }
  274. }
  275. },
  276. { "ArmB.Aligner1",new StationPosition()
  277. {
  278. StartPosition= new RobotPosition()
  279. {
  280. X=0,
  281. Root=-77,
  282. Arm=171,
  283. Hand=285
  284. },
  285. EndPosition= new RobotPosition()
  286. {
  287. Root=-60,
  288. Arm=132,
  289. Hand=307
  290. }
  291. }
  292. },
  293. { "ArmA.Aligner2",new StationPosition()
  294. {
  295. StartPosition= new RobotPosition()
  296. {
  297. X=0,
  298. Root=90,
  299. Arm=198,
  300. Hand=55
  301. },
  302. EndPosition= new RobotPosition()
  303. {
  304. Root=53,
  305. Arm=243,
  306. Hand=48
  307. }
  308. }
  309. },
  310. { "ArmB.Aligner2",new StationPosition()
  311. {
  312. StartPosition= new RobotPosition()
  313. {
  314. X=0,
  315. Root=-114,
  316. Arm=173,
  317. Hand=278
  318. },
  319. EndPosition= new RobotPosition()
  320. {
  321. Root=-97,
  322. Arm=132,
  323. Hand=307
  324. }
  325. }
  326. },
  327. { "ArmA.LL1",new StationPosition()
  328. {
  329. StartPosition= new RobotPosition()
  330. {
  331. X=0,
  332. Root=277,
  333. Arm=212,
  334. Hand=140
  335. },
  336. EndPosition= new RobotPosition()
  337. {
  338. Root=295,
  339. Arm=248,
  340. Hand=86
  341. }
  342. }
  343. },
  344. { "ArmB.LL1",new StationPosition()
  345. {
  346. StartPosition= new RobotPosition()
  347. {
  348. X=0,
  349. Root=100,
  350. Arm=134,
  351. Hand=395
  352. },
  353. EndPosition= new RobotPosition()
  354. {
  355. Root=165,
  356. Arm=100,
  357. Hand=365
  358. }
  359. }
  360. },
  361. { "ArmA.LL2",new StationPosition()
  362. {
  363. StartPosition= new RobotPosition()
  364. {
  365. X=0,
  366. Root=436,
  367. Arm=229,
  368. Hand=-34
  369. },
  370. EndPosition= new RobotPosition()
  371. {
  372. Root=375,
  373. Arm=256,
  374. Hand=0
  375. }
  376. }
  377. },
  378. { "ArmB.LL2",new StationPosition()
  379. {
  380. StartPosition= new RobotPosition()
  381. {
  382. X=0,
  383. Root=264,
  384. Arm=146,
  385. Hand=221
  386. },
  387. EndPosition= new RobotPosition()
  388. {
  389. Root=242,
  390. Arm=115,
  391. Hand=273
  392. }
  393. }
  394. }
  395. };
  396. }
  397. }
  398. }
  399. }