EFEM1LPJetAB.xaml.cs 17 KB

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