E84View.xaml.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. using System.Windows;
  2. using System.Windows.Controls;
  3. using Aitex.Core.Util;
  4. using Aitex.Sorter.Common;
  5. using Aitex.Sorter.UI.ViewModel;
  6. using EfemUI.Controls;
  7. namespace EfemUI.Views
  8. {
  9. public partial class E84View : UserControl
  10. {
  11. public E84ViewModel _e84ViewModel;
  12. public E84View()
  13. {
  14. InitializeComponent();
  15. _e84ViewModel = new E84ViewModel();
  16. DataContext = _e84ViewModel;
  17. IsVisibleChanged += E84View_IsVisibleChanged;
  18. }
  19. private void E84View_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
  20. {
  21. (DataContext as E84ViewModel)?.EnableTimer(IsVisible);
  22. }
  23. }
  24. public class E84ViewModel : UIViewModelBase
  25. {
  26. public E84ViewModel() : base("E84ViewModel")
  27. {
  28. E84InfoDataLp1 = new E84InfoData();
  29. E84InfoDataLp2 = new E84InfoData();
  30. E84InfoDataLp3 = new E84InfoData();
  31. E84InfoDataLp4 = new E84InfoData();
  32. }
  33. public E84InfoData E84InfoDataLp1 { get; set; }
  34. public E84InfoData E84InfoDataLp2 { get; set; }
  35. public E84InfoData E84InfoDataLp3 { get; set; }
  36. public E84InfoData E84InfoDataLp4 { get; set; }
  37. [Subscription("IsPresent", "LP1")]
  38. public bool PodPresentLp1
  39. {
  40. get => E84InfoDataLp1.PodPresent;
  41. set => E84InfoDataLp1.PodPresent = value;
  42. }
  43. [Subscription(ParamName.IsPresent, "LP2")]
  44. public bool PodPresentLp2
  45. {
  46. get => E84InfoDataLp2.PodPresent;
  47. set => E84InfoDataLp2.PodPresent = value;
  48. }
  49. [Subscription(ParamName.IsPresent, "LP3")]
  50. public bool PodPresentLp3
  51. {
  52. get => E84InfoDataLp3.PodPresent;
  53. set => E84InfoDataLp3.PodPresent = value;
  54. }
  55. [Subscription(ParamName.IsPresent, "LP4")]
  56. public bool PodPresentLp4
  57. {
  58. get => E84InfoDataLp4.PodPresent;
  59. set => E84InfoDataLp4.PodPresent = value;
  60. }
  61. [Subscription(ParamName.IsPlaced, "LP1")]
  62. public bool PodPlacedLp1
  63. {
  64. get => E84InfoDataLp1.PodPlaced;
  65. set => E84InfoDataLp1.PodPlaced = value;
  66. }
  67. [Subscription(ParamName.IsPlaced, "LP2")]
  68. public bool PodPlacedLp2
  69. {
  70. get => E84InfoDataLp2.PodPlaced;
  71. set => E84InfoDataLp2.PodPlaced = value;
  72. }
  73. [Subscription(ParamName.IsPlaced, "LP3")]
  74. public bool PodPlacedLp3
  75. {
  76. get => E84InfoDataLp3.PodPlaced;
  77. set => E84InfoDataLp3.PodPlaced = value;
  78. }
  79. [Subscription(ParamName.IsPlaced, "LP4")]
  80. public bool PodPlacedLp4
  81. {
  82. get => E84InfoDataLp4.PodPlaced;
  83. set => E84InfoDataLp4.PodPlaced = value;
  84. }
  85. [Subscription(ParamName.IsClamped, "LP1")]
  86. public bool PodLatchedLp1
  87. {
  88. get => E84InfoDataLp1.PodLatched;
  89. set => E84InfoDataLp1.PodLatched = value;
  90. }
  91. [Subscription(ParamName.IsClamped, "LP2")]
  92. public bool PodLatchedLp2
  93. {
  94. get => E84InfoDataLp2.PodLatched;
  95. set => E84InfoDataLp2.PodLatched = value;
  96. }
  97. [Subscription(ParamName.IsClamped, "LP3")]
  98. public bool PodLatchedLp3
  99. {
  100. get => E84InfoDataLp3.PodLatched;
  101. set => E84InfoDataLp3.PodLatched = value;
  102. }
  103. [Subscription(ParamName.IsClamped, "LP4")]
  104. public bool PodLatchedLp4
  105. {
  106. get => E84InfoDataLp4.PodLatched;
  107. set => E84InfoDataLp4.PodLatched = value;
  108. }
  109. [Subscription(ParamName.IsDocked, "LP1")]
  110. public bool PodDockedLp1
  111. {
  112. get => E84InfoDataLp1.PodDocked;
  113. set => E84InfoDataLp1.PodDocked = value;
  114. }
  115. [Subscription(ParamName.IsDocked, "LP2")]
  116. public bool PodDockedLp2
  117. {
  118. get => E84InfoDataLp2.PodDocked;
  119. set => E84InfoDataLp2.PodDocked = value;
  120. }
  121. [Subscription(ParamName.IsDocked, "LP3")]
  122. public bool PodDockedLp3
  123. {
  124. get => E84InfoDataLp3.PodDocked;
  125. set => E84InfoDataLp3.PodDocked = value;
  126. }
  127. [Subscription(ParamName.IsDocked, "LP4")]
  128. public bool PodDockedLp4
  129. {
  130. get => E84InfoDataLp4.PodDocked;
  131. set => E84InfoDataLp4.PodDocked = value;
  132. }
  133. [Subscription(ParamName.LoadportState, "LP1")]
  134. public string LoadPortStateLp1
  135. {
  136. get => E84InfoDataLp1.LoadPortState;
  137. set => E84InfoDataLp1.LoadPortState = value;
  138. }
  139. [Subscription(ParamName.LoadportState, "LP2")]
  140. public string LoadPortStateLp2
  141. {
  142. get => E84InfoDataLp2.LoadPortState;
  143. set => E84InfoDataLp2.LoadPortState = value;
  144. }
  145. [Subscription(ParamName.LoadportState, "LP3")]
  146. public string LoadPortStateLp3
  147. {
  148. get => E84InfoDataLp3.LoadPortState;
  149. set => E84InfoDataLp3.LoadPortState = value;
  150. }
  151. [Subscription(ParamName.LoadportState, "LP4")]
  152. public string LoadPortStateLp4
  153. {
  154. get => E84InfoDataLp4.LoadPortState;
  155. set => E84InfoDataLp4.LoadPortState = value;
  156. }
  157. [Subscription("TransferState", "LP1")]
  158. public string PortStateLp1
  159. {
  160. get => E84InfoDataLp1.PortState;
  161. set => E84InfoDataLp1.PortState = value;
  162. }
  163. [Subscription("TransferState", "LP2")]
  164. public string PortStateLp2
  165. {
  166. get => E84InfoDataLp2.PortState;
  167. set => E84InfoDataLp2.PortState = value;
  168. }
  169. [Subscription("TransferState", "LP3")]
  170. public string PortStateLp3
  171. {
  172. get => E84InfoDataLp3.PortState;
  173. set => E84InfoDataLp3.PortState = value;
  174. }
  175. [Subscription("TransferState", "LP4")]
  176. public string PortStateLp4
  177. {
  178. get => E84InfoDataLp4.PortState;
  179. set => E84InfoDataLp4.PortState = value;
  180. }
  181. [Subscription(ParamName.CarrierId, DeviceName.LP1)]
  182. public string CarrierIdLp1
  183. {
  184. get => E84InfoDataLp1.CarrierID;
  185. set => E84InfoDataLp1.CarrierID = value;
  186. }
  187. [Subscription(ParamName.CarrierId, DeviceName.LP2)]
  188. public string CarrierIdLp2
  189. {
  190. get => E84InfoDataLp2.CarrierID;
  191. set => E84InfoDataLp2.CarrierID = value;
  192. }
  193. [Subscription(ParamName.CarrierId, DeviceName.LP3)]
  194. public string CarrierIdLp3
  195. {
  196. get => E84InfoDataLp3.CarrierID;
  197. set => E84InfoDataLp3.CarrierID = value;
  198. }
  199. [Subscription(ParamName.CarrierId, DeviceName.LP4)]
  200. public string CarrierIdLp4
  201. {
  202. get => E84InfoDataLp4.CarrierID;
  203. set => E84InfoDataLp4.CarrierID = value;
  204. }
  205. [Subscription(ParamName.SlotMap, DeviceName.LP1)]
  206. public string SlotMapLp1
  207. {
  208. get => E84InfoDataLp1.SlotMap;
  209. set => E84InfoDataLp1.SlotMap = value;
  210. }
  211. [Subscription(ParamName.SlotMap, DeviceName.LP2)]
  212. public string SlotMapLp2
  213. {
  214. get => E84InfoDataLp2.SlotMap;
  215. set => E84InfoDataLp2.SlotMap = value;
  216. }
  217. [Subscription(ParamName.SlotMap, DeviceName.LP3)]
  218. public string SlotMapLp3
  219. {
  220. get => E84InfoDataLp3.SlotMap;
  221. set => E84InfoDataLp3.SlotMap = value;
  222. }
  223. [Subscription(ParamName.SlotMap, DeviceName.LP4)]
  224. public string SlotMapLp4
  225. {
  226. get => E84InfoDataLp4.SlotMap;
  227. set => E84InfoDataLp4.SlotMap = value;
  228. }
  229. [Subscription("Valid", DeviceName.LP1)]
  230. public bool ValidLp1
  231. {
  232. get => E84InfoDataLp1.Valid;
  233. set => E84InfoDataLp1.Valid = value;
  234. }
  235. [Subscription("Valid", DeviceName.LP2)]
  236. public bool ValidLp2
  237. {
  238. get => E84InfoDataLp2.Valid;
  239. set => E84InfoDataLp2.Valid = value;
  240. }
  241. [Subscription("Valid", DeviceName.LP3)]
  242. public bool ValidLp3
  243. {
  244. get => E84InfoDataLp3.Valid;
  245. set => E84InfoDataLp3.Valid = value;
  246. }
  247. [Subscription("Valid", DeviceName.LP4)]
  248. public bool ValidLp4
  249. {
  250. get => E84InfoDataLp4.Valid;
  251. set => E84InfoDataLp4.Valid = value;
  252. }
  253. [Subscription("TransferRequest", DeviceName.LP1)]
  254. public bool TransferRequestLp1
  255. {
  256. get => E84InfoDataLp1.TransferRequest;
  257. set => E84InfoDataLp1.TransferRequest = value;
  258. }
  259. [Subscription("TransferRequest", DeviceName.LP2)]
  260. public bool TransferRequestLp2
  261. {
  262. get => E84InfoDataLp2.TransferRequest;
  263. set => E84InfoDataLp2.TransferRequest = value;
  264. }
  265. [Subscription("TransferRequest", DeviceName.LP3)]
  266. public bool TransferRequestLp3
  267. {
  268. get => E84InfoDataLp3.TransferRequest;
  269. set => E84InfoDataLp3.TransferRequest = value;
  270. }
  271. [Subscription("TransferRequest", DeviceName.LP4)]
  272. public bool TransferRequestLp4
  273. {
  274. get => E84InfoDataLp4.TransferRequest;
  275. set => E84InfoDataLp4.TransferRequest = value;
  276. }
  277. [Subscription("Busy", DeviceName.LP1)]
  278. public bool BusyLp1
  279. {
  280. get => E84InfoDataLp1.Busy;
  281. set => E84InfoDataLp1.Busy = value;
  282. }
  283. [Subscription("Busy", DeviceName.LP2)]
  284. public bool BusyLp2
  285. {
  286. get => E84InfoDataLp2.Busy;
  287. set => E84InfoDataLp2.Busy = value;
  288. }
  289. [Subscription("Busy", DeviceName.LP3)]
  290. public bool BusyLp3
  291. {
  292. get => E84InfoDataLp3.Busy;
  293. set => E84InfoDataLp3.Busy = value;
  294. }
  295. [Subscription("Busy", DeviceName.LP4)]
  296. public bool BusyLp4
  297. {
  298. get => E84InfoDataLp4.Busy;
  299. set => E84InfoDataLp4.Busy = value;
  300. }
  301. [Subscription("TransferComplete", DeviceName.LP1)]
  302. public bool TransferCompleteLp1
  303. {
  304. get => E84InfoDataLp1.TransferComplete;
  305. set => E84InfoDataLp1.TransferComplete = value;
  306. }
  307. [Subscription("TransferComplete", DeviceName.LP2)]
  308. public bool TransferCompleteLp2
  309. {
  310. get => E84InfoDataLp2.TransferComplete;
  311. set => E84InfoDataLp2.TransferComplete = value;
  312. }
  313. [Subscription("TransferComplete", DeviceName.LP3)]
  314. public bool TransferCompleteLp3
  315. {
  316. get => E84InfoDataLp3.TransferComplete;
  317. set => E84InfoDataLp3.TransferComplete = value;
  318. }
  319. [Subscription("TransferComplete", DeviceName.LP4)]
  320. public bool TransferCompleteLp4
  321. {
  322. get => E84InfoDataLp4.TransferComplete;
  323. set => E84InfoDataLp4.TransferComplete = value;
  324. }
  325. [Subscription("CS0", DeviceName.LP1)]
  326. public bool CS0Lp1
  327. {
  328. get => E84InfoDataLp1.CS0;
  329. set => E84InfoDataLp1.CS0 = value;
  330. }
  331. [Subscription("CS0", DeviceName.LP2)]
  332. public bool CS0Lp2
  333. {
  334. get => E84InfoDataLp2.CS0;
  335. set => E84InfoDataLp2.CS0 = value;
  336. }
  337. [Subscription("CS0", DeviceName.LP3)]
  338. public bool CS0Lp3
  339. {
  340. get => E84InfoDataLp3.CS0;
  341. set => E84InfoDataLp3.CS0 = value;
  342. }
  343. [Subscription("CS0", DeviceName.LP4)]
  344. public bool CS0Lp4
  345. {
  346. get => E84InfoDataLp4.CS0;
  347. set => E84InfoDataLp4.CS0 = value;
  348. }
  349. [Subscription("CS1", DeviceName.LP1)]
  350. public bool CS1Lp1
  351. {
  352. get => E84InfoDataLp1.CS1;
  353. set => E84InfoDataLp1.CS1 = value;
  354. }
  355. [Subscription("CS1", DeviceName.LP2)]
  356. public bool CS1Lp2
  357. {
  358. get => E84InfoDataLp2.CS1;
  359. set => E84InfoDataLp2.CS1 = value;
  360. }
  361. [Subscription("CS1", DeviceName.LP3)]
  362. public bool CS1Lp3
  363. {
  364. get => E84InfoDataLp3.CS1;
  365. set => E84InfoDataLp3.CS1 = value;
  366. }
  367. [Subscription("CS1", DeviceName.LP4)]
  368. public bool CS1Lp4
  369. {
  370. get => E84InfoDataLp4.CS1;
  371. set => E84InfoDataLp4.CS1 = value;
  372. }
  373. [Subscription("CONT", DeviceName.LP1)]
  374. public bool ContinuousTransferLp1
  375. {
  376. get => E84InfoDataLp1.ContinuousTransfer;
  377. set => E84InfoDataLp1.ContinuousTransfer = value;
  378. }
  379. [Subscription("CONT", DeviceName.LP2)]
  380. public bool ContinuousTransferLp2
  381. {
  382. get => E84InfoDataLp2.ContinuousTransfer;
  383. set => E84InfoDataLp2.ContinuousTransfer = value;
  384. }
  385. [Subscription("CONT", DeviceName.LP3)]
  386. public bool ContinuousTransferLp3
  387. {
  388. get => E84InfoDataLp3.ContinuousTransfer;
  389. set => E84InfoDataLp3.ContinuousTransfer = value;
  390. }
  391. [Subscription("CONT", DeviceName.LP4)]
  392. public bool ContinuousTransferLp4
  393. {
  394. get => E84InfoDataLp4.ContinuousTransfer;
  395. set => E84InfoDataLp4.ContinuousTransfer = value;
  396. }
  397. [Subscription("LoadRequest", DeviceName.LP1)]
  398. public bool LoadRequestLp1
  399. {
  400. get => E84InfoDataLp1.LoadRequest;
  401. set => E84InfoDataLp1.LoadRequest = value;
  402. }
  403. [Subscription("LoadRequest", DeviceName.LP2)]
  404. public bool LoadRequestLp2
  405. {
  406. get => E84InfoDataLp2.LoadRequest;
  407. set => E84InfoDataLp2.LoadRequest = value;
  408. }
  409. [Subscription("LoadRequest", DeviceName.LP3)]
  410. public bool LoadRequestLp3
  411. {
  412. get => E84InfoDataLp3.LoadRequest;
  413. set => E84InfoDataLp3.LoadRequest = value;
  414. }
  415. [Subscription("LoadRequest", DeviceName.LP4)]
  416. public bool LoadRequestLp4
  417. {
  418. get => E84InfoDataLp4.LoadRequest;
  419. set => E84InfoDataLp4.LoadRequest = value;
  420. }
  421. [Subscription("UnloadRequest", DeviceName.LP1)]
  422. public bool UnloadRequestLp1
  423. {
  424. get => E84InfoDataLp1.UnloadRequest;
  425. set => E84InfoDataLp1.UnloadRequest = value;
  426. }
  427. [Subscription("UnloadRequest", DeviceName.LP2)]
  428. public bool UnloadRequestLp2
  429. {
  430. get => E84InfoDataLp2.UnloadRequest;
  431. set => E84InfoDataLp2.UnloadRequest = value;
  432. }
  433. [Subscription("UnloadRequest", DeviceName.LP3)]
  434. public bool UnloadRequestLp3
  435. {
  436. get => E84InfoDataLp3.UnloadRequest;
  437. set => E84InfoDataLp3.UnloadRequest = value;
  438. }
  439. [Subscription("UnloadRequest", DeviceName.LP4)]
  440. public bool UnloadRequestLp4
  441. {
  442. get => E84InfoDataLp4.UnloadRequest;
  443. set => E84InfoDataLp4.UnloadRequest = value;
  444. }
  445. [Subscription("ReadyToTransfer", DeviceName.LP1)]
  446. public bool ReadyToTransferLp1
  447. {
  448. get => E84InfoDataLp1.ReadyToTransfer;
  449. set => E84InfoDataLp1.ReadyToTransfer = value;
  450. }
  451. [Subscription("ReadyToTransfer", DeviceName.LP2)]
  452. public bool ReadyToTransferLp2
  453. {
  454. get => E84InfoDataLp2.ReadyToTransfer;
  455. set => E84InfoDataLp2.ReadyToTransfer = value;
  456. }
  457. [Subscription("ReadyToTransfer", DeviceName.LP3)]
  458. public bool ReadyToTransferLp3
  459. {
  460. get => E84InfoDataLp3.ReadyToTransfer;
  461. set => E84InfoDataLp3.ReadyToTransfer = value;
  462. }
  463. [Subscription("ReadyToTransfer", DeviceName.LP4)]
  464. public bool ReadyToTransferLp4
  465. {
  466. get => E84InfoDataLp4.ReadyToTransfer;
  467. set => E84InfoDataLp4.ReadyToTransfer = value;
  468. }
  469. [Subscription("HandoffAvailable", DeviceName.LP1)]
  470. public bool HandoffAvailableLp1
  471. {
  472. get => E84InfoDataLp1.HandoffAvailable;
  473. set => E84InfoDataLp1.HandoffAvailable = value;
  474. }
  475. [Subscription("HandoffAvailable", DeviceName.LP2)]
  476. public bool HandoffAvailableLp2
  477. {
  478. get => E84InfoDataLp2.HandoffAvailable;
  479. set => E84InfoDataLp2.HandoffAvailable = value;
  480. }
  481. [Subscription("HandoffAvailable", DeviceName.LP3)]
  482. public bool HandoffAvailableLp3
  483. {
  484. get => E84InfoDataLp3.HandoffAvailable;
  485. set => E84InfoDataLp3.HandoffAvailable = value;
  486. }
  487. [Subscription("HandoffAvailable", DeviceName.LP4)]
  488. public bool HandoffAvailableLp4
  489. {
  490. get => E84InfoDataLp4.HandoffAvailable;
  491. set => E84InfoDataLp4.HandoffAvailable = value;
  492. }
  493. [Subscription("ES", DeviceName.LP1)]
  494. public bool EmergencyOkLp1
  495. {
  496. get => E84InfoDataLp1.EmergencyOk;
  497. set => E84InfoDataLp1.EmergencyOk = value;
  498. }
  499. [Subscription("ES", DeviceName.LP2)]
  500. public bool EmergencyOkLp2
  501. {
  502. get => E84InfoDataLp2.EmergencyOk;
  503. set => E84InfoDataLp2.EmergencyOk = value;
  504. }
  505. [Subscription("ES", DeviceName.LP3)]
  506. public bool EmergencyOkLp3
  507. {
  508. get => E84InfoDataLp3.EmergencyOk;
  509. set => E84InfoDataLp3.EmergencyOk = value;
  510. }
  511. [Subscription("ES", DeviceName.LP4)]
  512. public bool EmergencyOkLp4
  513. {
  514. get => E84InfoDataLp4.EmergencyOk;
  515. set => E84InfoDataLp4.EmergencyOk = value;
  516. }
  517. [Subscription("E84State", "LP1")]
  518. public string E84StateLp1
  519. {
  520. get => E84InfoDataLp1.E84State;
  521. set => E84InfoDataLp1.E84State = value;
  522. }
  523. [Subscription("E84State", "LP2")]
  524. public string E84StateLp2
  525. {
  526. get => E84InfoDataLp2.E84State;
  527. set => E84InfoDataLp2.E84State = value;
  528. }
  529. [Subscription("E84State", "LP3")]
  530. public string E84StateLp3
  531. {
  532. get => E84InfoDataLp3.E84State;
  533. set => E84InfoDataLp3.E84State = value;
  534. }
  535. [Subscription("E84State", "LP4")]
  536. public string E84StateLp4
  537. {
  538. get => E84InfoDataLp4.E84State;
  539. set => E84InfoDataLp4.E84State = value;
  540. }
  541. }
  542. }