| | |
| | | using DevExpress.XtraEditors; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | using Yw.Geometry; |
| | | using System.Data; |
| | | using Yw.Pump; |
| | | using Yw.Vmo; |
| | | using Yw.WinFrmUI.Phart; |
| | |
| | | vm.CurveName = $"装置线"; |
| | | vm.Color = Color.Black; |
| | | |
| | | var startSourceMonitor = _allMonitorList? |
| | | .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>() |
| | | { HStation.Xhs.Flags.水源,HStation.Xhs.Flags.始端,HStation.Xhs.Flags.默认}); |
| | | if (startSourceMonitor == null) |
| | | { |
| | | startSourceMonitor = _allMonitorList? |
| | | .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>() |
| | | { HStation.Xhs.Flags.水源,HStation.Xhs.Flags.始端}); |
| | | } |
| | | if (startSourceMonitor != null) |
| | | { |
| | | var startSourceCalcuResult = _allCalcuResultVisualDict?.GetValue(startSourceMonitor.Relation); |
| | | if (startSourceCalcuResult != null) |
| | | { |
| | | var startHead = startSourceCalcuResult.GetCalcuValue(startSourceMonitor.PropName); |
| | | if (startHead.HasValue) |
| | | { |
| | | var endSourceMonitor = _allMonitorList? |
| | | .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>() |
| | | { HStation.Xhs.Flags.水源,HStation.Xhs.Flags.末端,HStation.Xhs.Flags.默认}); |
| | | if (endSourceMonitor == null) |
| | | { |
| | | endSourceMonitor = _allMonitorList? |
| | | .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>() |
| | | { HStation.Xhs.Flags.水源,HStation.Xhs.Flags.末端}); |
| | | } |
| | | if (endSourceMonitor != null) |
| | | { |
| | | var endSouceCalcuResult = _allCalcuResultVisualDict?.GetValue(endSourceMonitor.Relation); |
| | | if (endSouceCalcuResult != null) |
| | | { |
| | | var endHead = endSouceCalcuResult.GetCalcuValue(endSourceMonitor.PropName); |
| | | if (endHead.HasValue) |
| | | { |
| | | vm.StartH = Math.Round(endHead.Value - startHead.Value, 2); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | var head = _hydroInfo.GetHead(); |
| | | var pipeQ = _hydroInfo.GetPipeQ(_allCalcuResultVisualDict); |
| | | var pipeH = _hydroInfo.GetPipeHead(_allCalcuResultVisualDict); |
| | | |
| | | } |
| | | } |
| | | |
| | | var outPipeFlowMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuFlow, new List<string>() |
| | | { HStation.Xhs.Flags.总管,HStation.Xhs.Flags.出口,HStation.Xhs.Flags.默认}); |
| | | if (outPipeFlowMonitor == null) |
| | | { |
| | | outPipeFlowMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuFlow, new List<string>() |
| | | { HStation.Xhs.Flags.总管,HStation.Xhs.Flags.出口}); |
| | | } |
| | | if (outPipeFlowMonitor != null) |
| | | { |
| | | var outPipeFlowCalcuResult = _allCalcuResultVisualDict?.GetValue(outPipeFlowMonitor.Relation); |
| | | if (outPipeFlowCalcuResult != null) |
| | | { |
| | | var outPipeFlow = outPipeFlowCalcuResult.GetCalcuValue(outPipeFlowMonitor.PropName); |
| | | if (outPipeFlow.HasValue) |
| | | { |
| | | vm.PipeQ = Math.Round(outPipeFlow.Value, 1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | var outPipeHeadMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuHead, new List<string>() |
| | | { HStation.Xhs.Flags.总管,HStation.Xhs.Flags.出口,HStation.Xhs.Flags.默认}); |
| | | if (outPipeHeadMonitor == null) |
| | | { |
| | | outPipeHeadMonitor = _allMonitorList?.Matching(HydroVisualCalcuProp.CalcuHead, new List<string>() |
| | | { HStation.Xhs.Flags.总管,HStation.Xhs.Flags.出口}); |
| | | } |
| | | |
| | | if (outPipeHeadMonitor != null) |
| | | { |
| | | var outPipeHeadCalcuResult = _allCalcuResultVisualDict?.GetValue(outPipeHeadMonitor.Relation); |
| | | if (outPipeHeadCalcuResult != null) |
| | | { |
| | | var outPipeHead = outPipeHeadCalcuResult.GetCalcuValue(outPipeHeadMonitor.PropName); |
| | | if (outPipeHead.HasValue) |
| | | { |
| | | vm.PipeH = Math.Round(outPipeHead.Value, 2); |
| | | } |
| | | } |
| | | } |
| | | vm.StartH = head; |
| | | vm.PipeQ = pipeQ ?? 0; |
| | | vm.PipeH = pipeH ?? 0; |
| | | |
| | | if (_hydroInfo.Pumps != null && _hydroInfo.Pumps.Count > 0) |
| | | { |
| | |
| | | vmItem.E = calcuResult.CalcuE; |
| | | } |
| | | vmItem.Hz = Math.Round(pump.SpeedRatio * pump.RatedHz, 1); |
| | | vmItem.N = pump.RatedN.HasValue ? Math.Round(pump.SpeedRatio * pump.RatedN.Value, 1) : 0; |
| | | vmItem.N = pump.RatedN > 0 ? Math.Round(pump.SpeedRatio * pump.RatedN, 1) : 0; |
| | | |
| | | |
| | | var curveqh = _hydroInfo.Curves?.Find(x => x.Code == pump.CurveQH); |
| | |
| | | if (qh_pts != null && qh_pts.Count > 3) |
| | | { |
| | | var qh_run_pts = qh_pts.GetQHPointListByN(pump.RatedHz, vmItem.Hz); |
| | | vmItem.CurveQH = new CubicSpline2d(qh_run_pts); |
| | | vmItem.CurveQH = qh_run_pts; |
| | | } |
| | | } |
| | | |
| | |
| | | if (qp_pts != null && qp_pts.Count > 3) |
| | | { |
| | | var qp_run_pts = qp_pts.GetQPPointListByN(pump.RatedHz, vmItem.Hz); |
| | | vmItem.CurveQP = new CubicSpline2d(qp_run_pts); |
| | | vmItem.CurveQP = qp_run_pts; |
| | | } |
| | | } |
| | | |
| | |
| | | if (qe_pts != null && qe_pts.Count > 3) |
| | | { |
| | | var qe_run_pts = qe_pts.GetQEPointListByN(pump.RatedHz, vmItem.Hz); |
| | | vmItem.CurveQE = new CubicSpline2d(qe_run_pts); |
| | | vmItem.CurveQE = qe_run_pts; |
| | | } |
| | | } |
| | | |