From 68768721450248522f5000bbdd19ea456772f0c9 Mon Sep 17 00:00:00 2001 From: Tyrone CT Date: Wed, 25 Mar 2026 22:05:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=88=B6=E7=83=AD?= =?UTF-8?q?=E9=87=8FQh=20=E7=AD=896=E4=B8=AA=E5=80=BC=E5=88=B0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CapMachine.Wpf/Models/CsvRecordModel.cs | 36 +++++++++++++++++++ CapMachine.Wpf/Models/CsvRecordModelMap.cs | 7 ++++ .../Models/LightChart/ChartManager.cs | 13 +++++++ CapMachine.Wpf/Services/DataRecordService.cs | 7 ++++ CapMachine.Wpf/Services/PPCService.cs | 5 +++ 5 files changed, 68 insertions(+) diff --git a/CapMachine.Wpf/Models/CsvRecordModel.cs b/CapMachine.Wpf/Models/CsvRecordModel.cs index 1296fdb..5a324be 100644 --- a/CapMachine.Wpf/Models/CsvRecordModel.cs +++ b/CapMachine.Wpf/Models/CsvRecordModel.cs @@ -226,6 +226,42 @@ namespace CapMachine.Wpf.Models [Name("过冷度[K]")] public double Subcooling { get; set; } + /// + /// 制热量Qh[KW] + /// + [Name("制热量Qh[KW]")] + public double HeatingCapacity { get; set; } + + /// + /// 压缩机性能系数(制热) + /// + [Name("压缩机性能系数(制热)")] + public double COPHeat { get; set; } + + /// + /// 等熵效率ns[%] + /// + [Name("等熵效率ns[%]")] + public double IsentrpEff { get; set; } + + /// + /// 制冷量Qc[KW] + /// + [Name("制冷量Qc[KW]")] + public double CoolCapacity { get; set; } + + /// + /// 压缩机性能系数(制冷) + /// + [Name("压缩机性能系数(制冷)")] + public double COPCool { get; set; } + + /// + /// 容积效率nv[%] + /// + [Name("容积效率nv[%]")] + public double VoltricEff { get; set; } + /// /// PTC流量[L/min] /// diff --git a/CapMachine.Wpf/Models/CsvRecordModelMap.cs b/CapMachine.Wpf/Models/CsvRecordModelMap.cs index c272738..b72e6ac 100644 --- a/CapMachine.Wpf/Models/CsvRecordModelMap.cs +++ b/CapMachine.Wpf/Models/CsvRecordModelMap.cs @@ -52,6 +52,13 @@ namespace CapMachine.Wpf.Models Map(m => m.Superheat).Name("过热度[K]"); Map(m => m.Subcooling).Name("过冷度[K]"); + Map(m => m.HeatingCapacity).Name("制热量Qh[KW]"); + Map(m => m.COPHeat).Name("压缩机性能系数(制热)"); + Map(m => m.IsentrpEff).Name("等熵效率ns[%]"); + Map(m => m.CoolCapacity).Name("制冷量Qc[KW]"); + Map(m => m.COPCool).Name("压缩机性能系数(制冷)"); + Map(m => m.VoltricEff).Name("容积效率nv[%]"); + //Map(m => m.PTCFlow).Name("PTC流量[L/min]"); //Map(m => m.PTCEntTemp).Name("PTC入水温度[℃]"); //Map(m => m.PTCExpTemp).Name("PTC出水温度[℃]"); diff --git a/CapMachine.Wpf/Models/LightChart/ChartManager.cs b/CapMachine.Wpf/Models/LightChart/ChartManager.cs index 4651e05..4ad5f6a 100644 --- a/CapMachine.Wpf/Models/LightChart/ChartManager.cs +++ b/CapMachine.Wpf/Models/LightChart/ChartManager.cs @@ -267,6 +267,19 @@ namespace CapMachine.Wpf.Models.LightChart case "过冷度[K]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.Subcooling, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "制热量Qh[KW]": + return CurHistoryData.Select(a => new ChartPoint() { Value = a.HeatingCapacity, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "压缩机性能系数(制热)": + return CurHistoryData.Select(a => new ChartPoint() { Value = a.COPHeat, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "等熵效率ns[%]": + return CurHistoryData.Select(a => new ChartPoint() { Value = a.IsentrpEff, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "制冷量Qc[KW]": + return CurHistoryData.Select(a => new ChartPoint() { Value = a.CoolCapacity, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "压缩机性能系数(制冷)": + return CurHistoryData.Select(a => new ChartPoint() { Value = a.COPCool, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "容积效率nv[%]": + return CurHistoryData.Select(a => new ChartPoint() { Value = a.VoltricEff, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); + case "PTC流量[L/min]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.PTCFlow, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); diff --git a/CapMachine.Wpf/Services/DataRecordService.cs b/CapMachine.Wpf/Services/DataRecordService.cs index c8eb4b7..39bcab5 100644 --- a/CapMachine.Wpf/Services/DataRecordService.cs +++ b/CapMachine.Wpf/Services/DataRecordService.cs @@ -138,6 +138,13 @@ namespace CapMachine.Wpf.Services new Columns(){ Name="过热度[K]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, new Columns(){ Name="过冷度[K]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="制热量Qh[KW]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="压缩机性能系数(制热)",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="等熵效率ns[%]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="制冷量Qc[KW]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="压缩机性能系数(制冷)",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="容积效率nv[%]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + //new Columns(){ Name="PTC流量[L/min]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, //new Columns(){ Name="PTC入水温度[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, //new Columns(){ Name="PTC出水温度[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, diff --git a/CapMachine.Wpf/Services/PPCService.cs b/CapMachine.Wpf/Services/PPCService.cs index bb251c1..1a11fcf 100644 --- a/CapMachine.Wpf/Services/PPCService.cs +++ b/CapMachine.Wpf/Services/PPCService.cs @@ -33,6 +33,8 @@ namespace CapMachine.Wpf.Services public MachineRtDataService MachineRtDataService { get; } public IDialogService DialogService { get; } + private readonly PPCSuperheatSubcoolCalculator _superheatSubcoolCalculator; + private readonly PPCThermodynamicSixResultsCalculator _thermodynamicSixResultsCalculator; /// /// 标签中心 @@ -114,6 +116,9 @@ namespace CapMachine.Wpf.Services SuperHeatCoolConfig.FluidsPath = ConfigHelper.GetValue("FluidsPath"); SuperHeatCoolConfig.Cryogen = ConfigHelper.GetValue("Cryogen"); + _superheatSubcoolCalculator = new PPCSuperheatSubcoolCalculator(); + _thermodynamicSixResultsCalculator = new PPCThermodynamicSixResultsCalculator(); + RtScanDeviceStart(); }