SetTemperatureViewModel.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. using Aitex.Core.Common.DeviceData;
  2. using Aitex.Core.Util;
  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 System.Windows;
  11. using FurnaceUI.Models;
  12. namespace FurnaceUI.Views.Operations
  13. {
  14. public class SetTemperatureViewModel : FurnaceUIViewModelBase
  15. {
  16. public bool IsInnerControlChecked { get; set; }
  17. public bool IsOutControlChecked { get; set; }
  18. [Subscription("PM1.Heater2.DeviceData")]
  19. public AITHeaterData Heater2Data { get; set; }
  20. protected override void OnViewLoaded(object view)
  21. {
  22. base.OnViewLoaded(view);
  23. if (!Heater2Data.IsLspModeFeedBack)
  24. {
  25. IsInnerControlChecked = false;
  26. IsOutControlChecked = !IsInnerControlChecked;
  27. }
  28. else
  29. {
  30. IsOutControlChecked = true;
  31. IsInnerControlChecked = !IsOutControlChecked;
  32. }
  33. }
  34. public string SelectControlMode { get; set; }
  35. [Subscription("PM1.BottomHeaterData")]
  36. public AITHeaterData BottomHeaterData { get; set; }
  37. [Subscription("PM1.CenterBottomHeaterData")]
  38. public AITHeaterData CenterBottomHeaterData { get; set; }
  39. [Subscription("PM1.CenterHeaterData")]
  40. public AITHeaterData CenterHeaterData { get; set; }
  41. [Subscription("PM1.TopCenterHeaterData")]
  42. public AITHeaterData TopCenterHeaterData { get; set; }
  43. [Subscription("PM1.TopHeaterData")]
  44. public AITHeaterData TopHeaterData { get; set; }
  45. public double TopHeaterSetPoint { get; set; } = 0.0;
  46. public double TopCenterHeaterSetPoint { get; set; } = 0.0;
  47. public double CenterHeaterSetPoint { get; set; } = 0.0;
  48. public double CenterBottomHeaterSetPoint { get; set; } = 0.0;
  49. public double BottomHeaterSetPoint { get; set; } = 0.0;
  50. public double TopHeaterSetRamp { get; set; } = 0.0;
  51. public double TopCenterHeaterSetRamp { get; set; } = 0.0;
  52. public double CenterHeaterSetRamp { get; set; } = 0.0;
  53. public double CenterBottomHeaterSetRamp { get; set; } = 0.0;
  54. public double BottomHeaterSetRamp { get; set; } = 0.0;
  55. public double TopHeaterActionValue => TopHeaterData.FeedBack;
  56. public double TopCenterActionValue => TopCenterHeaterData.FeedBack;
  57. public double CenterHeaderActionValue => CenterHeaterData.FeedBack;
  58. public double CenterBottomHeaterActionValue => CenterHeaterData.FeedBack;
  59. public double BottomHeaterActionValue => BottomHeaterData.FeedBack;
  60. protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)
  61. {
  62. InitRampRate();
  63. }
  64. public void InitRampRate()
  65. {
  66. }
  67. public void SelectControlCmd(string cmdName)
  68. {
  69. SelectControlMode = cmdName;
  70. }
  71. public void EXECCmd()
  72. {
  73. if (!DialogBox.Confirm("Ara you sure to execute?"))
  74. return;
  75. if (SelectControlMode!= "Outer Control")
  76. {
  77. if (TopHeaterSetPoint != 0 || TopHeaterSetRamp != 0)
  78. {
  79. InvokeClient.Instance.Service.DoOperation("PM1.Heater9.SetParameters", TopHeaterSetPoint, TopHeaterSetRamp);
  80. }
  81. if (TopCenterHeaterSetPoint != 0 || TopCenterHeaterSetRamp != 0)
  82. {
  83. InvokeClient.Instance.Service.DoOperation("PM1.Heater7.SetParameters", TopCenterHeaterSetPoint, TopCenterHeaterSetRamp);
  84. }
  85. if (CenterHeaterSetPoint != 0 || CenterHeaterSetRamp != 0)
  86. {
  87. InvokeClient.Instance.Service.DoOperation("PM1.Heater5.SetParameters", CenterHeaterSetPoint, CenterHeaterSetRamp);
  88. }
  89. if (CenterBottomHeaterSetPoint != 0 || CenterBottomHeaterSetRamp != 0)
  90. {
  91. InvokeClient.Instance.Service.DoOperation("PM1.Heater3.SetParameters", CenterBottomHeaterSetPoint, CenterBottomHeaterSetRamp);
  92. }
  93. if (BottomHeaterSetPoint != 0 || BottomHeaterSetRamp != 0)
  94. {
  95. InvokeClient.Instance.Service.DoOperation("PM1.Heater1.SetParameters", BottomHeaterSetPoint, BottomHeaterSetRamp);
  96. }
  97. //InvokeClient.Instance.Service.DoOperation("PM1.Heater2.SetLspMode",false);
  98. //InvokeClient.Instance.Service.DoOperation("PM1.Heater4.SetLspMode", false);
  99. //InvokeClient.Instance.Service.DoOperation("PM1.Heater6.SetLspMode", false);
  100. //InvokeClient.Instance.Service.DoOperation("PM1.Heater8.SetLspMode", false);
  101. //InvokeClient.Instance.Service.DoOperation("PM1.Heater10.SetLspMode", false);
  102. }
  103. else
  104. {
  105. if (TopHeaterSetPoint != 0 || TopHeaterSetRamp != 0)
  106. {
  107. InvokeClient.Instance.Service.DoOperation("PM1.Heater10.SetParameters", TopHeaterSetPoint, TopHeaterSetRamp);
  108. }
  109. if (TopCenterHeaterSetPoint != 0 || TopCenterHeaterSetRamp != 0)
  110. {
  111. InvokeClient.Instance.Service.DoOperation("PM1.Heater8.SetParameters", TopCenterHeaterSetPoint, TopCenterHeaterSetRamp);
  112. }
  113. if (CenterHeaterSetPoint != 0 || CenterHeaterSetRamp != 0)
  114. {
  115. InvokeClient.Instance.Service.DoOperation("PM1.Heater6.SetParameters", CenterHeaterSetPoint, CenterHeaterSetRamp);
  116. }
  117. if (CenterBottomHeaterSetPoint != 0 || CenterBottomHeaterSetRamp != 0)
  118. {
  119. InvokeClient.Instance.Service.DoOperation("PM1.Heater4.SetParameters", CenterBottomHeaterSetPoint, CenterBottomHeaterSetRamp);
  120. }
  121. if (BottomHeaterSetPoint != 0 || BottomHeaterSetRamp != 0)
  122. {
  123. InvokeClient.Instance.Service.DoOperation("PM1.Heater2.SetParameters", BottomHeaterSetPoint, BottomHeaterSetRamp);
  124. }
  125. InvokeClient.Instance.Service.DoOperation("PM1.Heater2.SetLspMode", true);
  126. InvokeClient.Instance.Service.DoOperation("PM1.Heater4.SetLspMode", true);
  127. InvokeClient.Instance.Service.DoOperation("PM1.Heater6.SetLspMode", true);
  128. InvokeClient.Instance.Service.DoOperation("PM1.Heater8.SetLspMode", true);
  129. InvokeClient.Instance.Service.DoOperation("PM1.Heater10.SetLspMode", true);
  130. }
  131. ((Window)GetView())?.Close();
  132. }
  133. public void ClosedCmd()
  134. {
  135. ((Window)GetView())?.Close();
  136. }
  137. }
  138. }