Sic08/SicUI/Models/PMs/PMMfcRorViewModel.cs

98 lines
2.5 KiB
C#
Raw Normal View History

2023-06-05 14:39:23 +08:00
using MECF.Framework.Common.DataCenter;
using MECF.Framework.Common.OperationCenter;
2023-06-07 17:41:20 +08:00
using MECF.Framework.Common.Utilities;
2023-06-05 14:39:23 +08:00
using MECF.Framework.UI.Client.CenterViews.ROR;
using MECF.Framework.UI.Client.ClientBase;
using Newtonsoft.Json;
2023-06-08 17:34:02 +08:00
using SicModules.PMs.Utilities;
2023-06-05 14:39:23 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
2023-06-08 17:34:02 +08:00
using static System.Net.Mime.MediaTypeNames;
using System.Windows.Controls;
2023-06-05 14:39:23 +08:00
namespace SicUI.Models.PMs
{
public class PMMfcRorViewModel : UiViewModelBase, ISupportMultipleSystem
{
2023-06-08 17:34:02 +08:00
//标准MFC
public MfcRorData StandardMfcRorData { get; set; }
//选中的MFC
public MfcRorData SelectedMfcRorData { get; set; }
2023-06-05 14:39:23 +08:00
public List<string> MfcList { get; set; }
2023-06-08 17:34:02 +08:00
2023-06-05 14:39:23 +08:00
public PMMfcRorViewModel()
{
2023-06-08 17:34:02 +08:00
StandardMfcRorData = new MfcRorData();
SelectedMfcRorData = new MfcRorData();
2023-06-05 14:39:23 +08:00
MfcList = new List<string>()
{
2023-06-07 17:41:20 +08:00
"Mfc1",
"Mfc2",
"Mfc3",
"Mfc4",
"Mfc6",
"Mfc7",
"Mfc8",
"Mfc9",
"Mfc10",
"Mfc11",
"Mfc12",
"Mfc13",
"Mfc14",
"Mfc15",
"Mfc16",
"Mfc19",
"Mfc20",
"Mfc22",
"Mfc23",
2023-06-05 14:39:23 +08:00
"Mfc25",
"Mfc26",
"Mfc27",
"Mfc28",
"Mfc29",
2023-06-07 17:41:20 +08:00
"Mfc31",
"Mfc32",
"Mfc33",
"Mfc35",
"Mfc36",
"Mfc37",
"Mfc38",
"Mfc38",
"Mfc40",
};
2023-06-05 14:39:23 +08:00
}
2023-06-08 17:34:02 +08:00
2023-06-05 14:39:23 +08:00
public void MfcSelectionChanged()
{
2023-06-08 17:34:02 +08:00
SelectedMfcRorData.Scale = (double)QueryDataClient.Instance.Service.GetConfig($"PM.{SystemName}.MFC.{SelectedMfcRorData.Name}.N2Scale");
SelectedMfcRorData.Temperature = 293;
SelectedMfcRorData.Interval = 30;
//MFC默认的设定流量为量程的一半
SelectedMfcRorData.SetFlow = SelectedMfcRorData.Scale / 2.0;
SelectedMfcRorData.ActualFlow = SelectedMfcRorData.SetFlow;
SelectedMfcRorData.BasePressure = 400;
SelectedMfcRorData.Volume = StandardMfcRorData.Volume;
2023-06-05 14:39:23 +08:00
Refresh();
}
2023-06-08 17:34:02 +08:00
public void StartMfcRor()
2023-06-05 14:39:23 +08:00
{
2023-06-08 17:34:02 +08:00
InvokeClient.Instance.Service.DoOperation($"{SystemName}.MfcRor", JsonConvert.SerializeObject(SelectedMfcRorData));
2023-06-05 14:39:23 +08:00
}
}
}