DETMOperationViewModel.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. using Aitex.Core.Common.DeviceData;
  2. using Aitex.Core.RT.SCCore;
  3. using ExcelLibrary.BinaryFileFormat;
  4. using MECF.Framework.Common.DataCenter;
  5. using MECF.Framework.Common.OperationCenter;
  6. using Prism.Commands;
  7. using Prism.Mvvm;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Diagnostics;
  11. using System.Linq;
  12. using System.Reflection;
  13. using System.Text;
  14. using System.Threading.Tasks;
  15. using System.Windows.Threading;
  16. using Venus_MainPages.Unity;
  17. using Venus_Themes.CustomControls;
  18. using Venus_Themes.UserControls;
  19. namespace Venus_MainPages.ViewModels
  20. {
  21. public class DETMOperationViewModel : BindableBase
  22. {
  23. #region 私有变量
  24. private bool m_TMValveN2IsOpen;
  25. private bool m_TMSoftPumpIsOpen;
  26. private bool m_TMSoftVentIsOpen;
  27. private bool m_TMFastPumpIsOpen;
  28. private bool m_TMFastVentIsOpen;
  29. private bool m_VCEASoftPumpIsOpen;
  30. private bool m_VCEASoftVentIsOpen;
  31. private bool m_VCEAFastPumpIsOpen;
  32. private bool m_VCEAFastVentIsOpen;
  33. private bool m_VCEBSoftPumpIsOpen;
  34. private bool m_VCEBSoftVentIsOpen;
  35. private bool m_VCEBFastPumpIsOpen;
  36. private bool m_VCEBFastVentIsOpen;
  37. private bool m_PMAIsInstalled;
  38. private bool m_PMBIsInstalled;
  39. private bool m_PMCIsInstalled;
  40. private bool m_PMDIsInstalled;
  41. private bool m_VCEAIsInstalled;
  42. private bool m_VCEBIsInstalled;
  43. private bool m_VCEADoorIsOpen;
  44. private bool m_VCEBDoorIsOpen;
  45. private bool m_PMADoorIsOpen;
  46. private bool m_PMBDoorIsOpen;
  47. private bool m_PMCDoorIsOpen;
  48. private bool m_PMDDoorIsOpen;
  49. private bool m_VCEAOutDoorIsOpen;
  50. private bool m_VCEBOutDoorIsOpen;
  51. private bool m_TMIsVAC;
  52. private bool m_TMIsATM;
  53. private bool m_VCEAIsVAC;
  54. private bool m_VCEAIsATM;
  55. private bool m_VCEBIsVAC;
  56. private bool m_VCEBIsATM;
  57. private int m_GoToSlotNumber;
  58. private bool m_TMIsOnline;
  59. private Dictionary<string, object> m_RtDataValues = new Dictionary<string, object>();
  60. private List<string> m_RtDataKeys = new List<string>();
  61. #endregion
  62. #region 暴露变量
  63. public bool TMValveN2IsOpen
  64. {
  65. get => m_TMValveN2IsOpen;
  66. set => SetProperty(ref m_TMValveN2IsOpen, value);
  67. }
  68. public bool TMSoftPumpIsOpen { get => m_TMSoftPumpIsOpen; set => SetProperty(ref m_TMSoftPumpIsOpen, value); }
  69. public bool TMSoftVentIsOpen { get => m_TMSoftVentIsOpen; set => SetProperty(ref m_TMSoftVentIsOpen, value); }
  70. public bool TMFastPumpIsOpen { get => m_TMFastPumpIsOpen; set => SetProperty(ref m_TMFastPumpIsOpen, value); }
  71. public bool TMFastVentIsOpen { get => m_TMFastVentIsOpen; set => SetProperty(ref m_TMFastVentIsOpen, value); }
  72. public bool VCEASoftPumpIsOpen { get => m_VCEASoftPumpIsOpen; set => SetProperty(ref m_VCEASoftPumpIsOpen, value); }
  73. public bool VCEASoftVentIsOpen { get => m_VCEASoftVentIsOpen; set => SetProperty(ref m_VCEASoftVentIsOpen, value); }
  74. public bool VCEAFastPumpIsOpen { get => m_VCEAFastPumpIsOpen; set => SetProperty(ref m_VCEAFastPumpIsOpen, value); }
  75. public bool VCEAFastVentIsOpen { get => m_VCEAFastVentIsOpen; set => SetProperty(ref m_VCEAFastVentIsOpen, value); }
  76. public bool VCEBSoftPumpIsOpen { get => m_VCEBSoftPumpIsOpen; set => SetProperty(ref m_VCEBSoftPumpIsOpen, value); }
  77. public bool VCEBSoftVentIsOpen { get => m_VCEBSoftVentIsOpen; set => SetProperty(ref m_VCEBSoftVentIsOpen, value); }
  78. public bool VCEBFastPumpIsOpen { get => m_VCEBFastPumpIsOpen; set => SetProperty(ref m_VCEBFastPumpIsOpen, value); }
  79. public bool VCEBFastVentIsOpen { get => m_VCEBFastVentIsOpen; set => SetProperty(ref m_VCEBFastVentIsOpen, value); }
  80. public bool TMIsVAC { get => m_TMIsVAC; set => SetProperty(ref m_TMIsVAC, value); }
  81. public bool TMIsATM { get => m_TMIsATM; set => SetProperty(ref m_TMIsATM, value); }
  82. public bool VCEAIsVAC { get => m_VCEAIsVAC; set => SetProperty(ref m_VCEAIsVAC, value); }
  83. public bool VCEBIsVAC { get => m_VCEBIsVAC; set => SetProperty(ref m_VCEBIsVAC, value); }
  84. public bool VCEAIsATM { get => m_VCEAIsATM; set => SetProperty(ref m_VCEAIsATM, value); }
  85. public bool VCEBIsATM { get => m_VCEBIsATM; set => SetProperty(ref m_VCEBIsATM, value); }
  86. public bool PMAIsInstalled { get => m_PMAIsInstalled; set => SetProperty(ref m_PMAIsInstalled, value); }
  87. public bool PMBIsInstalled { get => m_PMBIsInstalled; set => SetProperty(ref m_PMBIsInstalled, value); }
  88. public bool PMCIsInstalled { get => m_PMCIsInstalled; set => SetProperty(ref m_PMCIsInstalled, value); }
  89. public bool PMDIsInstalled { get => m_PMDIsInstalled; set => SetProperty(ref m_PMDIsInstalled, value); }
  90. public bool VCEAIsInstalled { get => m_VCEAIsInstalled; set => SetProperty(ref m_VCEAIsInstalled, value); }
  91. public bool VCEBIsInstalled { get => m_VCEBIsInstalled; set => SetProperty(ref m_VCEBIsInstalled, value); }
  92. public int GoToSlotNumber { get => m_GoToSlotNumber; set => SetProperty(ref m_GoToSlotNumber, value); }
  93. public Dictionary<string, object> RtDataValues
  94. {
  95. get { return m_RtDataValues; }
  96. set { SetProperty(ref m_RtDataValues, value); }
  97. }
  98. //public bool TMIsOFFline => !TMIsOnline;
  99. public bool VCEADoorIsOpen { get => m_VCEADoorIsOpen; set => SetProperty(ref m_VCEADoorIsOpen, value); }
  100. public bool VCEBDoorIsOpen { get => m_VCEBDoorIsOpen; set => SetProperty(ref m_VCEBDoorIsOpen, value); }
  101. public bool PMADoorIsOpen { get => m_PMADoorIsOpen; set => SetProperty(ref m_PMADoorIsOpen, value); }
  102. public bool PMBDoorIsOpen { get => m_PMBDoorIsOpen; set => SetProperty(ref m_PMBDoorIsOpen, value); }
  103. public bool PMCDoorIsOpen { get => m_PMCDoorIsOpen; set => SetProperty(ref m_PMCDoorIsOpen, value); }
  104. public bool PMDDoorIsOpen { get => m_PMDDoorIsOpen; set => SetProperty(ref m_PMDDoorIsOpen, value); }
  105. public bool VCEAOutDoorIsOpen { get => m_VCEAOutDoorIsOpen; set => SetProperty(ref m_VCEAOutDoorIsOpen, value); }
  106. public bool VCEBOutDoorIsOpen { get => m_VCEBOutDoorIsOpen; set => SetProperty(ref m_VCEBOutDoorIsOpen, value); }
  107. #endregion
  108. #region 构造函数
  109. public DETMOperationViewModel()
  110. {
  111. addDataKeys();
  112. string[] allModules = QueryDataClient.Instance.Service.GetConfig($"System.InstalledModules").ToString().Split(',');
  113. PMAIsInstalled = allModules.Contains("PMA");
  114. PMBIsInstalled = allModules.Contains("PMB");
  115. PMCIsInstalled = allModules.Contains("PMC");
  116. PMDIsInstalled = allModules.Contains("PMD");
  117. VCEAIsInstalled = allModules.Contains("VCEA");
  118. VCEBIsInstalled = allModules.Contains("VCEB");
  119. RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
  120. //2023/10/20 朱永吉 郭治川 取消N2 valve 动画保持流的状态
  121. TMValveN2IsOpen = true;
  122. TMSoftPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMSoftPumpValve.IsOpen");
  123. TMSoftVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMSoftVentValve.IsOpen");
  124. TMFastPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMFastPumpValve.IsOpen");
  125. TMFastVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMFastVentValve.IsOpen");
  126. VCEASoftPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEASoftPumpValve.IsOpen");
  127. VCEASoftVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEASoftVentValve.IsOpen");
  128. VCEAFastPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAFastPumpValve.IsOpen");
  129. VCEAFastVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAFastVentValve.IsOpen");
  130. VCEBSoftPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBSoftPumpValve.IsOpen");
  131. VCEBSoftVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBSoftVentValve.IsOpen");
  132. VCEBFastPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBFastPumpValve.IsOpen");
  133. VCEBFastVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBFastVentValve.IsOpen");
  134. TMIsVAC = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMVACSensor.Value");
  135. TMIsATM = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMIsATM");
  136. //VCEAIsVAC = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAVACSensor.Value");
  137. //VCEBIsVAC = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAVACSensor.Value");
  138. VCEAIsATM = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAIsATM");
  139. VCEBIsATM = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBIsATM");
  140. VCEADoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEASlitDoorClosed");
  141. VCEBDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBSlitDoorClosed");
  142. PMADoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMASlitDoorClosed");
  143. PMBDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMBSlitDoorClosed");
  144. PMCDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMCSlitDoorClosed");
  145. PMDDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMDSlitDoorClosed");
  146. VCEAOutDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "VCEA.VCEOutDoorClosed");
  147. VCEBOutDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "VCEB.VCEOutDoorClosed");
  148. DispatcherTimer timer = new DispatcherTimer();
  149. timer.Interval = TimeSpan.FromSeconds(0.5);
  150. timer.Tick += timer_Tick;
  151. timer.Start();
  152. }
  153. #endregion
  154. #region 公共方法
  155. private DelegateCommand<object> _ControlValveCommand;
  156. public DelegateCommand<object> ControlValveCommand =>
  157. _ControlValveCommand ?? (_ControlValveCommand = new DelegateCommand<object>(OnControlValve));
  158. private DelegateCommand<object> _ControlSlitDoorCommand;
  159. public DelegateCommand<object> ControlSlitDoorCommand =>
  160. _ControlSlitDoorCommand ?? (_ControlSlitDoorCommand = new DelegateCommand<object>(OnControlSlitDoor));
  161. private DelegateCommand<object> _MapCommand;
  162. public DelegateCommand<object> MapCommand =>
  163. _MapCommand ?? (_MapCommand = new DelegateCommand<object>(OnMap));
  164. private DelegateCommand<object> _GoToLoadCommand;
  165. public DelegateCommand<object> GoToLoadCommand =>
  166. _GoToLoadCommand ?? (_GoToLoadCommand = new DelegateCommand<object>(OnGoToLoad));
  167. private DelegateCommand<object> _GoToSlotCommand;
  168. public DelegateCommand<object> GoToSlotCommand =>
  169. _GoToSlotCommand ?? (_GoToSlotCommand = new DelegateCommand<object>(OnGoToSlot));
  170. private DelegateCommand<object> _OpenDoorCommand;
  171. public DelegateCommand<object> OpenDoorCommand =>
  172. _OpenDoorCommand ?? (_OpenDoorCommand = new DelegateCommand<object>(OnOpenDoor));
  173. private DelegateCommand<object> _CloseDoorCommand;
  174. public DelegateCommand<object> CloseDoorCommand =>
  175. _CloseDoorCommand ?? (_CloseDoorCommand = new DelegateCommand<object>(OnCloseDoor));
  176. private DelegateCommand<object> _HOMECommand;
  177. public DelegateCommand<object> HOMECommand =>
  178. _HOMECommand ?? (_HOMECommand = new DelegateCommand<object>(OnHome));
  179. private DelegateCommand<object> _DETMPumpCommand;
  180. public DelegateCommand<object> DETMPumpCommand =>
  181. _DETMPumpCommand ?? (_DETMPumpCommand = new DelegateCommand<object>(OnSetDEPump));
  182. private DelegateCommand<object> _VCEAPumpCommand;
  183. public DelegateCommand<object> VCEAPumpCommand =>
  184. _VCEAPumpCommand ?? (_VCEAPumpCommand = new DelegateCommand<object>(OnSetVCEAPump));
  185. private DelegateCommand<object> _PumpDown;
  186. public DelegateCommand<object> PumpDown =>
  187. _PumpDown ?? (_PumpDown = new DelegateCommand<object>(OnPumpDown));
  188. private DelegateCommand<object> _Vent;
  189. public DelegateCommand<object> Vent =>
  190. _Vent ?? (_Vent = new DelegateCommand<object>(OnVent));
  191. private DelegateCommand _tmhome;
  192. public DelegateCommand TmHome =>
  193. _tmhome ?? (_tmhome = new DelegateCommand(tmhome));
  194. private DelegateCommand _abort;
  195. public DelegateCommand Abort =>
  196. _abort ?? (_abort = new DelegateCommand(abort));
  197. private DelegateCommand _TMSetOnline;
  198. public DelegateCommand TMSetOnline =>
  199. _TMSetOnline ?? (_TMSetOnline = new DelegateCommand(TmSetOnline));
  200. private DelegateCommand _TMSetOffline;
  201. public DelegateCommand TMSetOffline =>
  202. _TMSetOffline ?? (_TMSetOffline = new DelegateCommand(TmSetOffline));
  203. private DelegateCommand<object> _VCEHome;
  204. public DelegateCommand<object> VCEHome => _VCEHome ?? (_VCEHome = new DelegateCommand<object>(vceHome));
  205. private DelegateCommand<object> _VCEClear;
  206. public DelegateCommand<object> VCEClear => _VCEClear ?? (_VCEClear = new DelegateCommand<object>(vceClear));
  207. private DelegateCommand<object> _VCEAbort;
  208. public DelegateCommand<object> VCEAbort => _VCEAbort ?? (_VCEAbort = new DelegateCommand<object>(vceAbort));
  209. #endregion
  210. #region 私有方法
  211. private void addDataKeys()
  212. {
  213. m_RtDataKeys.Add($"DETM.TMSoftPumpValve.IsOpen");
  214. m_RtDataKeys.Add($"DETM.TMSoftVentValve.IsOpen");
  215. m_RtDataKeys.Add($"DETM.TMFastPumpValve.IsOpen");
  216. m_RtDataKeys.Add($"DETM.TMFastVentValve.IsOpen");
  217. m_RtDataKeys.Add($"DETM.VCEASoftPumpValve.IsOpen");
  218. m_RtDataKeys.Add($"DETM.VCEBSoftPumpValve.IsOpen");
  219. m_RtDataKeys.Add($"DETM.VCEASoftVentValve.IsOpen");
  220. m_RtDataKeys.Add($"DETM.VCEBSoftVentValve.IsOpen");
  221. m_RtDataKeys.Add($"DETM.VCEAFastPumpValve.IsOpen");
  222. m_RtDataKeys.Add($"DETM.VCEBFastPumpValve.IsOpen");
  223. m_RtDataKeys.Add($"DETM.VCEAFastVentValve.IsOpen");
  224. m_RtDataKeys.Add($"DETM.VCEBFastVentValve.IsOpen");
  225. m_RtDataKeys.Add($"DETM.VCEASlitDoorClosed");
  226. m_RtDataKeys.Add($"DETM.VCEBSlitDoorClosed");
  227. m_RtDataKeys.Add($"DETM.PMASlitDoorClosed");
  228. m_RtDataKeys.Add($"DETM.PMBSlitDoorClosed");
  229. m_RtDataKeys.Add($"DETM.PMCSlitDoorClosed");
  230. m_RtDataKeys.Add($"DETM.PMDSlitDoorClosed");
  231. m_RtDataKeys.Add($"DETM.TMVACSensor.Value");
  232. m_RtDataKeys.Add($"DETM.TMIsATM");
  233. m_RtDataKeys.Add($"DETM.VCEAIsATM");
  234. m_RtDataKeys.Add($"DETM.VCEBIsATM");
  235. m_RtDataKeys.Add($"DETM.IsOnline");
  236. m_RtDataKeys.Add($"DETM.IsOffline");
  237. m_RtDataKeys.Add($"DETM.PumpIsRunning");
  238. m_RtDataKeys.Add($"DETM.TMPipelinePressure.Value");
  239. m_RtDataKeys.Add($"DETM.TMPressure.Value");
  240. m_RtDataKeys.Add($"DETM.VCEAPressure.Value");
  241. m_RtDataKeys.Add($"DETM.VCEBPressure.Value");
  242. m_RtDataKeys.Add($"VCEA.VCEOutDoorClosed");
  243. m_RtDataKeys.Add($"VCEB.VCEOutDoorClosed");
  244. m_RtDataKeys.Add($"DETM.TM_MFC1.FeedBack");
  245. m_RtDataKeys.Add($"DETM.TM_MFC1.SetPoint");
  246. }
  247. private void timer_Tick(object sender, EventArgs e)
  248. {
  249. RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
  250. TMSoftPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMSoftPumpValve.IsOpen");
  251. TMSoftVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMSoftVentValve.IsOpen");
  252. TMFastPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMFastPumpValve.IsOpen");
  253. TMFastVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMFastVentValve.IsOpen");
  254. VCEASoftPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEASoftPumpValve.IsOpen");
  255. VCEASoftVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEASoftVentValve.IsOpen");
  256. VCEAFastPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAFastPumpValve.IsOpen");
  257. VCEAFastVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAFastVentValve.IsOpen");
  258. VCEBSoftPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBSoftPumpValve.IsOpen");
  259. VCEBSoftVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBSoftVentValve.IsOpen");
  260. VCEBFastPumpIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBFastPumpValve.IsOpen");
  261. VCEBFastVentIsOpen = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBFastVentValve.IsOpen");
  262. VCEADoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEASlitDoorClosed");
  263. VCEBDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBSlitDoorClosed");
  264. PMADoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMASlitDoorClosed");
  265. PMBDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMBSlitDoorClosed");
  266. PMCDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "DETM.PMCSlitDoorClosed");
  267. VCEAOutDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "VCEA.VCEAOutDoorClosed");
  268. VCEBOutDoorIsOpen = !CommonFunction.GetValue<bool>(RtDataValues, "VCEB.VCEBOutDoorClosed");
  269. TMIsVAC = (CommonFunction.GetValue<int>(RtDataValues, "DETM.TMPressure.Value") < Convert.ToInt32(QueryDataClient.Instance.Service.GetConfig($"DETM.VACTargetPressure")));
  270. TMIsATM = CommonFunction.GetValue<bool>(RtDataValues, "DETM.TMIsATM");
  271. VCEAIsVAC = (CommonFunction.GetValue<int>(RtDataValues, "DETM.VCEAPressure.Value") < Convert.ToInt32(QueryDataClient.Instance.Service.GetConfig($"VCEA.VACTargetPressure")));
  272. VCEBIsVAC = (CommonFunction.GetValue<int>(RtDataValues, "DETM.VCEBPressure.Value") < Convert.ToInt32(QueryDataClient.Instance.Service.GetConfig($"VCEB.VACTargetPressure")));
  273. VCEAIsATM = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEAIsATM");
  274. VCEBIsATM = CommonFunction.GetValue<bool>(RtDataValues, "DETM.VCEBIsATM");
  275. }
  276. private void TmSetOnline()
  277. {
  278. InvokeClient.Instance.Service.DoOperation("DETM.SetOnline");
  279. }
  280. private void TmSetOffline()
  281. {
  282. InvokeClient.Instance.Service.DoOperation("DETM.SetOffline");
  283. }
  284. private void vceHome(object obj)
  285. {
  286. InvokeClient.Instance.Service.DoOperation($"{obj}.HOME");
  287. }
  288. private void vceClear(object obj)
  289. {
  290. InvokeClient.Instance.Service.DoOperation($"{obj}.ClearError");
  291. }
  292. private void vceAbort(object obj)
  293. {
  294. InvokeClient.Instance.Service.DoOperation($"{obj}.Abort");
  295. }
  296. private void tmhome()
  297. {
  298. InvokeClient.Instance.Service.DoOperation("DETM.Home");
  299. }
  300. private void abort()
  301. {
  302. InvokeClient.Instance.Service.DoOperation("DETM.Abort");
  303. }
  304. private void OnVent(object obj)
  305. {
  306. InvokeClient.Instance.Service.DoOperation($"{obj}.Vent");
  307. }
  308. private void OnPumpDown(object obj)
  309. {
  310. InvokeClient.Instance.Service.DoOperation($"{obj}.PumpDown");
  311. }
  312. private void OnSetDEPump(object obj)
  313. {
  314. bool.TryParse(obj.ToString(), out bool Open);
  315. InvokeClient.Instance.Service.DoOperation("DETM.ControlPump", Open);
  316. }
  317. private void OnSetVCEAPump(object obj)
  318. {
  319. bool.TryParse(obj.ToString(), out bool Open);
  320. InvokeClient.Instance.Service.DoOperation("VCEA.ControlPump", Open);
  321. }
  322. private void OnHome(object chamber)
  323. {
  324. InvokeClient.Instance.Service.DoOperation($"{chamber}.HOME");
  325. }
  326. private void OnOpenDoor(object chamber)
  327. {
  328. InvokeClient.Instance.Service.DoOperation($"{chamber}.DoorOpen");
  329. }
  330. private void OnCloseDoor(object chamber)
  331. {
  332. InvokeClient.Instance.Service.DoOperation($"{chamber}.DoorClose");
  333. }
  334. private void OnMap(object chamber)
  335. {
  336. InvokeClient.Instance.Service.DoOperation($"{chamber}.Map");
  337. }
  338. private void OnGoToLoad(object chamber)
  339. {
  340. InvokeClient.Instance.Service.DoOperation($"{chamber}.GotoLP");
  341. }
  342. private void OnGoToSlot(object chamber)
  343. {
  344. InvokeClient.Instance.Service.DoOperation($"{chamber}.Goto", GoToSlotNumber);
  345. }
  346. private void OnControlValve(object obj)
  347. {
  348. CommonValveControl commonValveControl = (CommonValveControl)obj;
  349. if (commonValveControl.IsCanEdit == true)
  350. {
  351. InvokeClient.Instance.Service.DoOperation($"DETM.{commonValveControl.Tag}Valve.{AITValveOperation.GVTurnValve}", !commonValveControl.Status);
  352. }
  353. }
  354. private void OnControlSlitDoor(object obj)
  355. {
  356. string Module = obj.ToString().Split(',')[0];
  357. bool.TryParse(obj.ToString().Split(',')[1], out bool Open);
  358. InvokeClient.Instance.Service.DoOperation($"DETM.SetSlitDoor", Module, Open);
  359. }
  360. #endregion
  361. }
  362. }