///<summary>开始读取规划运行数据</summary> public static void PlanningRunDataRead(DistNet dn, int instanceID) { initPlanningRunData(dn); //逐项填写运行数据 //载入潮流 List <PowerBasicObject> objs = dn.dbdesc["基础数据"].DictSQLS["线路"].batchLoadRunData(dn, false, instanceID); foreach (var item in objs) { DNACLine obj = item as DNACLine; obj.isInverse = obj.thisRunData.activePower < 0; //校验方向 } //载入变电站 objs = dn.dbdesc["基础数据"].DictSQLS["变电站"].batchLoadRunData(dn, false, instanceID); //载入配电室 //注:配电无功率数据 objs = dn.dbdesc["基础数据"].DictSQLS["配电室"].batchLoadRunData(dn, false, instanceID); //载入主变压器 objs = dn.dbdesc["基础数据"].DictSQLS["主变2卷"].batchLoadRunData(dn, false, instanceID); //载入配变压器 objs = dn.dbdesc["基础数据"].DictSQLS["配变"].batchLoadRunData(dn, false, instanceID); //断路器状态 objs = dn.dbdesc["基础数据"].DictSQLS["断路器"].batchLoadRunData(dn, false, instanceID); //网格数据 objs = dn.dbdesc["基础数据"].DictSQLS["网格"].batchLoadRunData(dn, false, instanceID); }
public void load() { root.earth.config.tooltipMoveEnable = true; if (UCDNV863.EDISTNET == UCDNV863.EDistnet.亦庄16) { #region ----- gis16数据模拟或载入 ----- //逐项填写运行数据 //载入潮流 List <PowerBasicObject> objs = root.distnet.dbdesc["基础数据"].DictSQLS["导线段"].batchLoadRunData(root.distnet, false); foreach (var item in objs) { DNLineSeg obj = item as DNLineSeg; obj.isInverse = obj.thisRunData.activePower < 0; //校验方向 obj.tooltipMoveTemplate = "PlanningLineTemplate"; obj.tooltipMoveContent = obj.busiRunData; } //载入变电站 objs = root.distnet.dbdesc["基础数据"].DictSQLS["变电站"].batchLoadRunData(root.distnet, false); foreach (var obj in objs) { obj.tooltipMoveTemplate = "PlanningSubstationTemplate"; obj.tooltipMoveContent = obj.busiRunData; } //载入主变压器 objs = root.distnet.dbdesc["基础数据"].DictSQLS["主变压器"].batchLoadRunData(root.distnet, false); foreach (var obj in objs) { obj.tooltipMoveTemplate = "PlanningSubstationTemplate"; obj.tooltipMoveContent = obj.busiRunData; } #endregion } else if (UCDNV863.EDISTNET == UCDNV863.EDistnet.亦庄new) { #region ----- 新亦庄数据模拟或载入 ----- //逐项填写运行数据 //载入潮流 List <PowerBasicObject> objs = root.distnet.dbdesc["基础数据"].DictSQLS["线路"].batchLoadRunData(root.distnet, false); foreach (var item in objs) { DNACLine obj = item as DNACLine; obj.isInverse = obj.thisRunData.activePower < 0; //校验方向 obj.tooltipMoveTemplate = "PlanningLineTemplate"; obj.tooltipMoveContent = obj.busiRunData; } //载入变电站 objs = root.distnet.dbdesc["基础数据"].DictSQLS["变电站"].batchLoadRunData(root.distnet, false); foreach (var obj in objs) { obj.tooltipMoveTemplate = "PlanningSubstationTemplate"; obj.tooltipMoveContent = obj.busiRunData; } //载入主变压器 objs = root.distnet.dbdesc["基础数据"].DictSQLS["主变2卷"].batchLoadRunData(root.distnet, false); foreach (var obj in objs) { obj.tooltipMoveTemplate = "PlanningSubstationTemplate"; obj.tooltipMoveContent = obj.busiRunData; } #endregion } else { #region ------ gis15数据模拟域载入 ------ //逐项填写运行数据 //载入潮流 string id; PowerBasicObject obj; DataTable dt = DataLayer.DataProvider.getDataTableFromSQL("select f_id id,f_mch name,f_begyg yg,f_begwg wg,f_begyg/1000 fzl from MCR_ACFLOW_BRANCH union select f_id id,f_mch name,F_SHDYG yg,F_SHDWG wg,f_fzl fzl from HCR_ACFLOW_BRANCH"); Dictionary <string, PowerBasicObject> objs; if (root.earth.objManager.zLayers.ContainsKey(EObjectCategory.导线类.ToString())) { //objs = root.earth.objManager.zLayers[EObjectCategory.导线类.ToString()].pModels; objs = root.distnet.getAllObjDictByCategory(EObjectCategory.导线类); foreach (DataRow dr in dt.Rows) { id = dr["id"].ToString(); if (objs.TryGetValue(id, out obj)) { if (obj.busiRunData == null) { obj.createRunData(); } RunDataACLineBase rdata = obj.busiRunData as RunDataACLineBase; rdata.rateOfLoad = dr.getDouble("fzl"); rdata.activePower = dr.getDouble("yg"); rdata.reactivePower = dr.getDouble("wg"); (obj as pPowerLine).isInverse = rdata.activePower < 0; //校验方向 obj.tooltipMoveTemplate = "PlanningLineTemplate"; obj.tooltipMoveContent = obj.busiRunData; } } } //载入变电站 dt = DataLayer.DataProvider.getDataTableFromSQL("select f_id id, f_mch name,f_ygfh yg,f_wgfh wg, f_fzl fzl, f_cos fcos, null ryd from MCR_ACFLOW_SS union select f_id id,F_MCH name, F_YGFH yg, F_WGFH wg,f_fzl fzl,f_cos fcos,f_ryd ryd from HCR_ACFLOW_SSLR"); objs = root.earth.objManager.zLayers[EObjectCategory.变电设施类.ToString()].pModels; // root.earth.objManager.getAllObjDictBelongtoCategory("变电站"); foreach (DataRow dr in dt.Rows) { id = dr["id"].ToString(); if (objs.TryGetValue(id, out obj)) { if (obj.busiRunData == null) { obj.createRunData(); } RunDataSubstation rdata = obj.busiRunData as RunDataSubstation; rdata.activePower = dr.getDouble("yg"); rdata.reactivePower = dr.getDouble("wg"); rdata.rateOfLoad = dr.getDouble("fzl") / 100; rdata.powerFactor = dr.getDouble("fcos"); rdata.redundancy = dr.getDouble("ryd"); rdata.HVL = 90 + rd.Next(40); //zh 注模拟 rdata.HVoltPUV = rdata.HVL / 110; obj.tooltipMoveTemplate = "PlanningSubstationTemplate"; obj.tooltipMoveContent = obj.busiRunData; } } //zh注,强制模拟配电室 foreach (var item in root.distnet.getAllObjListByObjType(EObjectType.配电室)) { if (item.busiRunData == null) { item.createRunData(); } RunDataTransformFacilityBase rdata = item.busiRunData as RunDataTransformFacilityBase; rdata.rateOfLoad = (30.0 + rd.Next(60)) / 100; rdata.HVL = 8 + rd.Next(4); rdata.HVoltPUV = rdata.HVL / 10; } //载入变压器 string sql = @" select f_id id, f_mch name, f_fh yg,f_wgfh wg,f_fzl fzl,f_glysh fcos,f_gycyxdy hvl,f_zsh allloss,f_shzgl ap,f_tgs closs,f_ts iloss,f_bs tloss,f_bsl tlr from HCR_ACFLOW_MTTV union select f_id id, f_mch name, f_fh yg,f_wgfh wg,f_fzl fzl,f_glysh fcos,f_gycyxdy hvl,f_zsh allloss,f_shzgl ap,f_tgs closs,f_ts iloss,f_bs tloss,f_bsl tlr from HCR_ACFLOW_MTTHV union select f_id id, f_mch name, f_ygfh yg,f_wgfh wg,f_fzl fzl,f_cos fcos,0 hvl,f_zws allloss,sqrt(f_ygfh*f_ygfh+f_wgfh*f_wgfh) ap,f_pbcus closs,f_pbfes iloss,f_pbsh tloss,f_pbsl tlr from MCR_ACFLOW_MT "; dt = DataLayer.DataProvider.getDataTableFromSQL(sql); if (root.earth.objManager.zLayers.ContainsKey(EObjectCategory.变压器类.ToString())) { objs = root.earth.objManager.zLayers[EObjectCategory.变压器类.ToString()].pModels;// root.earth.objManager.getAllObjDictBelongtoCategory("变压器"); foreach (DataRow dr in dt.Rows) { id = dr["id"].ToString(); if (objs.TryGetValue(id, out obj)) { RunDataTransformerBase rundata = new RunDataTransformerBase(obj) { activePower = double.Parse(dr["yg"].ToString()), reactivePower = double.Parse(dr["wg"].ToString()), rateOfLoad = double.Parse(dr["fzl"].ToString()) / 100, powerFactor = double.Parse(dr["fcos"].ToString()), HVL = double.Parse(dr["hvl"].ToString()), allLoss = double.Parse(dr["allloss"].ToString()), apparentPower = double.Parse(dr["ap"].ToString()), copperLoss = double.Parse(dr["closs"].ToString()), ironLoss = double.Parse(dr["iloss"].ToString()), transformLoss = double.Parse(dr["tloss"].ToString()), transformLossRate = double.Parse(dr["tlr"].ToString()), }; obj.busiRunData = rundata; obj.tooltipMoveTemplate = "PlanningTransformerTemplate"; obj.tooltipMoveContent = obj.busiRunData; } } } //======= 载入节点数据 dt = DataLayer.DataProvider.getDataTableFromSQL("select * from MCR_ACFLOW_node"); //objs = root.earth.objManager.getAllObjDictBelongtoCategory("节点"); objs = root.distnet.getAllObjDictByObjType(EObjectType.节点); foreach (DataRow dr in dt.Rows) { id = dr["f_id"].ToString(); if (objs.TryGetValue(id, out obj)) { RunDataNode rundata = new RunDataNode(obj) { activePower = dr.getDouble("f_yg"), reactivePower = dr.getDouble("f_wg"), volt = dr.getDouble("f_dy"), voltPUV = dr.getDouble("f_dy_by"), }; obj.busiRunData = rundata; } } ////载入3卷变压器 //dt = DataLayer.DataProvider.getDataTableFromSQL("select * from HCR_ACFLOW_MTTHV"); //objs = root.earth.objManager.getAllObjDictBelongtoCategory("3卷变压器"); //foreach (DataRow dr in dt.Rows) //{ // id = dr["f_id"].ToString(); // if (objs.TryGetValue(id, out obj)) // { // RunDataTransformer3P rundata = new RunDataTransformer3P() // { // name = dr["F_MCH"].ToString(), // activePower = double.Parse(dr["F_FH"].ToString()), // reactivePower = double.Parse(dr["F_WGFH"].ToString()), // rateOfLoad = double.Parse(dr["F_FZL"].ToString()) / 100, // powerFactor = double.Parse(dr["F_GLYSH"].ToString()), // HVL = double.Parse(dr["F_gycyxdy"].ToString()), // allLoss = double.Parse(dr["F_zsh"].ToString()), // apparentPower = double.Parse(dr["F_shzgl"].ToString()), // copperLoss = double.Parse(dr["F_tgs"].ToString()), // ironLoss = double.Parse(dr["F_ts"].ToString()), // transformLoss = double.Parse(dr["F_bs"].ToString()), // transformLossRate = double.Parse(dr["F_bsl"].ToString()), // }; // obj.busiRunData = rundata; // obj.tooltipMoveTemplate = "PlanningTransformer3Template"; // obj.tooltipMoveContent = obj.busiRunData; // } //} #endregion } cmbMode.SelectedIndex = 0; root.earth.VisualRangeChanged += new EventHandler(earth_VisualRangeChanged); }