NewE84View.xaml.cs 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526
  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. //public E84InfoData E84InfoDataLp2 { get; set; }
  265. //public E84InfoData E84InfoDataLp3 { get; set; }
  266. //public E84InfoData E84InfoDataLp4 { get; set; }
  267. //public E84InfoData E84InfoDataLp5 { get; set; }
  268. //public E84InfoData E84InfoDataLp6 { get; set; }
  269. //[Subscription("IsPresent", "LP1")]
  270. //public bool PodPresentLp1
  271. //{
  272. // get => E84InfoDataLp1.PodPresent;
  273. // set => E84InfoDataLp1.PodPresent = value;
  274. //}
  275. //[Subscription(ParamName.IsPresent, "LP2")]
  276. //public bool PodPresentLp2
  277. //{
  278. // get => E84InfoDataLp2.PodPresent;
  279. // set => E84InfoDataLp2.PodPresent = value;
  280. //}
  281. //[Subscription(ParamName.IsPresent, "LP3")]
  282. //public bool PodPresentLp3
  283. //{
  284. // get => E84InfoDataLp3.PodPresent;
  285. // set => E84InfoDataLp3.PodPresent = value;
  286. //}
  287. //[Subscription(ParamName.IsPresent, "LP4")]
  288. //public bool PodPresentLp4
  289. //{
  290. // get => E84InfoDataLp4.PodPresent;
  291. // set => E84InfoDataLp4.PodPresent = value;
  292. //}
  293. //[Subscription(ParamName.IsPresent, "LP5")]
  294. //public bool PodPresentLp5
  295. //{
  296. // get => E84InfoDataLp5.PodPresent;
  297. // set => E84InfoDataLp5.PodPresent = value;
  298. //}
  299. //[Subscription(ParamName.IsPresent, "LP6")]
  300. //public bool PodPresentLp6
  301. //{
  302. // get => E84InfoDataLp6.PodPresent;
  303. // set => E84InfoDataLp6.PodPresent = value;
  304. //}
  305. //[Subscription(ParamName.IsPlaced, "LP1")]
  306. //public bool PodPlacedLp1
  307. //{
  308. // get => E84InfoDataLp1.PodPlaced;
  309. // set => E84InfoDataLp1.PodPlaced = value;
  310. //}
  311. //[Subscription(ParamName.IsPlaced, "LP2")]
  312. //public bool PodPlacedLp2
  313. //{
  314. // get => E84InfoDataLp2.PodPlaced;
  315. // set => E84InfoDataLp2.PodPlaced = value;
  316. //}
  317. //[Subscription(ParamName.IsPlaced, "LP3")]
  318. //public bool PodPlacedLp3
  319. //{
  320. // get => E84InfoDataLp3.PodPlaced;
  321. // set => E84InfoDataLp3.PodPlaced = value;
  322. //}
  323. //[Subscription(ParamName.IsPlaced, "LP4")]
  324. //public bool PodPlacedLp4
  325. //{
  326. // get => E84InfoDataLp4.PodPlaced;
  327. // set => E84InfoDataLp4.PodPlaced = value;
  328. //}
  329. //[Subscription(ParamName.IsPlaced, "LP5")]
  330. //public bool PodPlacedLp5
  331. //{
  332. // get => E84InfoDataLp5.PodPlaced;
  333. // set => E84InfoDataLp5.PodPlaced = value;
  334. //}
  335. //[Subscription(ParamName.IsPlaced, "LP6")]
  336. //public bool PodPlacedLp6
  337. //{
  338. // get => E84InfoDataLp6.PodPlaced;
  339. // set => E84InfoDataLp6.PodPlaced = value;
  340. //}
  341. //[Subscription(ParamName.IsClamped, "LP1")]
  342. //public bool PodLatchedLp1
  343. //{
  344. // get => E84InfoDataLp1.PodLatched;
  345. // set => E84InfoDataLp1.PodLatched = value;
  346. //}
  347. //[Subscription(ParamName.IsClamped, "LP2")]
  348. //public bool PodLatchedLp2
  349. //{
  350. // get => E84InfoDataLp2.PodLatched;
  351. // set => E84InfoDataLp2.PodLatched = value;
  352. //}
  353. //[Subscription(ParamName.IsClamped, "LP3")]
  354. //public bool PodLatchedLp3
  355. //{
  356. // get => E84InfoDataLp3.PodLatched;
  357. // set => E84InfoDataLp3.PodLatched = value;
  358. //}
  359. //[Subscription(ParamName.IsClamped, "LP4")]
  360. //public bool PodLatchedLp4
  361. //{
  362. // get => E84InfoDataLp4.PodLatched;
  363. // set => E84InfoDataLp4.PodLatched = value;
  364. //}
  365. //[Subscription(ParamName.IsClamped, "LP5")]
  366. //public bool PodLatchedLp5
  367. //{
  368. // get => E84InfoDataLp5.PodLatched;
  369. // set => E84InfoDataLp5.PodLatched = value;
  370. //}
  371. //[Subscription(ParamName.IsClamped, "LP6")]
  372. //public bool PodLatchedLp6
  373. //{
  374. // get => E84InfoDataLp6.PodLatched;
  375. // set => E84InfoDataLp6.PodLatched = value;
  376. //}
  377. //[Subscription(ParamName.IsDocked, "LP1")]
  378. //public bool PodDockedLp1
  379. //{
  380. // get => E84InfoDataLp1.PodDocked;
  381. // set => E84InfoDataLp1.PodDocked = value;
  382. //}
  383. //[Subscription(ParamName.IsDocked, "LP2")]
  384. //public bool PodDockedLp2
  385. //{
  386. // get => E84InfoDataLp2.PodDocked;
  387. // set => E84InfoDataLp2.PodDocked = value;
  388. //}
  389. //[Subscription(ParamName.IsDocked, "LP3")]
  390. //public bool PodDockedLp3
  391. //{
  392. // get => E84InfoDataLp3.PodDocked;
  393. // set => E84InfoDataLp3.PodDocked = value;
  394. //}
  395. //[Subscription(ParamName.IsDocked, "LP4")]
  396. //public bool PodDockedLp4
  397. //{
  398. // get => E84InfoDataLp4.PodDocked;
  399. // set => E84InfoDataLp4.PodDocked = value;
  400. //}
  401. //[Subscription(ParamName.IsDocked, "LP5")]
  402. //public bool PodDockedLp5
  403. //{
  404. // get => E84InfoDataLp5.PodDocked;
  405. // set => E84InfoDataLp5.PodDocked = value;
  406. //}
  407. //[Subscription(ParamName.IsDocked, "LP6")]
  408. //public bool PodDockedLp6
  409. //{
  410. // get => E84InfoDataLp6.PodDocked;
  411. // set => E84InfoDataLp6.PodDocked = value;
  412. //}
  413. //[Subscription(ParamName.LoadportState, "LP1")]
  414. //public string LoadPortStateLp1
  415. //{
  416. // get => E84InfoDataLp1.LoadPortState;
  417. // set => E84InfoDataLp1.LoadPortState = value;
  418. //}
  419. //[Subscription(ParamName.LoadportState, "LP2")]
  420. //public string LoadPortStateLp2
  421. //{
  422. // get => E84InfoDataLp2.LoadPortState;
  423. // set => E84InfoDataLp2.LoadPortState = value;
  424. //}
  425. //[Subscription(ParamName.LoadportState, "LP3")]
  426. //public string LoadPortStateLp3
  427. //{
  428. // get => E84InfoDataLp3.LoadPortState;
  429. // set => E84InfoDataLp3.LoadPortState = value;
  430. //}
  431. //[Subscription(ParamName.LoadportState, "LP4")]
  432. //public string LoadPortStateLp4
  433. //{
  434. // get => E84InfoDataLp4.LoadPortState;
  435. // set => E84InfoDataLp4.LoadPortState = value;
  436. //}
  437. //[Subscription(ParamName.LoadportState, "LP5")]
  438. //public string LoadPortStateLp5
  439. //{
  440. // get => E84InfoDataLp5.LoadPortState;
  441. // set => E84InfoDataLp5.LoadPortState = value;
  442. //}
  443. //[Subscription(ParamName.LoadportState, "LP6")]
  444. //public string LoadPortStateLp6
  445. //{
  446. // get => E84InfoDataLp6.LoadPortState;
  447. // set => E84InfoDataLp6.LoadPortState = value;
  448. //}
  449. //[Subscription("TransferState", "LP1")]
  450. //public string PortStateLp1
  451. //{
  452. // get => E84InfoDataLp1.PortState;
  453. // set => E84InfoDataLp1.PortState = value;
  454. //}
  455. //[Subscription("TransferState", "LP2")]
  456. //public string PortStateLp2
  457. //{
  458. // get => E84InfoDataLp2.PortState;
  459. // set => E84InfoDataLp2.PortState = value;
  460. //}
  461. //[Subscription("TransferState", "LP3")]
  462. //public string PortStateLp3
  463. //{
  464. // get => E84InfoDataLp3.PortState;
  465. // set => E84InfoDataLp3.PortState = value;
  466. //}
  467. //[Subscription("TransferState", "LP4")]
  468. //public string PortStateLp4
  469. //{
  470. // get => E84InfoDataLp4.PortState;
  471. // set => E84InfoDataLp4.PortState = value;
  472. //}
  473. //[Subscription("TransferState", "LP5")]
  474. //public string PortStateLp5
  475. //{
  476. // get => E84InfoDataLp5.PortState;
  477. // set => E84InfoDataLp5.PortState = value;
  478. //}
  479. //[Subscription("TransferState", "LP6")]
  480. //public string PortStateLp6
  481. //{
  482. // get => E84InfoDataLp6.PortState;
  483. // set => E84InfoDataLp6.PortState = value;
  484. //}
  485. //[Subscription("AccessMode", "LP1")]
  486. //public string AccessModeLp1
  487. //{
  488. // get => E84InfoDataLp1.AccessMode;
  489. // set => E84InfoDataLp1.AccessMode = value;
  490. //}
  491. //[Subscription("AccessMode", "LP2")]
  492. //public string AccessModeLp2
  493. //{
  494. // get => E84InfoDataLp2.AccessMode;
  495. // set => E84InfoDataLp2.AccessMode = value;
  496. //}
  497. //[Subscription("AccessMode", "LP3")]
  498. //public string AccessModeLp3
  499. //{
  500. // get => E84InfoDataLp3.AccessMode;
  501. // set => E84InfoDataLp3.AccessMode = value;
  502. //}
  503. //[Subscription("AccessMode", "LP4")]
  504. //public string AccessModeLp4
  505. //{
  506. // get => E84InfoDataLp4.AccessMode;
  507. // set => E84InfoDataLp4.AccessMode = value;
  508. //}
  509. //[Subscription("AccessMode", "LP5")]
  510. //public string AccessModeLp5
  511. //{
  512. // get => E84InfoDataLp5.AccessMode;
  513. // set => E84InfoDataLp5.AccessMode = value;
  514. //}
  515. //[Subscription("AccessMode", "LP6")]
  516. //public string AccessModeLp6
  517. //{
  518. // get => E84InfoDataLp6.AccessMode;
  519. // set => E84InfoDataLp6.AccessMode = value;
  520. //}
  521. //[Subscription("CarrierIDStatus", "LP1")]
  522. //public string CarrierIDStatusLP1
  523. //{
  524. // get => E84InfoDataLp1.CarrierIDStatus;
  525. // set => E84InfoDataLp1.CarrierIDStatus = value;
  526. //}
  527. //[Subscription("CarrierIDStatus", "LP2")]
  528. //public string CarrierIDStatusLP2
  529. //{
  530. // get => E84InfoDataLp2.CarrierIDStatus;
  531. // set => E84InfoDataLp2.CarrierIDStatus = value;
  532. //}
  533. //[Subscription("CarrierIDStatus", "LP3")]
  534. //public string CarrierIDStatusLP3
  535. //{
  536. // get => E84InfoDataLp3.CarrierIDStatus;
  537. // set => E84InfoDataLp3.CarrierIDStatus = value;
  538. //}
  539. //[Subscription("CarrierIDStatus", "LP4")]
  540. //public string CarrierIDStatusLP4
  541. //{
  542. // get => E84InfoDataLp4.CarrierIDStatus;
  543. // set => E84InfoDataLp4.CarrierIDStatus = value;
  544. //}
  545. //[Subscription("CarrierIDStatus", "LP5")]
  546. //public string CarrierIDStatusLP5
  547. //{
  548. // get => E84InfoDataLp5.CarrierIDStatus;
  549. // set => E84InfoDataLp5.CarrierIDStatus = value;
  550. //}
  551. //[Subscription("CarrierIDStatus", "LP6")]
  552. //public string CarrierIDStatusLP6
  553. //{
  554. // get => E84InfoDataLp6.CarrierIDStatus;
  555. // set => E84InfoDataLp6.CarrierIDStatus = value;
  556. //}
  557. //[Subscription("SlotMapStatus", "LP1")]
  558. //public string SlotMapStatusLP1
  559. //{
  560. // get => E84InfoDataLp1.SlotMapStatus;
  561. // set => E84InfoDataLp1.SlotMapStatus = value;
  562. //}
  563. //[Subscription("SlotMapStatus", "LP2")]
  564. //public string SlotMapStatusLP2
  565. //{
  566. // get => E84InfoDataLp2.SlotMapStatus;
  567. // set => E84InfoDataLp2.SlotMapStatus = value;
  568. //}
  569. //[Subscription("SlotMapStatus", "LP3")]
  570. //public string SlotMapStatusLP3
  571. //{
  572. // get => E84InfoDataLp3.SlotMapStatus;
  573. // set => E84InfoDataLp3.SlotMapStatus = value;
  574. //}
  575. //[Subscription("SlotMapStatus", "LP4")]
  576. //public string SlotMapStatusLP4
  577. //{
  578. // get => E84InfoDataLp4.SlotMapStatus;
  579. // set => E84InfoDataLp4.SlotMapStatus = value;
  580. //}
  581. //[Subscription("SlotMapStatus", "LP5")]
  582. //public string SlotMapStatusLP5
  583. //{
  584. // get => E84InfoDataLp5.SlotMapStatus;
  585. // set => E84InfoDataLp5.SlotMapStatus = value;
  586. //}
  587. //[Subscription("SlotMapStatus", "LP6")]
  588. //public string SlotMapStatusLP6
  589. //{
  590. // get => E84InfoDataLp6.SlotMapStatus;
  591. // set => E84InfoDataLp6.SlotMapStatus = value;
  592. //}
  593. //[Subscription("AccessStatus", "LP1")]
  594. //public string AccessStatusLP1
  595. //{
  596. // get => E84InfoDataLp1.AccessStatus;
  597. // set => E84InfoDataLp1.AccessStatus = value;
  598. //}
  599. //[Subscription("AccessStatus", "LP2")]
  600. //public string AccessStatusLP2
  601. //{
  602. // get => E84InfoDataLp2.AccessStatus;
  603. // set => E84InfoDataLp2.AccessStatus = value;
  604. //}
  605. //[Subscription("AccessStatus", "LP3")]
  606. //public string AccessStatusLP3
  607. //{
  608. // get => E84InfoDataLp3.AccessStatus;
  609. // set => E84InfoDataLp3.AccessStatus = value;
  610. //}
  611. //[Subscription("AccessStatus", "LP4")]
  612. //public string AccessStatusLP4
  613. //{
  614. // get => E84InfoDataLp4.AccessStatus;
  615. // set => E84InfoDataLp4.AccessStatus = value;
  616. //}
  617. //[Subscription("AccessStatus", "LP5")]
  618. //public string AccessStatusLP5
  619. //{
  620. // get => E84InfoDataLp5.AccessStatus;
  621. // set => E84InfoDataLp5.AccessStatus = value;
  622. //}
  623. //[Subscription("AccessStatus", "LP6")]
  624. //public string AccessStatusLP6
  625. //{
  626. // get => E84InfoDataLp6.AccessStatus;
  627. // set => E84InfoDataLp6.AccessStatus = value;
  628. //}
  629. //[Subscription(ParamName.CarrierId, DeviceName.LP1)]
  630. //public string CarrierIdLp1
  631. //{
  632. // get => E84InfoDataLp1.CarrierID;
  633. // set => E84InfoDataLp1.CarrierID = value;
  634. //}
  635. //[Subscription(ParamName.CarrierId, DeviceName.LP2)]
  636. //public string CarrierIdLp2
  637. //{
  638. // get => E84InfoDataLp2.CarrierID;
  639. // set => E84InfoDataLp2.CarrierID = value;
  640. //}
  641. //[Subscription(ParamName.CarrierId, DeviceName.LP3)]
  642. //public string CarrierIdLp3
  643. //{
  644. // get => E84InfoDataLp3.CarrierID;
  645. // set => E84InfoDataLp3.CarrierID = value;
  646. //}
  647. //[Subscription(ParamName.CarrierId, DeviceName.LP4)]
  648. //public string CarrierIdLp4
  649. //{
  650. // get => E84InfoDataLp4.CarrierID;
  651. // set => E84InfoDataLp4.CarrierID = value;
  652. //}
  653. //[Subscription(ParamName.CarrierId, DeviceName.LP5)]
  654. //public string CarrierIdLp5
  655. //{
  656. // get => E84InfoDataLp5.CarrierID;
  657. // set => E84InfoDataLp5.CarrierID = value;
  658. //}
  659. //[Subscription(ParamName.CarrierId, DeviceName.LP6)]
  660. //public string CarrierIdLp6
  661. //{
  662. // get => E84InfoDataLp6.CarrierID;
  663. // set => E84InfoDataLp6.CarrierID = value;
  664. //}
  665. //[Subscription(ParamName.SlotMap, DeviceName.LP1)]
  666. //public string SlotMapLp1
  667. //{
  668. // get => E84InfoDataLp1.SlotMap;
  669. // set => E84InfoDataLp1.SlotMap = value;
  670. //}
  671. //[Subscription(ParamName.SlotMap, DeviceName.LP2)]
  672. //public string SlotMapLp2
  673. //{
  674. // get => E84InfoDataLp2.SlotMap;
  675. // set => E84InfoDataLp2.SlotMap = value;
  676. //}
  677. //[Subscription(ParamName.SlotMap, DeviceName.LP3)]
  678. //public string SlotMapLp3
  679. //{
  680. // get => E84InfoDataLp3.SlotMap;
  681. // set => E84InfoDataLp3.SlotMap = value;
  682. //}
  683. //[Subscription(ParamName.SlotMap, DeviceName.LP4)]
  684. //public string SlotMapLp4
  685. //{
  686. // get => E84InfoDataLp4.SlotMap;
  687. // set => E84InfoDataLp4.SlotMap = value;
  688. //}
  689. //[Subscription(ParamName.SlotMap, DeviceName.LP5)]
  690. //public string SlotMapLp5
  691. //{
  692. // get => E84InfoDataLp5.SlotMap;
  693. // set => E84InfoDataLp5.SlotMap = value;
  694. //}
  695. //[Subscription(ParamName.SlotMap, DeviceName.LP6)]
  696. //public string SlotMapLp6
  697. //{
  698. // get => E84InfoDataLp6.SlotMap;
  699. // set => E84InfoDataLp6.SlotMap = value;
  700. //}
  701. //[Subscription("Valid", DeviceName.LP1)]
  702. //public bool ValidLp1
  703. //{
  704. // get => E84InfoDataLp1.Valid;
  705. // set => E84InfoDataLp1.Valid = value;
  706. //}
  707. //[Subscription("Valid", DeviceName.LP2)]
  708. //public bool ValidLp2
  709. //{
  710. // get => E84InfoDataLp2.Valid;
  711. // set => E84InfoDataLp2.Valid = value;
  712. //}
  713. //[Subscription("Valid", DeviceName.LP3)]
  714. //public bool ValidLp3
  715. //{
  716. // get => E84InfoDataLp3.Valid;
  717. // set => E84InfoDataLp3.Valid = value;
  718. //}
  719. //[Subscription("Valid", DeviceName.LP4)]
  720. //public bool ValidLp4
  721. //{
  722. // get => E84InfoDataLp4.Valid;
  723. // set => E84InfoDataLp4.Valid = value;
  724. //}
  725. //[Subscription("Valid", DeviceName.LP5)]
  726. //public bool ValidLp5
  727. //{
  728. // get => E84InfoDataLp5.Valid;
  729. // set => E84InfoDataLp5.Valid = value;
  730. //}
  731. //[Subscription("Valid", DeviceName.LP6)]
  732. //public bool ValidLp6
  733. //{
  734. // get => E84InfoDataLp6.Valid;
  735. // set => E84InfoDataLp6.Valid = value;
  736. //}
  737. //[Subscription("TransferRequest", DeviceName.LP1)]
  738. //public bool TransferRequestLp1
  739. //{
  740. // get => E84InfoDataLp1.TransferRequest;
  741. // set => E84InfoDataLp1.TransferRequest = value;
  742. //}
  743. //[Subscription("TransferRequest", DeviceName.LP2)]
  744. //public bool TransferRequestLp2
  745. //{
  746. // get => E84InfoDataLp2.TransferRequest;
  747. // set => E84InfoDataLp2.TransferRequest = value;
  748. //}
  749. //[Subscription("TransferRequest", DeviceName.LP3)]
  750. //public bool TransferRequestLp3
  751. //{
  752. // get => E84InfoDataLp3.TransferRequest;
  753. // set => E84InfoDataLp3.TransferRequest = value;
  754. //}
  755. //[Subscription("TransferRequest", DeviceName.LP4)]
  756. //public bool TransferRequestLp4
  757. //{
  758. // get => E84InfoDataLp4.TransferRequest;
  759. // set => E84InfoDataLp4.TransferRequest = value;
  760. //}
  761. //[Subscription("TransferRequest", DeviceName.LP5)]
  762. //public bool TransferRequestLp5
  763. //{
  764. // get => E84InfoDataLp5.TransferRequest;
  765. // set => E84InfoDataLp5.TransferRequest = value;
  766. //}
  767. //[Subscription("TransferRequest", DeviceName.LP6)]
  768. //public bool TransferRequestLp6
  769. //{
  770. // get => E84InfoDataLp6.TransferRequest;
  771. // set => E84InfoDataLp6.TransferRequest = value;
  772. //}
  773. //[Subscription("Busy", DeviceName.LP1)]
  774. //public bool BusyLp1
  775. //{
  776. // get => E84InfoDataLp1.Busy;
  777. // set => E84InfoDataLp1.Busy = value;
  778. //}
  779. //[Subscription("Busy", DeviceName.LP2)]
  780. //public bool BusyLp2
  781. //{
  782. // get => E84InfoDataLp2.Busy;
  783. // set => E84InfoDataLp2.Busy = value;
  784. //}
  785. //[Subscription("Busy", DeviceName.LP3)]
  786. //public bool BusyLp3
  787. //{
  788. // get => E84InfoDataLp3.Busy;
  789. // set => E84InfoDataLp3.Busy = value;
  790. //}
  791. //[Subscription("Busy", DeviceName.LP4)]
  792. //public bool BusyLp4
  793. //{
  794. // get => E84InfoDataLp4.Busy;
  795. // set => E84InfoDataLp4.Busy = value;
  796. //}
  797. //[Subscription("Busy", DeviceName.LP5)]
  798. //public bool BusyLp5
  799. //{
  800. // get => E84InfoDataLp5.Busy;
  801. // set => E84InfoDataLp5.Busy = value;
  802. //}
  803. //[Subscription("Busy", DeviceName.LP6)]
  804. //public bool BusyLp6
  805. //{
  806. // get => E84InfoDataLp6.Busy;
  807. // set => E84InfoDataLp6.Busy = value;
  808. //}
  809. //[Subscription("TransferComplete", DeviceName.LP1)]
  810. //public bool TransferCompleteLp1
  811. //{
  812. // get => E84InfoDataLp1.TransferComplete;
  813. // set => E84InfoDataLp1.TransferComplete = value;
  814. //}
  815. //[Subscription("TransferComplete", DeviceName.LP2)]
  816. //public bool TransferCompleteLp2
  817. //{
  818. // get => E84InfoDataLp2.TransferComplete;
  819. // set => E84InfoDataLp2.TransferComplete = value;
  820. //}
  821. //[Subscription("TransferComplete", DeviceName.LP3)]
  822. //public bool TransferCompleteLp3
  823. //{
  824. // get => E84InfoDataLp3.TransferComplete;
  825. // set => E84InfoDataLp3.TransferComplete = value;
  826. //}
  827. //[Subscription("TransferComplete", DeviceName.LP4)]
  828. //public bool TransferCompleteLp4
  829. //{
  830. // get => E84InfoDataLp4.TransferComplete;
  831. // set => E84InfoDataLp4.TransferComplete = value;
  832. //}
  833. //[Subscription("TransferComplete", DeviceName.LP5)]
  834. //public bool TransferCompleteLp5
  835. //{
  836. // get => E84InfoDataLp5.TransferComplete;
  837. // set => E84InfoDataLp5.TransferComplete = value;
  838. //}
  839. //[Subscription("TransferComplete", DeviceName.LP6)]
  840. //public bool TransferCompleteLp6
  841. //{
  842. // get => E84InfoDataLp6.TransferComplete;
  843. // set => E84InfoDataLp6.TransferComplete = value;
  844. //}
  845. //[Subscription("CS0", DeviceName.LP1)]
  846. //public bool CS0Lp1
  847. //{
  848. // get => E84InfoDataLp1.CS0;
  849. // set => E84InfoDataLp1.CS0 = value;
  850. //}
  851. //[Subscription("CS0", DeviceName.LP2)]
  852. //public bool CS0Lp2
  853. //{
  854. // get => E84InfoDataLp2.CS0;
  855. // set => E84InfoDataLp2.CS0 = value;
  856. //}
  857. //[Subscription("CS0", DeviceName.LP3)]
  858. //public bool CS0Lp3
  859. //{
  860. // get => E84InfoDataLp3.CS0;
  861. // set => E84InfoDataLp3.CS0 = value;
  862. //}
  863. //[Subscription("CS0", DeviceName.LP4)]
  864. //public bool CS0Lp4
  865. //{
  866. // get => E84InfoDataLp4.CS0;
  867. // set => E84InfoDataLp4.CS0 = value;
  868. //}
  869. //[Subscription("CS0", DeviceName.LP5)]
  870. //public bool CS0Lp5
  871. //{
  872. // get => E84InfoDataLp5.CS0;
  873. // set => E84InfoDataLp5.CS0 = value;
  874. //}
  875. //[Subscription("CS0", DeviceName.LP6)]
  876. //public bool CS0Lp6
  877. //{
  878. // get => E84InfoDataLp6.CS0;
  879. // set => E84InfoDataLp6.CS0 = value;
  880. //}
  881. //[Subscription("CS1", DeviceName.LP1)]
  882. //public bool CS1Lp1
  883. //{
  884. // get => E84InfoDataLp1.CS1;
  885. // set => E84InfoDataLp1.CS1 = value;
  886. //}
  887. //[Subscription("CS1", DeviceName.LP2)]
  888. //public bool CS1Lp2
  889. //{
  890. // get => E84InfoDataLp2.CS1;
  891. // set => E84InfoDataLp2.CS1 = value;
  892. //}
  893. //[Subscription("CS1", DeviceName.LP3)]
  894. //public bool CS1Lp3
  895. //{
  896. // get => E84InfoDataLp3.CS1;
  897. // set => E84InfoDataLp3.CS1 = value;
  898. //}
  899. //[Subscription("CS1", DeviceName.LP4)]
  900. //public bool CS1Lp4
  901. //{
  902. // get => E84InfoDataLp4.CS1;
  903. // set => E84InfoDataLp4.CS1 = value;
  904. //}
  905. //[Subscription("CS1", DeviceName.LP5)]
  906. //public bool CS1Lp5
  907. //{
  908. // get => E84InfoDataLp5.CS1;
  909. // set => E84InfoDataLp5.CS1 = value;
  910. //}
  911. //[Subscription("CS1", DeviceName.LP6)]
  912. //public bool CS1Lp6
  913. //{
  914. // get => E84InfoDataLp6.CS1;
  915. // set => E84InfoDataLp6.CS1 = value;
  916. //}
  917. //[Subscription("CONT", DeviceName.LP1)]
  918. //public bool ContinuousTransferLp1
  919. //{
  920. // get => E84InfoDataLp1.ContinuousTransfer;
  921. // set => E84InfoDataLp1.ContinuousTransfer = value;
  922. //}
  923. //[Subscription("CONT", DeviceName.LP2)]
  924. //public bool ContinuousTransferLp2
  925. //{
  926. // get => E84InfoDataLp2.ContinuousTransfer;
  927. // set => E84InfoDataLp2.ContinuousTransfer = value;
  928. //}
  929. //[Subscription("CONT", DeviceName.LP3)]
  930. //public bool ContinuousTransferLp3
  931. //{
  932. // get => E84InfoDataLp3.ContinuousTransfer;
  933. // set => E84InfoDataLp3.ContinuousTransfer = value;
  934. //}
  935. //[Subscription("CONT", DeviceName.LP4)]
  936. //public bool ContinuousTransferLp4
  937. //{
  938. // get => E84InfoDataLp4.ContinuousTransfer;
  939. // set => E84InfoDataLp4.ContinuousTransfer = value;
  940. //}
  941. //[Subscription("CONT", DeviceName.LP5)]
  942. //public bool ContinuousTransferLp5
  943. //{
  944. // get => E84InfoDataLp5.ContinuousTransfer;
  945. // set => E84InfoDataLp5.ContinuousTransfer = value;
  946. //}
  947. //[Subscription("CONT", DeviceName.LP6)]
  948. //public bool ContinuousTransferLp6
  949. //{
  950. // get => E84InfoDataLp6.ContinuousTransfer;
  951. // set => E84InfoDataLp6.ContinuousTransfer = value;
  952. //}
  953. //[Subscription("LoadRequest", DeviceName.LP1)]
  954. //public bool LoadRequestLp1
  955. //{
  956. // get => E84InfoDataLp1.LoadRequest;
  957. // set => E84InfoDataLp1.LoadRequest = value;
  958. //}
  959. //[Subscription("LoadRequest", DeviceName.LP2)]
  960. //public bool LoadRequestLp2
  961. //{
  962. // get => E84InfoDataLp2.LoadRequest;
  963. // set => E84InfoDataLp2.LoadRequest = value;
  964. //}
  965. //[Subscription("LoadRequest", DeviceName.LP3)]
  966. //public bool LoadRequestLp3
  967. //{
  968. // get => E84InfoDataLp3.LoadRequest;
  969. // set => E84InfoDataLp3.LoadRequest = value;
  970. //}
  971. //[Subscription("LoadRequest", DeviceName.LP4)]
  972. //public bool LoadRequestLp4
  973. //{
  974. // get => E84InfoDataLp4.LoadRequest;
  975. // set => E84InfoDataLp4.LoadRequest = value;
  976. //}
  977. //[Subscription("LoadRequest", DeviceName.LP5)]
  978. //public bool LoadRequestLp5
  979. //{
  980. // get => E84InfoDataLp5.LoadRequest;
  981. // set => E84InfoDataLp5.LoadRequest = value;
  982. //}
  983. //[Subscription("LoadRequest", DeviceName.LP6)]
  984. //public bool LoadRequestLp6
  985. //{
  986. // get => E84InfoDataLp6.LoadRequest;
  987. // set => E84InfoDataLp6.LoadRequest = value;
  988. //}
  989. //[Subscription("UnloadRequest", DeviceName.LP1)]
  990. //public bool UnloadRequestLp1
  991. //{
  992. // get => E84InfoDataLp1.UnloadRequest;
  993. // set => E84InfoDataLp1.UnloadRequest = value;
  994. //}
  995. //[Subscription("UnloadRequest", DeviceName.LP2)]
  996. //public bool UnloadRequestLp2
  997. //{
  998. // get => E84InfoDataLp2.UnloadRequest;
  999. // set => E84InfoDataLp2.UnloadRequest = value;
  1000. //}
  1001. //[Subscription("UnloadRequest", DeviceName.LP3)]
  1002. //public bool UnloadRequestLp3
  1003. //{
  1004. // get => E84InfoDataLp3.UnloadRequest;
  1005. // set => E84InfoDataLp3.UnloadRequest = value;
  1006. //}
  1007. //[Subscription("UnloadRequest", DeviceName.LP4)]
  1008. //public bool UnloadRequestLp4
  1009. //{
  1010. // get => E84InfoDataLp4.UnloadRequest;
  1011. // set => E84InfoDataLp4.UnloadRequest = value;
  1012. //}
  1013. //[Subscription("UnloadRequest", DeviceName.LP5)]
  1014. //public bool UnloadRequestLp5
  1015. //{
  1016. // get => E84InfoDataLp5.UnloadRequest;
  1017. // set => E84InfoDataLp5.UnloadRequest = value;
  1018. //}
  1019. //[Subscription("UnloadRequest", DeviceName.LP6)]
  1020. //public bool UnloadRequestLp6
  1021. //{
  1022. // get => E84InfoDataLp6.UnloadRequest;
  1023. // set => E84InfoDataLp6.UnloadRequest = value;
  1024. //}
  1025. //[Subscription("ReadyToTransfer", DeviceName.LP1)]
  1026. //public bool ReadyToTransferLp1
  1027. //{
  1028. // get => E84InfoDataLp1.ReadyToTransfer;
  1029. // set => E84InfoDataLp1.ReadyToTransfer = value;
  1030. //}
  1031. //[Subscription("ReadyToTransfer", DeviceName.LP2)]
  1032. //public bool ReadyToTransferLp2
  1033. //{
  1034. // get => E84InfoDataLp2.ReadyToTransfer;
  1035. // set => E84InfoDataLp2.ReadyToTransfer = value;
  1036. //}
  1037. //[Subscription("ReadyToTransfer", DeviceName.LP3)]
  1038. //public bool ReadyToTransferLp3
  1039. //{
  1040. // get => E84InfoDataLp3.ReadyToTransfer;
  1041. // set => E84InfoDataLp3.ReadyToTransfer = value;
  1042. //}
  1043. //[Subscription("ReadyToTransfer", DeviceName.LP4)]
  1044. //public bool ReadyToTransferLp4
  1045. //{
  1046. // get => E84InfoDataLp4.ReadyToTransfer;
  1047. // set => E84InfoDataLp4.ReadyToTransfer = value;
  1048. //}
  1049. //[Subscription("ReadyToTransfer", DeviceName.LP5)]
  1050. //public bool ReadyToTransferLp5
  1051. //{
  1052. // get => E84InfoDataLp5.ReadyToTransfer;
  1053. // set => E84InfoDataLp5.ReadyToTransfer = value;
  1054. //}
  1055. //[Subscription("ReadyToTransfer", DeviceName.LP6)]
  1056. //public bool ReadyToTransferLp6
  1057. //{
  1058. // get => E84InfoDataLp6.ReadyToTransfer;
  1059. // set => E84InfoDataLp6.ReadyToTransfer = value;
  1060. //}
  1061. //[Subscription("HandoffAvailable", DeviceName.LP1)]
  1062. //public bool HandoffAvailableLp1
  1063. //{
  1064. // get => E84InfoDataLp1.HandoffAvailable;
  1065. // set => E84InfoDataLp1.HandoffAvailable = value;
  1066. //}
  1067. //[Subscription("HandoffAvailable", DeviceName.LP2)]
  1068. //public bool HandoffAvailableLp2
  1069. //{
  1070. // get => E84InfoDataLp2.HandoffAvailable;
  1071. // set => E84InfoDataLp2.HandoffAvailable = value;
  1072. //}
  1073. //[Subscription("HandoffAvailable", DeviceName.LP3)]
  1074. //public bool HandoffAvailableLp3
  1075. //{
  1076. // get => E84InfoDataLp3.HandoffAvailable;
  1077. // set => E84InfoDataLp3.HandoffAvailable = value;
  1078. //}
  1079. //[Subscription("HandoffAvailable", DeviceName.LP4)]
  1080. //public bool HandoffAvailableLp4
  1081. //{
  1082. // get => E84InfoDataLp4.HandoffAvailable;
  1083. // set => E84InfoDataLp4.HandoffAvailable = value;
  1084. //}
  1085. //[Subscription("HandoffAvailable", DeviceName.LP5)]
  1086. //public bool HandoffAvailableLp5
  1087. //{
  1088. // get => E84InfoDataLp5.HandoffAvailable;
  1089. // set => E84InfoDataLp5.HandoffAvailable = value;
  1090. //}
  1091. //[Subscription("HandoffAvailable", DeviceName.LP6)]
  1092. //public bool HandoffAvailableLp6
  1093. //{
  1094. // get => E84InfoDataLp6.HandoffAvailable;
  1095. // set => E84InfoDataLp6.HandoffAvailable = value;
  1096. //}
  1097. //[Subscription("ES", DeviceName.LP1)]
  1098. //public bool EmergencyOkLp1
  1099. //{
  1100. // get => E84InfoDataLp1.EmergencyOk;
  1101. // set => E84InfoDataLp1.EmergencyOk = value;
  1102. //}
  1103. //[Subscription("ES", DeviceName.LP2)]
  1104. //public bool EmergencyOkLp2
  1105. //{
  1106. // get => E84InfoDataLp2.EmergencyOk;
  1107. // set => E84InfoDataLp2.EmergencyOk = value;
  1108. //}
  1109. //[Subscription("ES", DeviceName.LP3)]
  1110. //public bool EmergencyOkLp3
  1111. //{
  1112. // get => E84InfoDataLp3.EmergencyOk;
  1113. // set => E84InfoDataLp3.EmergencyOk = value;
  1114. //}
  1115. //[Subscription("ES", DeviceName.LP4)]
  1116. //public bool EmergencyOkLp4
  1117. //{
  1118. // get => E84InfoDataLp4.EmergencyOk;
  1119. // set => E84InfoDataLp4.EmergencyOk = value;
  1120. //}
  1121. //[Subscription("ES", DeviceName.LP5)]
  1122. //public bool EmergencyOkLp5
  1123. //{
  1124. // get => E84InfoDataLp5.EmergencyOk;
  1125. // set => E84InfoDataLp5.EmergencyOk = value;
  1126. //}
  1127. //[Subscription("ES", DeviceName.LP6)]
  1128. //public bool EmergencyOkLp6
  1129. //{
  1130. // get => E84InfoDataLp6.EmergencyOk;
  1131. // set => E84InfoDataLp6.EmergencyOk = value;
  1132. //}
  1133. //[Subscription("E84State", "LP1")]
  1134. //public string E84StateLp1
  1135. //{
  1136. // get => E84InfoDataLp1.E84State;
  1137. // set => E84InfoDataLp1.E84State = value;
  1138. //}
  1139. //[Subscription("E84State", "LP2")]
  1140. //public string E84StateLp2
  1141. //{
  1142. // get => E84InfoDataLp2.E84State;
  1143. // set => E84InfoDataLp2.E84State = value;
  1144. //}
  1145. //[Subscription("E84State", "LP3")]
  1146. //public string E84StateLp3
  1147. //{
  1148. // get => E84InfoDataLp3.E84State;
  1149. // set => E84InfoDataLp3.E84State = value;
  1150. //}
  1151. //[Subscription("E84State", "LP4")]
  1152. //public string E84StateLp4
  1153. //{
  1154. // get => E84InfoDataLp4.E84State;
  1155. // set => E84InfoDataLp4.E84State = value;
  1156. //}
  1157. //[Subscription("E84State", "LP5")]
  1158. //public string E84StateLp5
  1159. //{
  1160. // get => E84InfoDataLp5.E84State;
  1161. // set => E84InfoDataLp5.E84State = value;
  1162. //}
  1163. //[Subscription("E84State", "LP6")]
  1164. //public string E84StateLp6
  1165. //{
  1166. // get => E84InfoDataLp6.E84State;
  1167. // set => E84InfoDataLp6.E84State = value;
  1168. //}
  1169. protected override void InvokeBeforeUpdateProperty(Dictionary<string, object> data)
  1170. {
  1171. foreach (var item in data.Keys)
  1172. {
  1173. var tempValue = item;
  1174. int lpIndex = 0;
  1175. if (item.Substring(0, 1) == ".")
  1176. { tempValue = item.Substring(1, item.Length - 1); }
  1177. if (tempValue.Substring(0, 2) == "LP")
  1178. {
  1179. lpIndex = int.Parse(tempValue.Split('.')[0].Substring(2));
  1180. }
  1181. switch (tempValue.Split('.')[1])
  1182. {
  1183. case "IsPresent":
  1184. E84InfoDataLps[lpIndex - 1].PodPresent = (bool)data[item];
  1185. break;
  1186. case "IsPlaced":
  1187. E84InfoDataLps[lpIndex - 1].PodPlaced = (bool)data[item];
  1188. break;
  1189. case "IsClamped":
  1190. E84InfoDataLps[lpIndex - 1].PodLatched = (bool)data[item];
  1191. break;
  1192. case "IsDocked":
  1193. E84InfoDataLps[lpIndex - 1].PodDocked = (bool)data[item];
  1194. break;
  1195. case "LoadportState":
  1196. E84InfoDataLps[lpIndex - 1].LoadPortState = (string)data[item];
  1197. break;
  1198. case "TransferState":
  1199. E84InfoDataLps[lpIndex - 1].PortState = (string)data[item];
  1200. break;
  1201. case "AccessMode":
  1202. E84InfoDataLps[lpIndex - 1].AccessMode = (string)data[item];
  1203. break;
  1204. case "CarrierIDStatus":
  1205. E84InfoDataLps[lpIndex - 1].CarrierIDStatus = (string)data[item];
  1206. break;
  1207. case "SlotMapStatus":
  1208. E84InfoDataLps[lpIndex - 1].SlotMapStatus = (string)data[item];
  1209. break;
  1210. case "AccessStatus":
  1211. E84InfoDataLps[lpIndex - 1].AccessStatus = (string)data[item];
  1212. break;
  1213. case "CarrierId":
  1214. E84InfoDataLps[lpIndex - 1].CarrierID = (string)data[item];
  1215. break;
  1216. case "SlotMap":
  1217. E84InfoDataLps[lpIndex - 1].SlotMap = (string)data[item];
  1218. break;
  1219. case "Valid":
  1220. E84InfoDataLps[lpIndex - 1].Valid = (bool)data[item];
  1221. break;
  1222. case "TransferRequest":
  1223. E84InfoDataLps[lpIndex - 1].TransferRequest = (bool)data[item];
  1224. break;
  1225. case "Busy":
  1226. E84InfoDataLps[lpIndex - 1].Busy = (bool)data[item];
  1227. break;
  1228. case "TransferComplete":
  1229. E84InfoDataLps[lpIndex - 1].TransferComplete = (bool)data[item];
  1230. break;
  1231. case "CS0":
  1232. E84InfoDataLps[lpIndex - 1].CS0 = (bool)data[item];
  1233. break;
  1234. case "CS1":
  1235. E84InfoDataLps[lpIndex - 1].CS1 = (bool)data[item];
  1236. break;
  1237. case "CONT":
  1238. E84InfoDataLps[lpIndex - 1].ContinuousTransfer = (bool)data[item];
  1239. break;
  1240. case "LoadRequest":
  1241. E84InfoDataLps[lpIndex - 1].LoadRequest = (bool)data[item];
  1242. break;
  1243. case "UnloadRequest":
  1244. E84InfoDataLps[lpIndex - 1].UnloadRequest = (bool)data[item];
  1245. break;
  1246. case "ReadyToTransfer":
  1247. E84InfoDataLps[lpIndex - 1].ReadyToTransfer = (bool)data[item];
  1248. break;
  1249. case "HandoffAvailable":
  1250. E84InfoDataLps[lpIndex - 1].HandoffAvailable = (bool)data[item];
  1251. break;
  1252. case "ES":
  1253. E84InfoDataLps[lpIndex - 1].EmergencyOk = (bool)data[item];
  1254. break;
  1255. case "E84State":
  1256. E84InfoDataLps[lpIndex - 1].E84State = (string)data[item];
  1257. break;
  1258. case "IndicatiorLoad":
  1259. E84InfoDataLps[lpIndex - 1].IndicatiorLoad = (IndicatorState)data[item];
  1260. break;
  1261. case "IndicatiorUnload":
  1262. E84InfoDataLps[lpIndex - 1].IndicatiorUnload = (IndicatorState)data[item];
  1263. break;
  1264. case "IndicatiorPresence":
  1265. E84InfoDataLps[lpIndex - 1].IndicatiorPresence = (IndicatorState)data[item];
  1266. break;
  1267. case "IndicatiorPlacement":
  1268. E84InfoDataLps[lpIndex - 1].IndicatiorPlacement = (IndicatorState)data[item];
  1269. break;
  1270. case "IndicatiorAlarm":
  1271. E84InfoDataLps[lpIndex - 1].IndicatiorAlarm = (IndicatorState)data[item];
  1272. break;
  1273. case "IndicatiorAccessAuto":
  1274. E84InfoDataLps[lpIndex - 1].IndicatiorAccessAuto = (IndicatorState)data[item];
  1275. break;
  1276. case "IndicatiorAccessManual":
  1277. E84InfoDataLps[lpIndex - 1].IndicatiorAccessManual = (IndicatorState)data[item];
  1278. break;
  1279. case "IndicatiorOpAccess":
  1280. E84InfoDataLps[lpIndex - 1].IndicatiorOpAccess = (IndicatorState)data[item];
  1281. break;
  1282. case "IndicatiorStatus1":
  1283. E84InfoDataLps[lpIndex - 1].IndicatiorStatus1 = (IndicatorState)data[item];
  1284. break;
  1285. case "IndicatiorStatus2":
  1286. E84InfoDataLps[lpIndex - 1].IndicatiorStatus2 = (IndicatorState)data[item];
  1287. break;
  1288. case "SystemStatus":
  1289. E84InfoDataLps[lpIndex - 1].SystemStatus = (string)data[item];
  1290. break;
  1291. case "Mode":
  1292. E84InfoDataLps[lpIndex - 1].Mode = (string)data[item];
  1293. break;
  1294. case "InitPosMovement":
  1295. E84InfoDataLps[lpIndex - 1].InitPosMovement = (string)data[item];
  1296. break;
  1297. case "OperationStatus":
  1298. E84InfoDataLps[lpIndex - 1].OperationStatus = (string)data[item];
  1299. break;
  1300. case "ErrorCode":
  1301. E84InfoDataLps[lpIndex - 1].ErrorCode = (string)data[item];
  1302. break;
  1303. case "ContainerStatus":
  1304. E84InfoDataLps[lpIndex - 1].ContainerStatus = (string)data[item];
  1305. break;
  1306. case "ClampPosition":
  1307. E84InfoDataLps[lpIndex - 1].ClampPosition = (string)data[item];
  1308. break;
  1309. case "LPDoorLatchPosition":
  1310. E84InfoDataLps[lpIndex - 1].LPDoorLatchPosition = (string)data[item];
  1311. break;
  1312. case "VacuumStatus":
  1313. E84InfoDataLps[lpIndex - 1].VacuumStatus = (string)data[item];
  1314. break;
  1315. case "LPDoorState":
  1316. E84InfoDataLps[lpIndex - 1].LPDoorState = (string)data[item];
  1317. break;
  1318. case "WaferProtrusion":
  1319. E84InfoDataLps[lpIndex - 1].WaferProtrusion = (string)data[item];
  1320. break;
  1321. case "ElevatorAxisPosition":
  1322. E84InfoDataLps[lpIndex - 1].ElevatorAxisPosition = (string)data[item];
  1323. break;
  1324. case "DockPosition":
  1325. E84InfoDataLps[lpIndex - 1].DockPosition = (string)data[item];
  1326. break;
  1327. case "MapperPostion":
  1328. E84InfoDataLps[lpIndex - 1].MapperPostion = (string)data[item];
  1329. break;
  1330. case "MappingStatus":
  1331. E84InfoDataLps[lpIndex - 1].MappingStatus = (string)data[item];
  1332. break;
  1333. case "IsFosbModeActual":
  1334. E84InfoDataLps[lpIndex - 1].IsFosbModeActual = (string)data[item];
  1335. break;
  1336. case "WaferMapThickness":
  1337. Application.Current.Dispatcher.BeginInvoke(new Action(() =>
  1338. {
  1339. var getDataList = (int[])data[item];
  1340. if (getDataList != null)
  1341. {
  1342. E84InfoDataLps[lpIndex - 1].AllSlotThickness.Clear();
  1343. for (int i = 0; i < getDataList.Length; i++)
  1344. {
  1345. E84InfoDataLps[lpIndex - 1].AllSlotThickness.Add(new SlotThickness() { SlotName = $"Slot{i + 1} :", Value = getDataList[i] });
  1346. }
  1347. }
  1348. }));
  1349. break;
  1350. default:
  1351. break;
  1352. }
  1353. }
  1354. base.InvokeBeforeUpdateProperty(data);
  1355. }
  1356. }
  1357. }