PMPIDViewModel.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. using Aitex.Core.Util;
  2. using MECF.Framework.Common.DataCenter;
  3. using MECF.Framework.Common.OperationCenter;
  4. using OpenSEMI.ClientBase;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using VirgoUI.Client.Models.Sys;
  11. namespace VirgoUI.Client.Models.PMs
  12. {
  13. public class PMPIDViewModel : ModuleUiViewModelBase, ISupportMultipleSystem
  14. {
  15. #region Foreline
  16. public float ForelineTemperatureSetpoint { get; set; }
  17. public void ForelineSetHeaterOn()
  18. {
  19. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Forline_Heater_On", true);
  20. }
  21. public void ForelineSetHeaterOff()
  22. {
  23. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Forline_Heater_On", false);
  24. }
  25. public void ForelineSetTemperature(object oj)
  26. {
  27. InvokeClient.Instance.Service.DoOperation("System.SetAoValue32", $"{SystemName.Split('.')[1]}.AO_Foreline_Temperature_Setpoint", ForelineTemperatureSetpoint);
  28. }
  29. public void ForelineHeatPIDATStop()
  30. {
  31. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Foreline_Heat_PID_AT_Star", false);
  32. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Foreline_Heat_PID_AT_Stop", true);
  33. }
  34. public void ForelineHeatPIDATStart()
  35. {
  36. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Foreline_Heat_PID_AT_Stop", false);
  37. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Foreline_Heat_PID_AT_Star", true);
  38. }
  39. [Subscription("DI_Foreline_Heater_On_FB")]
  40. public bool ForelineHeaterOn { get; set; }
  41. [Subscription("DI_Foreline_Heat_PID_AT_Running")]
  42. public bool ForelineHeaterPIDATRunning { get; set; }
  43. [Subscription("DI_Foreline_Heat_PID_AT_Finished")]
  44. public bool ForelineHeaterPIDATFinished { get; set; }
  45. private bool _forelineHeaterPIDATStarFB;
  46. [Subscription("DI_Foreline_Heat_PID_AT_Star_FB")]
  47. public bool ForelineHeaterPIDATStarFB
  48. {
  49. get
  50. {
  51. return _forelineHeaterPIDATStarFB;
  52. }
  53. set
  54. {
  55. _forelineHeaterPIDATStarFB = value;
  56. if (value)
  57. {
  58. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Foreline_Heat_PID_AT_Star", false);
  59. }
  60. }
  61. }
  62. private bool _forelineHeaterPIDATStopFB;
  63. [Subscription("DI_Foreline_Heat_PID_AT_Stop_FB")]
  64. public bool ForelineHeaterPIDATStopFB
  65. {
  66. get
  67. {
  68. return _forelineHeaterPIDATStopFB;
  69. }
  70. set
  71. {
  72. _forelineHeaterPIDATStopFB = value;
  73. if (value)
  74. {
  75. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Foreline_Heat_PID_AT_Stop", false);
  76. }
  77. }
  78. }
  79. public float ForelineControlTCTemp
  80. {
  81. get
  82. {
  83. return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName.Split('.')[1]}.AI_Foreline_Control_TC_Temp");
  84. }
  85. }
  86. public float ForelineMonitorTCTemp
  87. {
  88. get
  89. {
  90. return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName.Split('.')[1]}.AI_Foreline_Monitor_TC_Temp");
  91. }
  92. }
  93. #endregion
  94. #region 1_LE
  95. public float LE1TemperatureSetpoint { get; set; }
  96. public void LE1SetHeaterOn()
  97. {
  98. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heater_On", true);
  99. }
  100. public void LE1SetHeaterOff()
  101. {
  102. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heater_On", false);
  103. }
  104. public void LE1SetTemperature(object oj)
  105. {
  106. InvokeClient.Instance.Service.DoOperation("System.SetAoValue32", $"{SystemName.Split('.')[1]}.AO_Substrate_Temperature_Setpoint", LE1TemperatureSetpoint);
  107. }
  108. public void LE1HeatPIDATStop()
  109. {
  110. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heat_PID_AT_Star", false);
  111. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heat_PID_AT_Stop", true);
  112. }
  113. public void LE1HeatPIDATStart()
  114. {
  115. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heat_PID_AT_Stop", false);
  116. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heat_PID_AT_Star", true);
  117. }
  118. [Subscription("DI_Substrate_Heater_On_FB")]
  119. public bool LE1HeaterOn { get; set; }
  120. [Subscription("DI_Substrate_Heat_PID_AT_Running")]
  121. public bool LE1HeaterPIDATRunning { get; set; }
  122. [Subscription("DI_Substrate_Heat_PID_AT_Finished")]
  123. public bool LE1HeaterPIDATFinished { get; set; }
  124. private bool _substrateHeaterPIDATStarFB;
  125. [Subscription("DI_Substrate_Heat_PID_AT_Star_FB")]
  126. public bool SubstrateHeaterPIDATStarFB
  127. {
  128. get
  129. {
  130. return _substrateHeaterPIDATStarFB;
  131. }
  132. set
  133. {
  134. _substrateHeaterPIDATStarFB = value;
  135. if (value)
  136. {
  137. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heat_PID_AT_Star", false);
  138. }
  139. }
  140. }
  141. private bool _substrateHeaterPIDATStopFB;
  142. [Subscription("DI_Substrate_Heat_PID_AT_Stop_FB")]
  143. public bool SubstrateHeaterPIDATStopFB
  144. {
  145. get
  146. {
  147. return _substrateHeaterPIDATStopFB;
  148. }
  149. set
  150. {
  151. _substrateHeaterPIDATStopFB = value;
  152. if (value)
  153. {
  154. InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_Substrate_Heat_PID_AT_Stop", false);
  155. }
  156. }
  157. }
  158. public float LE1ControlTCTemp
  159. {
  160. get
  161. {
  162. return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName.Split('.')[1]}.AI_Substrate_Control_TC_Temp");
  163. }
  164. }
  165. public float LE1MonitorTCTemp
  166. {
  167. get
  168. {
  169. return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName.Split('.')[1]}.AI_Substrate_Monitor_TC_Temp");
  170. }
  171. }
  172. #endregion
  173. }
  174. }