NewE84View.xaml.cs 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using System.Windows.Data;
  6. using Aitex.Core.Util;
  7. using Aitex.Sorter.Common;
  8. using Aitex.Sorter.UI.ViewModel;
  9. using EfemUI.Controls;
  10. namespace EfemUI.Views
  11. {
  12. public partial class NewE84View : UserControl
  13. {
  14. public NewE84ViewModel _e84ViewModel;
  15. public NewE84View()
  16. {
  17. InitializeComponent();
  18. _e84ViewModel = new NewE84ViewModel();
  19. DataContext = _e84ViewModel;
  20. IsVisibleChanged += E84View_IsVisibleChanged;
  21. }
  22. private void E84View_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
  23. {
  24. (DataContext as NewE84ViewModel)?.EnableTimer(IsVisible);
  25. }
  26. private void SetControlDefaultValue()
  27. {
  28. foreach (TabItem tabItem in root.Items)
  29. {
  30. NewE84Info e84Info = (NewE84Info)tabItem.Content;
  31. e84Info.PLInService.ScId = $"LoadPort.{e84Info.LoadPortName}.PLInService";
  32. e84Info.PLDataReadSize.ScId = $"LoadPort.{e84Info.LoadPortName}.DataReadSize";
  33. e84Info.PLStartPage.ScId = $"LoadPort.{e84Info.LoadPortName}.StartPage";
  34. e84Info.PLEnableAutoCarrierIdRead.ScId = $"LoadPort.{e84Info.LoadPortName}.EnableAutoCarrierIdRead";
  35. e84Info.PLDefaultPage.ScId = $"LoadPort.{e84Info.LoadPortName}.DefaultPage";
  36. e84Info.PLInService.Command = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).SetConfigCommand;
  37. e84Info.BtnReadCarrierID.Command = e84Info.DeviceOperationCommand;
  38. e84Info.BtnReadCarrierID.CommandParameter = "ReadCarrierIDByIndex";
  39. e84Info.BtnWriteCarrierID.Command = e84Info.DeviceOperationCommand;
  40. e84Info.BtnWriteCarrierID.CommandParameter = "WriteCarrierIDByIndex";
  41. Binding binding = new Binding("CarrierID") { Source = e84Info.E84Data };
  42. e84Info.txtReadCarrierID.SetBinding(TextBox.TextProperty, binding );
  43. switch (e84Info.LoadPortName)
  44. {
  45. case "LP1":
  46. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_PLInService;
  47. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_PLInService;
  48. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_DataReadSize;
  49. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_DataReadSize;
  50. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_StartPage;
  51. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_StartPage;
  52. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_EnableAutoCarrierIdRead;
  53. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_EnableAutoCarrierIdRead;
  54. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_DefaultPage;
  55. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_DefaultPage;
  56. ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigChanged += E84View_ConfigChanged1;
  57. break;
  58. case "LP2":
  59. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_PLInService;
  60. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_PLInService;
  61. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_DataReadSize;
  62. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_DataReadSize;
  63. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_StartPage;
  64. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_StartPage;
  65. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_EnableAutoCarrierIdRead;
  66. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_EnableAutoCarrierIdRead;
  67. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_DefaultPage;
  68. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_DefaultPage;
  69. ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigChanged += E84View_ConfigChanged;
  70. break;
  71. case "LP3":
  72. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_PLInService;
  73. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_PLInService;
  74. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_DataReadSize;
  75. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_DataReadSize;
  76. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_StartPage;
  77. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_StartPage;
  78. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_EnableAutoCarrierIdRead;
  79. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_EnableAutoCarrierIdRead;
  80. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_DefaultPage;
  81. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_DefaultPage;
  82. ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigChanged += E84View_ConfigChanged2;
  83. break;
  84. case "LP4":
  85. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_PLInService;
  86. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_PLInService;
  87. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_DataReadSize;
  88. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_DataReadSize;
  89. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_StartPage;
  90. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_StartPage;
  91. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_EnableAutoCarrierIdRead;
  92. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_EnableAutoCarrierIdRead;
  93. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_DefaultPage;
  94. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_DefaultPage;
  95. ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigChanged += E84View_ConfigChanged3;
  96. break;
  97. default:
  98. break;
  99. }
  100. }
  101. }
  102. private void E84View_ConfigChanged3(object sender)
  103. {
  104. NewE84Info e84Info = null;
  105. foreach (TabItem tabItem in root.Items)
  106. {
  107. e84Info = (NewE84Info)tabItem.Content;
  108. if (e84Info.LoadPortName == "LP4")
  109. break;
  110. }
  111. if (e84Info == null) return;
  112. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_PLInService;
  113. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_PLInService;
  114. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_DataReadSize;
  115. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_DataReadSize;
  116. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_StartPage;
  117. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_StartPage;
  118. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_EnableAutoCarrierIdRead;
  119. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_EnableAutoCarrierIdRead;
  120. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP4_DefaultPage;
  121. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP4_DefaultPage;
  122. }
  123. private void E84View_ConfigChanged2(object sender)
  124. {
  125. NewE84Info e84Info = null;
  126. foreach (TabItem tabItem in root.Items)
  127. {
  128. e84Info = (NewE84Info)tabItem.Content;
  129. if (e84Info.LoadPortName == "LP3")
  130. break;
  131. }
  132. if (e84Info == null) return;
  133. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_PLInService;
  134. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_PLInService;
  135. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_DataReadSize;
  136. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_DataReadSize;
  137. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_StartPage;
  138. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_StartPage;
  139. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_EnableAutoCarrierIdRead;
  140. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_EnableAutoCarrierIdRead;
  141. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP3_DefaultPage;
  142. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP3_DefaultPage;
  143. }
  144. private void E84View_ConfigChanged(object sender)
  145. {
  146. NewE84Info e84Info = null;
  147. foreach (TabItem tabItem in root.Items)
  148. {
  149. e84Info = (NewE84Info)tabItem.Content;
  150. if (e84Info.LoadPortName == "LP2")
  151. break;
  152. }
  153. if (e84Info == null) return;
  154. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_PLInService;
  155. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_PLInService;
  156. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_DataReadSize;
  157. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_DataReadSize;
  158. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_StartPage;
  159. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_StartPage;
  160. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_EnableAutoCarrierIdRead;
  161. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_EnableAutoCarrierIdRead;
  162. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP2_DefaultPage;
  163. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP2_DefaultPage;
  164. }
  165. private void E84View_ConfigChanged1(object sender)
  166. {
  167. NewE84Info e84Info = null;
  168. foreach (TabItem tabItem in root.Items)
  169. {
  170. e84Info = (NewE84Info)tabItem.Content;
  171. if (e84Info.LoadPortName == "LP1")
  172. break;
  173. }
  174. if (e84Info == null) return;
  175. e84Info.PLInService.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_PLInService;
  176. e84Info.PLInService.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_PLInService;
  177. e84Info.PLDataReadSize.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_DataReadSize;
  178. e84Info.PLDataReadSize.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_DataReadSize;
  179. e84Info.PLStartPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_StartPage;
  180. e84Info.PLStartPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_StartPage;
  181. e84Info.PLEnableAutoCarrierIdRead.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_EnableAutoCarrierIdRead;
  182. e84Info.PLEnableAutoCarrierIdRead.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_EnableAutoCarrierIdRead;
  183. e84Info.PLDefaultPage.ScFeedback = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigFeedback.LoadPort_LP1_DefaultPage;
  184. e84Info.PLDefaultPage.ScSetPoint = ((NewE84InfoViewModel)e84Info.ConfigBorder.DataContext).ConfigSetPoint.LoadPort_LP1_DefaultPage;
  185. }
  186. private void E84Info_Loaded(object sender, RoutedEventArgs e)
  187. {
  188. SetControlDefaultValue();
  189. }
  190. }
  191. public class NewE84ViewModel : UIViewModelBase
  192. {
  193. int lpCount = 6;
  194. public NewE84ViewModel() : base("E84ViewModel")
  195. {
  196. E84InfoDataLps = new NewE84InfoData[lpCount];
  197. for (int i = 0; i < lpCount; i++)
  198. {
  199. E84InfoDataLps[i] = new NewE84InfoData();
  200. }
  201. for (int i = 0; i < lpCount; i++)
  202. {
  203. Subscribe($"LP{i + 1}.IsPresent");
  204. Subscribe($"LP{i + 1}.IsPlaced");
  205. Subscribe($"LP{i + 1}.IsClamped");
  206. Subscribe($"LP{i + 1}.IsDocked");
  207. Subscribe($"LP{i + 1}.LoadportState");
  208. Subscribe($"LP{i + 1}.TransferState");
  209. Subscribe($"LP{i + 1}.AccessMode");
  210. Subscribe($"LP{i + 1}.CarrierIDStatus");
  211. Subscribe($"LP{i + 1}.SlotMapStatus");
  212. Subscribe($"LP{i + 1}.AccessStatus");
  213. Subscribe($"LP{i + 1}.CarrierId");
  214. Subscribe($"LP{i + 1}.SlotMap");
  215. Subscribe($"LP{i + 1}.Valid");
  216. Subscribe($"LP{i + 1}.TransferRequest");
  217. Subscribe($"LP{i + 1}.Busy");
  218. Subscribe($"LP{i + 1}.TransferComplete");
  219. Subscribe($"LP{i + 1}.CS0");
  220. Subscribe($"LP{i + 1}.CS1");
  221. Subscribe($"LP{i + 1}.CONT");
  222. Subscribe($"LP{i + 1}.LoadRequest");
  223. Subscribe($"LP{i + 1}.UnloadRequest");
  224. Subscribe($"LP{i + 1}.ReadyToTransfer");
  225. Subscribe($"LP{i + 1}.HandoffAvailable");
  226. Subscribe($"LP{i + 1}.ES");
  227. Subscribe($"LP{i + 1}.E84State");
  228. Subscribe($"LP{i + 1}.IndicatiorLoad");
  229. Subscribe($"LP{i + 1}.IndicatiorUnload");
  230. Subscribe($"LP{i + 1}.IndicatiorPresence");
  231. Subscribe($"LP{i + 1}.IndicatiorPlacement");
  232. Subscribe($"LP{i + 1}.IndicatiorAlarm");
  233. Subscribe($"LP{i + 1}.IndicatiorAccessAuto");
  234. Subscribe($"LP{i + 1}.IndicatiorAccessManual");
  235. Subscribe($"LP{i + 1}.IndicatiorOpAccess");
  236. Subscribe($"LP{i + 1}.IndicatiorStatus1");
  237. Subscribe($"LP{i + 1}.IndicatiorStatus2");
  238. Subscribe($"LP{i + 1}.SystemStatus");
  239. Subscribe($"LP{i + 1}.Mode");
  240. Subscribe($"LP{i + 1}.InitPosMovement");
  241. Subscribe($"LP{i + 1}.OperationStatus");
  242. Subscribe($"LP{i + 1}.ErrorCode");
  243. Subscribe($"LP{i + 1}.ContainerStatus");
  244. Subscribe($"LP{i + 1}.ClampPosition");
  245. Subscribe($"LP{i + 1}.LPDoorLatchPosition");
  246. Subscribe($"LP{i + 1}.VacuumStatus");
  247. Subscribe($"LP{i + 1}.LPDoorState");
  248. Subscribe($"LP{i + 1}.WaferProtrusion");
  249. Subscribe($"LP{i + 1}.ElevatorAxisPosition");
  250. Subscribe($"LP{i + 1}.DockPosition");
  251. Subscribe($"LP{i + 1}.MapperPostion");
  252. Subscribe($"LP{i + 1}.MappingStatus");
  253. Subscribe($"LP{i + 1}.IsFosbModeActual");
  254. Subscribe($"LP{i + 1}.CarrierId");
  255. Subscribe($"LP{i + 1}.WaferMapThickness");
  256. }
  257. //E84InfoDataLp2 = new E84InfoData();
  258. //E84InfoDataLp3 = new E84InfoData();
  259. //E84InfoDataLp4 = new E84InfoData();
  260. //E84InfoDataLp5 = new E84InfoData();
  261. //E84InfoDataLp6 = new E84InfoData();
  262. }
  263. public NewE84InfoData[] E84InfoDataLps { get; set; }
  264. [Subscription("LP1.IsEnable")]
  265. public bool LP1Enable { get; set; }
  266. [Subscription("LP2.IsEnable")]
  267. public bool LP2Enable { get; set; }
  268. //public E84InfoData E84InfoDataLp2 { get; set; }
  269. //public E84InfoData E84InfoDataLp3 { get; set; }
  270. //public E84InfoData E84InfoDataLp4 { get; set; }
  271. //public E84InfoData E84InfoDataLp5 { get; set; }
  272. //public E84InfoData E84InfoDataLp6 { get; set; }
  273. //[Subscription("IsPresent", "LP1")]
  274. //public bool PodPresentLp1
  275. //{
  276. // get => E84InfoDataLp1.PodPresent;
  277. // set => E84InfoDataLp1.PodPresent = value;
  278. //}
  279. //[Subscription(ParamName.IsPresent, "LP2")]
  280. //public bool PodPresentLp2
  281. //{
  282. // get => E84InfoDataLp2.PodPresent;
  283. // set => E84InfoDataLp2.PodPresent = value;
  284. //}
  285. //[Subscription(ParamName.IsPresent, "LP3")]
  286. //public bool PodPresentLp3
  287. //{
  288. // get => E84InfoDataLp3.PodPresent;
  289. // set => E84InfoDataLp3.PodPresent = value;
  290. //}
  291. //[Subscription(ParamName.IsPresent, "LP4")]
  292. //public bool PodPresentLp4
  293. //{
  294. // get => E84InfoDataLp4.PodPresent;
  295. // set => E84InfoDataLp4.PodPresent = value;
  296. //}
  297. //[Subscription(ParamName.IsPresent, "LP5")]
  298. //public bool PodPresentLp5
  299. //{
  300. // get => E84InfoDataLp5.PodPresent;
  301. // set => E84InfoDataLp5.PodPresent = value;
  302. //}
  303. //[Subscription(ParamName.IsPresent, "LP6")]
  304. //public bool PodPresentLp6
  305. //{
  306. // get => E84InfoDataLp6.PodPresent;
  307. // set => E84InfoDataLp6.PodPresent = value;
  308. //}
  309. //[Subscription(ParamName.IsPlaced, "LP1")]
  310. //public bool PodPlacedLp1
  311. //{
  312. // get => E84InfoDataLp1.PodPlaced;
  313. // set => E84InfoDataLp1.PodPlaced = value;
  314. //}
  315. //[Subscription(ParamName.IsPlaced, "LP2")]
  316. //public bool PodPlacedLp2
  317. //{
  318. // get => E84InfoDataLp2.PodPlaced;
  319. // set => E84InfoDataLp2.PodPlaced = value;
  320. //}
  321. //[Subscription(ParamName.IsPlaced, "LP3")]
  322. //public bool PodPlacedLp3
  323. //{
  324. // get => E84InfoDataLp3.PodPlaced;
  325. // set => E84InfoDataLp3.PodPlaced = value;
  326. //}
  327. //[Subscription(ParamName.IsPlaced, "LP4")]
  328. //public bool PodPlacedLp4
  329. //{
  330. // get => E84InfoDataLp4.PodPlaced;
  331. // set => E84InfoDataLp4.PodPlaced = value;
  332. //}
  333. //[Subscription(ParamName.IsPlaced, "LP5")]
  334. //public bool PodPlacedLp5
  335. //{
  336. // get => E84InfoDataLp5.PodPlaced;
  337. // set => E84InfoDataLp5.PodPlaced = value;
  338. //}
  339. //[Subscription(ParamName.IsPlaced, "LP6")]
  340. //public bool PodPlacedLp6
  341. //{
  342. // get => E84InfoDataLp6.PodPlaced;
  343. // set => E84InfoDataLp6.PodPlaced = value;
  344. //}
  345. //[Subscription(ParamName.IsClamped, "LP1")]
  346. //public bool PodLatchedLp1
  347. //{
  348. // get => E84InfoDataLp1.PodLatched;
  349. // set => E84InfoDataLp1.PodLatched = value;
  350. //}
  351. //[Subscription(ParamName.IsClamped, "LP2")]
  352. //public bool PodLatchedLp2
  353. //{
  354. // get => E84InfoDataLp2.PodLatched;
  355. // set => E84InfoDataLp2.PodLatched = value;
  356. //}
  357. //[Subscription(ParamName.IsClamped, "LP3")]
  358. //public bool PodLatchedLp3
  359. //{
  360. // get => E84InfoDataLp3.PodLatched;
  361. // set => E84InfoDataLp3.PodLatched = value;
  362. //}
  363. //[Subscription(ParamName.IsClamped, "LP4")]
  364. //public bool PodLatchedLp4
  365. //{
  366. // get => E84InfoDataLp4.PodLatched;
  367. // set => E84InfoDataLp4.PodLatched = value;
  368. //}
  369. //[Subscription(ParamName.IsClamped, "LP5")]
  370. //public bool PodLatchedLp5
  371. //{
  372. // get => E84InfoDataLp5.PodLatched;
  373. // set => E84InfoDataLp5.PodLatched = value;
  374. //}
  375. //[Subscription(ParamName.IsClamped, "LP6")]
  376. //public bool PodLatchedLp6
  377. //{
  378. // get => E84InfoDataLp6.PodLatched;
  379. // set => E84InfoDataLp6.PodLatched = value;
  380. //}
  381. //[Subscription(ParamName.IsDocked, "LP1")]
  382. //public bool PodDockedLp1
  383. //{
  384. // get => E84InfoDataLp1.PodDocked;
  385. // set => E84InfoDataLp1.PodDocked = value;
  386. //}
  387. //[Subscription(ParamName.IsDocked, "LP2")]
  388. //public bool PodDockedLp2
  389. //{
  390. // get => E84InfoDataLp2.PodDocked;
  391. // set => E84InfoDataLp2.PodDocked = value;
  392. //}
  393. //[Subscription(ParamName.IsDocked, "LP3")]
  394. //public bool PodDockedLp3
  395. //{
  396. // get => E84InfoDataLp3.PodDocked;
  397. // set => E84InfoDataLp3.PodDocked = value;
  398. //}
  399. //[Subscription(ParamName.IsDocked, "LP4")]
  400. //public bool PodDockedLp4
  401. //{
  402. // get => E84InfoDataLp4.PodDocked;
  403. // set => E84InfoDataLp4.PodDocked = value;
  404. //}
  405. //[Subscription(ParamName.IsDocked, "LP5")]
  406. //public bool PodDockedLp5
  407. //{
  408. // get => E84InfoDataLp5.PodDocked;
  409. // set => E84InfoDataLp5.PodDocked = value;
  410. //}
  411. //[Subscription(ParamName.IsDocked, "LP6")]
  412. //public bool PodDockedLp6
  413. //{
  414. // get => E84InfoDataLp6.PodDocked;
  415. // set => E84InfoDataLp6.PodDocked = value;
  416. //}
  417. //[Subscription(ParamName.LoadportState, "LP1")]
  418. //public string LoadPortStateLp1
  419. //{
  420. // get => E84InfoDataLp1.LoadPortState;
  421. // set => E84InfoDataLp1.LoadPortState = value;
  422. //}
  423. //[Subscription(ParamName.LoadportState, "LP2")]
  424. //public string LoadPortStateLp2
  425. //{
  426. // get => E84InfoDataLp2.LoadPortState;
  427. // set => E84InfoDataLp2.LoadPortState = value;
  428. //}
  429. //[Subscription(ParamName.LoadportState, "LP3")]
  430. //public string LoadPortStateLp3
  431. //{
  432. // get => E84InfoDataLp3.LoadPortState;
  433. // set => E84InfoDataLp3.LoadPortState = value;
  434. //}
  435. //[Subscription(ParamName.LoadportState, "LP4")]
  436. //public string LoadPortStateLp4
  437. //{
  438. // get => E84InfoDataLp4.LoadPortState;
  439. // set => E84InfoDataLp4.LoadPortState = value;
  440. //}
  441. //[Subscription(ParamName.LoadportState, "LP5")]
  442. //public string LoadPortStateLp5
  443. //{
  444. // get => E84InfoDataLp5.LoadPortState;
  445. // set => E84InfoDataLp5.LoadPortState = value;
  446. //}
  447. //[Subscription(ParamName.LoadportState, "LP6")]
  448. //public string LoadPortStateLp6
  449. //{
  450. // get => E84InfoDataLp6.LoadPortState;
  451. // set => E84InfoDataLp6.LoadPortState = value;
  452. //}
  453. //[Subscription("TransferState", "LP1")]
  454. //public string PortStateLp1
  455. //{
  456. // get => E84InfoDataLp1.PortState;
  457. // set => E84InfoDataLp1.PortState = value;
  458. //}
  459. //[Subscription("TransferState", "LP2")]
  460. //public string PortStateLp2
  461. //{
  462. // get => E84InfoDataLp2.PortState;
  463. // set => E84InfoDataLp2.PortState = value;
  464. //}
  465. //[Subscription("TransferState", "LP3")]
  466. //public string PortStateLp3
  467. //{
  468. // get => E84InfoDataLp3.PortState;
  469. // set => E84InfoDataLp3.PortState = value;
  470. //}
  471. //[Subscription("TransferState", "LP4")]
  472. //public string PortStateLp4
  473. //{
  474. // get => E84InfoDataLp4.PortState;
  475. // set => E84InfoDataLp4.PortState = value;
  476. //}
  477. //[Subscription("TransferState", "LP5")]
  478. //public string PortStateLp5
  479. //{
  480. // get => E84InfoDataLp5.PortState;
  481. // set => E84InfoDataLp5.PortState = value;
  482. //}
  483. //[Subscription("TransferState", "LP6")]
  484. //public string PortStateLp6
  485. //{
  486. // get => E84InfoDataLp6.PortState;
  487. // set => E84InfoDataLp6.PortState = value;
  488. //}
  489. //[Subscription("AccessMode", "LP1")]
  490. //public string AccessModeLp1
  491. //{
  492. // get => E84InfoDataLp1.AccessMode;
  493. // set => E84InfoDataLp1.AccessMode = value;
  494. //}
  495. //[Subscription("AccessMode", "LP2")]
  496. //public string AccessModeLp2
  497. //{
  498. // get => E84InfoDataLp2.AccessMode;
  499. // set => E84InfoDataLp2.AccessMode = value;
  500. //}
  501. //[Subscription("AccessMode", "LP3")]
  502. //public string AccessModeLp3
  503. //{
  504. // get => E84InfoDataLp3.AccessMode;
  505. // set => E84InfoDataLp3.AccessMode = value;
  506. //}
  507. //[Subscription("AccessMode", "LP4")]
  508. //public string AccessModeLp4
  509. //{
  510. // get => E84InfoDataLp4.AccessMode;
  511. // set => E84InfoDataLp4.AccessMode = value;
  512. //}
  513. //[Subscription("AccessMode", "LP5")]
  514. //public string AccessModeLp5
  515. //{
  516. // get => E84InfoDataLp5.AccessMode;
  517. // set => E84InfoDataLp5.AccessMode = value;
  518. //}
  519. //[Subscription("AccessMode", "LP6")]
  520. //public string AccessModeLp6
  521. //{
  522. // get => E84InfoDataLp6.AccessMode;
  523. // set => E84InfoDataLp6.AccessMode = value;
  524. //}
  525. //[Subscription("CarrierIDStatus", "LP1")]
  526. //public string CarrierIDStatusLP1
  527. //{
  528. // get => E84InfoDataLp1.CarrierIDStatus;
  529. // set => E84InfoDataLp1.CarrierIDStatus = value;
  530. //}
  531. //[Subscription("CarrierIDStatus", "LP2")]
  532. //public string CarrierIDStatusLP2
  533. //{
  534. // get => E84InfoDataLp2.CarrierIDStatus;
  535. // set => E84InfoDataLp2.CarrierIDStatus = value;
  536. //}
  537. //[Subscription("CarrierIDStatus", "LP3")]
  538. //public string CarrierIDStatusLP3
  539. //{
  540. // get => E84InfoDataLp3.CarrierIDStatus;
  541. // set => E84InfoDataLp3.CarrierIDStatus = value;
  542. //}
  543. //[Subscription("CarrierIDStatus", "LP4")]
  544. //public string CarrierIDStatusLP4
  545. //{
  546. // get => E84InfoDataLp4.CarrierIDStatus;
  547. // set => E84InfoDataLp4.CarrierIDStatus = value;
  548. //}
  549. //[Subscription("CarrierIDStatus", "LP5")]
  550. //public string CarrierIDStatusLP5
  551. //{
  552. // get => E84InfoDataLp5.CarrierIDStatus;
  553. // set => E84InfoDataLp5.CarrierIDStatus = value;
  554. //}
  555. //[Subscription("CarrierIDStatus", "LP6")]
  556. //public string CarrierIDStatusLP6
  557. //{
  558. // get => E84InfoDataLp6.CarrierIDStatus;
  559. // set => E84InfoDataLp6.CarrierIDStatus = value;
  560. //}
  561. //[Subscription("SlotMapStatus", "LP1")]
  562. //public string SlotMapStatusLP1
  563. //{
  564. // get => E84InfoDataLp1.SlotMapStatus;
  565. // set => E84InfoDataLp1.SlotMapStatus = value;
  566. //}
  567. //[Subscription("SlotMapStatus", "LP2")]
  568. //public string SlotMapStatusLP2
  569. //{
  570. // get => E84InfoDataLp2.SlotMapStatus;
  571. // set => E84InfoDataLp2.SlotMapStatus = value;
  572. //}
  573. //[Subscription("SlotMapStatus", "LP3")]
  574. //public string SlotMapStatusLP3
  575. //{
  576. // get => E84InfoDataLp3.SlotMapStatus;
  577. // set => E84InfoDataLp3.SlotMapStatus = value;
  578. //}
  579. //[Subscription("SlotMapStatus", "LP4")]
  580. //public string SlotMapStatusLP4
  581. //{
  582. // get => E84InfoDataLp4.SlotMapStatus;
  583. // set => E84InfoDataLp4.SlotMapStatus = value;
  584. //}
  585. //[Subscription("SlotMapStatus", "LP5")]
  586. //public string SlotMapStatusLP5
  587. //{
  588. // get => E84InfoDataLp5.SlotMapStatus;
  589. // set => E84InfoDataLp5.SlotMapStatus = value;
  590. //}
  591. //[Subscription("SlotMapStatus", "LP6")]
  592. //public string SlotMapStatusLP6
  593. //{
  594. // get => E84InfoDataLp6.SlotMapStatus;
  595. // set => E84InfoDataLp6.SlotMapStatus = value;
  596. //}
  597. //[Subscription("AccessStatus", "LP1")]
  598. //public string AccessStatusLP1
  599. //{
  600. // get => E84InfoDataLp1.AccessStatus;
  601. // set => E84InfoDataLp1.AccessStatus = value;
  602. //}
  603. //[Subscription("AccessStatus", "LP2")]
  604. //public string AccessStatusLP2
  605. //{
  606. // get => E84InfoDataLp2.AccessStatus;
  607. // set => E84InfoDataLp2.AccessStatus = value;
  608. //}
  609. //[Subscription("AccessStatus", "LP3")]
  610. //public string AccessStatusLP3
  611. //{
  612. // get => E84InfoDataLp3.AccessStatus;
  613. // set => E84InfoDataLp3.AccessStatus = value;
  614. //}
  615. //[Subscription("AccessStatus", "LP4")]
  616. //public string AccessStatusLP4
  617. //{
  618. // get => E84InfoDataLp4.AccessStatus;
  619. // set => E84InfoDataLp4.AccessStatus = value;
  620. //}
  621. //[Subscription("AccessStatus", "LP5")]
  622. //public string AccessStatusLP5
  623. //{
  624. // get => E84InfoDataLp5.AccessStatus;
  625. // set => E84InfoDataLp5.AccessStatus = value;
  626. //}
  627. //[Subscription("AccessStatus", "LP6")]
  628. //public string AccessStatusLP6
  629. //{
  630. // get => E84InfoDataLp6.AccessStatus;
  631. // set => E84InfoDataLp6.AccessStatus = value;
  632. //}
  633. //[Subscription(ParamName.CarrierId, DeviceName.LP1)]
  634. //public string CarrierIdLp1
  635. //{
  636. // get => E84InfoDataLp1.CarrierID;
  637. // set => E84InfoDataLp1.CarrierID = value;
  638. //}
  639. //[Subscription(ParamName.CarrierId, DeviceName.LP2)]
  640. //public string CarrierIdLp2
  641. //{
  642. // get => E84InfoDataLp2.CarrierID;
  643. // set => E84InfoDataLp2.CarrierID = value;
  644. //}
  645. //[Subscription(ParamName.CarrierId, DeviceName.LP3)]
  646. //public string CarrierIdLp3
  647. //{
  648. // get => E84InfoDataLp3.CarrierID;
  649. // set => E84InfoDataLp3.CarrierID = value;
  650. //}
  651. //[Subscription(ParamName.CarrierId, DeviceName.LP4)]
  652. //public string CarrierIdLp4
  653. //{
  654. // get => E84InfoDataLp4.CarrierID;
  655. // set => E84InfoDataLp4.CarrierID = value;
  656. //}
  657. //[Subscription(ParamName.CarrierId, DeviceName.LP5)]
  658. //public string CarrierIdLp5
  659. //{
  660. // get => E84InfoDataLp5.CarrierID;
  661. // set => E84InfoDataLp5.CarrierID = value;
  662. //}
  663. //[Subscription(ParamName.CarrierId, DeviceName.LP6)]
  664. //public string CarrierIdLp6
  665. //{
  666. // get => E84InfoDataLp6.CarrierID;
  667. // set => E84InfoDataLp6.CarrierID = value;
  668. //}
  669. //[Subscription(ParamName.SlotMap, DeviceName.LP1)]
  670. //public string SlotMapLp1
  671. //{
  672. // get => E84InfoDataLp1.SlotMap;
  673. // set => E84InfoDataLp1.SlotMap = value;
  674. //}
  675. //[Subscription(ParamName.SlotMap, DeviceName.LP2)]
  676. //public string SlotMapLp2
  677. //{
  678. // get => E84InfoDataLp2.SlotMap;
  679. // set => E84InfoDataLp2.SlotMap = value;
  680. //}
  681. //[Subscription(ParamName.SlotMap, DeviceName.LP3)]
  682. //public string SlotMapLp3
  683. //{
  684. // get => E84InfoDataLp3.SlotMap;
  685. // set => E84InfoDataLp3.SlotMap = value;
  686. //}
  687. //[Subscription(ParamName.SlotMap, DeviceName.LP4)]
  688. //public string SlotMapLp4
  689. //{
  690. // get => E84InfoDataLp4.SlotMap;
  691. // set => E84InfoDataLp4.SlotMap = value;
  692. //}
  693. //[Subscription(ParamName.SlotMap, DeviceName.LP5)]
  694. //public string SlotMapLp5
  695. //{
  696. // get => E84InfoDataLp5.SlotMap;
  697. // set => E84InfoDataLp5.SlotMap = value;
  698. //}
  699. //[Subscription(ParamName.SlotMap, DeviceName.LP6)]
  700. //public string SlotMapLp6
  701. //{
  702. // get => E84InfoDataLp6.SlotMap;
  703. // set => E84InfoDataLp6.SlotMap = value;
  704. //}
  705. //[Subscription("Valid", DeviceName.LP1)]
  706. //public bool ValidLp1
  707. //{
  708. // get => E84InfoDataLp1.Valid;
  709. // set => E84InfoDataLp1.Valid = value;
  710. //}
  711. //[Subscription("Valid", DeviceName.LP2)]
  712. //public bool ValidLp2
  713. //{
  714. // get => E84InfoDataLp2.Valid;
  715. // set => E84InfoDataLp2.Valid = value;
  716. //}
  717. //[Subscription("Valid", DeviceName.LP3)]
  718. //public bool ValidLp3
  719. //{
  720. // get => E84InfoDataLp3.Valid;
  721. // set => E84InfoDataLp3.Valid = value;
  722. //}
  723. //[Subscription("Valid", DeviceName.LP4)]
  724. //public bool ValidLp4
  725. //{
  726. // get => E84InfoDataLp4.Valid;
  727. // set => E84InfoDataLp4.Valid = value;
  728. //}
  729. //[Subscription("Valid", DeviceName.LP5)]
  730. //public bool ValidLp5
  731. //{
  732. // get => E84InfoDataLp5.Valid;
  733. // set => E84InfoDataLp5.Valid = value;
  734. //}
  735. //[Subscription("Valid", DeviceName.LP6)]
  736. //public bool ValidLp6
  737. //{
  738. // get => E84InfoDataLp6.Valid;
  739. // set => E84InfoDataLp6.Valid = value;
  740. //}
  741. //[Subscription("TransferRequest", DeviceName.LP1)]
  742. //public bool TransferRequestLp1
  743. //{
  744. // get => E84InfoDataLp1.TransferRequest;
  745. // set => E84InfoDataLp1.TransferRequest = value;
  746. //}
  747. //[Subscription("TransferRequest", DeviceName.LP2)]
  748. //public bool TransferRequestLp2
  749. //{
  750. // get => E84InfoDataLp2.TransferRequest;
  751. // set => E84InfoDataLp2.TransferRequest = value;
  752. //}
  753. //[Subscription("TransferRequest", DeviceName.LP3)]
  754. //public bool TransferRequestLp3
  755. //{
  756. // get => E84InfoDataLp3.TransferRequest;
  757. // set => E84InfoDataLp3.TransferRequest = value;
  758. //}
  759. //[Subscription("TransferRequest", DeviceName.LP4)]
  760. //public bool TransferRequestLp4
  761. //{
  762. // get => E84InfoDataLp4.TransferRequest;
  763. // set => E84InfoDataLp4.TransferRequest = value;
  764. //}
  765. //[Subscription("TransferRequest", DeviceName.LP5)]
  766. //public bool TransferRequestLp5
  767. //{
  768. // get => E84InfoDataLp5.TransferRequest;
  769. // set => E84InfoDataLp5.TransferRequest = value;
  770. //}
  771. //[Subscription("TransferRequest", DeviceName.LP6)]
  772. //public bool TransferRequestLp6
  773. //{
  774. // get => E84InfoDataLp6.TransferRequest;
  775. // set => E84InfoDataLp6.TransferRequest = value;
  776. //}
  777. //[Subscription("Busy", DeviceName.LP1)]
  778. //public bool BusyLp1
  779. //{
  780. // get => E84InfoDataLp1.Busy;
  781. // set => E84InfoDataLp1.Busy = value;
  782. //}
  783. //[Subscription("Busy", DeviceName.LP2)]
  784. //public bool BusyLp2
  785. //{
  786. // get => E84InfoDataLp2.Busy;
  787. // set => E84InfoDataLp2.Busy = value;
  788. //}
  789. //[Subscription("Busy", DeviceName.LP3)]
  790. //public bool BusyLp3
  791. //{
  792. // get => E84InfoDataLp3.Busy;
  793. // set => E84InfoDataLp3.Busy = value;
  794. //}
  795. //[Subscription("Busy", DeviceName.LP4)]
  796. //public bool BusyLp4
  797. //{
  798. // get => E84InfoDataLp4.Busy;
  799. // set => E84InfoDataLp4.Busy = value;
  800. //}
  801. //[Subscription("Busy", DeviceName.LP5)]
  802. //public bool BusyLp5
  803. //{
  804. // get => E84InfoDataLp5.Busy;
  805. // set => E84InfoDataLp5.Busy = value;
  806. //}
  807. //[Subscription("Busy", DeviceName.LP6)]
  808. //public bool BusyLp6
  809. //{
  810. // get => E84InfoDataLp6.Busy;
  811. // set => E84InfoDataLp6.Busy = value;
  812. //}
  813. //[Subscription("TransferComplete", DeviceName.LP1)]
  814. //public bool TransferCompleteLp1
  815. //{
  816. // get => E84InfoDataLp1.TransferComplete;
  817. // set => E84InfoDataLp1.TransferComplete = value;
  818. //}
  819. //[Subscription("TransferComplete", DeviceName.LP2)]
  820. //public bool TransferCompleteLp2
  821. //{
  822. // get => E84InfoDataLp2.TransferComplete;
  823. // set => E84InfoDataLp2.TransferComplete = value;
  824. //}
  825. //[Subscription("TransferComplete", DeviceName.LP3)]
  826. //public bool TransferCompleteLp3
  827. //{
  828. // get => E84InfoDataLp3.TransferComplete;
  829. // set => E84InfoDataLp3.TransferComplete = value;
  830. //}
  831. //[Subscription("TransferComplete", DeviceName.LP4)]
  832. //public bool TransferCompleteLp4
  833. //{
  834. // get => E84InfoDataLp4.TransferComplete;
  835. // set => E84InfoDataLp4.TransferComplete = value;
  836. //}
  837. //[Subscription("TransferComplete", DeviceName.LP5)]
  838. //public bool TransferCompleteLp5
  839. //{
  840. // get => E84InfoDataLp5.TransferComplete;
  841. // set => E84InfoDataLp5.TransferComplete = value;
  842. //}
  843. //[Subscription("TransferComplete", DeviceName.LP6)]
  844. //public bool TransferCompleteLp6
  845. //{
  846. // get => E84InfoDataLp6.TransferComplete;
  847. // set => E84InfoDataLp6.TransferComplete = value;
  848. //}
  849. //[Subscription("CS0", DeviceName.LP1)]
  850. //public bool CS0Lp1
  851. //{
  852. // get => E84InfoDataLp1.CS0;
  853. // set => E84InfoDataLp1.CS0 = value;
  854. //}
  855. //[Subscription("CS0", DeviceName.LP2)]
  856. //public bool CS0Lp2
  857. //{
  858. // get => E84InfoDataLp2.CS0;
  859. // set => E84InfoDataLp2.CS0 = value;
  860. //}
  861. //[Subscription("CS0", DeviceName.LP3)]
  862. //public bool CS0Lp3
  863. //{
  864. // get => E84InfoDataLp3.CS0;
  865. // set => E84InfoDataLp3.CS0 = value;
  866. //}
  867. //[Subscription("CS0", DeviceName.LP4)]
  868. //public bool CS0Lp4
  869. //{
  870. // get => E84InfoDataLp4.CS0;
  871. // set => E84InfoDataLp4.CS0 = value;
  872. //}
  873. //[Subscription("CS0", DeviceName.LP5)]
  874. //public bool CS0Lp5
  875. //{
  876. // get => E84InfoDataLp5.CS0;
  877. // set => E84InfoDataLp5.CS0 = value;
  878. //}
  879. //[Subscription("CS0", DeviceName.LP6)]
  880. //public bool CS0Lp6
  881. //{
  882. // get => E84InfoDataLp6.CS0;
  883. // set => E84InfoDataLp6.CS0 = value;
  884. //}
  885. //[Subscription("CS1", DeviceName.LP1)]
  886. //public bool CS1Lp1
  887. //{
  888. // get => E84InfoDataLp1.CS1;
  889. // set => E84InfoDataLp1.CS1 = value;
  890. //}
  891. //[Subscription("CS1", DeviceName.LP2)]
  892. //public bool CS1Lp2
  893. //{
  894. // get => E84InfoDataLp2.CS1;
  895. // set => E84InfoDataLp2.CS1 = value;
  896. //}
  897. //[Subscription("CS1", DeviceName.LP3)]
  898. //public bool CS1Lp3
  899. //{
  900. // get => E84InfoDataLp3.CS1;
  901. // set => E84InfoDataLp3.CS1 = value;
  902. //}
  903. //[Subscription("CS1", DeviceName.LP4)]
  904. //public bool CS1Lp4
  905. //{
  906. // get => E84InfoDataLp4.CS1;
  907. // set => E84InfoDataLp4.CS1 = value;
  908. //}
  909. //[Subscription("CS1", DeviceName.LP5)]
  910. //public bool CS1Lp5
  911. //{
  912. // get => E84InfoDataLp5.CS1;
  913. // set => E84InfoDataLp5.CS1 = value;
  914. //}
  915. //[Subscription("CS1", DeviceName.LP6)]
  916. //public bool CS1Lp6
  917. //{
  918. // get => E84InfoDataLp6.CS1;
  919. // set => E84InfoDataLp6.CS1 = value;
  920. //}
  921. //[Subscription("CONT", DeviceName.LP1)]
  922. //public bool ContinuousTransferLp1
  923. //{
  924. // get => E84InfoDataLp1.ContinuousTransfer;
  925. // set => E84InfoDataLp1.ContinuousTransfer = value;
  926. //}
  927. //[Subscription("CONT", DeviceName.LP2)]
  928. //public bool ContinuousTransferLp2
  929. //{
  930. // get => E84InfoDataLp2.ContinuousTransfer;
  931. // set => E84InfoDataLp2.ContinuousTransfer = value;
  932. //}
  933. //[Subscription("CONT", DeviceName.LP3)]
  934. //public bool ContinuousTransferLp3
  935. //{
  936. // get => E84InfoDataLp3.ContinuousTransfer;
  937. // set => E84InfoDataLp3.ContinuousTransfer = value;
  938. //}
  939. //[Subscription("CONT", DeviceName.LP4)]
  940. //public bool ContinuousTransferLp4
  941. //{
  942. // get => E84InfoDataLp4.ContinuousTransfer;
  943. // set => E84InfoDataLp4.ContinuousTransfer = value;
  944. //}
  945. //[Subscription("CONT", DeviceName.LP5)]
  946. //public bool ContinuousTransferLp5
  947. //{
  948. // get => E84InfoDataLp5.ContinuousTransfer;
  949. // set => E84InfoDataLp5.ContinuousTransfer = value;
  950. //}
  951. //[Subscription("CONT", DeviceName.LP6)]
  952. //public bool ContinuousTransferLp6
  953. //{
  954. // get => E84InfoDataLp6.ContinuousTransfer;
  955. // set => E84InfoDataLp6.ContinuousTransfer = value;
  956. //}
  957. //[Subscription("LoadRequest", DeviceName.LP1)]
  958. //public bool LoadRequestLp1
  959. //{
  960. // get => E84InfoDataLp1.LoadRequest;
  961. // set => E84InfoDataLp1.LoadRequest = value;
  962. //}
  963. //[Subscription("LoadRequest", DeviceName.LP2)]
  964. //public bool LoadRequestLp2
  965. //{
  966. // get => E84InfoDataLp2.LoadRequest;
  967. // set => E84InfoDataLp2.LoadRequest = value;
  968. //}
  969. //[Subscription("LoadRequest", DeviceName.LP3)]
  970. //public bool LoadRequestLp3
  971. //{
  972. // get => E84InfoDataLp3.LoadRequest;
  973. // set => E84InfoDataLp3.LoadRequest = value;
  974. //}
  975. //[Subscription("LoadRequest", DeviceName.LP4)]
  976. //public bool LoadRequestLp4
  977. //{
  978. // get => E84InfoDataLp4.LoadRequest;
  979. // set => E84InfoDataLp4.LoadRequest = value;
  980. //}
  981. //[Subscription("LoadRequest", DeviceName.LP5)]
  982. //public bool LoadRequestLp5
  983. //{
  984. // get => E84InfoDataLp5.LoadRequest;
  985. // set => E84InfoDataLp5.LoadRequest = value;
  986. //}
  987. //[Subscription("LoadRequest", DeviceName.LP6)]
  988. //public bool LoadRequestLp6
  989. //{
  990. // get => E84InfoDataLp6.LoadRequest;
  991. // set => E84InfoDataLp6.LoadRequest = value;
  992. //}
  993. //[Subscription("UnloadRequest", DeviceName.LP1)]
  994. //public bool UnloadRequestLp1
  995. //{
  996. // get => E84InfoDataLp1.UnloadRequest;
  997. // set => E84InfoDataLp1.UnloadRequest = value;
  998. //}
  999. //[Subscription("UnloadRequest", DeviceName.LP2)]
  1000. //public bool UnloadRequestLp2
  1001. //{
  1002. // get => E84InfoDataLp2.UnloadRequest;
  1003. // set => E84InfoDataLp2.UnloadRequest = value;
  1004. //}
  1005. //[Subscription("UnloadRequest", DeviceName.LP3)]
  1006. //public bool UnloadRequestLp3
  1007. //{
  1008. // get => E84InfoDataLp3.UnloadRequest;
  1009. // set => E84InfoDataLp3.UnloadRequest = value;
  1010. //}
  1011. //[Subscription("UnloadRequest", DeviceName.LP4)]
  1012. //public bool UnloadRequestLp4
  1013. //{
  1014. // get => E84InfoDataLp4.UnloadRequest;
  1015. // set => E84InfoDataLp4.UnloadRequest = value;
  1016. //}
  1017. //[Subscription("UnloadRequest", DeviceName.LP5)]
  1018. //public bool UnloadRequestLp5
  1019. //{
  1020. // get => E84InfoDataLp5.UnloadRequest;
  1021. // set => E84InfoDataLp5.UnloadRequest = value;
  1022. //}
  1023. //[Subscription("UnloadRequest", DeviceName.LP6)]
  1024. //public bool UnloadRequestLp6
  1025. //{
  1026. // get => E84InfoDataLp6.UnloadRequest;
  1027. // set => E84InfoDataLp6.UnloadRequest = value;
  1028. //}
  1029. //[Subscription("ReadyToTransfer", DeviceName.LP1)]
  1030. //public bool ReadyToTransferLp1
  1031. //{
  1032. // get => E84InfoDataLp1.ReadyToTransfer;
  1033. // set => E84InfoDataLp1.ReadyToTransfer = value;
  1034. //}
  1035. //[Subscription("ReadyToTransfer", DeviceName.LP2)]
  1036. //public bool ReadyToTransferLp2
  1037. //{
  1038. // get => E84InfoDataLp2.ReadyToTransfer;
  1039. // set => E84InfoDataLp2.ReadyToTransfer = value;
  1040. //}
  1041. //[Subscription("ReadyToTransfer", DeviceName.LP3)]
  1042. //public bool ReadyToTransferLp3
  1043. //{
  1044. // get => E84InfoDataLp3.ReadyToTransfer;
  1045. // set => E84InfoDataLp3.ReadyToTransfer = value;
  1046. //}
  1047. //[Subscription("ReadyToTransfer", DeviceName.LP4)]
  1048. //public bool ReadyToTransferLp4
  1049. //{
  1050. // get => E84InfoDataLp4.ReadyToTransfer;
  1051. // set => E84InfoDataLp4.ReadyToTransfer = value;
  1052. //}
  1053. //[Subscription("ReadyToTransfer", DeviceName.LP5)]
  1054. //public bool ReadyToTransferLp5
  1055. //{
  1056. // get => E84InfoDataLp5.ReadyToTransfer;
  1057. // set => E84InfoDataLp5.ReadyToTransfer = value;
  1058. //}
  1059. //[Subscription("ReadyToTransfer", DeviceName.LP6)]
  1060. //public bool ReadyToTransferLp6
  1061. //{
  1062. // get => E84InfoDataLp6.ReadyToTransfer;
  1063. // set => E84InfoDataLp6.ReadyToTransfer = value;
  1064. //}
  1065. //[Subscription("HandoffAvailable", DeviceName.LP1)]
  1066. //public bool HandoffAvailableLp1
  1067. //{
  1068. // get => E84InfoDataLp1.HandoffAvailable;
  1069. // set => E84InfoDataLp1.HandoffAvailable = value;
  1070. //}
  1071. //[Subscription("HandoffAvailable", DeviceName.LP2)]
  1072. //public bool HandoffAvailableLp2
  1073. //{
  1074. // get => E84InfoDataLp2.HandoffAvailable;
  1075. // set => E84InfoDataLp2.HandoffAvailable = value;
  1076. //}
  1077. //[Subscription("HandoffAvailable", DeviceName.LP3)]
  1078. //public bool HandoffAvailableLp3
  1079. //{
  1080. // get => E84InfoDataLp3.HandoffAvailable;
  1081. // set => E84InfoDataLp3.HandoffAvailable = value;
  1082. //}
  1083. //[Subscription("HandoffAvailable", DeviceName.LP4)]
  1084. //public bool HandoffAvailableLp4
  1085. //{
  1086. // get => E84InfoDataLp4.HandoffAvailable;
  1087. // set => E84InfoDataLp4.HandoffAvailable = value;
  1088. //}
  1089. //[Subscription("HandoffAvailable", DeviceName.LP5)]
  1090. //public bool HandoffAvailableLp5
  1091. //{
  1092. // get => E84InfoDataLp5.HandoffAvailable;
  1093. // set => E84InfoDataLp5.HandoffAvailable = value;
  1094. //}
  1095. //[Subscription("HandoffAvailable", DeviceName.LP6)]
  1096. //public bool HandoffAvailableLp6
  1097. //{
  1098. // get => E84InfoDataLp6.HandoffAvailable;
  1099. // set => E84InfoDataLp6.HandoffAvailable = value;
  1100. //}
  1101. //[Subscription("ES", DeviceName.LP1)]
  1102. //public bool EmergencyOkLp1
  1103. //{
  1104. // get => E84InfoDataLp1.EmergencyOk;
  1105. // set => E84InfoDataLp1.EmergencyOk = value;
  1106. //}
  1107. //[Subscription("ES", DeviceName.LP2)]
  1108. //public bool EmergencyOkLp2
  1109. //{
  1110. // get => E84InfoDataLp2.EmergencyOk;
  1111. // set => E84InfoDataLp2.EmergencyOk = value;
  1112. //}
  1113. //[Subscription("ES", DeviceName.LP3)]
  1114. //public bool EmergencyOkLp3
  1115. //{
  1116. // get => E84InfoDataLp3.EmergencyOk;
  1117. // set => E84InfoDataLp3.EmergencyOk = value;
  1118. //}
  1119. //[Subscription("ES", DeviceName.LP4)]
  1120. //public bool EmergencyOkLp4
  1121. //{
  1122. // get => E84InfoDataLp4.EmergencyOk;
  1123. // set => E84InfoDataLp4.EmergencyOk = value;
  1124. //}
  1125. //[Subscription("ES", DeviceName.LP5)]
  1126. //public bool EmergencyOkLp5
  1127. //{
  1128. // get => E84InfoDataLp5.EmergencyOk;
  1129. // set => E84InfoDataLp5.EmergencyOk = value;
  1130. //}
  1131. //[Subscription("ES", DeviceName.LP6)]
  1132. //public bool EmergencyOkLp6
  1133. //{
  1134. // get => E84InfoDataLp6.EmergencyOk;
  1135. // set => E84InfoDataLp6.EmergencyOk = value;
  1136. //}
  1137. //[Subscription("E84State", "LP1")]
  1138. //public string E84StateLp1
  1139. //{
  1140. // get => E84InfoDataLp1.E84State;
  1141. // set => E84InfoDataLp1.E84State = value;
  1142. //}
  1143. //[Subscription("E84State", "LP2")]
  1144. //public string E84StateLp2
  1145. //{
  1146. // get => E84InfoDataLp2.E84State;
  1147. // set => E84InfoDataLp2.E84State = value;
  1148. //}
  1149. //[Subscription("E84State", "LP3")]
  1150. //public string E84StateLp3
  1151. //{
  1152. // get => E84InfoDataLp3.E84State;
  1153. // set => E84InfoDataLp3.E84State = value;
  1154. //}
  1155. //[Subscription("E84State", "LP4")]
  1156. //public string E84StateLp4
  1157. //{
  1158. // get => E84InfoDataLp4.E84State;
  1159. // set => E84InfoDataLp4.E84State = value;
  1160. //}
  1161. //[Subscription("E84State", "LP5")]
  1162. //public string E84StateLp5
  1163. //{
  1164. // get => E84InfoDataLp5.E84State;
  1165. // set => E84InfoDataLp5.E84State = value;
  1166. //}
  1167. //[Subscription("E84State", "LP6")]
  1168. //public string E84StateLp6
  1169. //{
  1170. // get => E84InfoDataLp6.E84State;
  1171. // set => E84InfoDataLp6.E84State = value;
  1172. //}
  1173. protected override void InvokeBeforeUpdateProperty(Dictionary<string, object> data)
  1174. {
  1175. foreach (var item in data.Keys)
  1176. {
  1177. var tempValue = item;
  1178. int lpIndex = 0;
  1179. if (item.Substring(0, 1) == ".")
  1180. { tempValue = item.Substring(1, item.Length - 1); }
  1181. if (tempValue.Substring(0, 2) == "LP")
  1182. {
  1183. lpIndex = int.Parse(tempValue.Split('.')[0].Substring(2));
  1184. }
  1185. switch (tempValue.Split('.')[1])
  1186. {
  1187. case "IsPresent":
  1188. E84InfoDataLps[lpIndex - 1].PodPresent = (bool)data[item];
  1189. break;
  1190. case "IsPlaced":
  1191. E84InfoDataLps[lpIndex - 1].PodPlaced = (bool)data[item];
  1192. break;
  1193. case "IsClamped":
  1194. E84InfoDataLps[lpIndex - 1].PodLatched = (bool)data[item];
  1195. break;
  1196. case "IsDocked":
  1197. E84InfoDataLps[lpIndex - 1].PodDocked = (bool)data[item];
  1198. break;
  1199. case "LoadportState":
  1200. E84InfoDataLps[lpIndex - 1].LoadPortState = (string)data[item];
  1201. break;
  1202. case "TransferState":
  1203. E84InfoDataLps[lpIndex - 1].PortState = (string)data[item];
  1204. break;
  1205. case "AccessMode":
  1206. E84InfoDataLps[lpIndex - 1].AccessMode = (string)data[item];
  1207. break;
  1208. case "CarrierIDStatus":
  1209. E84InfoDataLps[lpIndex - 1].CarrierIDStatus = (string)data[item];
  1210. break;
  1211. case "SlotMapStatus":
  1212. E84InfoDataLps[lpIndex - 1].SlotMapStatus = (string)data[item];
  1213. break;
  1214. case "AccessStatus":
  1215. E84InfoDataLps[lpIndex - 1].AccessStatus = (string)data[item];
  1216. break;
  1217. case "CarrierId":
  1218. E84InfoDataLps[lpIndex - 1].CarrierID = (string)data[item];
  1219. break;
  1220. case "SlotMap":
  1221. E84InfoDataLps[lpIndex - 1].SlotMap = (string)data[item];
  1222. break;
  1223. case "Valid":
  1224. E84InfoDataLps[lpIndex - 1].Valid = (bool)data[item];
  1225. break;
  1226. case "TransferRequest":
  1227. E84InfoDataLps[lpIndex - 1].TransferRequest = (bool)data[item];
  1228. break;
  1229. case "Busy":
  1230. E84InfoDataLps[lpIndex - 1].Busy = (bool)data[item];
  1231. break;
  1232. case "TransferComplete":
  1233. E84InfoDataLps[lpIndex - 1].TransferComplete = (bool)data[item];
  1234. break;
  1235. case "CS0":
  1236. E84InfoDataLps[lpIndex - 1].CS0 = (bool)data[item];
  1237. break;
  1238. case "CS1":
  1239. E84InfoDataLps[lpIndex - 1].CS1 = (bool)data[item];
  1240. break;
  1241. case "CONT":
  1242. E84InfoDataLps[lpIndex - 1].ContinuousTransfer = (bool)data[item];
  1243. break;
  1244. case "LoadRequest":
  1245. E84InfoDataLps[lpIndex - 1].LoadRequest = (bool)data[item];
  1246. break;
  1247. case "UnloadRequest":
  1248. E84InfoDataLps[lpIndex - 1].UnloadRequest = (bool)data[item];
  1249. break;
  1250. case "ReadyToTransfer":
  1251. E84InfoDataLps[lpIndex - 1].ReadyToTransfer = (bool)data[item];
  1252. break;
  1253. case "HandoffAvailable":
  1254. E84InfoDataLps[lpIndex - 1].HandoffAvailable = (bool)data[item];
  1255. break;
  1256. case "ES":
  1257. E84InfoDataLps[lpIndex - 1].EmergencyOk = (bool)data[item];
  1258. break;
  1259. case "E84State":
  1260. E84InfoDataLps[lpIndex - 1].E84State = (string)data[item];
  1261. break;
  1262. case "IndicatiorLoad":
  1263. E84InfoDataLps[lpIndex - 1].IndicatiorLoad = (IndicatorState)data[item];
  1264. break;
  1265. case "IndicatiorUnload":
  1266. E84InfoDataLps[lpIndex - 1].IndicatiorUnload = (IndicatorState)data[item];
  1267. break;
  1268. case "IndicatiorPresence":
  1269. E84InfoDataLps[lpIndex - 1].IndicatiorPresence = (IndicatorState)data[item];
  1270. break;
  1271. case "IndicatiorPlacement":
  1272. E84InfoDataLps[lpIndex - 1].IndicatiorPlacement = (IndicatorState)data[item];
  1273. break;
  1274. case "IndicatiorAlarm":
  1275. E84InfoDataLps[lpIndex - 1].IndicatiorAlarm = (IndicatorState)data[item];
  1276. break;
  1277. case "IndicatiorAccessAuto":
  1278. E84InfoDataLps[lpIndex - 1].IndicatiorAccessAuto = (IndicatorState)data[item];
  1279. break;
  1280. case "IndicatiorAccessManual":
  1281. E84InfoDataLps[lpIndex - 1].IndicatiorAccessManual = (IndicatorState)data[item];
  1282. break;
  1283. case "IndicatiorOpAccess":
  1284. E84InfoDataLps[lpIndex - 1].IndicatiorOpAccess = (IndicatorState)data[item];
  1285. break;
  1286. case "IndicatiorStatus1":
  1287. E84InfoDataLps[lpIndex - 1].IndicatiorStatus1 = (IndicatorState)data[item];
  1288. break;
  1289. case "IndicatiorStatus2":
  1290. E84InfoDataLps[lpIndex - 1].IndicatiorStatus2 = (IndicatorState)data[item];
  1291. break;
  1292. case "SystemStatus":
  1293. E84InfoDataLps[lpIndex - 1].SystemStatus = (string)data[item];
  1294. break;
  1295. case "Mode":
  1296. E84InfoDataLps[lpIndex - 1].Mode = (string)data[item];
  1297. break;
  1298. case "InitPosMovement":
  1299. E84InfoDataLps[lpIndex - 1].InitPosMovement = (string)data[item];
  1300. break;
  1301. case "OperationStatus":
  1302. E84InfoDataLps[lpIndex - 1].OperationStatus = (string)data[item];
  1303. break;
  1304. case "ErrorCode":
  1305. E84InfoDataLps[lpIndex - 1].ErrorCode = (string)data[item];
  1306. break;
  1307. case "ContainerStatus":
  1308. E84InfoDataLps[lpIndex - 1].ContainerStatus = (string)data[item];
  1309. break;
  1310. case "ClampPosition":
  1311. E84InfoDataLps[lpIndex - 1].ClampPosition = (string)data[item];
  1312. break;
  1313. case "LPDoorLatchPosition":
  1314. E84InfoDataLps[lpIndex - 1].LPDoorLatchPosition = (string)data[item];
  1315. break;
  1316. case "VacuumStatus":
  1317. E84InfoDataLps[lpIndex - 1].VacuumStatus = (string)data[item];
  1318. break;
  1319. case "LPDoorState":
  1320. E84InfoDataLps[lpIndex - 1].LPDoorState = (string)data[item];
  1321. break;
  1322. case "WaferProtrusion":
  1323. E84InfoDataLps[lpIndex - 1].WaferProtrusion = (string)data[item];
  1324. break;
  1325. case "ElevatorAxisPosition":
  1326. E84InfoDataLps[lpIndex - 1].ElevatorAxisPosition = (string)data[item];
  1327. break;
  1328. case "DockPosition":
  1329. E84InfoDataLps[lpIndex - 1].DockPosition = (string)data[item];
  1330. break;
  1331. case "MapperPostion":
  1332. E84InfoDataLps[lpIndex - 1].MapperPostion = (string)data[item];
  1333. break;
  1334. case "MappingStatus":
  1335. E84InfoDataLps[lpIndex - 1].MappingStatus = (string)data[item];
  1336. break;
  1337. case "IsFosbModeActual":
  1338. E84InfoDataLps[lpIndex - 1].IsFosbModeActual = (string)data[item];
  1339. break;
  1340. case "WaferMapThickness":
  1341. Application.Current.Dispatcher.BeginInvoke(new Action(() =>
  1342. {
  1343. var getDataList = (int[])data[item];
  1344. if (getDataList != null)
  1345. {
  1346. E84InfoDataLps[lpIndex - 1].AllSlotThickness.Clear();
  1347. for (int i = 0; i < getDataList.Length; i++)
  1348. {
  1349. E84InfoDataLps[lpIndex - 1].AllSlotThickness.Add(new SlotThickness() { SlotName = $"Slot{i + 1} :", Value = getDataList[i] });
  1350. }
  1351. }
  1352. }));
  1353. break;
  1354. default:
  1355. break;
  1356. }
  1357. }
  1358. base.InvokeBeforeUpdateProperty(data);
  1359. }
  1360. }
  1361. }