EFEM2LP2BFJet.xaml.cs 16 KB

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