From 663defc0ff398eb4d333da927354ed30c08d19f1 Mon Sep 17 00:00:00 2001 From: Tyrone CT Date: Fri, 17 Oct 2025 12:03:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=99=E4=B8=80=E7=89=88=E7=9A=84=E5=B9=B2?= =?UTF-8?q?=E5=BA=A6=E6=9C=89=E8=B7=B3=E5=8A=A8=E7=9A=84=EF=BC=8C=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CapMachine.Wpf/Services/PPCService.cs | 59 +++++++++------------------ 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/CapMachine.Wpf/Services/PPCService.cs b/CapMachine.Wpf/Services/PPCService.cs index 32b3d61..38b1974 100644 --- a/CapMachine.Wpf/Services/PPCService.cs +++ b/CapMachine.Wpf/Services/PPCService.cs @@ -18,12 +18,12 @@ namespace CapMachine.Wpf.Services /// 计算扫描 Task /// private static Task CalcTask { get; set; } - private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); public ConfigService ConfigService { get; } private IEventAggregator _EventAggregator { get; set; } public DataRecordService DataRecordService { get; } public SysRunService SysRunServer { get; } + public ILogService Logger { get; } public MachineRtDataService MachineRtDataService { get; } public IDialogService DialogService { get; } @@ -36,7 +36,7 @@ namespace CapMachine.Wpf.Services /// 实例化 /// public PPCService(ConfigService configService, IEventAggregator eventAggregator, - DataRecordService dataRecordService, SysRunService sysRunService, + DataRecordService dataRecordService, SysRunService sysRunService, ILogService logService, MachineRtDataService machineRtDataService, IDialogService dialogService) { ConfigService = configService; @@ -44,6 +44,7 @@ namespace CapMachine.Wpf.Services _EventAggregator = eventAggregator; DataRecordService = dataRecordService; SysRunServer = sysRunService; + Logger = logService; MachineRtDataService = machineRtDataService; DialogService = dialogService; TagManager = MachineRtDataService.TagManger; @@ -201,13 +202,9 @@ namespace CapMachine.Wpf.Services public ShortValueTag GasPreValveTempTag { get; set; } /// - /// 冷媒流量 - /// 需要计算的结果是:气体质量流量(kg/h)=冷媒流量-液冷媒流量 - /// - /// LabVIEW 中该量为常值;此处提供为可配置常量,实时计算直接使用,不再读取 Tag。 + /// 气相质量流量(kg/h)。 + /// VRV 安装在气路阀前段,测量值单位为 kg/h,可直接作为 mg(气体质量流量)参与干度加权计算。 /// 若值<=0,则视为无效,将导致干度计算失败并置0。 - /// 气体流量=冷媒流量-液冷媒流量 - /// /// public ShortValueTag VRVTag { get; set; } @@ -319,7 +316,7 @@ namespace CapMachine.Wpf.Services else { Superheat.PVModel.EngValue = 0; - Logger.Warn($"过热度计算失败:{shErr}"); + Logger.Error($"过热度计算失败:{shErr}"); } if (TryComputeSubcoolK_ByBarA(TxvFrPressTag.PVModel.EngValue, TxvFrTempTag.PVModel.EngValue, out double subcoolK, out string scErr)) @@ -327,7 +324,7 @@ namespace CapMachine.Wpf.Services else { Subcool.PVModel.EngValue = 0; - Logger.Warn($"过冷度计算失败:{scErr}"); + Logger.Error($"过冷度计算失败:{scErr}"); } // 干度计算(LabVIEW 严格流程,质量流量加权): @@ -351,7 +348,7 @@ namespace CapMachine.Wpf.Services { DrynessTag.PVModel.EngValue = 0; } - Logger.Warn($"质量流量加权干度:必要测点缺失,已将干度置0。缺失: {string.Join(", ", missing)}"); + Logger.Error($"质量流量加权干度:必要测点缺失,已将干度置0。缺失: {string.Join(", ", missing)}"); } else { @@ -367,40 +364,22 @@ namespace CapMachine.Wpf.Services double tlv = TxvFrTempTag.PVModel.EngValue;//膨胀阀前温度 = SUBCOOL出口温度 =液路阀前温度 //tlv = 64.96428; - //液体流量=液冷媒流量 kg/h - //气体流量=冷媒流量-液体流量 kg/h + // 单位说明: + // - 液体质量流量 ml[kg/h] = LiqRefFlowTag.PVModel.EngValue + // - 气体质量流量 mg[kg/h] = VRVTag.PVModel.EngValue(VRV 位于气管,单位已为 kg/h) double GasMassFlowKgPerH, LiquidMassFlowKgPerH; LiquidMassFlowKgPerH = LiqRefFlowTag.PVModel.EngValue; // [kg/h] + //GasMassFlowKgPerH = Math.Max(0.0, VRVTag?.PVModel?.EngValue ?? 0.0); // [kg/h] GasMassFlowKgPerH = (double)(VRVTag?.PVModel?.EngValue - LiquidMassFlowKgPerH); - - ////单位转换和数据计算 - //// VRV 为体积流量 [L/min],需结合管段相态与 T/P 计算密度后换算为质量流量 [kg/h] - //double vrvLmin = VRVTag?.PVModel?.EngValue ?? 0.0; - //double totalMassKgPerH; - //string flowErr; - //if (TryConvertVolumetricFlowLMinToMassKgPerH(vrvLmin, plv, tlv, 1, out totalMassKgPerH, out flowErr)) // 1=液相(若 VRV 在液管) - //{ - // GasMassFlowKgPerH = Math.Max(0.0, totalMassKgPerH - LiquidMassFlowKgPerH); - //} - //else - //{ - // Logger.Warn($"VRV 体积流量→质量流量换算失败:{flowErr}。已将气体质量流量置 0。输入: VRV={vrvLmin:F3} L/min, Pl={plv:F3} BarA, Tl={tlv:F3} ℃"); - // GasMassFlowKgPerH = 0.0; - //} - - //LiquidMassFlowKgPerH = 214.3051; - //GasMassFlowKgPerH = 264.7956- 214.3051; - - //压力参数要求为BarA double dryness = Step_ComputeDryness_LV_FlowWeighted( - GasMassFlowKgPerH, - LiquidMassFlowKgPerH, - ps, pg, tg, plv, tlv, - out dryErr - ); + GasMassFlowKgPerH, + LiquidMassFlowKgPerH, + ps, pg, tg, plv, tlv, + out dryErr + ); double val = (!double.IsNaN(dryness)) ? dryness : 0.0; if (DrynessTag != null) @@ -410,14 +389,14 @@ namespace CapMachine.Wpf.Services if (double.IsNaN(dryness)) { - Logger.Warn($"质量流量加权干度计算失败:{dryErr};已置0。输入: mg={GasMassFlowKgPerH:F3} kg/h, ml={LiquidMassFlowKgPerH:F3} kg/h, Ps={ps:F3} BarA, Pg={pg:F3} BarA, Tg={tg:F3} ℃, Pl={plv:F3} BarA, Tl={tlv:F3} ℃"); + Logger.Error($"质量流量加权干度计算失败:{dryErr};已置0。输入: mg={GasMassFlowKgPerH:F3} kg/h, ml={LiquidMassFlowKgPerH:F3} kg/h, Ps={ps:F3} BarA, Pg={pg:F3} BarA, Tg={tg:F3} ℃, Pl={plv:F3} BarA, Tl={tlv:F3} ℃"); } } } catch (Exception ex) { if (DrynessTag != null) DrynessTag.PVModel.EngValue = 0; - Logger.Error(ex, "质量流量加权干度计算异常,已置0"); + Logger.Error("质量流量加权干度计算异常,已置0"); } } }