LoadPortBaseViewModel.cs 31 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091
  1. using Aitex.Core.UI.MVVM;
  2. using Aitex.Core.Util;
  3. using Aitex.Sorter.Common;
  4. using Aitex.Sorter.UI.Controls.Common;
  5. using MECF.Framework.Common.OperationCenter;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows;
  13. using System.Windows.Input;
  14. using MECF.Framework.Common.Equipment;
  15. namespace Aitex.Sorter.UI.ViewModel.Maintenance
  16. {
  17. public class LoadPortBaseViewModel : UIViewModelBase
  18. {
  19. public ObservableCollection<LoadPortState> LoadPortStates { get; set; }
  20. public LoadPortBaseViewModel(int loadportCount) : base("LoadPortView")
  21. {
  22. OperationCommand = new DelegateCommand<DependencyObject>(Operation, x => !IsMaintenanceMode && !IsAutoMode);
  23. Command = new DelegateCommand<DependencyObject>(DoCommand, x => !IsMaintenanceMode && !IsAutoMode);
  24. LoadPortStates = new ObservableCollection<LoadPortState>();
  25. var loadportSet = new ModuleName[] { ModuleName.LP1, ModuleName.LP2, ModuleName.LP3, ModuleName.LP4, ModuleName.LP5, ModuleName.LP6, ModuleName.LP7, ModuleName.LP8, ModuleName.LP9, ModuleName.LP10 };
  26. var rfReader = new string[] { DeviceName.RFIDReaderA, DeviceName.RFIDReaderB, DeviceName.RFIDReaderC, DeviceName.RFIDReaderD, DeviceName.RFIDReaderE, DeviceName.RFIDReaderF, DeviceName.RFIDReaderG,
  27. DeviceName.RFIDReaderH, DeviceName.RFIDReaderI, DeviceName.RFIDReaderJ ,DeviceName.RFIDReaderK,DeviceName.RFIDReaderL};
  28. for (int i = 0; i < loadportCount; i++)
  29. {
  30. LoadPortStates.Add(new LoadPortState("LoadPort " + (i + 1).ToString(), loadportSet[i], rfReader[i]));
  31. }
  32. }
  33. [Subscription(ParamName.RTStatus, SystemStateModule)]
  34. public int RoutManagerState
  35. {
  36. get;
  37. set;
  38. }
  39. public bool IsMaintenanceMode
  40. {
  41. get => RoutManagerState == (int)RtState.Maintenance;
  42. }
  43. [Subscription(ParamName.IsAutoMode, SystemStateModule)]
  44. public bool IsAutoMode { get; set; }
  45. public ICommand OperationCommand
  46. {
  47. get;
  48. private set;
  49. }
  50. public ICommand Command
  51. {
  52. get;
  53. private set;
  54. }
  55. void Operation(DependencyObject sender)
  56. {
  57. var command = CommandHelper.GetCommandItem(sender);
  58. InvokeClient.Instance.Service.DoOperation(command.CommandName, command.Parameters);
  59. }
  60. private void DoCommand(DependencyObject sender)
  61. {
  62. var command = CommandHelper.GetCommandItem(sender);
  63. var lstParameter = new List<object>(command.Parameters);
  64. lstParameter.Insert(0, command.Target);
  65. lstParameter.Insert(1, command.CommandName);
  66. InvokeClient.Instance.Service.DoOperation(OperationName.DeviceOperation, lstParameter.ToArray());
  67. }
  68. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportA)]
  69. public IndicatorState LPAIndicatiorLoad
  70. {
  71. get => LoadPortStates[0].IndicatiorLoad;
  72. set => LoadPortStates[0].IndicatiorLoad = value;
  73. }
  74. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportB)]
  75. public IndicatorState LPBIndicatiorLoad
  76. {
  77. get => LoadPortStates[1].IndicatiorLoad;
  78. set => LoadPortStates[1].IndicatiorLoad = value;
  79. }
  80. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportC)]
  81. public IndicatorState LPCIndicatiorLoad
  82. {
  83. get => LoadPortStates[2].IndicatiorLoad;
  84. set => LoadPortStates[2].IndicatiorLoad = value;
  85. }
  86. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportD)]
  87. public IndicatorState LPDIndicatiorLoad
  88. {
  89. get => LoadPortStates[3].IndicatiorLoad;
  90. set => LoadPortStates[3].IndicatiorLoad = value;
  91. }
  92. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportE)]
  93. public IndicatorState LPEIndicatiorLoad
  94. {
  95. get => LoadPortStates[4].IndicatiorLoad;
  96. set => LoadPortStates[4].IndicatiorLoad = value;
  97. }
  98. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportF)]
  99. public IndicatorState LPFIndicatiorLoad
  100. {
  101. get => LoadPortStates[5].IndicatiorLoad;
  102. set => LoadPortStates[5].IndicatiorLoad = value;
  103. }
  104. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportG)]
  105. public IndicatorState LPGIndicatiorLoad
  106. {
  107. get => LoadPortStates[6].IndicatiorLoad;
  108. set => LoadPortStates[6].IndicatiorLoad = value;
  109. }
  110. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportH)]
  111. public IndicatorState LPHIndicatiorLoad
  112. {
  113. get => LoadPortStates[7].IndicatiorLoad;
  114. set => LoadPortStates[7].IndicatiorLoad = value;
  115. }
  116. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportI)]
  117. public IndicatorState LPIIndicatiorLoad
  118. {
  119. get => LoadPortStates[8].IndicatiorLoad;
  120. set => LoadPortStates[8].IndicatiorLoad = value;
  121. }
  122. [Subscription(ParamName.IndicatiorLoad, DeviceName.LoadportJ)]
  123. public IndicatorState LPJIndicatiorLoad
  124. {
  125. get => LoadPortStates[9].IndicatiorLoad;
  126. set => LoadPortStates[9].IndicatiorLoad = value;
  127. }
  128. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportA)]
  129. public IndicatorState LPAIndicatiorUnload
  130. {
  131. get => LoadPortStates[0].IndicatiorUnload;
  132. set => LoadPortStates[0].IndicatiorUnload = value;
  133. }
  134. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportB)]
  135. public IndicatorState LPBIndicatiorUnload
  136. {
  137. get => LoadPortStates[1].IndicatiorUnload;
  138. set => LoadPortStates[1].IndicatiorUnload = value;
  139. }
  140. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportC)]
  141. public IndicatorState LPCIndicatiorUnload
  142. {
  143. get => LoadPortStates[2].IndicatiorUnload;
  144. set => LoadPortStates[2].IndicatiorUnload = value;
  145. }
  146. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportD)]
  147. public IndicatorState LPDIndicatiorUnload
  148. {
  149. get => LoadPortStates[3].IndicatiorUnload;
  150. set => LoadPortStates[3].IndicatiorUnload = value;
  151. }
  152. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportE)]
  153. public IndicatorState LPEIndicatiorUnload
  154. {
  155. get => LoadPortStates[4].IndicatiorUnload;
  156. set => LoadPortStates[4].IndicatiorUnload = value;
  157. }
  158. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportF)]
  159. public IndicatorState LPFIndicatiorUnload
  160. {
  161. get => LoadPortStates[5].IndicatiorUnload;
  162. set => LoadPortStates[5].IndicatiorUnload = value;
  163. }
  164. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportG)]
  165. public IndicatorState LPGIndicatiorUnload
  166. {
  167. get => LoadPortStates[6].IndicatiorUnload;
  168. set => LoadPortStates[6].IndicatiorUnload = value;
  169. }
  170. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportH)]
  171. public IndicatorState LPHIndicatiorUnload
  172. {
  173. get => LoadPortStates[7].IndicatiorUnload;
  174. set => LoadPortStates[7].IndicatiorUnload = value;
  175. }
  176. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportI)]
  177. public IndicatorState LPIIndicatiorUnload
  178. {
  179. get => LoadPortStates[8].IndicatiorUnload;
  180. set => LoadPortStates[8].IndicatiorUnload = value;
  181. }
  182. [Subscription(ParamName.IndicatiorUnload, DeviceName.LoadportJ)]
  183. public IndicatorState LPJIndicatiorUnload
  184. {
  185. get => LoadPortStates[9].IndicatiorUnload;
  186. set => LoadPortStates[9].IndicatiorUnload = value;
  187. }
  188. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportA)]
  189. public IndicatorState LPAIndicatiorPresence
  190. {
  191. get => LoadPortStates[0].IndicatiorPresence;
  192. set => LoadPortStates[0].IndicatiorPresence = value;
  193. }
  194. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportB)]
  195. public IndicatorState LPBIndicatiorPresence
  196. {
  197. get => LoadPortStates[1].IndicatiorPresence;
  198. set => LoadPortStates[1].IndicatiorPresence = value;
  199. }
  200. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportC)]
  201. public IndicatorState LPCIndicatiorPresence
  202. {
  203. get => LoadPortStates[2].IndicatiorPresence;
  204. set => LoadPortStates[2].IndicatiorPresence = value;
  205. }
  206. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportD)]
  207. public IndicatorState LPDIndicatiorPresence
  208. {
  209. get => LoadPortStates[3].IndicatiorPresence;
  210. set => LoadPortStates[3].IndicatiorPresence = value;
  211. }
  212. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportE)]
  213. public IndicatorState LPEIndicatiorPresence
  214. {
  215. get => LoadPortStates[4].IndicatiorPresence;
  216. set => LoadPortStates[4].IndicatiorPresence = value;
  217. }
  218. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportF)]
  219. public IndicatorState LPFIndicatiorPresence
  220. {
  221. get => LoadPortStates[5].IndicatiorPresence;
  222. set => LoadPortStates[5].IndicatiorPresence = value;
  223. }
  224. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportG)]
  225. public IndicatorState LPGIndicatiorPresence
  226. {
  227. get => LoadPortStates[6].IndicatiorPresence;
  228. set => LoadPortStates[6].IndicatiorPresence = value;
  229. }
  230. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportH)]
  231. public IndicatorState LPHIndicatiorPresence
  232. {
  233. get => LoadPortStates[7].IndicatiorPresence;
  234. set => LoadPortStates[7].IndicatiorPresence = value;
  235. }
  236. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportI)]
  237. public IndicatorState LPIIndicatiorPresence
  238. {
  239. get => LoadPortStates[8].IndicatiorPresence;
  240. set => LoadPortStates[8].IndicatiorPresence = value;
  241. }
  242. [Subscription(ParamName.IndicatiorPresence, DeviceName.LoadportJ)]
  243. public IndicatorState LPJIndicatiorPresence
  244. {
  245. get => LoadPortStates[9].IndicatiorPresence;
  246. set => LoadPortStates[9].IndicatiorPresence = value;
  247. }
  248. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportA)]
  249. public IndicatorState LPAIndicatiorPlacement
  250. {
  251. get => LoadPortStates[0].IndicatiorPlacement;
  252. set => LoadPortStates[0].IndicatiorPlacement = value;
  253. }
  254. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportB)]
  255. public IndicatorState LPBIndicatiorPlacement
  256. {
  257. get => LoadPortStates[1].IndicatiorPlacement;
  258. set => LoadPortStates[1].IndicatiorPlacement = value;
  259. }
  260. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportC)]
  261. public IndicatorState LPCIndicatiorPlacement
  262. {
  263. get => LoadPortStates[2].IndicatiorPlacement;
  264. set => LoadPortStates[2].IndicatiorPlacement = value;
  265. }
  266. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportD)]
  267. public IndicatorState LPDIndicatiorPlacement
  268. {
  269. get => LoadPortStates[3].IndicatiorPlacement;
  270. set => LoadPortStates[3].IndicatiorPlacement = value;
  271. }
  272. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportE)]
  273. public IndicatorState LPEIndicatiorPlacement
  274. {
  275. get => LoadPortStates[4].IndicatiorPlacement;
  276. set => LoadPortStates[4].IndicatiorPlacement = value;
  277. }
  278. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportF)]
  279. public IndicatorState LPFIndicatiorPlacement
  280. {
  281. get => LoadPortStates[5].IndicatiorPlacement;
  282. set => LoadPortStates[5].IndicatiorPlacement = value;
  283. }
  284. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportG)]
  285. public IndicatorState LPGIndicatiorPlacement
  286. {
  287. get => LoadPortStates[6].IndicatiorPlacement;
  288. set => LoadPortStates[6].IndicatiorPlacement = value;
  289. }
  290. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportH)]
  291. public IndicatorState LPHIndicatiorPlacement
  292. {
  293. get => LoadPortStates[7].IndicatiorPlacement;
  294. set => LoadPortStates[7].IndicatiorPlacement = value;
  295. }
  296. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportI)]
  297. public IndicatorState LPIIndicatiorPlacement
  298. {
  299. get => LoadPortStates[8].IndicatiorPlacement;
  300. set => LoadPortStates[8].IndicatiorPlacement = value;
  301. }
  302. [Subscription(ParamName.IndicatiorPlacement, DeviceName.LoadportJ)]
  303. public IndicatorState LPJIndicatiorPlacement
  304. {
  305. get => LoadPortStates[9].IndicatiorPlacement;
  306. set => LoadPortStates[9].IndicatiorPlacement = value;
  307. }
  308. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportA)]
  309. public IndicatorState LPAIndicatiorOpAccess
  310. {
  311. get => LoadPortStates[0].IndicatiorOpAccess;
  312. set => LoadPortStates[0].IndicatiorOpAccess = value;
  313. }
  314. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportB)]
  315. public IndicatorState LPBIndicatiorOpAccess
  316. {
  317. get => LoadPortStates[1].IndicatiorOpAccess;
  318. set => LoadPortStates[1].IndicatiorOpAccess = value;
  319. }
  320. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportC)]
  321. public IndicatorState LPCIndicatiorOpAccess
  322. {
  323. get => LoadPortStates[2].IndicatiorOpAccess;
  324. set => LoadPortStates[2].IndicatiorOpAccess = value;
  325. }
  326. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportD)]
  327. public IndicatorState LPDIndicatiorOpAccess
  328. {
  329. get => LoadPortStates[3].IndicatiorOpAccess;
  330. set => LoadPortStates[3].IndicatiorOpAccess = value;
  331. }
  332. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportE)]
  333. public IndicatorState LPEIndicatiorOpAccess
  334. {
  335. get => LoadPortStates[4].IndicatiorOpAccess;
  336. set => LoadPortStates[4].IndicatiorOpAccess = value;
  337. }
  338. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportF)]
  339. public IndicatorState LPFIndicatiorOpAccess
  340. {
  341. get => LoadPortStates[5].IndicatiorOpAccess;
  342. set => LoadPortStates[5].IndicatiorOpAccess = value;
  343. }
  344. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportG)]
  345. public IndicatorState LPGIndicatiorOpAccess
  346. {
  347. get => LoadPortStates[6].IndicatiorOpAccess;
  348. set => LoadPortStates[6].IndicatiorOpAccess = value;
  349. }
  350. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportH)]
  351. public IndicatorState LPHIndicatiorOpAccess
  352. {
  353. get => LoadPortStates[7].IndicatiorOpAccess;
  354. set => LoadPortStates[7].IndicatiorOpAccess = value;
  355. }
  356. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportI)]
  357. public IndicatorState LPIIndicatiorOpAccess
  358. {
  359. get => LoadPortStates[8].IndicatiorOpAccess;
  360. set => LoadPortStates[8].IndicatiorOpAccess = value;
  361. }
  362. [Subscription(ParamName.IndicatiorOpAccess, DeviceName.LoadportJ)]
  363. public IndicatorState LPJIndicatiorOpAccess
  364. {
  365. get => LoadPortStates[9].IndicatiorOpAccess;
  366. set => LoadPortStates[9].IndicatiorOpAccess = value;
  367. }
  368. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportA)]
  369. public IndicatorState LPAIndicatiorAlarm
  370. {
  371. get => LoadPortStates[0].IndicatiorAlarm;
  372. set => LoadPortStates[0].IndicatiorAlarm = value;
  373. }
  374. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportB)]
  375. public IndicatorState LPBIndicatiorAlarm
  376. {
  377. get => LoadPortStates[1].IndicatiorAlarm;
  378. set => LoadPortStates[1].IndicatiorAlarm = value;
  379. }
  380. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportC)]
  381. public IndicatorState LPCIndicatiorAlarm
  382. {
  383. get => LoadPortStates[2].IndicatiorAlarm;
  384. set => LoadPortStates[2].IndicatiorAlarm = value;
  385. }
  386. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportD)]
  387. public IndicatorState LPDIndicatiorAlarm
  388. {
  389. get => LoadPortStates[3].IndicatiorAlarm;
  390. set => LoadPortStates[3].IndicatiorAlarm = value;
  391. }
  392. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportE)]
  393. public IndicatorState LPEIndicatiorAlarm
  394. {
  395. get => LoadPortStates[4].IndicatiorAlarm;
  396. set => LoadPortStates[4].IndicatiorAlarm = value;
  397. }
  398. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportF)]
  399. public IndicatorState LPFIndicatiorAlarm
  400. {
  401. get => LoadPortStates[5].IndicatiorAlarm;
  402. set => LoadPortStates[5].IndicatiorAlarm = value;
  403. }
  404. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportG)]
  405. public IndicatorState LPGIndicatiorAlarm
  406. {
  407. get => LoadPortStates[6].IndicatiorAlarm;
  408. set => LoadPortStates[6].IndicatiorAlarm = value;
  409. }
  410. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportH)]
  411. public IndicatorState LPHIndicatiorAlarm
  412. {
  413. get => LoadPortStates[7].IndicatiorAlarm;
  414. set => LoadPortStates[7].IndicatiorAlarm = value;
  415. }
  416. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportI)]
  417. public IndicatorState LPIIndicatiorAlarm
  418. {
  419. get => LoadPortStates[8].IndicatiorAlarm;
  420. set => LoadPortStates[8].IndicatiorAlarm = value;
  421. }
  422. [Subscription(ParamName.IndicatiorAlarm, DeviceName.LoadportJ)]
  423. public IndicatorState LPJIndicatiorAlarm
  424. {
  425. get => LoadPortStates[9].IndicatiorAlarm;
  426. set => LoadPortStates[9].IndicatiorAlarm = value;
  427. }
  428. [Subscription(ParamName.FoupID, DeviceName.LoadportA)]
  429. public string LPAFoupID
  430. {
  431. get => LoadPortStates[0].FoupID;
  432. set => LoadPortStates[0].FoupID = value;
  433. }
  434. [Subscription(ParamName.FoupID, DeviceName.LoadportB)]
  435. public string LPBFoupID
  436. {
  437. get => LoadPortStates[1].FoupID;
  438. set => LoadPortStates[1].FoupID = value;
  439. }
  440. [Subscription(ParamName.FoupID, DeviceName.LoadportC)]
  441. public string LPCFoupID
  442. {
  443. get => LoadPortStates[2].FoupID;
  444. set => LoadPortStates[2].FoupID = value;
  445. }
  446. [Subscription(ParamName.FoupID, DeviceName.LoadportD)]
  447. public string LPDFoupID
  448. {
  449. get => LoadPortStates[3].FoupID;
  450. set => LoadPortStates[3].FoupID = value;
  451. }
  452. [Subscription(ParamName.FoupID, DeviceName.LoadportE)]
  453. public string LPEFoupID
  454. {
  455. get => LoadPortStates[4].FoupID;
  456. set => LoadPortStates[4].FoupID = value;
  457. }
  458. [Subscription(ParamName.FoupID, DeviceName.LoadportF)]
  459. public string LPFFoupID
  460. {
  461. get => LoadPortStates[5].FoupID;
  462. set => LoadPortStates[5].FoupID = value;
  463. }
  464. [Subscription(ParamName.FoupID, DeviceName.LoadportG)]
  465. public string LPGFoupID
  466. {
  467. get => LoadPortStates[6].FoupID;
  468. set => LoadPortStates[6].FoupID = value;
  469. }
  470. [Subscription(ParamName.FoupID, DeviceName.LoadportH)]
  471. public string LPHFoupID
  472. {
  473. get => LoadPortStates[7].FoupID;
  474. set => LoadPortStates[7].FoupID = value;
  475. }
  476. [Subscription(ParamName.FoupID, DeviceName.LoadportI)]
  477. public string LPIFoupID
  478. {
  479. get => LoadPortStates[8].FoupID;
  480. set => LoadPortStates[8].FoupID = value;
  481. }
  482. [Subscription(ParamName.FoupID, DeviceName.LoadportJ)]
  483. public string LPJFoupID
  484. {
  485. get => LoadPortStates[9].FoupID;
  486. set => LoadPortStates[9].FoupID = value;
  487. }
  488. [Subscription(ParamName.CassetteState, DeviceName.LoadportA)]
  489. public LoadportCassetteState LPACassetteState
  490. {
  491. get => LoadPortStates[0].CassetteState;
  492. set => LoadPortStates[0].CassetteState = value;
  493. }
  494. [Subscription(ParamName.CassetteState, DeviceName.LoadportB)]
  495. public LoadportCassetteState LPBCassetteState
  496. {
  497. get => LoadPortStates[1].CassetteState;
  498. set => LoadPortStates[1].CassetteState = value;
  499. }
  500. [Subscription(ParamName.CassetteState, DeviceName.LoadportC)]
  501. public LoadportCassetteState LPCCassetteState
  502. {
  503. get => LoadPortStates[2].CassetteState;
  504. set => LoadPortStates[2].CassetteState = value;
  505. }
  506. [Subscription(ParamName.CassetteState, DeviceName.LoadportD)]
  507. public LoadportCassetteState LPDCassetteState
  508. {
  509. get => LoadPortStates[3].CassetteState;
  510. set => LoadPortStates[3].CassetteState = value;
  511. }
  512. [Subscription(ParamName.CassetteState, DeviceName.LoadportE)]
  513. public LoadportCassetteState LPECassetteState
  514. {
  515. get => LoadPortStates[4].CassetteState;
  516. set => LoadPortStates[4].CassetteState = value;
  517. }
  518. [Subscription(ParamName.CassetteState, DeviceName.LoadportF)]
  519. public LoadportCassetteState LPFCassetteState
  520. {
  521. get => LoadPortStates[5].CassetteState;
  522. set => LoadPortStates[5].CassetteState = value;
  523. }
  524. [Subscription(ParamName.CassetteState, DeviceName.LoadportG)]
  525. public LoadportCassetteState LPGCassetteState
  526. {
  527. get => LoadPortStates[6].CassetteState;
  528. set => LoadPortStates[6].CassetteState = value;
  529. }
  530. [Subscription(ParamName.CassetteState, DeviceName.LoadportH)]
  531. public LoadportCassetteState LPHCassetteState
  532. {
  533. get => LoadPortStates[7].CassetteState;
  534. set => LoadPortStates[7].CassetteState = value;
  535. }
  536. [Subscription(ParamName.CassetteState, DeviceName.LoadportI)]
  537. public LoadportCassetteState LPICassetteState
  538. {
  539. get => LoadPortStates[8].CassetteState;
  540. set => LoadPortStates[8].CassetteState = value;
  541. }
  542. [Subscription(ParamName.CassetteState, DeviceName.LoadportJ)]
  543. public LoadportCassetteState LPJCassetteState
  544. {
  545. get => LoadPortStates[9].CassetteState;
  546. set => LoadPortStates[9].CassetteState = value;
  547. }
  548. [Subscription(ParamName.FoupClampState, DeviceName.LoadportA)]
  549. public FoupClampState LPAFoupClampState
  550. {
  551. get => LoadPortStates[0].FoupClampState;
  552. set => LoadPortStates[0].FoupClampState = value;
  553. }
  554. [Subscription(ParamName.FoupClampState, DeviceName.LoadportB)]
  555. public FoupClampState LPBFoupClampState
  556. {
  557. get => LoadPortStates[1].FoupClampState;
  558. set => LoadPortStates[1].FoupClampState = value;
  559. }
  560. [Subscription(ParamName.FoupClampState, DeviceName.LoadportC)]
  561. public FoupClampState LPCFoupClampState
  562. {
  563. get => LoadPortStates[2].FoupClampState;
  564. set => LoadPortStates[2].FoupClampState = value;
  565. }
  566. [Subscription(ParamName.FoupClampState, DeviceName.LoadportD)]
  567. public FoupClampState LPDFoupClampState
  568. {
  569. get => LoadPortStates[3].FoupClampState;
  570. set => LoadPortStates[3].FoupClampState = value;
  571. }
  572. [Subscription(ParamName.FoupClampState, DeviceName.LoadportE)]
  573. public FoupClampState LPEFoupClampState
  574. {
  575. get => LoadPortStates[4].FoupClampState;
  576. set => LoadPortStates[4].FoupClampState = value;
  577. }
  578. [Subscription(ParamName.FoupClampState, DeviceName.LoadportF)]
  579. public FoupClampState LPFFoupClampState
  580. {
  581. get => LoadPortStates[5].FoupClampState;
  582. set => LoadPortStates[5].FoupClampState = value;
  583. }
  584. [Subscription(ParamName.FoupClampState, DeviceName.LoadportG)]
  585. public FoupClampState LPGFoupClampState
  586. {
  587. get => LoadPortStates[6].FoupClampState;
  588. set => LoadPortStates[6].FoupClampState = value;
  589. }
  590. [Subscription(ParamName.FoupClampState, DeviceName.LoadportH)]
  591. public FoupClampState LPHFoupClampState
  592. {
  593. get => LoadPortStates[7].FoupClampState;
  594. set => LoadPortStates[7].FoupClampState = value;
  595. }
  596. [Subscription(ParamName.FoupClampState, DeviceName.LoadportI)]
  597. public FoupClampState LPIFoupClampState
  598. {
  599. get => LoadPortStates[8].FoupClampState;
  600. set => LoadPortStates[8].FoupClampState = value;
  601. }
  602. [Subscription(ParamName.FoupClampState, DeviceName.LoadportJ)]
  603. public FoupClampState LPJFoupClampState
  604. {
  605. get => LoadPortStates[9].FoupClampState;
  606. set => LoadPortStates[9].FoupClampState = value;
  607. }
  608. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportA)]
  609. public FoupDoorState LPAFoupDoorState
  610. {
  611. get => LoadPortStates[0].FoupDoorState;
  612. set => LoadPortStates[0].FoupDoorState = value;
  613. }
  614. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportB)]
  615. public FoupDoorState LPBFoupDoorState
  616. {
  617. get => LoadPortStates[1].FoupDoorState;
  618. set => LoadPortStates[1].FoupDoorState = value;
  619. }
  620. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportC)]
  621. public FoupDoorState LPCFoupDoorState
  622. {
  623. get => LoadPortStates[2].FoupDoorState;
  624. set => LoadPortStates[2].FoupDoorState = value;
  625. }
  626. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportD)]
  627. public FoupDoorState LPDFoupDoorState
  628. {
  629. get => LoadPortStates[3].FoupDoorState;
  630. set => LoadPortStates[3].FoupDoorState = value;
  631. }
  632. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportE)]
  633. public FoupDoorState LPEFoupDoorState
  634. {
  635. get => LoadPortStates[4].FoupDoorState;
  636. set => LoadPortStates[4].FoupDoorState = value;
  637. }
  638. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportF)]
  639. public FoupDoorState LPFFoupDoorState
  640. {
  641. get => LoadPortStates[5].FoupDoorState;
  642. set => LoadPortStates[5].FoupDoorState = value;
  643. }
  644. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportG)]
  645. public FoupDoorState LPGFoupDoorState
  646. {
  647. get => LoadPortStates[6].FoupDoorState;
  648. set => LoadPortStates[6].FoupDoorState = value;
  649. }
  650. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportH)]
  651. public FoupDoorState LPHFoupDoorState
  652. {
  653. get => LoadPortStates[7].FoupDoorState;
  654. set => LoadPortStates[7].FoupDoorState = value;
  655. }
  656. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportI)]
  657. public FoupDoorState LPIFoupDoorState
  658. {
  659. get => LoadPortStates[8].FoupDoorState;
  660. set => LoadPortStates[8].FoupDoorState = value;
  661. }
  662. [Subscription(ParamName.FoupDoorState, DeviceName.LoadportJ)]
  663. public FoupDoorState LPJFoupDoorState
  664. {
  665. get => LoadPortStates[9].FoupDoorState;
  666. set => LoadPortStates[9].FoupDoorState = value;
  667. }
  668. [Subscription(ParamName.LoadportState, DeviceName.LoadportA)]
  669. public DeviceState LPALoadportState
  670. {
  671. get => LoadPortStates[0].LoadportState;
  672. set => LoadPortStates[0].LoadportState = value;
  673. }
  674. [Subscription(ParamName.LoadportState, DeviceName.LoadportB)]
  675. public DeviceState LPBLoadportState
  676. {
  677. get => LoadPortStates[1].LoadportState;
  678. set => LoadPortStates[1].LoadportState = value;
  679. }
  680. [Subscription(ParamName.LoadportState, DeviceName.LoadportC)]
  681. public DeviceState LPCLoadportState
  682. {
  683. get => LoadPortStates[2].LoadportState;
  684. set => LoadPortStates[2].LoadportState = value;
  685. }
  686. [Subscription(ParamName.LoadportState, DeviceName.LoadportD)]
  687. public DeviceState LPDLoadportState
  688. {
  689. get => LoadPortStates[3].LoadportState;
  690. set => LoadPortStates[3].LoadportState = value;
  691. }
  692. [Subscription(ParamName.LoadportState, DeviceName.LoadportE)]
  693. public DeviceState LPELoadportState
  694. {
  695. get => LoadPortStates[4].LoadportState;
  696. set => LoadPortStates[4].LoadportState = value;
  697. }
  698. [Subscription(ParamName.LoadportState, DeviceName.LoadportF)]
  699. public DeviceState LPFLoadportState
  700. {
  701. get => LoadPortStates[5].LoadportState;
  702. set => LoadPortStates[5].LoadportState = value;
  703. }
  704. [Subscription(ParamName.LoadportState, DeviceName.LoadportG)]
  705. public DeviceState LPGLoadportState
  706. {
  707. get => LoadPortStates[6].LoadportState;
  708. set => LoadPortStates[6].LoadportState = value;
  709. }
  710. [Subscription(ParamName.LoadportState, DeviceName.LoadportH)]
  711. public DeviceState LPHLoadportState
  712. {
  713. get => LoadPortStates[7].LoadportState;
  714. set => LoadPortStates[7].LoadportState = value;
  715. }
  716. [Subscription(ParamName.LoadportState, DeviceName.LoadportI)]
  717. public DeviceState LPILoadportState
  718. {
  719. get => LoadPortStates[8].LoadportState;
  720. set => LoadPortStates[8].LoadportState = value;
  721. }
  722. [Subscription(ParamName.LoadportState, DeviceName.LoadportJ)]
  723. public DeviceState LPJLoadportState
  724. {
  725. get => LoadPortStates[9].LoadportState;
  726. set => LoadPortStates[9].LoadportState = value;
  727. }
  728. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportA)]
  729. public string LPARIDReaderState
  730. {
  731. get => LoadPortStates[0].RIDReaderState;
  732. set => LoadPortStates[0].RIDReaderState = value;
  733. }
  734. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportB)]
  735. public string LPBRIDReaderState
  736. {
  737. get => LoadPortStates[1].RIDReaderState;
  738. set => LoadPortStates[1].RIDReaderState = value;
  739. }
  740. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportC)]
  741. public string LPCRIDReaderState
  742. {
  743. get => LoadPortStates[2].RIDReaderState;
  744. set => LoadPortStates[2].RIDReaderState = value;
  745. }
  746. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportD)]
  747. public string LPDRIDReaderState
  748. {
  749. get => LoadPortStates[3].RIDReaderState;
  750. set => LoadPortStates[3].RIDReaderState = value;
  751. }
  752. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportE)]
  753. public string LPERIDReaderState
  754. {
  755. get => LoadPortStates[4].RIDReaderState;
  756. set => LoadPortStates[4].RIDReaderState = value;
  757. }
  758. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportF)]
  759. public string LPFRIDReaderState
  760. {
  761. get => LoadPortStates[5].RIDReaderState;
  762. set => LoadPortStates[5].RIDReaderState = value;
  763. }
  764. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportG)]
  765. public string LPGRIDReaderState
  766. {
  767. get => LoadPortStates[6].RIDReaderState;
  768. set => LoadPortStates[6].RIDReaderState = value;
  769. }
  770. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportH)]
  771. public string LPHRIDReaderState
  772. {
  773. get => LoadPortStates[7].RIDReaderState;
  774. set => LoadPortStates[7].RIDReaderState = value;
  775. }
  776. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportI)]
  777. public string LPIRIDReaderState
  778. {
  779. get => LoadPortStates[8].RIDReaderState;
  780. set => LoadPortStates[8].RIDReaderState = value;
  781. }
  782. [Subscription(ParamName.RIDReaderState, DeviceName.LoadportJ)]
  783. public string LPJRIDReaderState
  784. {
  785. get => LoadPortStates[9].RIDReaderState;
  786. set => LoadPortStates[9].RIDReaderState = value;
  787. }
  788. }
  789. public class LoadPortState : NotifyPropertyChangedBase
  790. {
  791. public LoadPortState(string name, ModuleName loadPortName, string rfReaderName)
  792. {
  793. Name = name;
  794. LoadPortName = loadPortName;
  795. RFReaderName = rfReaderName;
  796. }
  797. public ModuleName LoadPortName { get; private set; }
  798. public string RFReaderName { get; private set; }
  799. public string Name { get; private set; }
  800. private IndicatorState indicatiorLoad;
  801. public IndicatorState IndicatiorLoad
  802. {
  803. get => indicatiorLoad;
  804. set
  805. {
  806. indicatiorLoad = value;
  807. OnPropertyChanged("IndicatiorLoad");
  808. }
  809. }
  810. private IndicatorState indicatiorUnload;
  811. public IndicatorState IndicatiorUnload
  812. {
  813. get => indicatiorUnload;
  814. set
  815. {
  816. indicatiorUnload = value;
  817. OnPropertyChanged("IndicatiorUnload");
  818. }
  819. }
  820. private IndicatorState indicatiorPresence;
  821. public IndicatorState IndicatiorPresence
  822. {
  823. get => indicatiorPresence;
  824. set
  825. {
  826. indicatiorPresence = value;
  827. OnPropertyChanged("IndicatiorPresence");
  828. }
  829. }
  830. private IndicatorState indicatiorPlacement;
  831. public IndicatorState IndicatiorPlacement
  832. {
  833. get => indicatiorPlacement;
  834. set
  835. {
  836. indicatiorPlacement = value;
  837. OnPropertyChanged("IndicatiorPlacement");
  838. }
  839. }
  840. private IndicatorState indicatiorOpAccess;
  841. public IndicatorState IndicatiorOpAccess
  842. {
  843. get => indicatiorOpAccess;
  844. set
  845. {
  846. indicatiorOpAccess = value;
  847. OnPropertyChanged("IndicatiorOpAccess");
  848. }
  849. }
  850. private IndicatorState indicatiorAlarm;
  851. public IndicatorState IndicatiorAlarm
  852. {
  853. get => indicatiorAlarm;
  854. set
  855. {
  856. indicatiorAlarm = value;
  857. OnPropertyChanged("IndicatiorAlarm");
  858. }
  859. }
  860. private IndicatorState indicatiorAccessAuto;
  861. public IndicatorState IndicatiorAccessAuto
  862. {
  863. get => indicatiorAccessAuto;
  864. set
  865. {
  866. indicatiorAccessAuto = value;
  867. OnPropertyChanged("IndicatiorAccessAuto");
  868. }
  869. }
  870. private IndicatorState indicatiorAccessManual;
  871. public IndicatorState IndicatiorAccessManual
  872. {
  873. get => indicatiorAccessManual;
  874. set
  875. {
  876. indicatiorAccessManual = value;
  877. OnPropertyChanged("IndicatiorAccessManual");
  878. }
  879. }
  880. private string foupID;
  881. public string FoupID
  882. {
  883. get => foupID;
  884. set
  885. {
  886. foupID = value;
  887. OnPropertyChanged("FoupID");
  888. }
  889. }
  890. private LoadportCassetteState cassetteState;
  891. public LoadportCassetteState CassetteState
  892. {
  893. get => cassetteState;
  894. set
  895. {
  896. cassetteState = value;
  897. OnPropertyChanged("CassetteState");
  898. }
  899. }
  900. private FoupClampState clampState;
  901. public FoupClampState FoupClampState
  902. {
  903. get => clampState;
  904. set
  905. {
  906. clampState = value;
  907. OnPropertyChanged("FoupClampState");
  908. }
  909. }
  910. private FoupDoorState doorState;
  911. public FoupDoorState FoupDoorState
  912. {
  913. get => doorState;
  914. set
  915. {
  916. doorState = value;
  917. OnPropertyChanged("FoupDoorState");
  918. }
  919. }
  920. private DeviceState status;
  921. public DeviceState LoadportState
  922. {
  923. get => status;
  924. set
  925. {
  926. status = value;
  927. OnPropertyChanged("LoadportState");
  928. }
  929. }
  930. private string rfIDReaderStatus;
  931. public string RIDReaderState
  932. {
  933. get => rfIDReaderStatus;
  934. set
  935. {
  936. rfIDReaderStatus = value;
  937. OnPropertyChanged("RIDReaderState");
  938. }
  939. }
  940. }
  941. }