///<summary>产生变电数据</summary> static void gentranform(DistNet dn) { foreach (DNTransformFacilityBase item in dn.getAllObjListByCategory(EObjectCategory.变电设施类)) { RunDataTransformFacilityBase rundata = item.busiRunData as RunDataTransformFacilityBase; AcntTransformFacilityBase acnt = item.busiAccount as AcntTransformFacilityBase; rundata.activePower = acnt.cap * (0.4 + 0.5 * rd.NextDouble()); rundata.powerFactor = 0.8 + 0.2 * rd.NextDouble(); rundata.apparentPower = rundata.activePower / rundata.powerFactor; rundata.reactivePower = Math.Sqrt(Math.Pow(rundata.apparentPower, 2) - Math.Pow(rundata.activePower, 2)); rundata.rateOfLoad = rundata.apparentPower / acnt.cap; rundata.HVoltPUV = 0.85 + 0.3 * rd.NextDouble(); rundata.HVL = acnt.hnvl * rundata.HVoltPUV; if (rundata.lstApparentPower.Count == 0) //初始模拟50条 { for (int i = 50; i > 0; i--) { rundata.lstApparentPower.Add(new MyClassLibrary.DevShare.ChartDataPoint() { argudate = DateTime.Now.AddMinutes(i), value = acnt.cap * (0.4 + 0.5 * rd.NextDouble()) }); } } rundata.addApparentPower(rundata.apparentPower); rundata.refresh(); } foreach (DNTransformerBase item in dn.getAllObjListByCategory(EObjectCategory.变压器类)) { RunDataTransformerBase rundata = item.busiRunData as RunDataTransformerBase; AcntTransformBase acnt = item.busiAccount as AcntTransformBase; rundata.activePower = acnt.cap * (0.4 + 0.5 * rd.NextDouble()); rundata.powerFactor = 0.8 + 0.2 * rd.NextDouble(); rundata.apparentPower = rundata.activePower / rundata.powerFactor; rundata.reactivePower = Math.Sqrt(Math.Pow(rundata.apparentPower, 2) - Math.Pow(rundata.activePower, 2)); rundata.rateOfLoad = rundata.apparentPower / acnt.cap; rundata.HVoltPUV = 0.85 + 0.3 * rd.NextDouble(); rundata.HVL = acnt.hnvl * rundata.HVoltPUV; if (rundata.lstApparentPower.Count == 0) //初始模拟50条 { for (int i = 50; i > 0; i--) { rundata.lstApparentPower.Add(new MyClassLibrary.DevShare.ChartDataPoint() { argudate = DateTime.Now.AddMinutes(i), value = acnt.cap * (0.4 + 0.5 * rd.NextDouble()) }); } } rundata.addApparentPower(rundata.apparentPower); rundata.refresh(); } foreach (var item in dn.getAllObjListByObjType(EObjectType.节点)) { RunDataNode rundata = item.busiRunData as RunDataNode; rundata.vl = 110; rundata.voltPUV = 0.9 + 0.2 * rd.NextDouble(); rundata.volt = rundata.voltPUV * rundata.vl; } }