From 2967027410e4131e18c13daf9a80782c3351da4d Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期一, 31 十月 2022 15:45:21 +0800 Subject: [PATCH] 修改 能效单泵 kpi权重效率 --- Calculation/IStation.EtaCalculation4Custom/base/station/EtaAnalyCalculatorBase4Station.cs | 43 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 35 insertions(+), 8 deletions(-) diff --git a/Calculation/IStation.EtaCalculation4Custom/base/station/EtaAnalyCalculatorBase4Station.cs b/Calculation/IStation.EtaCalculation4Custom/base/station/EtaAnalyCalculatorBase4Station.cs index a04a7b9..306f022 100644 --- a/Calculation/IStation.EtaCalculation4Custom/base/station/EtaAnalyCalculatorBase4Station.cs +++ b/Calculation/IStation.EtaCalculation4Custom/base/station/EtaAnalyCalculatorBase4Station.cs @@ -138,7 +138,9 @@ List<double> all_power = new List<double>(); //鐢ㄧ殑鏄车绔欑殑鎬绘暟閲�, - result_pipe.InitialRunList(this._allMachineList.Count()); + result_pipe.InitialRunList(this._allMachineList.Count()); + + double qhTotal = 0; #region 寮�鏈虹姸鎬� 鍜屾暟閲� int pump_open_count = 0; @@ -154,6 +156,7 @@ continue; } + var result_pump = pump.AnaResult; if (result_pump == null) { @@ -162,14 +165,15 @@ allPumpPowerOk = false; continue; } - - - + if (!pump.IsRunIng) { result_pipe.SetPumpStatusByIndex(i, result_pump.HZa, result_pump.RSa); continue; } + + + bool validQ = false, validH = false; result_pipe.PutStationAnalyInfo(result_pump.AnalyInfo, pump.MachineID); @@ -195,6 +199,7 @@ else { all_flow.Add(result_pump.Qa.Value); + validQ = true; } if (result_pump.IsHaveAnaTag(IStation.Model.EtaBasicRealRecord.InfoTag_Ha) || @@ -213,6 +218,12 @@ else { all_head.Add(result_pump.Ha.Value); + validH = true; + } + + if (validQ && validH) + { + qhTotal += result_pump.Qa.Value * result_pump.Ha.Value; } if (result_pump.IsHaveAnaTag(IStation.Model.EtaBasicRealRecord.InfoTag_Pa)) @@ -259,11 +270,27 @@ if (allPumpPowerOk && result_pipe.Ha != null && result_pipe.Pa != null && result_pipe.Qa != null) { - //璁$畻鏁堢巼 - double eta = Math.Round(Model.EtaSingleRealRecordPure.Calc_Eta(result_pipe.Qa.Value, result_pipe.Ha.Value, result_pipe.Pa.Value, WaterDensity, g), 1); - result_pipe.Ea = eta; + //璁$畻鏁堢巼 鏃т唬鐮� + //double eta = Math.Round(Model.EtaSingleRealRecordPure.Calc_Eta(result_pipe.Qa.Value, result_pipe.Ha.Value, result_pipe.Pa.Value, WaterDensity, g), 1); + + double eta = 0; + foreach (var item in all_machine_list) + { + var result = item.AnaResult; + if (result == null) + continue; + if (result.IsHaveAnaTag(IStation.Model.EtaBasicRealRecord.InfoTag_Qa) || result.IsHaveAnaTag(IStation.Model.EtaBasicRealRecord.InfoTag_Ha)) + continue; + if (result.Ea.HasValue && result.Qa.HasValue && result.Ha.HasValue) + { + eta += (result.Qa.Value * result.Ha.Value / qhTotal) * result.Ea.Value; + } + } + + + result_pipe.Ea = Math.Round(eta, 1); result_pipe.UWPa = 0; - result_pipe.WPa = 0; + result_pipe.WPa = 0; // 妫�鏌ユ晥鐜� if (eta > 98) {//鏈夋椂, 澶ф祦閲忔洸绾块儴鍒�,鏄洸绾夸笉绮剧‘, 閫犳垚Q H鏇茬嚎涓嶇鍚堝疄闄�, 閫犳垚鏁堢巼璁$畻鍑洪棶棰� -- Gitblit v1.9.3