SCValue.cs 70 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Reflection;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace MECF.Framework.Common.Utilities
  8. {
  9. public interface INode
  10. {
  11. }
  12. public class SCValue4Block : SCValue
  13. {
  14. public class Block4Config : INode
  15. {
  16. public CSB Block1 { get; set; } = new CSB();
  17. public PRB1 Block2 { get; set; } = new PRB1();
  18. public PRB2 Block3 { get; set; } = new PRB2();
  19. public IFB Block4 { get; set; } = new IFB();
  20. }
  21. public Block4Config System_SetUp { get; set; }
  22. public SCValue4Block()
  23. {
  24. System_SetUp = new Block4Config();
  25. }
  26. public override void SetKeys()
  27. {
  28. _fieldMap.Clear();
  29. SetKeys(typeof(SCValue4Block), "", this);
  30. }
  31. public void SetKeys(Type type, string prefix, object objParent)
  32. {
  33. Dictionary<string, object> items = new Dictionary<string, object>();
  34. PropertyInfo[] property = type.GetProperties();
  35. foreach (PropertyInfo fiGroup in property) //System_SetUp_4Block
  36. {
  37. var ttt = fiGroup.PropertyType;
  38. object obj = null;
  39. if (objParent != null)
  40. obj = fiGroup.GetValue(objParent, null);
  41. if (ttt != typeof(double) && ttt != typeof(string) && ttt != typeof(bool) && ttt != typeof(int))
  42. {
  43. string fiGroupName = fiGroup.Name;
  44. if (fiGroupName.Length > 6 && fiGroupName.Substring(0, 6) == "Module")
  45. {
  46. fiGroupName = fiGroupName.Replace("Module", "");
  47. }
  48. SetKeys(ttt, prefix + fiGroupName + "_", obj);
  49. continue;
  50. }
  51. string name = $"{prefix}{fiGroup.Name}".Replace("_", ".");
  52. if (_fieldMap.Keys.Contains(name))
  53. {
  54. _fieldMap[name] = Tuple.Create(objParent, fiGroup);
  55. }
  56. else
  57. {
  58. _fieldMap.Add(name, Tuple.Create(objParent, fiGroup));
  59. }
  60. }
  61. }
  62. public override void SetParameterValue(MECF.Framework.Common.Utilities.Parameter parameter)
  63. {
  64. if (System_SetUp.Block1 != null)
  65. {
  66. System_SetUp.Block1.Module0.SetParameterValue(parameter.Blocks[0].Modules[0]);
  67. System_SetUp.Block1.Module1.SetParameterValue(parameter.Blocks[0].Modules[1]);
  68. System_SetUp.Block1.Module2.SetParameterValue(parameter.Blocks[0].Modules[2]);
  69. System_SetUp.Block1.Module3.SetParameterValue(parameter.Blocks[0].Modules[3]);
  70. System_SetUp.Block1.Module4.SetParameterValue(parameter.Blocks[0].Modules[4]);
  71. System_SetUp.Block1.Module5.SetParameterValue(parameter.Blocks[0].Modules[5]);
  72. parameter.Blocks[0].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block1.Module0.TransferArm);
  73. System_SetUp.Block1.AccessHomePosition.SetParameterValue(parameter.Blocks[0].AccessHomePosition);
  74. System_SetUp.Block1.WaferCheckPosition.SetParameterValue(parameter.Blocks[0].WaferCheckPosition);
  75. }
  76. if (System_SetUp.Block2 != null)
  77. {
  78. System_SetUp.Block2.Module0.SetParameterValue(parameter.Blocks[1].Modules[0]);
  79. System_SetUp.Block2.Module1.SetParameterValue(parameter.Blocks[1].Modules[1]);
  80. System_SetUp.Block2.Module2.SetParameterValue(parameter.Blocks[1].Modules[2]);
  81. System_SetUp.Block2.Module3.SetParameterValue(parameter.Blocks[1].Modules[3]);
  82. System_SetUp.Block2.Module4.SetParameterValue(parameter.Blocks[1].Modules[4]);
  83. System_SetUp.Block2.Module5.SetParameterValue(parameter.Blocks[1].Modules[5]);
  84. System_SetUp.Block2.Module6.SetParameterValue(parameter.Blocks[1].Modules[6]);
  85. System_SetUp.Block2.Module7.SetParameterValue(parameter.Blocks[1].Modules[7]);
  86. System_SetUp.Block2.Module8.SetParameterValue(parameter.Blocks[1].Modules[8]);
  87. System_SetUp.Block2.Module9.SetParameterValue(parameter.Blocks[1].Modules[9]);
  88. System_SetUp.Block2.Module10.SetParameterValue(parameter.Blocks[1].Modules[10]);
  89. System_SetUp.Block2.Module11.SetParameterValue(parameter.Blocks[1].Modules[11]);
  90. System_SetUp.Block2.Module12.SetParameterValue(parameter.Blocks[1].Modules[12]);
  91. System_SetUp.Block2.Module13.SetParameterValue(parameter.Blocks[1].Modules[13]);
  92. System_SetUp.Block2.Module14.SetParameterValue(parameter.Blocks[1].Modules[14]);
  93. System_SetUp.Block2.Module15.SetParameterValue(parameter.Blocks[1].Modules[15]);
  94. System_SetUp.Block2.Module16.SetParameterValue(parameter.Blocks[1].Modules[16]);
  95. System_SetUp.Block2.Module17.SetParameterValue(parameter.Blocks[1].Modules[17]);
  96. System_SetUp.Block2.Module18.SetParameterValue(parameter.Blocks[1].Modules[18]);
  97. System_SetUp.Block2.Module19.SetParameterValue(parameter.Blocks[1].Modules[19]);
  98. System_SetUp.Block2.Module20.SetParameterValue(parameter.Blocks[1].Modules[20]);
  99. System_SetUp.Block2.Module21.SetParameterValue(parameter.Blocks[1].Modules[21]);
  100. System_SetUp.Block2.Module22.SetParameterValue(parameter.Blocks[1].Modules[22]);
  101. System_SetUp.Block2.Module23.SetParameterValue(parameter.Blocks[1].Modules[23]);
  102. System_SetUp.Block2.Module24.SetParameterValue(parameter.Blocks[1].Modules[24]);
  103. System_SetUp.Block2.Module25.SetParameterValue(parameter.Blocks[1].Modules[25]);
  104. System_SetUp.Block2.Module26.SetParameterValue(parameter.Blocks[1].Modules[26]);
  105. System_SetUp.Block2.Module27.SetParameterValue(parameter.Blocks[1].Modules[27]);
  106. System_SetUp.Block2.Module28.SetParameterValue(parameter.Blocks[1].Modules[28]);
  107. System_SetUp.Block2.Module29.SetParameterValue(parameter.Blocks[1].Modules[29]);
  108. parameter.Blocks[1].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block2.Module0.TransferArm);
  109. System_SetUp.Block2.AccessHomePosition.SetParameterValue(parameter.Blocks[1].AccessHomePosition);
  110. System_SetUp.Block2.WaferCheckPosition.SetParameterValue(parameter.Blocks[1].WaferCheckPosition);
  111. ParameterManager.Instance.ModuleDispenseConfigList.Clear();
  112. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module1.Name))
  113. {
  114. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[1].ID, GetDispenseConfigs(System_SetUp.Block2.Module1.DispenseConfig, System_SetUp.Block2.Module1.Name));
  115. }
  116. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module2.Name))
  117. {
  118. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[2].ID, GetDispenseConfigs(System_SetUp.Block2.Module2.DispenseConfig, System_SetUp.Block2.Module2.Name));
  119. }
  120. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module3.Name))
  121. {
  122. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[3].ID, GetDispenseConfigs(System_SetUp.Block2.Module3.DispenseConfig, System_SetUp.Block2.Module3.Name));
  123. }
  124. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module4.Name))
  125. {
  126. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[4].ID, GetDispenseConfigs(System_SetUp.Block2.Module4.DispenseConfig, System_SetUp.Block2.Module4.Name));
  127. }
  128. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module5.Name))
  129. {
  130. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[5].ID, GetDispenseConfigs(System_SetUp.Block2.Module5.DispenseConfig, System_SetUp.Block2.Module5.Name));
  131. }
  132. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module15.Name))
  133. {
  134. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[15].ID, GetDispenseConfigs(System_SetUp.Block2.Module15.DispenseConfig, System_SetUp.Block2.Module15.Name));
  135. }
  136. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module17.Name))
  137. {
  138. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[17].ID, GetDispenseConfigs(System_SetUp.Block2.Module17.DispenseConfig, System_SetUp.Block2.Module17.Name));
  139. }
  140. }
  141. if (System_SetUp.Block3 != null)
  142. {
  143. System_SetUp.Block3.Module0.SetParameterValue(parameter.Blocks[2].Modules[0]);
  144. System_SetUp.Block3.Module1.SetParameterValue(parameter.Blocks[2].Modules[1]);
  145. System_SetUp.Block3.Module2.SetParameterValue(parameter.Blocks[2].Modules[2]);
  146. System_SetUp.Block3.Module3.SetParameterValue(parameter.Blocks[2].Modules[3]);
  147. System_SetUp.Block3.Module4.SetParameterValue(parameter.Blocks[2].Modules[4]);
  148. System_SetUp.Block3.Module5.SetParameterValue(parameter.Blocks[2].Modules[5]);
  149. System_SetUp.Block3.Module6.SetParameterValue(parameter.Blocks[2].Modules[6]);
  150. System_SetUp.Block3.Module7.SetParameterValue(parameter.Blocks[2].Modules[7]);
  151. System_SetUp.Block3.Module8.SetParameterValue(parameter.Blocks[2].Modules[8]);
  152. System_SetUp.Block3.Module9.SetParameterValue(parameter.Blocks[2].Modules[9]);
  153. System_SetUp.Block3.Module10.SetParameterValue(parameter.Blocks[2].Modules[10]);
  154. System_SetUp.Block3.Module11.SetParameterValue(parameter.Blocks[2].Modules[11]);
  155. System_SetUp.Block3.Module12.SetParameterValue(parameter.Blocks[2].Modules[12]);
  156. System_SetUp.Block3.Module13.SetParameterValue(parameter.Blocks[2].Modules[13]);
  157. System_SetUp.Block3.Module14.SetParameterValue(parameter.Blocks[2].Modules[14]);
  158. System_SetUp.Block3.Module15.SetParameterValue(parameter.Blocks[2].Modules[15]);
  159. System_SetUp.Block3.Module16.SetParameterValue(parameter.Blocks[2].Modules[16]);
  160. System_SetUp.Block3.Module17.SetParameterValue(parameter.Blocks[2].Modules[17]);
  161. System_SetUp.Block3.Module18.SetParameterValue(parameter.Blocks[2].Modules[18]);
  162. System_SetUp.Block3.Module19.SetParameterValue(parameter.Blocks[2].Modules[19]);
  163. System_SetUp.Block3.Module20.SetParameterValue(parameter.Blocks[2].Modules[20]);
  164. System_SetUp.Block3.Module21.SetParameterValue(parameter.Blocks[2].Modules[21]);
  165. System_SetUp.Block3.Module22.SetParameterValue(parameter.Blocks[2].Modules[22]);
  166. System_SetUp.Block3.Module23.SetParameterValue(parameter.Blocks[2].Modules[23]);
  167. System_SetUp.Block3.Module24.SetParameterValue(parameter.Blocks[2].Modules[24]);
  168. System_SetUp.Block3.Module25.SetParameterValue(parameter.Blocks[2].Modules[25]);
  169. System_SetUp.Block3.Module26.SetParameterValue(parameter.Blocks[2].Modules[26]);
  170. System_SetUp.Block3.Module27.SetParameterValue(parameter.Blocks[2].Modules[27]);
  171. System_SetUp.Block3.Module28.SetParameterValue(parameter.Blocks[2].Modules[28]);
  172. System_SetUp.Block3.Module29.SetParameterValue(parameter.Blocks[2].Modules[29]);
  173. parameter.Blocks[2].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block3.Module0.TransferArm);
  174. System_SetUp.Block3.AccessHomePosition.SetParameterValue(parameter.Blocks[2].AccessHomePosition);
  175. System_SetUp.Block3.WaferCheckPosition.SetParameterValue(parameter.Blocks[2].WaferCheckPosition);
  176. if (ParameterManager.IsSpinModule(System_SetUp.Block3.Module1.Name))
  177. {
  178. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[1].ID, GetDispenseConfigs(System_SetUp.Block3.Module1.DispenseConfig, System_SetUp.Block3.Module1.Name));
  179. }
  180. if (ParameterManager.IsSpinModule(System_SetUp.Block3.Module2.Name))
  181. {
  182. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[2].ID, GetDispenseConfigs(System_SetUp.Block3.Module2.DispenseConfig, System_SetUp.Block3.Module2.Name));
  183. }
  184. if (ParameterManager.IsSpinModule(System_SetUp.Block3.Module3.Name))
  185. {
  186. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[3].ID, GetDispenseConfigs(System_SetUp.Block3.Module3.DispenseConfig, System_SetUp.Block3.Module3.Name));
  187. }
  188. if (ParameterManager.IsSpinModule(System_SetUp.Block3.Module4.Name))
  189. {
  190. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[4].ID, GetDispenseConfigs(System_SetUp.Block3.Module4.DispenseConfig, System_SetUp.Block3.Module4.Name));
  191. }
  192. if (ParameterManager.IsADHModule(System_SetUp.Block3.Module5.Name))
  193. {
  194. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[5].ID, GetDispenseConfigs(System_SetUp.Block3.Module5.DispenseConfig, System_SetUp.Block3.Module5.Name));
  195. }
  196. if (ParameterManager.IsADHModule(System_SetUp.Block3.Module15.Name))
  197. {
  198. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[15].ID, GetDispenseConfigs(System_SetUp.Block3.Module15.DispenseConfig, System_SetUp.Block3.Module15.Name));
  199. }
  200. if (ParameterManager.IsADHModule(System_SetUp.Block3.Module17.Name))
  201. {
  202. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[2].Modules[17].ID, GetDispenseConfigs(System_SetUp.Block3.Module17.DispenseConfig, System_SetUp.Block3.Module17.Name));
  203. }
  204. }
  205. if (System_SetUp.Block4 != null)
  206. {
  207. System_SetUp.Block4.Module0.SetParameterValue(parameter.Blocks[3].Modules[0]);
  208. System_SetUp.Block4.Module1.SetParameterValue(parameter.Blocks[3].Modules[1]);
  209. System_SetUp.Block4.Module2.SetParameterValue(parameter.Blocks[3].Modules[2]);
  210. System_SetUp.Block4.Module3.SetParameterValue(parameter.Blocks[3].Modules[3]);
  211. System_SetUp.Block4.Module4.SetParameterValue(parameter.Blocks[3].Modules[4]);
  212. System_SetUp.Block4.Module5.SetParameterValue(parameter.Blocks[3].Modules[5]);
  213. parameter.Blocks[3].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block4.Module0.TransferArm);
  214. System_SetUp.Block4.AccessHomePosition.SetParameterValue(parameter.Blocks[3].AccessHomePosition);
  215. System_SetUp.Block4.WaferCheckPosition.SetParameterValue(parameter.Blocks[3].WaferCheckPosition);
  216. }
  217. }
  218. }
  219. public class SCValue3Block : SCValue
  220. {
  221. public class Block3Config : INode
  222. {
  223. public CSB Block1 { get; set; } = new CSB();
  224. public PRB1 Block2 { get; set; } = new PRB1();
  225. public IFB Block4 { get; set; } = new IFB();
  226. }
  227. public Block3Config System_SetUp { get; set; }
  228. public SCValue3Block()
  229. {
  230. System_SetUp = new Block3Config();
  231. }
  232. public override void SetKeys()
  233. {
  234. _fieldMap.Clear();
  235. SetKeys(typeof(SCValue3Block), "", this);
  236. }
  237. public void SetKeys(Type type, string prefix, object objParent)
  238. {
  239. Dictionary<string, object> items = new Dictionary<string, object>();
  240. PropertyInfo[] property = type.GetProperties();
  241. foreach (PropertyInfo fiGroup in property) //System_SetUp_4Block
  242. {
  243. var ttt = fiGroup.PropertyType;
  244. object obj = null;
  245. if (objParent != null)
  246. obj = fiGroup.GetValue(objParent, null);
  247. if (ttt != typeof(double) && ttt != typeof(string) && ttt != typeof(bool) && ttt != typeof(int))
  248. {
  249. string fiGroupName = fiGroup.Name;
  250. if (fiGroupName.Length > 6 && fiGroupName.Substring(0, 6) == "Module")
  251. {
  252. fiGroupName = fiGroupName.Replace("Module", "");
  253. }
  254. SetKeys(ttt, prefix + fiGroupName + "_", obj);
  255. continue;
  256. }
  257. string name = $"{prefix}{fiGroup.Name}".Replace("_", ".");
  258. if (_fieldMap.Keys.Contains(name))
  259. {
  260. _fieldMap[name] = Tuple.Create(objParent, fiGroup);
  261. }
  262. else
  263. {
  264. _fieldMap.Add(name, Tuple.Create(objParent, fiGroup));
  265. }
  266. }
  267. }
  268. public override void SetParameterValue(MECF.Framework.Common.Utilities.Parameter parameter)
  269. {
  270. if (System_SetUp.Block1 != null)
  271. {
  272. System_SetUp.Block1.Module0.SetParameterValue(parameter.Blocks[0].Modules[0]);
  273. System_SetUp.Block1.Module1.SetParameterValue(parameter.Blocks[0].Modules[1]);
  274. System_SetUp.Block1.Module2.SetParameterValue(parameter.Blocks[0].Modules[2]);
  275. System_SetUp.Block1.Module3.SetParameterValue(parameter.Blocks[0].Modules[3]);
  276. System_SetUp.Block1.Module4.SetParameterValue(parameter.Blocks[0].Modules[4]);
  277. System_SetUp.Block1.Module5.SetParameterValue(parameter.Blocks[0].Modules[5]);
  278. parameter.Blocks[0].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block1.Module0.TransferArm);
  279. System_SetUp.Block1.AccessHomePosition.SetParameterValue(parameter.Blocks[0].AccessHomePosition);
  280. System_SetUp.Block1.WaferCheckPosition.SetParameterValue(parameter.Blocks[0].WaferCheckPosition);
  281. }
  282. if (System_SetUp.Block2 != null)
  283. {
  284. System_SetUp.Block2.Module0.SetParameterValue(parameter.Blocks[1].Modules[0]);
  285. System_SetUp.Block2.Module1.SetParameterValue(parameter.Blocks[1].Modules[1]);
  286. System_SetUp.Block2.Module2.SetParameterValue(parameter.Blocks[1].Modules[2]);
  287. System_SetUp.Block2.Module3.SetParameterValue(parameter.Blocks[1].Modules[3]);
  288. System_SetUp.Block2.Module4.SetParameterValue(parameter.Blocks[1].Modules[4]);
  289. System_SetUp.Block2.Module5.SetParameterValue(parameter.Blocks[1].Modules[5]);
  290. System_SetUp.Block2.Module6.SetParameterValue(parameter.Blocks[1].Modules[6]);
  291. System_SetUp.Block2.Module7.SetParameterValue(parameter.Blocks[1].Modules[7]);
  292. System_SetUp.Block2.Module8.SetParameterValue(parameter.Blocks[1].Modules[8]);
  293. System_SetUp.Block2.Module9.SetParameterValue(parameter.Blocks[1].Modules[9]);
  294. System_SetUp.Block2.Module10.SetParameterValue(parameter.Blocks[1].Modules[10]);
  295. System_SetUp.Block2.Module11.SetParameterValue(parameter.Blocks[1].Modules[11]);
  296. System_SetUp.Block2.Module12.SetParameterValue(parameter.Blocks[1].Modules[12]);
  297. System_SetUp.Block2.Module13.SetParameterValue(parameter.Blocks[1].Modules[13]);
  298. System_SetUp.Block2.Module14.SetParameterValue(parameter.Blocks[1].Modules[14]);
  299. System_SetUp.Block2.Module15.SetParameterValue(parameter.Blocks[1].Modules[15]);
  300. System_SetUp.Block2.Module16.SetParameterValue(parameter.Blocks[1].Modules[16]);
  301. System_SetUp.Block2.Module17.SetParameterValue(parameter.Blocks[1].Modules[17]);
  302. System_SetUp.Block2.Module18.SetParameterValue(parameter.Blocks[1].Modules[18]);
  303. System_SetUp.Block2.Module19.SetParameterValue(parameter.Blocks[1].Modules[19]);
  304. System_SetUp.Block2.Module20.SetParameterValue(parameter.Blocks[1].Modules[20]);
  305. System_SetUp.Block2.Module21.SetParameterValue(parameter.Blocks[1].Modules[21]);
  306. System_SetUp.Block2.Module22.SetParameterValue(parameter.Blocks[1].Modules[22]);
  307. System_SetUp.Block2.Module23.SetParameterValue(parameter.Blocks[1].Modules[23]);
  308. System_SetUp.Block2.Module24.SetParameterValue(parameter.Blocks[1].Modules[24]);
  309. System_SetUp.Block2.Module25.SetParameterValue(parameter.Blocks[1].Modules[25]);
  310. System_SetUp.Block2.Module26.SetParameterValue(parameter.Blocks[1].Modules[26]);
  311. System_SetUp.Block2.Module27.SetParameterValue(parameter.Blocks[1].Modules[27]);
  312. System_SetUp.Block2.Module28.SetParameterValue(parameter.Blocks[1].Modules[28]);
  313. System_SetUp.Block2.Module29.SetParameterValue(parameter.Blocks[1].Modules[29]);
  314. parameter.Blocks[1].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block2.Module0.TransferArm);
  315. System_SetUp.Block2.AccessHomePosition.SetParameterValue(parameter.Blocks[1].AccessHomePosition);
  316. System_SetUp.Block2.WaferCheckPosition.SetParameterValue(parameter.Blocks[1].WaferCheckPosition);
  317. ParameterManager.Instance.ModuleDispenseConfigList.Clear();
  318. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module1.Name))
  319. {
  320. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[1].ID, GetDispenseConfigs(System_SetUp.Block2.Module1.DispenseConfig, System_SetUp.Block2.Module1.Name));
  321. }
  322. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module2.Name))
  323. {
  324. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[2].ID, GetDispenseConfigs(System_SetUp.Block2.Module2.DispenseConfig, System_SetUp.Block2.Module2.Name));
  325. }
  326. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module3.Name))
  327. {
  328. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[3].ID, GetDispenseConfigs(System_SetUp.Block2.Module3.DispenseConfig, System_SetUp.Block2.Module3.Name));
  329. }
  330. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module4.Name))
  331. {
  332. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[4].ID, GetDispenseConfigs(System_SetUp.Block2.Module4.DispenseConfig, System_SetUp.Block2.Module4.Name));
  333. }
  334. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module5.Name))
  335. {
  336. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[5].ID, GetDispenseConfigs(System_SetUp.Block2.Module5.DispenseConfig, System_SetUp.Block2.Module5.Name));
  337. }
  338. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module15.Name))
  339. {
  340. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[15].ID, GetDispenseConfigs(System_SetUp.Block2.Module15.DispenseConfig, System_SetUp.Block2.Module15.Name));
  341. }
  342. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module17.Name))
  343. {
  344. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[17].ID, GetDispenseConfigs(System_SetUp.Block2.Module17.DispenseConfig, System_SetUp.Block2.Module17.Name));
  345. }
  346. }
  347. if (System_SetUp.Block4 != null)
  348. {
  349. System_SetUp.Block4.Module0.SetParameterValue(parameter.Blocks[2].Modules[0]);
  350. System_SetUp.Block4.Module1.SetParameterValue(parameter.Blocks[2].Modules[1]);
  351. System_SetUp.Block4.Module2.SetParameterValue(parameter.Blocks[2].Modules[2]);
  352. System_SetUp.Block4.Module3.SetParameterValue(parameter.Blocks[2].Modules[3]);
  353. System_SetUp.Block4.Module4.SetParameterValue(parameter.Blocks[2].Modules[4]);
  354. System_SetUp.Block4.Module5.SetParameterValue(parameter.Blocks[2].Modules[5]);
  355. parameter.Blocks[2].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block4.Module0.TransferArm);
  356. System_SetUp.Block4.AccessHomePosition.SetParameterValue(parameter.Blocks[2].AccessHomePosition);
  357. System_SetUp.Block4.WaferCheckPosition.SetParameterValue(parameter.Blocks[2].WaferCheckPosition);
  358. }
  359. }
  360. }
  361. public class SCValue2Block : SCValue
  362. {
  363. public class Block2Config : INode
  364. {
  365. public CSB Block1 { get; set; } = new CSB();
  366. public PRB1 Block2 { get; set; } = new PRB1();
  367. }
  368. public Block2Config System_SetUp { get; set; }
  369. public SCValue2Block()
  370. {
  371. System_SetUp = new Block2Config();
  372. }
  373. public override void SetKeys()
  374. {
  375. _fieldMap.Clear();
  376. SetKeys(typeof(SCValue2Block), "", this);
  377. }
  378. public void SetKeys(Type type, string prefix, object objParent)
  379. {
  380. Dictionary<string, object> items = new Dictionary<string, object>();
  381. PropertyInfo[] property = type.GetProperties();
  382. foreach (PropertyInfo fiGroup in property) //System_SetUp_4Block
  383. {
  384. var ttt = fiGroup.PropertyType;
  385. object obj = null;
  386. if (objParent != null)
  387. obj = fiGroup.GetValue(objParent, null);
  388. if (ttt != typeof(double) && ttt != typeof(string) && ttt != typeof(bool) && ttt != typeof(int))
  389. {
  390. string fiGroupName = fiGroup.Name;
  391. if (fiGroupName.Length > 6 && fiGroupName.Substring(0, 6) == "Module")
  392. {
  393. fiGroupName = fiGroupName.Replace("Module", "");
  394. }
  395. SetKeys(ttt, prefix + fiGroupName + "_", obj);
  396. continue;
  397. }
  398. string name = $"{prefix}{fiGroup.Name}".Replace("_", ".");
  399. if (_fieldMap.Keys.Contains(name))
  400. {
  401. _fieldMap[name] = Tuple.Create(objParent, fiGroup);
  402. }
  403. else
  404. {
  405. _fieldMap.Add(name, Tuple.Create(objParent, fiGroup));
  406. }
  407. }
  408. }
  409. public override void SetParameterValue(MECF.Framework.Common.Utilities.Parameter parameter)
  410. {
  411. if (System_SetUp.Block1 != null)
  412. {
  413. System_SetUp.Block1.Module0.SetParameterValue(parameter.Blocks[0].Modules[0]);
  414. System_SetUp.Block1.Module1.SetParameterValue(parameter.Blocks[0].Modules[1]);
  415. System_SetUp.Block1.Module2.SetParameterValue(parameter.Blocks[0].Modules[2]);
  416. System_SetUp.Block1.Module3.SetParameterValue(parameter.Blocks[0].Modules[3]);
  417. System_SetUp.Block1.Module4.SetParameterValue(parameter.Blocks[0].Modules[4]);
  418. System_SetUp.Block1.Module5.SetParameterValue(parameter.Blocks[0].Modules[5]);
  419. parameter.Blocks[0].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block1.Module0.TransferArm);
  420. System_SetUp.Block1.AccessHomePosition.SetParameterValue(parameter.Blocks[0].AccessHomePosition);
  421. System_SetUp.Block1.WaferCheckPosition.SetParameterValue(parameter.Blocks[0].WaferCheckPosition);
  422. }
  423. if (System_SetUp.Block2 != null)
  424. {
  425. System_SetUp.Block2.Module0.SetParameterValue(parameter.Blocks[1].Modules[0]);
  426. System_SetUp.Block2.Module1.SetParameterValue(parameter.Blocks[1].Modules[1]);
  427. System_SetUp.Block2.Module2.SetParameterValue(parameter.Blocks[1].Modules[2]);
  428. System_SetUp.Block2.Module3.SetParameterValue(parameter.Blocks[1].Modules[3]);
  429. System_SetUp.Block2.Module4.SetParameterValue(parameter.Blocks[1].Modules[4]);
  430. System_SetUp.Block2.Module5.SetParameterValue(parameter.Blocks[1].Modules[5]);
  431. System_SetUp.Block2.Module6.SetParameterValue(parameter.Blocks[1].Modules[6]);
  432. System_SetUp.Block2.Module7.SetParameterValue(parameter.Blocks[1].Modules[7]);
  433. System_SetUp.Block2.Module8.SetParameterValue(parameter.Blocks[1].Modules[8]);
  434. System_SetUp.Block2.Module9.SetParameterValue(parameter.Blocks[1].Modules[9]);
  435. System_SetUp.Block2.Module10.SetParameterValue(parameter.Blocks[1].Modules[10]);
  436. System_SetUp.Block2.Module11.SetParameterValue(parameter.Blocks[1].Modules[11]);
  437. System_SetUp.Block2.Module12.SetParameterValue(parameter.Blocks[1].Modules[12]);
  438. System_SetUp.Block2.Module13.SetParameterValue(parameter.Blocks[1].Modules[13]);
  439. System_SetUp.Block2.Module14.SetParameterValue(parameter.Blocks[1].Modules[14]);
  440. System_SetUp.Block2.Module15.SetParameterValue(parameter.Blocks[1].Modules[15]);
  441. System_SetUp.Block2.Module16.SetParameterValue(parameter.Blocks[1].Modules[16]);
  442. System_SetUp.Block2.Module17.SetParameterValue(parameter.Blocks[1].Modules[17]);
  443. System_SetUp.Block2.Module18.SetParameterValue(parameter.Blocks[1].Modules[18]);
  444. System_SetUp.Block2.Module19.SetParameterValue(parameter.Blocks[1].Modules[19]);
  445. System_SetUp.Block2.Module20.SetParameterValue(parameter.Blocks[1].Modules[20]);
  446. System_SetUp.Block2.Module21.SetParameterValue(parameter.Blocks[1].Modules[21]);
  447. System_SetUp.Block2.Module22.SetParameterValue(parameter.Blocks[1].Modules[22]);
  448. System_SetUp.Block2.Module23.SetParameterValue(parameter.Blocks[1].Modules[23]);
  449. System_SetUp.Block2.Module24.SetParameterValue(parameter.Blocks[1].Modules[24]);
  450. System_SetUp.Block2.Module25.SetParameterValue(parameter.Blocks[1].Modules[25]);
  451. System_SetUp.Block2.Module26.SetParameterValue(parameter.Blocks[1].Modules[26]);
  452. System_SetUp.Block2.Module27.SetParameterValue(parameter.Blocks[1].Modules[27]);
  453. System_SetUp.Block2.Module28.SetParameterValue(parameter.Blocks[1].Modules[28]);
  454. System_SetUp.Block2.Module29.SetParameterValue(parameter.Blocks[1].Modules[29]);
  455. parameter.Blocks[1].TransferArmAccessModules = ParameterManager.GetArmAccessModule(System_SetUp.Block2.Module0.TransferArm);
  456. System_SetUp.Block2.AccessHomePosition.SetParameterValue(parameter.Blocks[1].AccessHomePosition);
  457. System_SetUp.Block2.WaferCheckPosition.SetParameterValue(parameter.Blocks[1].WaferCheckPosition);
  458. ParameterManager.Instance.ModuleDispenseConfigList.Clear();
  459. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module1.Name))
  460. {
  461. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[1].ID, GetDispenseConfigs(System_SetUp.Block2.Module1.DispenseConfig, System_SetUp.Block2.Module1.Name));
  462. }
  463. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module2.Name))
  464. {
  465. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[2].ID, GetDispenseConfigs(System_SetUp.Block2.Module2.DispenseConfig, System_SetUp.Block2.Module2.Name));
  466. }
  467. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module3.Name))
  468. {
  469. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[3].ID, GetDispenseConfigs(System_SetUp.Block2.Module3.DispenseConfig, System_SetUp.Block2.Module3.Name));
  470. }
  471. if (ParameterManager.IsSpinModule(System_SetUp.Block2.Module4.Name))
  472. {
  473. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[4].ID, GetDispenseConfigs(System_SetUp.Block2.Module4.DispenseConfig, System_SetUp.Block2.Module4.Name));
  474. }
  475. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module5.Name))
  476. {
  477. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[5].ID, GetDispenseConfigs(System_SetUp.Block2.Module5.DispenseConfig, System_SetUp.Block2.Module5.Name));
  478. }
  479. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module15.Name))
  480. {
  481. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[15].ID, GetDispenseConfigs(System_SetUp.Block2.Module15.DispenseConfig, System_SetUp.Block2.Module15.Name));
  482. }
  483. if (ParameterManager.IsADHModule(System_SetUp.Block2.Module17.Name))
  484. {
  485. ParameterManager.Instance.ModuleDispenseConfigList.Add(parameter.Blocks[1].Modules[17].ID, GetDispenseConfigs(System_SetUp.Block2.Module17.DispenseConfig, System_SetUp.Block2.Module17.Name));
  486. }
  487. }
  488. }
  489. }
  490. public class SCValue
  491. {
  492. public Dictionary<string, DispenseConfig> GetDispenseConfigs(string strFileDispense, string noduleName)
  493. {
  494. Dictionary<string, DispenseConfig> dispenseConfigList = new Dictionary<string, DispenseConfig>();
  495. if (strFileDispense != null && strFileDispense != "")
  496. {
  497. string[] listDispense = strFileDispense.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
  498. Dictionary<string, string> dictDispense = new Dictionary<string, string>();
  499. for (int x = 0; x < listDispense.Length; x++)
  500. {
  501. string[] sigDispense = listDispense[x].Split(':');
  502. dictDispense.Add(sigDispense[0], sigDispense[1]);
  503. }
  504. switch (noduleName)
  505. {
  506. case "COT":
  507. for (int j = 0; j < ParameterManager.COTDispenseNozzleStrs.Length; j++)
  508. {
  509. if (ParameterManager.COTDispenseNozzleStrs[j] != "")
  510. {
  511. dispenseConfigList.Add(ParameterManager.COTDispenseNozzleStrs[j], new DispenseConfig(dictDispense[ParameterManager.COTDispenseNozzleStrs[j]]));
  512. }
  513. }
  514. break;
  515. case "DEV":
  516. for (int j = 0; j < ParameterManager.DEVDispenseNozzleStrs.Length; j++)
  517. {
  518. if (ParameterManager.DEVDispenseNozzleStrs[j] != "")
  519. {
  520. dispenseConfigList.Add(ParameterManager.DEVDispenseNozzleStrs[j], new DispenseConfig(dictDispense[ParameterManager.DEVDispenseNozzleStrs[j]]));
  521. }
  522. }
  523. break;
  524. case "ADH":
  525. for (int j = 0; j < ParameterManager.ADHDispenseNozzleStrs.Length; j++)
  526. {
  527. if (ParameterManager.ADHDispenseNozzleStrs[j] != "")
  528. {
  529. dispenseConfigList.Add(ParameterManager.ADHDispenseNozzleStrs[j], new DispenseConfig(dictDispense[ParameterManager.ADHDispenseNozzleStrs[j]]));
  530. }
  531. }
  532. break;
  533. default:
  534. break;
  535. }
  536. }
  537. if (strFileDispense == null || strFileDispense == "" || dispenseConfigList.Count == 0)
  538. {
  539. switch (noduleName)
  540. {
  541. case "COT":
  542. for (int j = 0; j < ParameterManager.COTDispenseNozzleStrs.Length; j++)
  543. {
  544. if (ParameterManager.COTDispenseNozzleStrs[j] != "")
  545. {
  546. dispenseConfigList.Add(ParameterManager.COTDispenseNozzleStrs[j], new DispenseConfig());
  547. }
  548. }
  549. break;
  550. case "DEV":
  551. for (int j = 0; j < ParameterManager.DEVDispenseNozzleStrs.Length; j++)
  552. {
  553. if (ParameterManager.DEVDispenseNozzleStrs[j] != "")
  554. {
  555. dispenseConfigList.Add(ParameterManager.DEVDispenseNozzleStrs[j], new DispenseConfig());
  556. }
  557. }
  558. break;
  559. case "ADH":
  560. for (int j = 0; j < ParameterManager.ADHDispenseNozzleStrs.Length; j++)
  561. {
  562. if (ParameterManager.ADHDispenseNozzleStrs[j] != "")
  563. {
  564. dispenseConfigList.Add(ParameterManager.ADHDispenseNozzleStrs[j], new DispenseConfig());
  565. }
  566. }
  567. break;
  568. default:
  569. break;
  570. }
  571. }
  572. return dispenseConfigList;
  573. }
  574. protected Dictionary<string, Tuple<object, PropertyInfo>> _fieldMap =
  575. new Dictionary<string, Tuple<object, PropertyInfo>>();
  576. public SCValue()
  577. {
  578. }
  579. public List<string> GetKeys()
  580. {
  581. return _fieldMap.Keys.ToList();
  582. }
  583. public void AddKey(string key)
  584. {
  585. PropertyInfo[] property = typeof(SCValue).GetProperties();
  586. foreach (PropertyInfo fiGroup in property)
  587. {
  588. object objGroup = fiGroup.GetValue(this, null);
  589. foreach (PropertyInfo fiItem in objGroup.GetType().GetProperties())
  590. {
  591. string name = String.Format("{0}_{1}", fiGroup.Name, fiItem.Name);
  592. if (key == name)
  593. {
  594. _fieldMap[name] = Tuple.Create(objGroup, fiItem);
  595. return;
  596. }
  597. }
  598. }
  599. }
  600. public virtual void SetKeys()
  601. {
  602. }
  603. public void SetKeys(Type type, string prefix, object objParent)
  604. {
  605. Dictionary<string, object> items = new Dictionary<string, object>();
  606. PropertyInfo[] property = type.GetProperties();
  607. foreach (PropertyInfo fiGroup in property)
  608. {
  609. var ttt = fiGroup.PropertyType;
  610. object obj = null;
  611. if (objParent != null)
  612. obj = fiGroup.GetValue(objParent, null);
  613. if (ttt != typeof(double) && ttt != typeof(string) && ttt != typeof(bool) && ttt != typeof(int))
  614. {
  615. string fiGroupName = fiGroup.Name;
  616. SetKeys(ttt, prefix + fiGroupName + "_", obj);
  617. continue;
  618. }
  619. string name = $"{prefix}{fiGroup.Name}".Replace("_", ".");
  620. if (_fieldMap.Keys.Contains(name))
  621. {
  622. _fieldMap[name] = Tuple.Create(objParent, fiGroup);
  623. }
  624. else
  625. {
  626. _fieldMap.Add(name, Tuple.Create(objParent, fiGroup));
  627. }
  628. }
  629. }
  630. public virtual Dictionary<string, string> GetScValue(string type, string filter)
  631. {
  632. Dictionary<string, string> result = new Dictionary<string, string>();
  633. foreach (var tuple in _fieldMap)
  634. {
  635. if (tuple.Key.Contains(filter))
  636. {
  637. result.Add(tuple.Key, tuple.Value.Item2.GetValue(tuple.Value.Item1).ToString());
  638. }
  639. }
  640. return result;
  641. }
  642. public virtual void SetParameterValue(MECF.Framework.Common.Utilities.Parameter parameter)
  643. { }
  644. public void RetrieveAll()
  645. {
  646. SetKeys();
  647. }
  648. public void Update(Dictionary<string, object> result)
  649. {
  650. if (result == null) return;
  651. foreach (KeyValuePair<string, object> item in result)
  652. {
  653. if (_fieldMap.ContainsKey(item.Key))
  654. {
  655. Update(item.Key, item.Value.ToString());
  656. //_fieldMap[item.Key].Item2.SetValue(_fieldMap[item.Key].Item1, item.Value, null);
  657. }
  658. }
  659. }
  660. public void Update(string key, string value)
  661. {
  662. if (!_fieldMap.ContainsKey(key))
  663. return;
  664. if (_fieldMap[key].Item1 == null)
  665. return;
  666. try
  667. {
  668. if (_fieldMap[key].Item2.PropertyType == typeof(double))
  669. {
  670. _fieldMap[key].Item2.SetValue(_fieldMap[key].Item1, Convert.ToDouble(value));
  671. }
  672. else if (_fieldMap[key].Item2.PropertyType == typeof(int))
  673. {
  674. _fieldMap[key].Item2.SetValue(_fieldMap[key].Item1, Convert.ToInt32(value));
  675. }
  676. else if (_fieldMap[key].Item2.PropertyType == typeof(string))
  677. {
  678. _fieldMap[key].Item2.SetValue(_fieldMap[key].Item1, value);
  679. }
  680. else if (_fieldMap[key].Item2.PropertyType == typeof(bool))
  681. {
  682. _fieldMap[key].Item2.SetValue(_fieldMap[key].Item1, Convert.ToBoolean(value));
  683. }
  684. }
  685. catch (Exception ex)
  686. {
  687. }
  688. }
  689. public Dictionary<string, object> GetValue()
  690. {
  691. Dictionary<string, object> result = new Dictionary<string, object>();
  692. foreach (var item in _fieldMap)
  693. {
  694. result[item.Key] = item.Value.Item2.GetValue(item.Value.Item1, null);
  695. }
  696. return result;
  697. }
  698. public class CSB : INode
  699. {
  700. public ArmPosition AccessHomePosition { get; set; } = new ArmPosition();
  701. public ArmPosition WaferCheckPosition { get; set; } = new ArmPosition();
  702. public ArmModule Module0 { get; set; } = new ArmModule();
  703. public UNCModule Module1 { get; set; } = new UNCModule();
  704. public UNCModule Module2 { get; set; } = new UNCModule();
  705. public UNCModule Module3 { get; set; } = new UNCModule();
  706. public UNCModule Module4 { get; set; } = new UNCModule();
  707. public UNCModule Module5 { get; set; } = new UNCModule();
  708. }
  709. public class ArmPosition
  710. {
  711. public int X1 { get; set; }
  712. public int X2 { get; set; }
  713. public int X3 { get; set; }
  714. public void SetParameterValue(MECF.Framework.Common.Utilities.ArmPosition armPosition)
  715. {
  716. armPosition.X1 = X1;
  717. armPosition.X2 = X2;
  718. armPosition.X3 = X3;
  719. }
  720. }
  721. public class PRB1 : INode
  722. {
  723. public ArmPosition AccessHomePosition { get; set; } = new ArmPosition();
  724. public ArmPosition WaferCheckPosition { get; set; } = new ArmPosition();
  725. public ArmModule Module0 { get; set; } = new ArmModule();
  726. public COTAndDEVMoudle Module1 { get; set; } = new COTAndDEVMoudle();
  727. public COTAndDEVMoudle Module2 { get; set; } = new COTAndDEVMoudle();
  728. public COTAndDEVMoudle Module3 { get; set; } = new COTAndDEVMoudle();
  729. public COTAndDEVMoudle Module4 { get; set; } = new COTAndDEVMoudle();
  730. public CPLOrADHModule Module5 { get; set; } = new CPLOrADHModule();
  731. public CPLOrADHModule Module6 { get; set; } = new CPLOrADHModule();
  732. public LinkCPLOrADHModule Module7 { get; set; } = new LinkCPLOrADHModule();
  733. public LinkCPLOrADHModule Module8 { get; set; } = new LinkCPLOrADHModule();
  734. public CPLOrADHModule Module9 { get; set; } = new CPLOrADHModule();
  735. public CPLOrADHModule Module10 { get; set; } = new CPLOrADHModule();
  736. public CPLOrADHModule Module11 { get; set; } = new CPLOrADHModule();
  737. public CPLOrADHModule Module12 { get; set; } = new CPLOrADHModule();
  738. public CPLOrADHModule Module13 { get; set; } = new CPLOrADHModule();
  739. public CPLOrADHModule Module14 { get; set; } = new CPLOrADHModule();
  740. public CPLOrADHModule Module15 { get; set; } = new CPLOrADHModule();
  741. public CPLOrADHModule Module16 { get; set; } = new CPLOrADHModule();
  742. public CPLOrADHModule Module17 { get; set; } = new CPLOrADHModule();
  743. public CPLOrADHModule Module18 { get; set; } = new CPLOrADHModule();
  744. public CPLOrADHModule Module19 { get; set; } = new CPLOrADHModule();
  745. public CPLOrADHModule Module20 { get; set; } = new CPLOrADHModule();
  746. public CPLOrADHModule Module21 { get; set; } = new CPLOrADHModule();
  747. public CPLOrADHModule Module22 { get; set; } = new CPLOrADHModule();
  748. public CPLOrADHModule Module23 { get; set; } = new CPLOrADHModule();
  749. public CPLOrADHModule Module24 { get; set; } = new CPLOrADHModule();
  750. public CPLOrADHModule Module25 { get; set; } = new CPLOrADHModule();
  751. public CPLOrADHModule Module26 { get; set; } = new CPLOrADHModule();
  752. public CPLOrADHModule Module27 { get; set; } = new CPLOrADHModule();
  753. public CPLOrADHModule Module28 { get; set; } = new CPLOrADHModule();
  754. public CPLOrADHModule Module29 { get; set; } = new CPLOrADHModule();
  755. }
  756. public class PRB2 : INode
  757. {
  758. public ArmPosition AccessHomePosition { get; set; } = new ArmPosition();
  759. public ArmPosition WaferCheckPosition { get; set; } = new ArmPosition();
  760. public ArmModule Module0 { get; set; } = new ArmModule();
  761. public COTAndDEVMoudle Module1 { get; set; } = new COTAndDEVMoudle();
  762. public COTAndDEVMoudle Module2 { get; set; } = new COTAndDEVMoudle();
  763. public COTAndDEVMoudle Module3 { get; set; } = new COTAndDEVMoudle();
  764. public COTAndDEVMoudle Module4 { get; set; } = new COTAndDEVMoudle();
  765. public CPLOrADHModule Module5 { get; set; } = new CPLOrADHModule();
  766. public CPLOrADHModule Module6 { get; set; } = new CPLOrADHModule();
  767. public CPLOrADHModule Module7 { get; set; } = new CPLOrADHModule();
  768. public CPLOrADHModule Module8 { get; set; } = new CPLOrADHModule();
  769. public CPLOrADHModule Module9 { get; set; } = new CPLOrADHModule();
  770. public CPLOrADHModule Module10 { get; set; } = new CPLOrADHModule();
  771. public CPLOrADHModule Module11 { get; set; } = new CPLOrADHModule();
  772. public CPLOrADHModule Module12 { get; set; } = new CPLOrADHModule();
  773. public CPLOrADHModule Module13 { get; set; } = new CPLOrADHModule();
  774. public CPLOrADHModule Module14 { get; set; } = new CPLOrADHModule();
  775. public CPLOrADHModule Module15 { get; set; } = new CPLOrADHModule();
  776. public CPLOrADHModule Module16 { get; set; } = new CPLOrADHModule();
  777. public CPLOrADHModule Module17 { get; set; } = new CPLOrADHModule();
  778. public CPLOrADHModule Module18 { get; set; } = new CPLOrADHModule();
  779. public CPLOrADHModule Module19 { get; set; } = new CPLOrADHModule();
  780. public CPLOrADHModule Module20 { get; set; } = new CPLOrADHModule();
  781. public CPLOrADHModule Module21 { get; set; } = new CPLOrADHModule();
  782. public CPLOrADHModule Module22 { get; set; } = new CPLOrADHModule();
  783. public CPLOrADHModule Module23 { get; set; } = new CPLOrADHModule();
  784. public CPLOrADHModule Module24 { get; set; } = new CPLOrADHModule();
  785. public CPLOrADHModule Module25 { get; set; } = new CPLOrADHModule();
  786. public CPLOrADHModule Module26 { get; set; } = new CPLOrADHModule();
  787. public CPLOrADHModule Module27 { get; set; } = new CPLOrADHModule();
  788. public CPLOrADHModule Module28 { get; set; } = new CPLOrADHModule();
  789. public CPLOrADHModule Module29 { get; set; } = new CPLOrADHModule();
  790. }
  791. public class IFB : INode
  792. {
  793. public ArmPosition AccessHomePosition { get; set; } = new ArmPosition();
  794. public ArmPosition WaferCheckPosition { get; set; } = new ArmPosition();
  795. public ArmModule Module0 { get; set; } = new ArmModule();
  796. public IFBMoudle Module1 { get; set; } = new IFBMoudle();
  797. public IFBMoudle Module2 { get; set; } = new IFBMoudle();
  798. public IFBMoudle Module3 { get; set; } = new IFBMoudle();
  799. public IFBMoudle Module4 { get; set; } = new IFBMoudle();
  800. public IFBMoudle Module5 { get; set; } = new IFBMoudle();
  801. }
  802. public class ArmModule : ModuleBase, INode
  803. {
  804. public string TransferArm { get; set; }
  805. public ArmAxis X1axis { get; set; } = new ArmAxis();
  806. public ArmAxis X2axis { get; set; } = new ArmAxis();
  807. public ArmAxis X3axis { get; set; } = new ArmAxis();
  808. public ArmAxis Yaxis { get; set; } = new ArmAxis();
  809. public ArmAxis Zaxis { get; set; } = new ArmAxis();
  810. public ArmAxis Raxis { get; set; } = new ArmAxis();
  811. public override void SetParameterValue(DeviceModule deviceModule)
  812. {
  813. base.SetParameterValue(deviceModule);
  814. deviceModule.ArmAxisList.Clear();
  815. deviceModule.ArmAxisList.Add(X1axis.ChangedArmAxis());
  816. deviceModule.ArmAxisList.Add(X2axis.ChangedArmAxis());
  817. deviceModule.ArmAxisList.Add(X3axis.ChangedArmAxis());
  818. deviceModule.ArmAxisList.Add(Yaxis.ChangedArmAxis());
  819. deviceModule.ArmAxisList.Add(Zaxis.ChangedArmAxis());
  820. deviceModule.ArmAxisList.Add(Raxis.ChangedArmAxis());
  821. }
  822. }
  823. public class UNCModule : ModuleBase, INode
  824. {
  825. public string MappingType { get; set; }
  826. public int WaferThickness { get; set; }
  827. public int PositiveTolerance { get; set; }
  828. public int NegativeTolerance { get; set; }
  829. public int FirstSlotposition { get; set; }
  830. public string SlotEditingType { get; set; }
  831. public int SlotPitch { get; set; }
  832. public int MappingStartPosition { get; set; }
  833. public int MappingEndPosition { get; set; }
  834. public int SlotNo { get; set; }
  835. public TransferArmPosition TransferArmPosition { get; set; } = new TransferArmPosition();
  836. public override void SetParameterValue(DeviceModule deviceModule)
  837. {
  838. base.SetParameterValue(deviceModule);
  839. deviceModule.MappingType.CurrentValue = MappingType;
  840. deviceModule.WaferThickness = WaferThickness;
  841. deviceModule.PositiveTolerance = PositiveTolerance;
  842. deviceModule.NegativeTolerance = NegativeTolerance;
  843. deviceModule.FirstSlotposition = FirstSlotposition;
  844. deviceModule.SlotEditingType.CurrentValue = SlotEditingType;
  845. deviceModule.SlotPitch = SlotPitch;
  846. deviceModule.MappingStartPosition = MappingStartPosition;
  847. deviceModule.MappingEndPosition = MappingEndPosition;
  848. deviceModule.SlotNo = SlotNo;
  849. deviceModule.ParameterTransferArmPosition = TransferArmPosition.ChangedTransferArmPosition();
  850. }
  851. }
  852. public class CPLOrADHModule : ModuleBase, INode
  853. {
  854. public string ControlForm { get; set; }
  855. public double InitialData { get; set; }
  856. public double OverTemp { get; set; }
  857. public double SettlingDetermineTime { get; set; }
  858. public double SettlingTimeOut { get; set; }
  859. public double UsePointOffset { get; set; }
  860. public string BandStartMonitorForm { get; set; }
  861. public string BandInvalidTime { get; set; }
  862. public string BandProcessMonitorForm { get; set; }
  863. public string BandDeterminationTime { get; set; }
  864. public string BandProcessValue { get; set; }
  865. public string BandProcessPIDSetFormat { get; set; }
  866. public string BandProcessPIDP { get; set; }
  867. public string BandProcessPIDI { get; set; }
  868. public string BandProcessPIDD { get; set; }
  869. public string BandProcessOffset { get; set; }
  870. public string BandProcessOffsetValue { get; set; }
  871. public string AConstant { get; set; }
  872. public string SetValue { get; set; }
  873. public string RangeValueMin { get; set; }
  874. public string RangeValueMax { get; set; }
  875. public string DispenseConfig { get; set; }
  876. public TransferArmPosition TransferArmPosition { get; set; } = new TransferArmPosition();
  877. public override void SetParameterValue(DeviceModule deviceModule)
  878. {
  879. base.SetParameterValue(deviceModule);
  880. deviceModule.ParameterTransferArmPosition = TransferArmPosition.ChangedTransferArmPosition();
  881. }
  882. }
  883. public class LinkCPLOrADHModule : CPLOrADHModule, INode
  884. {
  885. public TransferArmPosition LinkTransferArmPosition { get; set; } = new TransferArmPosition();
  886. public override void SetParameterValue(DeviceModule deviceModule)
  887. {
  888. base.SetParameterValue(deviceModule);
  889. deviceModule.ParameterTransferArmPosition = TransferArmPosition.ChangedTransferArmPosition();
  890. deviceModule.LinkParameterTransferArmPosition = LinkTransferArmPosition.ChangedTransferArmPosition();
  891. }
  892. }
  893. public class COTAndDEVMoudle : ModuleBase
  894. {
  895. public int ArmCount { get; set; }
  896. public int ShakeArmNo { get; set; }
  897. public int UpperLimitSpinSpeed { get; set; }
  898. public int UpperLimitAcceleration { get; set; }
  899. public int SpinOutSpeed { get; set; }
  900. public double SpinOutTime { get; set; }
  901. public NozzleChanger NozzleChanger { get; set; } = new NozzleChanger();
  902. public NozzleArmInformat NozzleArmInformat1 { get; set; } = new NozzleArmInformat();
  903. public NozzleArmInformat NozzleArmInformat2 { get; set; } = new NozzleArmInformat();
  904. public TransferArmPosition TransferArmPosition { get; set; } = new TransferArmPosition();
  905. public string DispenseConfig { get; set; }
  906. public override void SetParameterValue(DeviceModule deviceModule)
  907. {
  908. base.SetParameterValue(deviceModule);
  909. SpinerModule spinerModule = new SpinerModule()
  910. {
  911. ArmCount = this.ArmCount.ToString(),
  912. ShakeArmNo = this.ShakeArmNo.ToString(),
  913. UpperLimitSpinSpeed = this.UpperLimitSpinSpeed.ToString(),
  914. UpperLimitAcceleration = this.UpperLimitAcceleration.ToString(),
  915. SpinOutSpeed = this.SpinOutSpeed.ToString(),
  916. SpinOutTime = this.SpinOutTime.ToString(),
  917. NozzleChanger = this.NozzleChanger.ChangedNozzleChanger(),
  918. NozzleArmInformat1 = this.NozzleArmInformat1.ChangedNozzleArmInformat(),
  919. NozzleArmInformat2 = this.NozzleArmInformat2.ChangedNozzleArmInformat(),
  920. };
  921. deviceModule.ParameterTransferArmPosition = TransferArmPosition.ChangedTransferArmPosition();
  922. deviceModule.ModuleSpiner = spinerModule;
  923. }
  924. }
  925. public class IFBMoudle : ModuleBase
  926. {
  927. public TransferArmPosition TransferArmPosition { get; set; } = new TransferArmPosition();
  928. public override void SetParameterValue(DeviceModule deviceModule)
  929. {
  930. base.SetParameterValue(deviceModule);
  931. deviceModule.ParameterTransferArmPosition = TransferArmPosition.ChangedTransferArmPosition();
  932. }
  933. }
  934. public class NozzleChanger : INode
  935. {
  936. public string IsNozzleChangerEnable { get; set; }
  937. public double MotorPulseRate { get; set; }
  938. public int MaxSpeed { get; set; }
  939. public int MoveSpeed { get; set; }
  940. public string Data { get; set; }
  941. public MECF.Framework.Common.Utilities.NozzleChanger ChangedNozzleChanger()
  942. {
  943. var nozzleChanger = new MECF.Framework.Common.Utilities.NozzleChanger()
  944. {
  945. IsNozzleChangerEnable = IsNozzleChangerEnable,
  946. MotorPulseRate = this.MotorPulseRate.ToString(),
  947. MaxSpeed = this.MaxSpeed.ToString(),
  948. MoveSpeed = this.MoveSpeed.ToString(),
  949. };
  950. nozzleChanger.SetNozzleChangerDataList(this.Data);
  951. return nozzleChanger;
  952. }
  953. }
  954. public class NozzleArmInformat : INode
  955. {
  956. public string IsNozzleArmEnable { get; set; }
  957. public string ArmDriveFormat { get; set; }
  958. public string NozzleForm { get; set; }
  959. public double MotorPulsesRate { get; set; }
  960. public double StartPosition { get; set; }
  961. public double EndPosition { get; set; }
  962. public double StartCupPosition { get; set; }
  963. public double EndCupPosition { get; set; }
  964. public double MaintenaceSpeed { get; set; }
  965. public string Home { get; set; }
  966. public string DmyDisp { get; set; }
  967. public string Standby { get; set; }
  968. public string Maintenace1 { get; set; }
  969. public string Maintenace2 { get; set; }
  970. public string Maintenace3 { get; set; }
  971. public string Begin { get; set; }
  972. public string Center { get; set; }
  973. public string Center2 { get; set; }
  974. public string End { get; set; }
  975. public string Dispense1 { get; set; }
  976. public string Dispense2 { get; set; }
  977. public string Dispense3 { get; set; }
  978. public string Dispense4 { get; set; }
  979. public string Dispense5 { get; set; }
  980. public MECF.Framework.Common.Utilities.NozzleArmInformat ChangedNozzleArmInformat()
  981. {
  982. var nozzleArmInformat = new MECF.Framework.Common.Utilities.NozzleArmInformat()
  983. {
  984. IsNozzleArmEnable = this.IsNozzleArmEnable,
  985. ArmDriveFormat = this.ArmDriveFormat,
  986. NozzleForm = this.NozzleForm,
  987. MotorPulsesRate = this.MotorPulsesRate.ToString(),
  988. StartPosition = this.StartPosition.ToString("f2"),
  989. EndPosition = this.EndPosition.ToString("f2"),
  990. StartCupPosition = this.StartCupPosition.ToString("f2"),
  991. EndCupPosition = this.EndCupPosition.ToString("f2"),
  992. MaintenaceSpeed = this.MaintenaceSpeed.ToString("f2"),
  993. Home = new TransferArmRecipePositionData(this.Home),
  994. DmyDisp = new TransferArmRecipePositionData(this.DmyDisp),
  995. Standby = new TransferArmRecipePositionData(this.Standby),
  996. Maintenace1 = new TransferArmRecipePositionData(this.Maintenace1),
  997. Maintenace2 = new TransferArmRecipePositionData(this.Maintenace2),
  998. Maintenace3 = new TransferArmRecipePositionData(this.Maintenace3),
  999. Begin = new TransferArmRecipePositionData(this.Begin),
  1000. Center = new TransferArmRecipePositionData(this.Center),
  1001. Center2 = new TransferArmRecipePositionData(this.Center2),
  1002. End = new TransferArmRecipePositionData(this.End),
  1003. Dispense1 = new TransferArmRecipePositionData(this.Dispense1),
  1004. Dispense2 = new TransferArmRecipePositionData(this.Dispense2),
  1005. Dispense3 = new TransferArmRecipePositionData(this.Dispense3),
  1006. Dispense4 = new TransferArmRecipePositionData(this.Dispense4),
  1007. Dispense5 = new TransferArmRecipePositionData(this.Dispense5),
  1008. };
  1009. return nozzleArmInformat;
  1010. }
  1011. }
  1012. public class TransferArmPosition : INode
  1013. {
  1014. public Zaxis Zaxis { get; set; } = new Zaxis();
  1015. public Pincette pincette1 { get; set; } = new Pincette();
  1016. public Pincette pincette2 { get; set; } = new Pincette();
  1017. public Pincette pincette3 { get; set; } = new Pincette();
  1018. public MECF.Framework.Common.Utilities.TransferArmPosition ChangedTransferArmPosition()
  1019. {
  1020. return new MECF.Framework.Common.Utilities.TransferArmPosition()
  1021. {
  1022. EndOffset = Zaxis.EndOffset,
  1023. SlowSpeedRate = Zaxis.SlowSpeedRate,
  1024. StartOffset = Zaxis.StartOffset,
  1025. TransferMode = Zaxis.TransferMode,
  1026. PincetteList = new Dictionary<string, MECF.Framework.Common.Utilities.Pincette>
  1027. { { "pincette1", pincette1.ChangedPincette() },
  1028. { "pincette2", pincette2.ChangedPincette() },
  1029. { "pincette3", pincette3.ChangedPincette() }}
  1030. };
  1031. }
  1032. }
  1033. public class Zaxis : INode
  1034. {
  1035. public string TransferMode { get; set; }
  1036. public double StartOffset { get; set; }
  1037. public double EndOffset { get; set; }
  1038. public int SlowSpeedRate { get; set; }
  1039. }
  1040. public class Pincette : INode
  1041. {
  1042. public double XaxisReceive { get; set; }
  1043. public double XaxisSend { get; set; }
  1044. public double YaxisReceive { get; set; }
  1045. public double YaxisSend { get; set; }
  1046. public double ZaxisReceive { get; set; }
  1047. public double ZaxisSend { get; set; }
  1048. public double RaxisReceive { get; set; }
  1049. public double RaxisSend { get; set; }
  1050. public double StrokeZaxisReceive { get; set; }
  1051. public double StrokeZaxisSend { get; set; }
  1052. public int ZaxisReceivePer { get; set; }
  1053. public int ZaxisSendPer { get; set; }
  1054. public MECF.Framework.Common.Utilities.Pincette ChangedPincette()
  1055. {
  1056. return new MECF.Framework.Common.Utilities.Pincette()
  1057. {
  1058. XaxisReceive = this.XaxisReceive,
  1059. XaxisSend = this.XaxisSend,
  1060. YaxisReceive = this.YaxisReceive,
  1061. YaxisSend = this.YaxisSend,
  1062. ZaxisReceive = this.ZaxisReceive,
  1063. ZaxisSend = this.ZaxisSend,
  1064. RaxisReceive = this.RaxisReceive,
  1065. RaxisSend = this.RaxisSend,
  1066. StrokeZaxisReceive = this.StrokeZaxisReceive,
  1067. StrokeZaxisSend = this.StrokeZaxisSend,
  1068. ZaxisReceivePer = this.ZaxisReceivePer,
  1069. ZaxisSendPer = this.ZaxisSendPer
  1070. };
  1071. }
  1072. }
  1073. public class ModuleBase : INode
  1074. {
  1075. public string Name { get; set; }
  1076. public string SYNEXC { get; set; }
  1077. public int MaterialCount { get; set; }
  1078. public int StartSlot { get; set; }
  1079. public string AGVConnect { get; set; }
  1080. public virtual void SetParameterValue(DeviceModule deviceModule)
  1081. {
  1082. deviceModule.Name = Name;
  1083. deviceModule.SYNEXC.CurrentValue = SYNEXC;
  1084. if (deviceModule.ID.Split('-')[0] == "2")
  1085. {
  1086. deviceModule.MaterialCount = 1;
  1087. }
  1088. else
  1089. {
  1090. deviceModule.MaterialCount = MaterialCount;
  1091. }
  1092. deviceModule.StartSlot = StartSlot;
  1093. deviceModule.AGVConnect.CurrentValue = AGVConnect;
  1094. }
  1095. }
  1096. public class ArmAxis : INode
  1097. {
  1098. public int SpeedInitial { get; set; }
  1099. public int SpeedMovementbetweenmod { get; set; }
  1100. public int SpeedReceive { get; set; }
  1101. public int SpeedSend { get; set; }
  1102. public int SpeedMapping { get; set; }
  1103. public int SpeedMaintenance { get; set; }
  1104. public int SpeedInching { get; set; }
  1105. public string MultiMovementbetweenmod { get; set; }
  1106. public int PassMovementbetweenmod { get; set; }
  1107. public int PassReceive { get; set; }
  1108. public int PassSpeedSend { get; set; }
  1109. public int PassSpeedMapping { get; set; }
  1110. public MECF.Framework.Common.Utilities.ArmAxis ChangedArmAxis()
  1111. {
  1112. return new MECF.Framework.Common.Utilities.ArmAxis()
  1113. {
  1114. SpeedInitial = this.SpeedInitial,
  1115. SpeedMovementbetweenmod = this.SpeedMovementbetweenmod,
  1116. SpeedReceive = this.SpeedReceive,
  1117. SpeedSend = this.SpeedSend,
  1118. SpeedMapping = this.SpeedMapping,
  1119. SpeedMaintenance = this.SpeedMaintenance,
  1120. SpeedInching = this.SpeedInching,
  1121. MultiMovementbetweenmod = this.MultiMovementbetweenmod,
  1122. PassMovementbetweenmod = this.PassMovementbetweenmod,
  1123. PassReceive = this.PassReceive,
  1124. PassSpeedSend = this.PassSpeedSend,
  1125. PassSpeedMapping = this.PassSpeedMapping
  1126. };
  1127. }
  1128. }
  1129. public class TransferConfigValue : INode
  1130. {
  1131. public double InitAllTimeout { get; set; }
  1132. public double MotorPushBarInAcceleration { get; set; }
  1133. public double MotorPushBarInDeceleration { get; set; }
  1134. public double MotorPushBarInStartFrequency { get; set; }
  1135. public double MotorPushBarInDefaultServoSpeed { get; set; }
  1136. public double MotorPushBarInDefaultManualSpeed { get; set; }
  1137. public double MotorPushBarInServoOnTimeout { get; set; }
  1138. public double MotorPushBarInMoveTimeout { get; set; }
  1139. public double MotorPushBarInStopTimeout { get; set; }
  1140. public double MotorPushBarInResetAlarmTimeout { get; set; }
  1141. public double MotorPushBarInHomeTimeout { get; set; }
  1142. public double MotorLoadStationInAcceleration { get; set; }
  1143. public double MotorLoadStationInDeceleration { get; set; }
  1144. public double MotorLoadStationInStartFrequency { get; set; }
  1145. public double MotorLoadStationInDefaultServoSpeed { get; set; }
  1146. public double MotorLoadStationInDefaultManualSpeed { get; set; }
  1147. public double MotorLoadStationInServoOnTimeout { get; set; }
  1148. public double MotorLoadStationInMoveTimeout { get; set; }
  1149. public double MotorLoadStationInStopTimeout { get; set; }
  1150. public double MotorLoadStationInResetAlarmTimeout { get; set; }
  1151. public double MotorLoadStationInHomeTimeout { get; set; }
  1152. public double MotorPushBarChamberAcceleration { get; set; }
  1153. public double MotorPushBarChamberDeceleration { get; set; }
  1154. public double MotorPushBarChamberStartFrequency { get; set; }
  1155. public double MotorPushBarChamberDefaultServoSpeed { get; set; }
  1156. public double MotorPushBarChamberDefaultManualSpeed { get; set; }
  1157. public double MotorPushBarChamberServoOnTimeout { get; set; }
  1158. public double MotorPushBarChamberMoveTimeout { get; set; }
  1159. public double MotorPushBarChamberStopTimeout { get; set; }
  1160. public double MotorPushBarChamberResetAlarmTimeout { get; set; }
  1161. public double MotorPushBarChamberHomeTimeout { get; set; }
  1162. public double MotorLoadStationOutAcceleration { get; set; }
  1163. public double MotorLoadStationOutDeceleration { get; set; }
  1164. public double MotorLoadStationOutStartFrequency { get; set; }
  1165. public double MotorLoadStationOutDefaultServoSpeed { get; set; }
  1166. public double MotorLoadStationOutDefaultManualSpeed { get; set; }
  1167. public double MotorLoadStationOutServoOnTimeout { get; set; }
  1168. public double MotorLoadStationOutMoveTimeout { get; set; }
  1169. public double MotorLoadStationOutStopTimeout { get; set; }
  1170. public double MotorLoadStationOutResetAlarmTimeout { get; set; }
  1171. public double MotorLoadStationOutHomeTimeout { get; set; }
  1172. }
  1173. }
  1174. }