Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0
| | |
| | | ComponentResourceManager resources = new ComponentResourceManager(typeof(SystemCurvePage)); |
| | | ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl(); |
| | | barBtnCalc = new DevExpress.XtraBars.BarButtonItem(); |
| | | barBtnSimulationCalc = new DevExpress.XtraBars.BarButtonItem(); |
| | | ribbonPage = new DevExpress.XtraBars.Ribbon.RibbonPage(); |
| | | ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); |
| | | dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components); |
| | |
| | | dockPanel2_Container = new DevExpress.XtraBars.Docking.ControlContainer(); |
| | | systemCurveChartCtrl1 = new SystemCurveChartCtrl(); |
| | | dockPanel3 = new DevExpress.XtraBars.Docking.DockPanel(); |
| | | barButtonItem1 = new DevExpress.XtraBars.BarButtonItem(); |
| | | ((ISupportInitialize)ribbonControl1).BeginInit(); |
| | | ((ISupportInitialize)dockManager1).BeginInit(); |
| | | dockPanel1.SuspendLayout(); |
| | |
| | | ribbonControl1.EmptyAreaImageOptions.ImagePadding = new Padding(34, 39, 34, 39); |
| | | ribbonControl1.ExpandCollapseItem.Id = 0; |
| | | ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic; |
| | | ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnCalc, barButtonItem1 }); |
| | | ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnCalc, barBtnSimulationCalc }); |
| | | ribbonControl1.Location = new Point(0, 0); |
| | | ribbonControl1.Margin = new Padding(3, 4, 3, 4); |
| | | ribbonControl1.MaxItemId = 44; |
| | |
| | | barBtnCalc.Name = "barBtnCalc"; |
| | | barBtnCalc.ItemClick += barBtnCalc_ItemClick; |
| | | // |
| | | // barBtnSimulationCalc |
| | | // |
| | | barBtnSimulationCalc.Caption = "模æè®¡ç®"; |
| | | barBtnSimulationCalc.Id = 43; |
| | | barBtnSimulationCalc.ImageOptions.SvgImage = Properties.Resources.calcdate; |
| | | barBtnSimulationCalc.Name = "barBtnSimulationCalc"; |
| | | barBtnSimulationCalc.ItemClick += barBtnSimulationCalc_ItemClick; |
| | | // |
| | | // ribbonPage |
| | | // |
| | | ribbonPage.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 }); |
| | |
| | | // ribbonPageGroup1 |
| | | // |
| | | ribbonPageGroup1.ItemLinks.Add(barBtnCalc); |
| | | ribbonPageGroup1.ItemLinks.Add(barButtonItem1); |
| | | ribbonPageGroup1.ItemLinks.Add(barBtnSimulationCalc); |
| | | ribbonPageGroup1.Name = "ribbonPageGroup1"; |
| | | ribbonPageGroup1.Text = "ribbonPageGroup1"; |
| | | // |
| | |
| | | dockPanel3.Tabbed = true; |
| | | dockPanel3.Text = "panelContainer1"; |
| | | // |
| | | // barButtonItem1 |
| | | // |
| | | barButtonItem1.Caption = "barButtonItem1"; |
| | | barButtonItem1.Id = 43; |
| | | barButtonItem1.Name = "barButtonItem1"; |
| | | barButtonItem1.ItemClick += barButtonItem1_ItemClick; |
| | | // |
| | | // SystemCurvePage |
| | | // |
| | | Appearance.BackColor = SystemColors.Control; |
| | |
| | | private FacilityPropertyCtrl facilityPropertyCtrl1; |
| | | private DevExpress.XtraBars.Docking.DockPanel dockPanel1; |
| | | private SystemCurveChartCtrl systemCurveChartCtrl1; |
| | | private DevExpress.XtraBars.BarButtonItem barButtonItem1; |
| | | private DevExpress.XtraBars.BarButtonItem barBtnSimulationCalc; |
| | | } |
| | | } |
| | |
| | | _curveLowerPressure = l; |
| | | _curveAveragePressure = a; |
| | | }; |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | //è®¡ç® |
| | | private void barBtnCalc_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | |
| | | if (_facility == null) |
| | | { |
| | | TipFormHelper.ShowWarn("è¯·éæ©è®¾æ½!"); |
| | | return; |
| | | } |
| | | |
| | | |
| | | var file_path = _facility.ModelPath; |
| | | var minDemand = 0; // æå°æ»éæ°´é(m³/h) |
| | | var maxDemand = _facility.MaxWaterDemand ?? 45; // æå¤§æ»éæ°´é(m³/h) |
| | | var calcCount = 1000; // è®¡ç®æ¬¡æ° |
| | | var maxHeight = 22.5; //顶楼æ é« |
| | | var requiredEndPressure = _facility.TerminalPressure ?? 15; //éå |
| | | CalcSystemCurve(file_path, minDemand, maxDemand, maxHeight, requiredEndPressure, calcCount); |
| | | |
| | | } |
| | | |
| | | #region è®¡ç® |
| | | |
| | | /// <summary> |
| | | /// 计ç®ç³»ç»æ²çº¿ |
| | | /// </summary> |
| | |
| | | string inpFilePath, |
| | | double minDemand, |
| | | double maxDemand, |
| | | //double reservoirElevation, |
| | | double maxHeight, |
| | | double requiredEndPressure, |
| | | int calcCount) |
| | |
| | | if ((int)code > 100) |
| | | { |
| | | var msg = code.GetDisplayText(); |
| | | //TipFormHelper.ShowError(msg); |
| | | throw new Exception(msg); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | //è®¡ç® |
| | | private void barBtnCalc_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | |
| | | if (_facility == null) |
| | | { |
| | | TipFormHelper.ShowWarn("è¯·éæ©è®¾æ½!"); |
| | | return; |
| | | } |
| | | |
| | | |
| | | var file_path = _facility.ModelPath; |
| | | var minDemand = 0; // æå°æ»éæ°´é(m³/h) |
| | | var maxDemand = _facility.MaxWaterDemand ?? 45; // æå¤§æ»éæ°´é(m³/h) |
| | | var calcCount = 1000; // è®¡ç®æ¬¡æ° |
| | | var maxHeight = 22.5; //顶楼æ é« |
| | | var requiredEndPressure = _facility.TerminalPressure ?? 15; //éå |
| | | CalcSystemCurve(file_path, minDemand, maxDemand, maxHeight, requiredEndPressure, calcCount); |
| | | } |
| | | #endregion |
| | | |
| | | #region 模æè®¡ç® |
| | | |
| | | //模æè®¡ç® |
| | | private void barBtnSimulationCalc_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | if (_facility==null) |
| | | { |
| | | return; |
| | | } |
| | | if (_curveAveragePressure==null) |
| | | { |
| | | TipFormHelper.ShowWarn("请å
è®¡ç®æ²çº¿ï¼"); |
| | | return; |
| | | } |
| | | var page = new SimulationSchedulePage(); |
| | | page.Dock = DockStyle.Fill; |
| | | page.InitialData(_facility, _curveUpperPressure, _curveLowerPressure, _curveAveragePressure); |
| | | var dlg = new XtraForm(); |
| | | dlg.Text = "模æè®¡ç®"; |
| | | dlg.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; |
| | | dlg.Controls.Add(page); |
| | | dlg.StartPosition = FormStartPosition.CenterScreen; |
| | | dlg.WindowState = FormWindowState.Maximized; |
| | | dlg.ShowDialog(); |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// å·æ°æ°æ® |
| | |
| | | InitialDataSource(); |
| | | } |
| | | |
| | | private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | var page=new SimulationSchedulePage(); |
| | | page.Dock= DockStyle.Fill; |
| | | page.InitialData(_facility, _curveUpperPressure, _curveLowerPressure, _curveAveragePressure); |
| | | var dlg=new XtraForm(); |
| | | dlg.Controls.Add(page); |
| | | dlg.StartPosition= FormStartPosition.CenterScreen; |
| | | dlg.WindowState = FormWindowState.Maximized; |
| | | dlg.ShowDialog(); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | InitializeComponent(); |
| | | this.layoutControl1.SetupLayoutControl(); |
| | | this.gridView1.SetNormalView(); |
| | | this.sidePanel1.Visible = false; |
| | | InitialChart(); |
| | | } |
| | | |
| | |
| | | calcValue.TargetHead = targetHead; |
| | | calcValues.Add(calcValue); |
| | | |
| | | var schemes = calcHelper.CalcSchemes(simuPumps.Values.ToList(), complexRequestPras, null, combinRunStatus, out string errorInfo); |
| | | var schemes = calcHelper.CalcSchemes(simuPumps.Values.ToList(), complexRequestPras, combinRunStatus, out string errorInfo); |
| | | if (schemes == null || !schemes.Any()) |
| | | { |
| | | calcValue.CalcSuccess = false; |
| | |
| | | }; |
| | | |
| | | var simuTime = dateTime; |
| | | |
| | | |
| | | complexRequestPras.OutletPipePara = new List<Dispatch.Model.OutletPipePara>(); |
| | | complexRequestPras.OutletPipePara.Add(new OutletPipePara() |
| | | { |
| | | TargetFlow = targetFlow, |
| | | TargetPress = targetHead |
| | | }); |
| | | |
| | | |
| | | var combin = _pumpCombine[combinIndex]; |
| | | var combinRunStatus = new Dispatch.Model.MachineRunPara(); |
| | | combinRunStatus.MachineRunFilter = new List<MachineRunFilter>(); |
| | |
| | | |
| | | double.TryParse(this.txtEndP.Text, out double endP); |
| | | //è®¡ç® |
| | | var schemes = calcHelper.CalcSchemes(simuPumps, complexRequestPras, null, combinRunStatus, out string errorInfo); |
| | | var schemes = calcHelper.CalcSchemes(simuPumps, complexRequestPras, combinRunStatus, out string errorInfo); |
| | | if (schemes == null || !schemes.Any()) |
| | | { |
| | | return default; |
| | |
| | | { |
| | | calcValue.Pumps = new List<PumpViewModel>(); |
| | | foreach (var item in scheme.Items) |
| | | { |
| | | calcValue.Pumps = GetPumpViewModelList(targetFlow,item, out double clac_power); |
| | | { |
| | | calcValue.Pumps = GetPumpViewModelList(targetFlow, item, out double clac_power); |
| | | } |
| | | } |
| | | |
| | | complexRequestPras.OutletPipePara[0].TargetPress = constantP; |
| | | var compareSchemes = calcHelper.CalcSchemes(simuPumps, complexRequestPras, null, combinRunStatus, out errorInfo); |
| | | var compareSchemes = calcHelper.CalcSchemes(simuPumps, complexRequestPras, combinRunStatus, out errorInfo); |
| | | if (compareSchemes != null && compareSchemes.Any()) |
| | | { |
| | | var compareScheme = compareSchemes[0]; |
| | |
| | | |
| | | private List<PumpViewModel> GetPumpViewModelList(double targetFlow, AnaSchemeItem item, out double clac_power) |
| | | { |
| | | //var pump = _pumpMainList.Find(x => x.ID == item.Flag); |
| | | //var curve = _pumpCurveList[pump.ID]; |
| | | |
| | | //clac_power = 0; |
| | | //var calc_pump = new PumpViewModel(); |
| | | //calc_pump.DbID = item.Flag; |
| | | //calc_pump.Name = pump.Name + "-åå"; |
| | | //calc_pump.HZ = item.Frequency; |
| | | //calc_pump.Power = item.Power; |
| | | //calc_pump.Eff = item.Eff; |
| | | //calc_pump.Head = item.Head; |
| | | //calc_pump.Flow = item.Flow; |
| | | ////calc_pump.CurveInfoQH = item.GetDescription; |
| | | ////calc_pump.CurveInfoQP = item.CurveInfoQP; |
| | | |
| | | |
| | | //var pt = new Yw.Geometry.Point2d(targetFlow, _constantPressure); |
| | | |
| | | //var sect_pt = Yw.Pump.PerformParabolaHelper.GetQHSectPoint(Item1, pt); |
| | | //if (sect_pt == null || sect_pt.IsZeroPoint()) |
| | | // return null; |
| | | |
| | | //var wrk_speed = sect_pt.Y.CalculateSimuByH(pump.RatedSpeed, pt.Y); |
| | | //var wrk_fre = Math.Round(wrk_speed / pump.RatedSpeed * 50, 1); |
| | | |
| | | |
| | | //var wrk_curve_qh = new Yw.Pump.CurveQH(Yw.Ahart.eFeatType.Cubic, Item1.GetPointListByN(pump.RatedSpeed, wrk_speed)); |
| | | //var wrk_curve_qp = new Yw.Pump.CurveQP(Yw.Ahart.eFeatType.Cubic, Item2.GetPointListByN(pump.RatedSpeed, wrk_speed)); |
| | | //var wrk_power = wrk_curve_qp.FeatGetPointY(targetFlow); |
| | | //var wrk_eff = Yw.Pump.CalculationHelper.CalcuE(targetFlow, _constantPressure, wrk_power); |
| | | |
| | | //var calc_pump2 = new PumpViewModel(); |
| | | //calc_pump2.DbID = item.Flag; |
| | | //calc_pump2.Name = pump.Name + "-æå"; |
| | | //calc_pump2.HZ = wrk_fre; |
| | | //calc_pump2.Power = Math.Round(wrk_power, 3); |
| | | //calc_pump2.Eff = Math.Round(wrk_eff, 1); |
| | | //calc_pump2.Head = _constantPressure; |
| | | //calc_pump2.Flow = Math.Round(targetFlow, 2); |
| | | //calc_pump2.CurveInfoQH = wrk_curve_qh; |
| | | //calc_pump2.CurveInfoQP = wrk_curve_qp; |
| | | //calc_pump2.IsCalc = true; |
| | | |
| | | //clac_power = wrk_power; |
| | | //return new List<PumpViewModel>() { calc_pump2, calc_pump }; |
| | | |
| | | |
| | | |
| | | clac_power = 0; |
| | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | protected List<PBS.WinFrmUI.Hydro.Dispatch.Model.MachineDetailEx> allMachineList = null; |
| | | protected List<Model.MachineDetailEx> allMachineList = null; |
| | | |
| | | #region è®¡ç® æä¼æ¹æ¡ |
| | | /// <summary> |
| | | /// è®¡ç® æä¼æ¹æ¡ |
| | | /// </summary> |
| | | /// <param name="complex_request_paras"></param> |
| | | /// <param name="eta_ana_records"></param> |
| | | /// <param name="machine_run_status"></param> |
| | | /// <param name="error_info"></param> |
| | | |
| | | public List<Dispatch.Model.AnaScheme> CalcSchemes( |
| | | List<SimuPumpViewModel> simuCalcPumps, |
| | | PBS.WinFrmUI.Hydro.Dispatch.Model.RequestParasComplex complex_request_paras, |
| | | PBS.WinFrmUI.Hydro.Dispatch.Model.EtaAnaRecord4Station eta_ana_records, |
| | | PBS.WinFrmUI.Hydro.Dispatch.Model.MachineRunPara machine_run_status, |
| | | Model.RequestParasComplex complex_request_paras, |
| | | Model.MachineRunPara machine_run_status, |
| | | out string error_info) |
| | | { |
| | | |
| | | return CalcSchemesæ¬ç¨(simuCalcPumps, complex_request_paras, machine_run_status, out error_info); |
| | | } |
| | | |
| | | protected List<Dispatch.Model.AnaScheme> CalcSchemesæ¬ç¨(List<SimuPumpViewModel> simuCalcPumps, |
| | | PBS.WinFrmUI.Hydro.Dispatch.Model.RequestParasComplex complex_request_paras, |
| | | PBS.WinFrmUI.Hydro.Dispatch.Model.MachineRunPara machine_run_status, |
| | | out string error_info) |
| | | protected List<Dispatch.Model.AnaScheme> CalcSchemesæ¬ç¨( |
| | | List<SimuPumpViewModel> simuCalcPumps, |
| | | Model.RequestParasComplex complex_request_paras, |
| | | Model.MachineRunPara machine_run_status, |
| | | out string error_info) |
| | | { |
| | | error_info = null; |
| | | if (complex_request_paras == null) |
| | |
| | | } |
| | | |
| | | |
| | | PBS.WinFrmUI.Hydro.Dispatch.Common.DispatchAnaGeneralHelperæ¬ç¨ calc_pipe_helper = |
| | | new PBS.WinFrmUI.Hydro.Dispatch.Common.DispatchAnaGeneralHelperæ¬ç¨(); |
| | | Common.DispatchAnaGeneralHelperæ¬ç¨ calc_pipe_helper = |
| | | new Common.DispatchAnaGeneralHelperæ¬ç¨(); |
| | | calc_pipe_helper.InitialParas( |
| | | target_flow, |
| | | target_head, |
| | |
| | | using System.Collections.Generic; |
| | | |
| | | namespace PBS.WinFrmUI.Hydro.Dispatch.Model |
| | | namespace PBS.WinFrmUI.Hydro.Dispatch.Model |
| | | { |
| | | /// <summary> |
| | | /// |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace PBS.WinFrmUI.Hydro |
| | | namespace PBS.WinFrmUI.Hydro |
| | | { |
| | | public class SimuPumpViewModel |
| | | { |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace PBS.WinFrmUI.Hydro |
| | | namespace PBS.WinFrmUI.Hydro |
| | | { |
| | | public class TimeValue |
| | | { |
| | |
| | | /// <summary> |
| | | /// æ¥æ¾ DevExpress.Utils.Svg.SvgImage ç±»åçæ¬å°åèµæºã |
| | | /// </summary> |
| | | internal static DevExpress.Utils.Svg.SvgImage calcdate { |
| | | get { |
| | | object obj = ResourceManager.GetObject("calcdate", resourceCulture); |
| | | return ((DevExpress.Utils.Svg.SvgImage)(obj)); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¾ DevExpress.Utils.Svg.SvgImage ç±»åçæ¬å°åèµæºã |
| | | /// </summary> |
| | | internal static DevExpress.Utils.Svg.SvgImage connector { |
| | | get { |
| | | object obj = ResourceManager.GetObject("connector", resourceCulture); |
| | |
| | | <data name="actions_reload" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\actions_reload.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> |
| | | </data> |
| | | <data name="calcdate" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
| | | <value>..\Resources\calcdate.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> |
| | | </data> |
| | | </root> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version='1.0' encoding='UTF-8'?> |
| | | <svg x="0px" y="0px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 16 16"> |
| | | <style type="text/css"> |
| | | .Blue{fill:#3475BA;} |
| | | .Black{fill:#737373;} |
| | | </style> |
| | | <path d="M0,1v14h16V1H0z M15,14H1V2h14V14z" class="Black" /> |
| | | <path d="M8,4C5.8,4,4,5.8,4,8s1.8,4,4,4s4-1.8,4-4S10.2,4,8,4z M8,11c-1.6,0-3-1.4-3-3s1.3-3,3-3s3,1.3,3,3 S9.7,11,8,11z" class="Blue" /> |
| | | <polygon points="8,8 8,6 7,6 7,9 10,9 10,8 " class="Black" /> |
| | | </svg> |