From ed113213fc94c3d9886ea08dfddd09d08d9ba7d5 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期三, 16 四月 2025 19:19:34 +0800 Subject: [PATCH] 调度代码修正 --- 01-api/_Expand/IStation.Win.Schedule/bjMain.cs | 73 ++++++++++++++++++++++++++---------- 1 files changed, 52 insertions(+), 21 deletions(-) diff --git a/01-api/_Expand/IStation.Win.Schedule/bjMain.cs b/01-api/_Expand/IStation.Win.Schedule/bjMain.cs index 733bdc0..8f2144d 100644 --- a/01-api/_Expand/IStation.Win.Schedule/bjMain.cs +++ b/01-api/_Expand/IStation.Win.Schedule/bjMain.cs @@ -83,15 +83,15 @@ { return; } - var time_list = _schedule_request_list.Select(x => x.ReceptionTime).OrderBy(x => x).ToList(); - var start_time = time_list.Last().AddDays(-2); - var end_time = time_list.Last().AddDays(1); + var deline = new DateTime(2024,12,1); + var deline2 = new DateTime(2025,1,1); + var time_list = _schedule_request_list.Where(x=>x.ReceptionTime>=deline&&x.ReceptionTime<= deline2).Select(x => x.ReceptionTime).OrderBy(x => x).ToList(); + foreach (var item in time_list) { this.repImgDate.Items.Add(item.ToString("G"), item, -1); - } - - var monitor_record_list = _service_monitor_record.GetByReceiptTimeRange(start_time, end_time); + } + var monitor_record_list = _service_monitor_record.GetByReceiptTimeRange(deline, deline2); if (monitor_record_list == null || !monitor_record_list.Any()) { return; @@ -123,7 +123,7 @@ if (this.barCekSimSchedule.Checked) { var target_flow1 = request.TargetFlow1; - var target_flow2 = request.TargetFlow2; + var target_flow2 = request.TargetFlow2; var target_pressure1 = Curve.PumpCalculateHelper.Mpa2M(request.TargetPressure1); var target_pressure2 = Curve.PumpCalculateHelper.Mpa2M(request.TargetPressure2); @@ -139,12 +139,30 @@ analysis_deviation_list = null; } + if (this.barCekCalcPressureDiff.Checked) + { + var time = Convert.ToDateTime(this.barEditImgRealTime.EditValue); + if (_monitor_record_dict != null && _monitor_record_dict.ContainsKey(time)) + { + var valid_record_list = _monitor_record_dict[time]; + var station_scada_dict = GetStationScadaDict(monitor_record_list); + + var validRealTimePressure = station_scada_dict[IStation.eDockingStation.Ch1s][0].Item2 ; + if (validRealTimePressure.HasValue) + { + var validRealTimePressureDiff = validRealTimePressure.Value - target_pressure1; + target_pressure1 += validRealTimePressureDiff; + AlertTool.ShowInfo(this, "濉ˉ鍘嬪姏缂哄け", $"{validRealTimePressureDiff:N3}"); + } + } + } + if (this.barCekCalcFlowDiff.Checked) { var ptList = new List<CurvePoint>(); try { - var filePath = @"D:\WorkCode\Project\ChDt1\Schedule.Ch.V1.0\02-desktop\Desktop\IStation.Test\bin\Debug\net6.0-windows\csv\alow.csv"; + var filePath = @"D:\WorkCode\Project\ChDt1\Schedule.Ch.V1.0\02-desktop\Desktop\IStation.Test\bin\Debug\net6.0-windows\stationcsv\characteristic_curve.csv"; using (StreamReader reader = new StreamReader(filePath)) { reader.ReadLine(); @@ -164,17 +182,17 @@ } } - } + } catch (Exception ex) { Console.WriteLine("璇诲彇鏂囦欢鏃跺嚭閿�: " + ex.Message); } - + var x = ptList.Select(x => x.X).ToArray(); var y = ptList.Select(x => x.Y).ToArray(); // 澶氶」寮忓洖褰掔殑闃舵暟锛堜緥濡傦紝浜屾澶氶」寮忥級 - int degree = 10; + int degree = 3; // 鎷熷悎澶氶」寮忓洖褰掓ā鍨� double[] coefficients = NonlinearRegressionHelper.FitPolynomial(x, y, degree); @@ -184,12 +202,13 @@ double yPredicted = NonlinearRegressionHelper.PredictPolynomial(xNew, coefficients); target_flow2 += yPredicted; - AlertTool.ShowInfo(this,"棰勬祴缂哄け",$"{yPredicted}"); + AlertTool.ShowInfo(this, "棰勬祴娴侀噺缂哄け", $"{yPredicted:N1}"); + // 璁$畻 R虏 鍜� MSE double rSquared = NonlinearRegressionHelper.CalculateRSquared(x, y, coefficients); double mse = NonlinearRegressionHelper.CalculateMSE(x, y, coefficients); - + } @@ -690,6 +709,14 @@ Verify(time); } + + private void barCekCalcPressureDiff_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var time = Convert.ToDateTime(this.barEditImgRealTime.EditValue); + Schedule(_schedule_request); + Verify(time); + } + #region Expand private string GetStationName(eDockingStation station) { @@ -927,13 +954,17 @@ var pump27_power = scada_dict[GlobalHelper.浜岃緭27娉礯鏈夊姛鍔熺巼]; - var pump21_maintenance_status = scada_dict[GlobalHelper.浜岃緭21娉礯鐘舵�乚; - var pump22_maintenance_status = scada_dict[GlobalHelper.浜岃緭22娉礯鐘舵�乚; - var pump23_maintenance_status = scada_dict[GlobalHelper.浜岃緭23娉礯鐘舵�乚; - var pump24_maintenance_status = scada_dict[GlobalHelper.浜岃緭24娉礯鐘舵�乚; - var pump25_maintenance_status = scada_dict[GlobalHelper.浜岃緭25娉礯鐘舵�乚; - var pump26_maintenance_status = scada_dict[GlobalHelper.浜岃緭26娉礯鐘舵�乚; - var pump27_maintenance_status = scada_dict[GlobalHelper.浜岃緭27娉礯鐘舵�乚; + if (scada_dict.ContainsKey(GlobalHelper.浜岃緭21娉礯鐘舵��)) + { + + } + //var pump21_maintenance_status = scada_dict[GlobalHelper.浜岃緭21娉礯鐘舵�乚; + //var pump22_maintenance_status = scada_dict[GlobalHelper.浜岃緭22娉礯鐘舵�乚; + //var pump23_maintenance_status = scada_dict[GlobalHelper.浜岃緭23娉礯鐘舵�乚; + //var pump24_maintenance_status = scada_dict[GlobalHelper.浜岃緭24娉礯鐘舵�乚; + //var pump25_maintenance_status = scada_dict[GlobalHelper.浜岃緭25娉礯鐘舵�乚; + //var pump26_maintenance_status = scada_dict[GlobalHelper.浜岃緭26娉礯鐘舵�乚; + //var pump27_maintenance_status = scada_dict[GlobalHelper.浜岃緭27娉礯鐘舵�乚; pump21_pressure.Mpa2M(); @@ -1091,7 +1122,7 @@ #endregion public class NonlinearRegressionHelper - { + { // 澶氶」寮忓洖褰掓嫙鍚� public static double[] FitPolynomial(double[] x, double[] y, int degree) -- Gitblit v1.9.3