123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Aitex.Core.Util;
- using Aitex.Core.Common.DeviceData;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using FurnaceUI.Models;
- using Caliburn.Micro;
- using Caliburn.Micro.Core;
- using System.Windows.Controls;
- using MECF.Framework.UI.Client.CenterViews.Dialogs;
- using FurnaceUI.Views.Editors;
- using OpenSEMI.ClientBase;
- using MECF.Framework.Common.OperationCenter;
- using FurnaceUI.Client;
- using MECF.Framework.Common.DataCenter;
- namespace FurnaceUI.Views.Operations
- {
- public class DDCModel
- {
- public DDCModel(string channel)
- {
- Channel = channel;
- }
- public string Channel { get; set; }
- public string SetValue { get; set; }
- public string TargetValue { get; set; }
- public string ActValue { get; set; }
- public string DevValue { get; set; }
- public string UpRate { get; set; }
- public string DownRate { get; set; }
- public string Power { get; set; }
- public string P { get; set; }
- public string I { get; set; }
- public string D { get; set; }
- public bool IsPVBreak { get; set; }
- public bool IsTempErr { get; set; }
- }
- public class TemperatureViewModel : FurnaceUIViewModelBase
- {
- public bool IsManagerPermission { get; set; } = false;
- public bool IsLspMode { get; set; } = false;
- private TemperatureView _view;
- protected override void OnViewLoaded(object view)
- {
- base.OnViewLoaded(view);
- _view = (TemperatureView)view;
- }
- public double URange = 9.9;
- public double DevU => HeaterUData.FeedBack - HeaterUData.SetPoint;
- public double TCDevU => HeaterUData.HeaterPV - HeaterUData.OverTemp;
- public double PositiveULength
- {
- get
- {
- if (HeaterUData.SetPoint - HeaterUData.FeedBack <= 0)
- {
- return 0;
- }
- else if (HeaterUData.SetPoint - HeaterUData.FeedBack <= URange)
- {
- return ((HeaterUData.SetPoint - HeaterUData.FeedBack) / URange) * 150;
- }
- return 300;
- }
- }
- public double NegativeULength
- {
- get
- {
- if (HeaterUData.SetPoint - HeaterUData.FeedBack >= 0)
- {
- return 0;
- }
- else if (HeaterUData.SetPoint - HeaterUData.FeedBack >= -URange)
- {
- return ((-(HeaterUData.SetPoint - HeaterUData.FeedBack)) / URange) * 150;
- }
- return 300;
- }
- }
- public double DevCU => HeaterCUData.FeedBack - HeaterCUData.SetPoint;
- public double TCDevCU => HeaterCUData.HeaterPV - HeaterCUData.OverTemp;
- public double CURange = 9.9;
- public double PositiveCULength
- {
- get
- {
- if (HeaterCUData.SetPoint - HeaterCUData.FeedBack <= 0)
- {
- return 0;
- }
- else if (HeaterCUData.SetPoint - HeaterCUData.FeedBack <= CURange)
- {
- return ((HeaterCUData.SetPoint - HeaterCUData.FeedBack) / CURange) * 150;
- }
- return 300;
- }
- }
- public double NegativeCULength
- {
- get
- {
- if (HeaterCUData.SetPoint - HeaterCUData.FeedBack >= 0)
- {
- return 0;
- }
- else if (HeaterCUData.SetPoint - HeaterCUData.FeedBack >= -CURange)
- {
- return ((-(HeaterCUData.SetPoint - HeaterCUData.FeedBack)) / CURange) * 150;
- }
- return 300;
- }
- }
- public double DevC => HeaterCData.FeedBack - HeaterCData.SetPoint;
- public double TCDevC => HeaterCData.HeaterPV - HeaterCData.OverTemp;
- public double CRange = 9.9;
- public double PositiveCLength
- {
- get
- {
- if (HeaterCData.SetPoint - HeaterCData.FeedBack <= 0)
- {
- return 0;
- }
- else if (HeaterCData.SetPoint - HeaterCData.FeedBack <= CRange)
- {
- return ((HeaterCData.SetPoint - HeaterCData.FeedBack) / CRange) * 150;
- }
- return 300;
- }
- }
- public double NegativeCLength
- {
- get
- {
- if (HeaterCData.SetPoint - HeaterCData.FeedBack >= 0)
- {
- return 0;
- }
- else if (HeaterCData.SetPoint - HeaterCData.FeedBack >= -CRange)
- {
- return ((-(HeaterCData.SetPoint - HeaterCData.FeedBack)) / CRange) * 150;
- }
- return 300;
- }
- }
- public double DevCL => HeaterCLData.FeedBack - HeaterCLData.SetPoint;
- public double TCDevCL => HeaterCLData.HeaterPV - HeaterCLData.OverTemp;
- public double CLRange = 9.9;
- public double PositiveCLLength
- {
- get
- {
- if (HeaterCLData.SetPoint - HeaterCLData.FeedBack <= 0)
- {
- return 0;
- }
- else if (HeaterCLData.SetPoint - HeaterCLData.FeedBack <= CLRange)
- {
- return ((HeaterCLData.SetPoint - HeaterCLData.FeedBack) / CLRange) * 150;
- }
- return 300;
- }
- }
- public double NegativeCLLength
- {
- get
- {
- if (HeaterCLData.SetPoint - HeaterCLData.FeedBack >= 0)
- {
- return 0;
- }
- else if (HeaterCLData.SetPoint - HeaterCLData.FeedBack >= -CLRange)
- {
- return ((-(HeaterCLData.SetPoint - HeaterCLData.FeedBack)) / CLRange) * 150;
- }
- return 300;
- }
- }
- public double DevL => HeaterLData.FeedBack - HeaterLData.SetPoint;
- public double TCDevL => HeaterLData.HeaterPV - HeaterLData.OverTemp;
- public double LRange = 9.9;
- public double PositiveLLength
- {
- get
- {
- if (HeaterLData.SetPoint - HeaterLData.FeedBack <= 0)
- {
- return 0;
- }
- else if (HeaterLData.SetPoint - HeaterLData.FeedBack <= LRange)
- {
- return ((HeaterLData.SetPoint - HeaterLData.FeedBack) / LRange) * 150;
- }
- return 300;
- }
- }
- public double NegativeLLength
- {
- get
- {
- if (HeaterLData.SetPoint - HeaterLData.FeedBack >= 0)
- {
- return 0;
- }
- else if (HeaterLData.SetPoint - HeaterLData.FeedBack >= -LRange)
- {
- return ((-(HeaterLData.SetPoint - HeaterLData.FeedBack)) / LRange) * 150;
- }
- return 300;
- }
- }
- public double ZoneDevUCU => HeaterUData.FeedBack - HeaterCUData.FeedBack;
- public double ZoneDevCUC => HeaterCUData.FeedBack - HeaterCData.FeedBack;
- public double ZoneDevCCL => HeaterCData.FeedBack - HeaterCLData.FeedBack;
- public double ZoneDevCLL => HeaterCLData.FeedBack - HeaterLData.FeedBack;
- [Subscription("System.HeaterU.DeviceData")]
- public AITHeaterData HeaterUData { get; set; }
- [Subscription("System.HeaterCU.DeviceData")]
- public AITHeaterData HeaterCUData { get; set; }
- [Subscription("System.HeaterC.DeviceData")]
- public AITHeaterData HeaterCData { get; set; }
- [Subscription("System.HeaterCL.DeviceData")]
- public AITHeaterData HeaterCLData { get; set; }
- [Subscription("System.HeaterL.DeviceData")]
- public AITHeaterData HeaterLData { get; set; }
- public AITHeaterData BottomHeaterData => HeaterLData;
- public AITHeaterData CenterBottomHeaterData => HeaterCLData;
- public AITHeaterData CenterHeaterData => HeaterCData;
- public AITHeaterData TopCenterHeaterData => HeaterCUData;
- public AITHeaterData TopHeaterData => HeaterUData;
- [Subscription("PM1.Status")]
- public string PM1Status { get; set; }
- [Subscription("PM1.RecipeHold")]
- public bool PM1RecipeHold { get; set; }
- public bool IsMannualButtonEnabled
- {
- get
- {
- return PM1Status != "Process" || (PM1Status == "Process" && PM1RecipeHold);
- }
- }
- public string ErrStateStr
- {
- get
- {
- string _isErrState = "None";
- List<string> tempList = new List<string>();
- if (TopHeaterData?.IsAlarm == true)
- {
- tempList.Add("U");
- }
- if (TopCenterHeaterData?.IsAlarm == true)
- {
- tempList.Add("CU");
- }
- if (CenterHeaterData?.IsAlarm == true)
- {
- tempList.Add("C");
- }
- if (CenterBottomHeaterData?.IsAlarm == true)
- {
- tempList.Add("CL");
- }
- if (BottomHeaterData?.IsAlarm == true)
- {
- tempList.Add("L");
- }
- if (tempList.Count > 0)
- {
- if (tempList.Count == 5)
- {
- _isErrState = "All zone Err ";
- }
- else
- {
- _isErrState = string.Join("/", tempList) + " zone Err";
- }
- }
- return _isErrState;
- }
- }
- public bool ErrState
- {
- get
- {
- bool _isErrState = false;
- if (TopHeaterData?.IsAlarm == true || TopCenterHeaterData?.IsAlarm == true || CenterHeaterData.IsAlarm == true || CenterBottomHeaterData.IsAlarm == true || BottomHeaterData.IsAlarm == true)
- {
- _isErrState = true;
- }
- return _isErrState;
- }
- }
- #region AnaLog
- [Subscription("PM1.HTCurrent1.DeviceData")]
- public AITWaterFlowMeterData HTCurrent1 { get; set; }
- [Subscription("PM1.HTCurrent2.DeviceData")]
- public AITWaterFlowMeterData HTCurrent2 { get; set; }
- [Subscription("PM1.HTCurrent3.DeviceData")]
- public AITWaterFlowMeterData HTCurrent3 { get; set; }
- [Subscription("PM1.HTCurrent4.DeviceData")]
- public AITWaterFlowMeterData HTCurrent4 { get; set; }
- [Subscription("PM1.HTCurrent5.DeviceData")]
- public AITWaterFlowMeterData HTCurrent5 { get; set; }
- [Subscription("PM1.HTVoltage1.DeviceData")]
- public AITWaterFlowMeterData HTVoltage1 { get; set; }
- [Subscription("PM1.HTVoltage2.DeviceData")]
- public AITWaterFlowMeterData HTVoltage2 { get; set; }
- [Subscription("PM1.HTVoltage3.DeviceData")]
- public AITWaterFlowMeterData HTVoltage3 { get; set; }
- [Subscription("PM1.HTVoltage4.DeviceData")]
- public AITWaterFlowMeterData HTVoltage4 { get; set; }
- [Subscription("PM1.HTVoltage5.DeviceData")]
- public AITWaterFlowMeterData HTVoltage5 { get; set; }
- public string HTCurrent1Feedback { get; set; }
- public string HTCurrent2Feedback { get; set; }
- public string HTCurrent3Feedback { get; set; }
- public string HTCurrent4Feedback { get; set; }
- public string HTCurrent5Feedback { get; set; }
- public string HTVoltage1Feedback { get; set; }
- public string HTVoltage2Feedback { get; set; }
- public string HTVoltage3Feedback { get; set; }
- public string HTVoltage4Feedback { get; set; }
- public string HTVoltage5Feedback { get; set; }
- #endregion
- public Dictionary<string, double> _dicTemperatualMaxValue;
- private string _topHeaterSetPoint;
- public string TopHeaterSetPoint
- {
- get { return _topHeaterSetPoint; }
- set
- {
- _topHeaterSetPoint = value;
- NotifyOfPropertyChange("TopHeaterSetPoint");
- }
- }
- private string _topCenterHeaterSetPoint;
- public string TopCenterHeaterSetPoint
- {
- get { return _topCenterHeaterSetPoint; }
- set
- {
- _topCenterHeaterSetPoint = value;
- NotifyOfPropertyChange("TopCenterHeaterSetPoint");
- }
- }
- private string _centerHeaterSetPoint;
- public string CenterHeaterSetPoint
- {
- get { return _centerHeaterSetPoint; }
- set
- {
- _centerHeaterSetPoint = value;
- NotifyOfPropertyChange("CenterHeaterSetPoint");
- }
- }
- private string _centerBottomHeaterSetPoint;
- public string CenterBottomHeaterSetPoint
- {
- get { return _centerBottomHeaterSetPoint; }
- set
- {
- _centerBottomHeaterSetPoint = value;
- NotifyOfPropertyChange("CenterBottomHeaterSetPoint");
- }
- }
- private string _bottomHeaterSetPoint;
- public string BottomHeaterSetPoint
- {
- get { return _bottomHeaterSetPoint; }
- set
- {
- _bottomHeaterSetPoint = value;
- NotifyOfPropertyChange("BottomHeaterSetPoint");
- }
- }
- private string _topHeaterUpRateSetpoint;
- public string TopHeaterUpRateSetpoint
- {
- get { return _topHeaterUpRateSetpoint; }
- set
- {
- _topHeaterUpRateSetpoint = value;
- NotifyOfPropertyChange("TopHeaterUpRateSetpoint");
- }
- }
- private string _topCenterHeaterUpRateSetpoint;
- public string TopCenterHeaterUpRateSetpoint
- {
- get { return _topCenterHeaterUpRateSetpoint; }
- set
- {
- _topCenterHeaterUpRateSetpoint = value;
- NotifyOfPropertyChange("TopCenterHeaterUpRateSetpoint");
- }
- }
- private string _centerHeaterUpRateSetpoint;
- public string CenterHeaterUpRateSetpoint
- {
- get { return _centerHeaterUpRateSetpoint; }
- set
- {
- _centerHeaterUpRateSetpoint = value;
- NotifyOfPropertyChange("CenterHeaterUpRateSetpoint");
- }
- }
- private string _centerLowHeaterUpRateSetpoint;
- public string CenterLowHeaterUpRateSetpoint
- {
- get { return _centerLowHeaterUpRateSetpoint; }
- set
- {
- _centerLowHeaterUpRateSetpoint = value;
- NotifyOfPropertyChange("CenterLowHeaterUpRateSetpoint");
- }
- }
- private string _lowHeaterUpRateSetpoint;
- public string LowHeaterUpRateSetpoint
- {
- get { return _lowHeaterUpRateSetpoint; }
- set
- {
- _lowHeaterUpRateSetpoint = value;
- NotifyOfPropertyChange("LowHeaterUpRateSetpoint");
- }
- }
- private string _topHeaterDownRateSetpoint;
- public string TopHeaterDownRateSetpoint
- {
- get { return _topHeaterDownRateSetpoint; }
- set
- {
- _topHeaterDownRateSetpoint = value;
- NotifyOfPropertyChange("TopHeaterDownRateSetpoint");
- }
- }
- private string _topCenterHeaterDownRateSetpoint;
- public string TopCenterHeaterDownRateSetpoint
- {
- get { return _topCenterHeaterDownRateSetpoint; }
- set
- {
- _topCenterHeaterDownRateSetpoint = value;
- NotifyOfPropertyChange("TopCenterHeaterDownRateSetpoint");
- }
- }
- private string _centerHeaterDownRateSetpoint;
- public string CenterHeaterDownRateSetpoint
- {
- get { return _centerHeaterDownRateSetpoint; }
- set
- {
- _centerHeaterDownRateSetpoint = value;
- NotifyOfPropertyChange("CenterHeaterDownRateSetpoint");
- }
- }
- private string _centerLowHeaterDownRateSetpoint;
- public string CenterLowHeaterDownRateSetpoint
- {
- get { return _centerLowHeaterDownRateSetpoint; }
- set
- {
- _centerLowHeaterDownRateSetpoint = value;
- NotifyOfPropertyChange("CenterLowHeaterDownRateSetpoint");
- }
- }
- private string _lowHeaterDownRateSetpoint;
- public string LowHeaterDownRateSetpoint
- {
- get { return _lowHeaterDownRateSetpoint; }
- set
- {
- _lowHeaterDownRateSetpoint = value;
- NotifyOfPropertyChange("LowHeaterDownRateSetpoint");
- }
- }
- private bool _isEnableMannual;
- public bool IsEnableMannual
- {
- get
- {
- return IsManualButtonChecked;
- }
- set
- {
- _isEnableMannual = value;
- }
- }
- public bool IsManualButtonChecked
- {
- get;
- set;
- }
- private int _mannualSelectCount;
- private string _lspModel;
- public string LspModel
- {
- get => _lspModel;
- set
- {
- _lspModel = value;
- NotifyOfPropertyChange(nameof(LspModel));
- }
- }
- private string _topHeaterRampSetPoint;
- public string TopHeaterRampSetPoint
- {
- get => _topHeaterRampSetPoint;
- set
- {
- _topHeaterRampSetPoint = value;
- NotifyOfPropertyChange(nameof(TopHeaterRampSetPoint));
- }
- }
- private string _topCenterHeaterRampSetPoint;
- public string TopCenterHeaterRampSetPoint
- {
- get => _topCenterHeaterRampSetPoint;
- set
- {
- _topCenterHeaterRampSetPoint = value;
- NotifyOfPropertyChange(nameof(TopCenterHeaterRampSetPoint));
- }
- }
- private string _centerHeaterRampSetPoint;
- public string CenterHeaterRampSetPoint
- {
- get => _centerHeaterRampSetPoint;
- set
- {
- _centerHeaterRampSetPoint = value;
- NotifyOfPropertyChange(nameof(CenterHeaterRampSetPoint));
- }
- }
- private string _bottomCenterHeaterRampSetPoint;
- public string BottomCenterHeaterRampSetPoint
- {
- get => _bottomCenterHeaterRampSetPoint;
- set
- {
- _bottomCenterHeaterRampSetPoint = value;
- NotifyOfPropertyChange(nameof(BottomCenterHeaterRampSetPoint));
- }
- }
- private string _bottomHeaterRampSetPoint;
- public string BottomHeaterRampSetPoint
- {
- get => _bottomHeaterRampSetPoint;
- set
- {
- _bottomHeaterRampSetPoint = value;
- NotifyOfPropertyChange(nameof(BottomHeaterRampSetPoint));
- }
- }
- public string ProfileTable
- {
- get
- {
- if (!HeaterUData.IsProfiling)
- return "OFF";
- if (string.IsNullOrEmpty(HeaterUData.ProfileTable) || HeaterUData.ProfileTable == "None")
- return "OFF";
- var array = HeaterUData.ProfileTable.Split(',');
- if (array == null || array.Length < 2)
- {
- return "OFF";
- }
- var fileNameAndPath = array[0];
- int.TryParse(array[1], out int index);
- var para = fileNameAndPath.Split('\\').ToList().Skip(2);//"Parameter\\TempCorrection"
- if (para == null)
- {
- return "OFF";
- }
- var fileName = string.Join("\\", para.ToArray());
- if (array.Length < 3)
- {
- return $"{fileName} [{index}]";
- }
- else
- return $"{fileName} [{index}: {array[2]}]";
- }
- set
- {
- }
- }
- public string ProfileStatusDisplay
- {
- get
- {
- if (!HeaterUData.IsProfiling)
- return "None";
- return HeaterUData.ProfileStatus;
- }
- }
- public string PIDTable
- {
- get
- {
- if (string.IsNullOrEmpty(HeaterUData.PIDTable) || HeaterUData.PIDTable == "None")
- return "None";
- var array = HeaterUData.PIDTable.Split(',');
- if (array == null || array.Length < 2)
- {
- return "None";
- }
- var fileNameAndPath = array[0];
- int.TryParse(array[1], out int index);
- var para = fileNameAndPath.Split('\\').ToList().Skip(2);//"Parameter\\TempCorrection"
- if (para == null)
- {
- return "None";
- }
- var fileName = string.Join("\\", para.ToArray());
- if (array.Length < 3)
- {
- return $"{fileName} [{index}]";
- }
- else
- return $"{fileName} [{index}: {array[2]}]";
- }
- set
- {
- }
- }
- public string CorrectTable
- {
- get
- {
- if (string.IsNullOrEmpty(HeaterUData.CorrectTable) || HeaterUData.CorrectTable == "None")
- return "None";
- var array = HeaterUData.CorrectTable.Split(',');
- if (array == null || array.Length < 2)
- {
- return "None";
- }
- var fileNameAndPath = array[0];
- int.TryParse(array[1], out int index);
- var para = fileNameAndPath.Split('\\').ToList().Skip(2);//"Parameter\\TempCorrection"
- if (para == null)
- {
- return "None";
- }
- var fileName = string.Join("\\", para.ToArray());
- if (array.Length < 3)
- {
- return $"{fileName} [{index}]";
- }
- else
- return $"{fileName} [{index}: {array[2]}]";
- }
- set
- {
- }
- }
- public string CheckLimitUDisplay
- {
- get
- {
- if (!HeaterUData.IsProfiling)
- return "0.0";
- return HeaterUData.ProfileCheckLimit.ToString("f1");
- }
- }
- public string CheckLimitCUDisplay
- {
- get
- {
- if (!HeaterCUData.IsProfiling)
- return "0.0";
- return HeaterCUData.ProfileCheckLimit.ToString("f1");
- }
- }
- public string CheckLimitCDisplay
- {
- get
- {
- if (!HeaterCData.IsProfiling)
- return "0.0";
- return HeaterCData.ProfileCheckLimit.ToString("f1");
- }
- }
- public string CheckLimitCLDisplay
- {
- get
- {
- if (!HeaterCLData.IsProfiling)
- return "0.0";
- return HeaterCLData.ProfileCheckLimit.ToString("f1");
- }
- }
- public string CheckLimitLDisplay
- {
- get
- {
- if (!HeaterLData.IsProfiling)
- return "0.0";
- return HeaterLData.ProfileCheckLimit.ToString("f1");
- }
- }
- public string ProfileTotalTimeDisplay
- {
- get
- {
- var time = HeaterUData.ProfileTotalTime;
- if (!HeaterUData.IsProfiling)
- time = 0;
- if (time < 0)
- time = 0;
- TimeSpan span = TimeSpan.FromSeconds(time);
- return $"{span.Hours.ToString("D2")}:{span.Minutes.ToString("D2")}:{span.Seconds.ToString("D2")}";
- }
- }
- public string ProfilePreheatTimeDisplay
- {
- get
- {
- var time = HeaterUData.ProfilePreheatTime;
- if (!HeaterUData.IsProfiling)
- time = 0;
- if (time < 0)
- time = 0;
- TimeSpan span = TimeSpan.FromSeconds(time);
- return $"{span.Hours.ToString("D2")}:{span.Minutes.ToString("D2")}:{span.Seconds.ToString("D2")}";
- }
- }
- public string ProfileCheckTimeDisplay
- {
- get
- {
- var time = HeaterUData.ProfileCheckTime;
- if (!HeaterUData.IsProfiling)
- time = 0;
- if (time < 0)
- time = 0;
- TimeSpan span = TimeSpan.FromSeconds(time);
- return $"{span.Hours.ToString("D2")}:{span.Minutes.ToString("D2")}:{span.Seconds.ToString("D2")}";
- }
- }
- public List<DDCModel> TempList
- {
- get { return _tempList; }
- set
- {
- _tempList = value;
- NotifyOfPropertyChange(() => TempList);
- }
- }
- private List<DDCModel> _tempList = new List<DDCModel>();
- [Subscription("System.HeaterU.HeaterControlModeSV")]
- public float HeaterUHeaterControlModeSV { get; set; }
- [Subscription("System.HeaterU.CascadeControlModeSV")]
- public float HeaterUCascadeControlModeSV { get; set; }
- [Subscription("System.HeaterCU.HeaterControlModeSV")]
- public float HeaterCUHeaterControlModeSV { get; set; }
- [Subscription("System.HeaterCU.CascadeControlModeSV")]
- public float HeaterCUCascadeControlModeSV { get; set; }
- [Subscription("System.HeaterC.HeaterControlModeSV")]
- public float HeaterCHeaterControlModeSV { get; set; }
- [Subscription("System.HeaterC.CascadeControlModeSV")]
- public float HeaterCCascadeControlModeSV { get; set; }
- [Subscription("System.HeaterCL.HeaterControlModeSV")]
- public float HeaterCLHeaterControlModeSV { get; set; }
- [Subscription("System.HeaterCL.CascadeControlModeSV")]
- public float HeaterCLCascadeControlModeSV { get; set; }
- [Subscription("System.HeaterL.HeaterControlModeSV")]
- public float HeaterLHeaterControlModeSV { get; set; }
- [Subscription("System.HeaterL.CascadeControlModeSV")]
- public float HeaterLCascadeControlModeSV { get; set; }
- protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)
- {
- if (!IsEnableMannual)
- {
- InitSetPoint();
- InitRampRate();
- InitUpDownRate();
- }
- //URange = 9.9;
- List<DDCModel> tempList = new List<DDCModel>();
- DDCModel HTU = new DDCModel("HT.U")
- {
- SetValue = HeaterUData.SetPoint.ToString("F1"),
- ActValue = HeaterUData.HeaterPV.ToString("F1"),
- TargetValue = HeaterUHeaterControlModeSV.ToString("F1"),
- Power = HeaterUData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterUData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterUData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterUData.SetPoint - HeaterUData.FeedBack).ToString("F1"),
- P = HeaterUData.HeaterPID_P.ToString("F1"),
- I= HeaterUData.HeaterPID_I.ToString("F1"),
- D= HeaterUData.HeaterPID_D.ToString("F1"),
- IsPVBreak = HeaterUData.IsHeaterPVBreak,
- IsTempErr = HeaterUData.HeaterPV > HeaterUData.Scale
- };
- DDCModel HTCU = new DDCModel("HT.CU")
- {
- SetValue = HeaterCUData.SetPoint.ToString("F1"),
- ActValue = HeaterCUData.HeaterPV.ToString("F1"),
- TargetValue = HeaterCUHeaterControlModeSV.ToString("F1"),
- Power = HeaterCUData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterCUData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterCUData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterCUData.SetPoint - HeaterCUData.FeedBack).ToString("F1"),
- P = HeaterCUData.HeaterPID_P.ToString("F1"),
- I = HeaterCUData.HeaterPID_I.ToString("F1"),
- D = HeaterCUData.HeaterPID_D.ToString("F1"),
- IsPVBreak = HeaterCUData.IsHeaterPVBreak,
- IsTempErr = HeaterCUData.HeaterPV > HeaterCUData.Scale
- };
- DDCModel HTC = new DDCModel("HT.C")
- {
- SetValue = HeaterCData.SetPoint.ToString("F1"),
- ActValue = HeaterCData.HeaterPV.ToString("F1"),
- TargetValue = HeaterCHeaterControlModeSV.ToString("F1"),
- Power = HeaterCData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterCData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterCData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterCData.SetPoint - HeaterCData.FeedBack).ToString("F1"),
- P = HeaterCData.HeaterPID_P.ToString("F1"),
- I = HeaterCData.HeaterPID_I.ToString("F1"),
- D = HeaterCData.HeaterPID_D.ToString("F1"),
- IsPVBreak = HeaterCData.IsHeaterPVBreak,
- IsTempErr = HeaterCData.HeaterPV > HeaterCData.Scale
- };
- DDCModel HTCL = new DDCModel("HT.CL")
- {
- SetValue = HeaterCLData.SetPoint.ToString("F1"),
- ActValue = HeaterCLData.HeaterPV.ToString("F1"),
- TargetValue = HeaterCLHeaterControlModeSV.ToString("F1"),
- Power = HeaterCLData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterCLData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterCLData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterCLData.SetPoint - HeaterCLData.FeedBack).ToString("F1"),
- P = HeaterCLData.HeaterPID_P.ToString("F1"),
- I = HeaterCLData.HeaterPID_I.ToString("F1"),
- D = HeaterCLData.HeaterPID_D.ToString("F1"),
- IsPVBreak = HeaterCLData.IsHeaterPVBreak,
- IsTempErr = HeaterCLData.HeaterPV > HeaterCLData.Scale
- };
- DDCModel HTL = new DDCModel("HT.L")
- {
- SetValue = HeaterLData.SetPoint.ToString("F1"),
- ActValue = HeaterLData.HeaterPV.ToString("F1"),
- TargetValue = HeaterLHeaterControlModeSV.ToString("F1"),
- Power = HeaterLData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterLData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterLData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterLData.SetPoint - HeaterLData.FeedBack).ToString("F1"),
- P = HeaterLData.HeaterPID_P.ToString("F1"),
- I = HeaterLData.HeaterPID_I.ToString("F1"),
- D = HeaterLData.HeaterPID_D.ToString("F1"),
- IsPVBreak = HeaterLData.IsHeaterPVBreak,
- IsTempErr = HeaterLData.HeaterPV > HeaterLData.Scale
- };
- DDCModel PRU = new DDCModel("PR.U")
- {
- SetValue = HeaterUData.SetPoint.ToString("F1"),
- ActValue = HeaterUData.CascadePV.ToString("F1"),
- TargetValue = HeaterUCascadeControlModeSV.ToString("F1"),
- Power = HeaterUData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterUData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterUData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterUData.SetPoint - HeaterUData.FeedBack).ToString("F1"),
- P = HeaterUData.CascadePID_P.ToString("F1"),
- I = HeaterUData.CascadePID_I.ToString("F1"),
- D = HeaterUData.CascadePID_D.ToString("F1"),
- IsPVBreak = HeaterUData.IsCascadePVBreak,
- IsTempErr = HeaterUData.HeaterPV > HeaterUData.Scale
- };
- DDCModel PRCU = new DDCModel("PR.CU")
- {
- SetValue = HeaterCUData.SetPoint.ToString("F1"),
- ActValue = HeaterCUData.CascadePV.ToString("F1"),
- TargetValue = HeaterCUCascadeControlModeSV.ToString("F1"),
- Power = HeaterCUData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterCUData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterCUData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterCUData.SetPoint - HeaterCUData.FeedBack).ToString("F1"),
- P = HeaterCUData.CascadePID_P.ToString("F1"),
- I = HeaterCUData.CascadePID_I.ToString("F1"),
- D = HeaterCUData.CascadePID_D.ToString("F1"),
- IsPVBreak = HeaterCUData.IsCascadePVBreak,
- IsTempErr = HeaterCUData.CascadePV > HeaterCUData.Scale
- };
- DDCModel PRC = new DDCModel("PR.C")
- {
- SetValue = HeaterCData.SetPoint.ToString("F1"),
- ActValue = HeaterCData.CascadePV.ToString("F1"),
- TargetValue = HeaterCCascadeControlModeSV.ToString("F1"),
- Power = HeaterCData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterCData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterCData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterCData.SetPoint - HeaterCData.FeedBack).ToString("F1"),
- P = HeaterCData.CascadePID_P.ToString("F1"),
- I = HeaterCData.CascadePID_I.ToString("F1"),
- D = HeaterCData.CascadePID_D.ToString("F1"),
- IsPVBreak = HeaterCData.IsCascadePVBreak,
- IsTempErr = HeaterCData.CascadePV > HeaterCData.Scale
- };
- DDCModel PRCL = new DDCModel("PR.CL")
- {
- SetValue = HeaterCLData.SetPoint.ToString("F1"),
- ActValue = HeaterCLData.CascadePV.ToString("F1"),
- TargetValue = HeaterCLCascadeControlModeSV.ToString("F1"),
- Power = HeaterCLData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterCLData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterCLData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterCLData.SetPoint - HeaterCLData.FeedBack).ToString("F1"),
- P = HeaterCLData.CascadePID_P.ToString("F1"),
- I = HeaterCLData.CascadePID_I.ToString("F1"),
- D = HeaterCLData.CascadePID_D.ToString("F1"),
- IsPVBreak = HeaterCLData.IsCascadePVBreak,
- IsTempErr = HeaterCLData.CascadePV > HeaterCLData.Scale
- };
- DDCModel PRL = new DDCModel("PR.L")
- {
- SetValue = HeaterLData.SetPoint.ToString("F1"),
- ActValue = HeaterLData.CascadePV.ToString("F1"),
- TargetValue = HeaterLCascadeControlModeSV.ToString("F1"),
- Power = HeaterLData.ManipulatedVariable.ToString("F1"),
- UpRate = HeaterLData.UpRateSetPoint.ToString("F1"),
- DownRate = HeaterLData.DownRateSetPoint.ToString("F1"),
- DevValue = (HeaterLData.SetPoint - HeaterLData.FeedBack).ToString("F1"),
- P = HeaterLData.CascadePID_P.ToString("F1"),
- I = HeaterLData.CascadePID_I.ToString("F1"),
- D = HeaterLData.CascadePID_D.ToString("F1"),
- IsPVBreak = HeaterLData.IsCascadePVBreak,
- IsTempErr = HeaterLData.CascadePV > HeaterLData.Scale
- };
- tempList.Add(HTU);
- tempList.Add(HTCU);
- tempList.Add(HTC);
- tempList.Add(HTCL);
- tempList.Add(HTL);
- tempList.Add(PRU);
- tempList.Add(PRCU);
- tempList.Add(PRC);
- tempList.Add(PRCL);
- tempList.Add(PRL);
- TempList = tempList;
- NotifyOfPropertyChange(nameof(PositiveULength));
- NotifyOfPropertyChange(nameof(NegativeULength));
- NotifyOfPropertyChange(nameof(PositiveCULength));
- NotifyOfPropertyChange(nameof(NegativeCULength));
- NotifyOfPropertyChange(nameof(PositiveCLength));
- NotifyOfPropertyChange(nameof(NegativeCLength));
- NotifyOfPropertyChange(nameof(PositiveCLLength));
- NotifyOfPropertyChange(nameof(NegativeCLLength));
- NotifyOfPropertyChange(nameof(PositiveLLength));
- NotifyOfPropertyChange(nameof(NegativeLLength));
- if (_view != null)
- {
- _view.UpdateLayout();
- }
- }
- public void InitSetPoint()
- {
- TopHeaterSetPoint = TopHeaterData.SetPoint.ToString("F1");
- TopCenterHeaterSetPoint = TopCenterHeaterData.SetPoint.ToString("F1");
- CenterHeaterSetPoint = CenterHeaterData.SetPoint.ToString("F1");
- CenterBottomHeaterSetPoint = CenterBottomHeaterData.SetPoint.ToString("F1");
- BottomHeaterSetPoint = BottomHeaterData.SetPoint.ToString("F1");
- //HTCurrent1Feedback = HTCurrent1 == null ? "0.0" : HTCurrent1.FeedBack.ToString("F3");
- //HTCurrent2Feedback = HTCurrent2 == null ? "0.0" : HTCurrent2.FeedBack.ToString("F3");
- //HTCurrent3Feedback = HTCurrent3 == null ? "0.0" : HTCurrent3.FeedBack.ToString("F3");
- //HTCurrent4Feedback = HTCurrent4 == null ? "0.0" : HTCurrent4.FeedBack.ToString("F3");
- //HTCurrent5Feedback = HTCurrent5 == null ? "0.0" : HTCurrent5.FeedBack.ToString("F3");
- //HTVoltage1Feedback = HTVoltage1 == null ? "0.0" : HTVoltage1.FeedBack.ToString("F3");
- //HTVoltage2Feedback = HTVoltage2 == null ? "0.0" : HTVoltage2.FeedBack.ToString("F3");
- //HTVoltage3Feedback = HTVoltage3 == null ? "0.0" : HTVoltage3.FeedBack.ToString("F3");
- //HTVoltage4Feedback = HTVoltage4 == null ? "0.0" : HTVoltage4.FeedBack.ToString("F3");
- //HTVoltage5Feedback = HTVoltage5 == null ? "0.0" : HTVoltage5.FeedBack.ToString("F3");
- }
- public void InitUpDownRate()
- {
- TopHeaterUpRateSetpoint = TopHeaterData.UpRateSetPoint.ToString("F1");
- TopCenterHeaterUpRateSetpoint = TopCenterHeaterData.UpRateSetPoint.ToString("F1"); ;
- CenterHeaterUpRateSetpoint = CenterHeaterData.UpRateSetPoint.ToString("F1"); ;
- CenterLowHeaterUpRateSetpoint = CenterBottomHeaterData.UpRateSetPoint.ToString("F1"); ;
- LowHeaterUpRateSetpoint = BottomHeaterData.UpRateSetPoint.ToString("F1"); ;
- TopHeaterDownRateSetpoint = TopHeaterData.DownRateSetPoint.ToString("F1");
- TopCenterHeaterDownRateSetpoint = TopCenterHeaterData.DownRateSetPoint.ToString("F1"); ;
- CenterHeaterDownRateSetpoint = CenterHeaterData.DownRateSetPoint.ToString("F1"); ;
- CenterLowHeaterDownRateSetpoint = CenterBottomHeaterData.DownRateSetPoint.ToString("F1"); ;
- LowHeaterDownRateSetpoint = BottomHeaterData.DownRateSetPoint.ToString("F1"); ;
- }
- public void InitRampRate()
- {
- TopHeaterRampSetPoint = CompterRampPoint(TopHeaterData).ToString("F1");
- TopCenterHeaterRampSetPoint = CompterRampPoint(TopCenterHeaterData).ToString("F1");
- CenterHeaterRampSetPoint = CompterRampPoint(CenterHeaterData).ToString("F1");
- BottomCenterHeaterRampSetPoint = CompterRampPoint(CenterBottomHeaterData).ToString("F1");
- BottomHeaterRampSetPoint = CompterRampPoint(BottomHeaterData).ToString("F1");
- }
- protected override void OnInitialize()
- {
- base.OnInitialize();
- string[] strTempsNames = { "Heater1", "Heater2", "Heater3", "Heater4", "Heater5" };
- _dicTemperatualMaxValue = new Dictionary<string, double>();
- //获取温度限制配置信息
- for (int i = 0; i < strTempsNames.Length; i++)
- {
- object obj = QueryDataClient.Instance.Service.GetConfig($"PM1.Heater.{strTempsNames[i]}.Range");
- _dicTemperatualMaxValue.Add(strTempsNames[i], Convert.ToDouble(obj));
- }
- }
- public double CompterRampPoint(AITHeaterData data)
- {
- if (data.IsLspModeFeedBack)
- {
- return data.FeedBack >= data.SetPoint ? data.LspDecreaseRampRateFeedBack : data.LspIncreaseRampRateFeedBack;
- }
- else
- {
- return data.FeedBack >= data.SetPoint ? data.RspDecreaseRampRateFeedBack : data.RspIncreaseRampRateFeedBack;
- }
- }
- public void ManualCmd()
- {
- //((Window)GetView()).DialogResult = true;
- var wm = IoC.Get<IWindowManager>();
- SetTemperatureViewModel setTemperatureViewModel = new SetTemperatureViewModel();
- (wm as WindowManager)?.ShowDialogWithTitle(setTemperatureViewModel, null, "Set Temperature");
- }
- public void SetCmd(object senderName, object sender, object typeName)
- {
- double temval = 0;
- string name = senderName.ToString();
- switch (typeName.ToString())
- {
- case "setpoint":
- double maxvalue = 0;
- string tName = GetTempratualMaxValue(name);
- if (!string.IsNullOrEmpty(tName))
- {
- maxvalue = _dicTemperatualMaxValue[tName];
- }
- string strRetValue = ShowNumberKeyboard(sender as Button, "", true, maxvalue);
- if (strRetValue != "Cancel")
- {
- //if (double.TryParse(strRetValue, out temval))
- {
- SelectPostionSetPoint(name, strRetValue);
- }
- }
- break;
- case "ramp":
- strRetValue = ShowNumberKeyboard(sender as Button, "", false, 0);
- if (strRetValue != "Cancel")
- {
- //if (double.TryParse(strRetValue, out temval))
- {
- SelectPositionRamp(name, strRetValue);
- }
- }
- break;
- }
- }
- private string GetTempratualMaxValue(string typeName)
- {
- string dicName = string.Empty;
- bool isLspMode = LspModel != "Outer Control";
- switch (typeName)
- {
- case "TopHeater":
- dicName = isLspMode ? "Heater1" : "Heater2";
- break;
- case "TopCenterHeater":
- dicName = isLspMode ? "Heater3" : "Heater4";
- break;
- case "CenterHeater":
- dicName = isLspMode ? "Heater5" : "Heater6";
- break;
- case "CenterBottomHeater":
- dicName = isLspMode ? "Heater7" : "Heater8";
- break;
- case "BottomHeater":
- dicName = isLspMode ? "Heater9" : "Heater10";
- break;
- }
- return dicName;
- }
- private void SelectPostionSetPoint(string name, string value)
- {
- switch (name)
- {
- case "TopHeater":
- TopHeaterSetPoint = value;
- break;
- case "TopCenterHeater":
- TopCenterHeaterSetPoint = value;
- break;
- case "CenterHeater":
- CenterHeaterSetPoint = value;
- break;
- case "CenterBottomHeater":
- CenterBottomHeaterSetPoint = value;
- break;
- case "BottomHeater":
- BottomHeaterSetPoint = value;
- break;
- }
- }
- private void SelectPositionRamp(string name, string value)
- {
- switch (name)
- {
- case "TopHeater":
- TopHeaterRampSetPoint = value;
- break;
- case "TopCenterHeater":
- TopCenterHeaterRampSetPoint = value;
- break;
- case "CenterHeater":
- CenterHeaterRampSetPoint = value;
- break;
- case "CenterBottomHeater":
- BottomCenterHeaterRampSetPoint = value;
- break;
- case "BottomHeater":
- BottomHeaterRampSetPoint = value;
- break;
- }
- }
- private string ShowNumberKeyboard(Control control, string defaultValue, bool isValidate, double maxValue = double.MaxValue)
- {
- NumberKeyboard numberKeyboard = new NumberKeyboard("", defaultValue);
- var point = control.PointFromScreen(new Point(0, 0));
- double wx = SystemParameters.WorkArea.Width;
- double hy = SystemParameters.WorkArea.Height;
- if (-point.Y + control.ActualHeight + 5 + numberKeyboard.Height < hy)
- {
- numberKeyboard.Top = -point.Y + control.ActualHeight + 5;
- }
- else
- {
- numberKeyboard.Top = -point.Y - numberKeyboard.Height - 5;
- }
- if (-point.X + numberKeyboard.Width < wx)
- {
- numberKeyboard.Left = -point.X;
- }
- else
- {
- numberKeyboard.Left = -point.X - (numberKeyboard.Width - control.ActualWidth);
- }
- if ((bool)numberKeyboard.ShowDialog())
- return numberKeyboard.ValueString;
- else
- return "Cancel";
- }
- public void AllZone(string obj)
- {
- var windowManager = IoC.Get<IWindowManager>();
- TemperatureDetailAllZoneViewModel temperatureDetailAllZoneViewModel = new TemperatureDetailAllZoneViewModel();
- switch (obj)
- {
- case "Set":
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(temperatureDetailAllZoneViewModel, null, "Temperature Value Set"))
- {
- TopHeaterSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- TopCenterHeaterSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- CenterHeaterSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- CenterBottomHeaterSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- BottomHeaterSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- }
- break;
- case "Ramp":
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(temperatureDetailAllZoneViewModel, null, "Temperature Ramp Set"))
- {
- TopHeaterRampSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- TopCenterHeaterRampSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- CenterHeaterRampSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- BottomCenterHeaterRampSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- BottomHeaterRampSetPoint = temperatureDetailAllZoneViewModel.TempSetValue;
- }
- break;
- default:
- break;
- }
- }
- public void CloseCmd()
- {
- ClientApp.Instance.SwitchPage("status", "main", null);
- }
- }
- }
|