using Aitex.Core.Common.DeviceData; using Aitex.Core.Util; using MECF.Framework.Common.OperationCenter; using OpenSEMI.ClientBase; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using FurnaceUI.Models; namespace FurnaceUI.Views.Operations { public class SetTemperatureViewModel : FurnaceUIViewModelBase { public bool IsInnerControlChecked { get; set; } public bool IsOutControlChecked { get; set; } [Subscription("PM1.Heater2.DeviceData")] public AITHeaterData Heater2Data { get; set; } protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); if (!Heater2Data.IsLspModeFeedBack) { IsInnerControlChecked = false; IsOutControlChecked = !IsInnerControlChecked; } else { IsOutControlChecked = true; IsInnerControlChecked = !IsOutControlChecked; } } public string SelectControlMode { get; set; } [Subscription("PM1.BottomHeaterData")] public AITHeaterData BottomHeaterData { get; set; } [Subscription("PM1.CenterBottomHeaterData")] public AITHeaterData CenterBottomHeaterData { get; set; } [Subscription("PM1.CenterHeaterData")] public AITHeaterData CenterHeaterData { get; set; } [Subscription("PM1.TopCenterHeaterData")] public AITHeaterData TopCenterHeaterData { get; set; } [Subscription("PM1.TopHeaterData")] public AITHeaterData TopHeaterData { get; set; } public double TopHeaterSetPoint { get; set; } = 0.0; public double TopCenterHeaterSetPoint { get; set; } = 0.0; public double CenterHeaterSetPoint { get; set; } = 0.0; public double CenterBottomHeaterSetPoint { get; set; } = 0.0; public double BottomHeaterSetPoint { get; set; } = 0.0; public double TopHeaterSetRamp { get; set; } = 0.0; public double TopCenterHeaterSetRamp { get; set; } = 0.0; public double CenterHeaterSetRamp { get; set; } = 0.0; public double CenterBottomHeaterSetRamp { get; set; } = 0.0; public double BottomHeaterSetRamp { get; set; } = 0.0; public double TopHeaterActionValue => TopHeaterData.FeedBack; public double TopCenterActionValue => TopCenterHeaterData.FeedBack; public double CenterHeaderActionValue => CenterHeaterData.FeedBack; public double CenterBottomHeaterActionValue => CenterHeaterData.FeedBack; public double BottomHeaterActionValue => BottomHeaterData.FeedBack; protected override void InvokeAfterUpdateProperty(Dictionary data) { InitRampRate(); } public void InitRampRate() { } public void SelectControlCmd(string cmdName) { SelectControlMode = cmdName; } public void EXECCmd() { if (!DialogBox.Confirm("Ara you sure to execute?")) return; if (SelectControlMode!= "Outer Control") { if (TopHeaterSetPoint != 0 || TopHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater9.SetParameters", TopHeaterSetPoint, TopHeaterSetRamp); } if (TopCenterHeaterSetPoint != 0 || TopCenterHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater7.SetParameters", TopCenterHeaterSetPoint, TopCenterHeaterSetRamp); } if (CenterHeaterSetPoint != 0 || CenterHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater5.SetParameters", CenterHeaterSetPoint, CenterHeaterSetRamp); } if (CenterBottomHeaterSetPoint != 0 || CenterBottomHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater3.SetParameters", CenterBottomHeaterSetPoint, CenterBottomHeaterSetRamp); } if (BottomHeaterSetPoint != 0 || BottomHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater1.SetParameters", BottomHeaterSetPoint, BottomHeaterSetRamp); } //InvokeClient.Instance.Service.DoOperation("PM1.Heater2.SetLspMode",false); //InvokeClient.Instance.Service.DoOperation("PM1.Heater4.SetLspMode", false); //InvokeClient.Instance.Service.DoOperation("PM1.Heater6.SetLspMode", false); //InvokeClient.Instance.Service.DoOperation("PM1.Heater8.SetLspMode", false); //InvokeClient.Instance.Service.DoOperation("PM1.Heater10.SetLspMode", false); } else { if (TopHeaterSetPoint != 0 || TopHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater10.SetParameters", TopHeaterSetPoint, TopHeaterSetRamp); } if (TopCenterHeaterSetPoint != 0 || TopCenterHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater8.SetParameters", TopCenterHeaterSetPoint, TopCenterHeaterSetRamp); } if (CenterHeaterSetPoint != 0 || CenterHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater6.SetParameters", CenterHeaterSetPoint, CenterHeaterSetRamp); } if (CenterBottomHeaterSetPoint != 0 || CenterBottomHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater4.SetParameters", CenterBottomHeaterSetPoint, CenterBottomHeaterSetRamp); } if (BottomHeaterSetPoint != 0 || BottomHeaterSetRamp != 0) { InvokeClient.Instance.Service.DoOperation("PM1.Heater2.SetParameters", BottomHeaterSetPoint, BottomHeaterSetRamp); } InvokeClient.Instance.Service.DoOperation("PM1.Heater2.SetLspMode", true); InvokeClient.Instance.Service.DoOperation("PM1.Heater4.SetLspMode", true); InvokeClient.Instance.Service.DoOperation("PM1.Heater6.SetLspMode", true); InvokeClient.Instance.Service.DoOperation("PM1.Heater8.SetLspMode", true); InvokeClient.Instance.Service.DoOperation("PM1.Heater10.SetLspMode", true); } ((Window)GetView())?.Close(); } public void ClosedCmd() { ((Window)GetView())?.Close(); } } }