protected void HuangTowerCaculate(int index) { ElecCalsParas paras = ParaList[index]; ElecCalsRes SideCalRes = new ElecCalsRes(); SideCalRes.SpanFit = paras.BackSpanFit; SideCalRes.IsBackSide = true; //只是为了计算45风 SideCalRes.UpdataSor(paras.BackWeatherPara, paras.BackWirePara.Ind, paras.BackWirePara.Grd, paras.BackWirePara.OPGW, paras.JumpWirePara, paras.BackSidePara, paras.CommParas); TowerElecCals BackTower = ParaList[index - 1].TowerCals; BackTower.UpdataTowerTraHei(); BackTower.UpdateAtitudeTower(); TowerHangElecCals CalTower = (TowerHangElecCals)ParaList[index].TowerCals; CalTower.UpdataTowerTraHei(); CalTower.UpdateAtitudeTower(); TowerElecCals FrontTower = ParaList[index + 1].TowerCals; FrontTower.UpdataTowerTraHei(); FrontTower.UpdateAtitudeTower(); paras.CommParas.UpateIceCovrage(SideCalRes.Weather.WeathComm, SideCalRes.SideParas.IceArea); CalTower.GetAndUpdateSideRes(SideCalRes); CalTower.GetAndUpdateStrData(paras.StrDatas); for (int i = 0; i <= 9; i++) { CalTower.PhaseTraList[i].CalsStrLoad(); } CalTower.FlashBackHeiSub(BackTower); CalTower.FlashFrontHeiSub(FrontTower); CalTower.UpdateDFCure(); CalTower.Cals(); CalTower.UpdateTensionDiff(); }
/// <summary> /// 更新前侧高差,传统模式 本塔-前侧铁塔 /// 有5个相位 /// </summary> /// <param name="pntTower"></param> public void FlashFrontHeiSub(TowerElecCals pntTower) { PhaseTraList[5].SpaceStr.SubHei = AtiUpSide - pntTower.AtiUpSide; PhaseTraList[5].SpaceStr.GDHei = AbsUpSideHei; PhaseTraList[5].SpaceStr.Span = FrontPosRes.Span; PhaseTraList[5].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[6].SpaceStr.SubHei = AtiMid - pntTower.AtiMid; PhaseTraList[6].SpaceStr.GDHei = AbsMidHei; PhaseTraList[6].SpaceStr.Span = FrontPosRes.Span; PhaseTraList[6].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[7].SpaceStr.SubHei = AtiDownd - pntTower.AtiDownd; PhaseTraList[7].SpaceStr.GDHei = AbsDownSideHei; PhaseTraList[7].SpaceStr.Span = FrontPosRes.Span; PhaseTraList[7].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[8].SpaceStr.SubHei = AtiGrd - pntTower.AtiGrd; PhaseTraList[8].SpaceStr.GDHei = AbsGrdHei; PhaseTraList[8].SpaceStr.Span = FrontPosRes.Span; PhaseTraList[8].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[9].SpaceStr.SubHei = AtiGrd - pntTower.AtiGrd; PhaseTraList[9].SpaceStr.GDHei = AbsGrdHei; PhaseTraList[9].SpaceStr.Span = FrontPosRes.Span; PhaseTraList[9].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; }
/// <summary> /// 更新相后侧高差,档距等数据,传统模式 本塔-后侧铁塔 /// 有5个相位 /// </summary> /// <param name="PntTower"></param> /// public void FlashBackHeiSub(TowerElecCals pntTower) { PhaseTraList[0].SpaceStr.SubHei = AtiUpSide - pntTower.AtiUpSide; PhaseTraList[0].SpaceStr.GDHei = AbsUpSideHei; PhaseTraList[0].SpaceStr.Span = BackPosRes.Span; PhaseTraList[0].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[1].SpaceStr.SubHei = AtiMid - pntTower.AtiMid; PhaseTraList[1].SpaceStr.GDHei = AbsMidHei; PhaseTraList[1].SpaceStr.Span = BackPosRes.Span; PhaseTraList[1].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[2].SpaceStr.SubHei = AtiDownd - pntTower.AtiDownd; PhaseTraList[2].SpaceStr.GDHei = AbsDownSideHei; PhaseTraList[2].SpaceStr.Span = BackPosRes.Span; PhaseTraList[2].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[3].SpaceStr.SubHei = AtiGrd - pntTower.AtiGrd; PhaseTraList[3].SpaceStr.GDHei = AbsGrdHei; PhaseTraList[3].SpaceStr.Span = BackPosRes.Span; PhaseTraList[3].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; PhaseTraList[4].SpaceStr.SubHei = AtiGrd - pntTower.AtiGrd; PhaseTraList[4].SpaceStr.GDHei = AbsGrdHei; PhaseTraList[4].SpaceStr.Span = BackPosRes.Span; PhaseTraList[4].SpaceStr.HorSpan = (BackPosRes.Span + FrontPosRes.Span) / 2; }
//更新塔序列参数 protected void UpdateTowerSerial(TowerSerial backTowerSerial, TowerSerial calsTowerSerial, out string waring) { TowerStrData towerStr = globalInst.GetLocalTowerStrByName(calsTowerSerial.TowerPattern); Appre = new ElecCalsTowerAppre() { UpSideInHei = towerStr.UpSideInHei, MidInHei = towerStr.MidInHei, DnSideInHei = towerStr.DnSideInHei, GrDHei = towerStr.GrDHei, UpSideJuHei = towerStr.UpSideJuHei, MidJuHei = towerStr.MidJuHei, DnSideJuHei = towerStr.DnSideJuHei, }; TowerElecCals tower = new TowerElecCals(); tower.SetPosInf(calsTowerSerial.TowerName, calsTowerSerial.TowerPattern, calsTowerSerial.CallItHigh, calsTowerSerial.TowerFootElevation, calsTowerSerial.BaseLevelDescent, TowerParas.RepStrIndLen, TowerParas.RepStrGrdLen, calsTowerSerial.TurningAngle); tower.SetFrontBackPosInf(calsTowerSerial.Span, calsTowerSerial.FrontPreSpan, backTowerSerial.Span, backTowerSerial.FrontPreSpan); waring = ""; }
protected void StrainTowerCaculate(int index) { ElecCalsParas paras = ParaList[index]; ElecCalsRes BackSideCalRes = new ElecCalsRes(); ElecCalsRes FrontSideCalRes = new ElecCalsRes(); BackSideCalRes.IsBackSide = true; BackSideCalRes.SpanFit = paras.BackSpanFit; FrontSideCalRes.IsBackSide = false; FrontSideCalRes.SpanFit = paras.FrontSpanFit; BackSideCalRes.UpdataSor(paras.BackWeatherPara, paras.BackWirePara.Ind, paras.BackWirePara.Grd, paras.BackWirePara.OPGW, paras.JumpWirePara, paras.BackSidePara, paras.CommParas); FrontSideCalRes.UpdataSor(paras.FrontWeatherPara, paras.FrontWirePara.Ind, paras.FrontWirePara.Grd, paras.FrontWirePara.OPGW, paras.JumpWirePara, paras.FrontSidePara, paras.CommParas); paras.CommParas.UpateIceCovrage("耐张塔", BackSideCalRes.Weather.WeathComm, BackSideCalRes.SideParas.IceArea, FrontSideCalRes.Weather.WeathComm, FrontSideCalRes.SideParas.IceArea); TowerElecCals BackTower = ParaList[index - 1].TowerCals; BackTower.UpdataTowerTraHei(); BackTower.UpdateAtitudeTower(); TowerStrainElecCals CalTower = (TowerStrainElecCals)ParaList[index].TowerCals; CalTower.UpdataTowerTraHei(); CalTower.UpdateAtitudeTower(); TowerElecCals FrontTower = ParaList[index + 1].TowerCals; FrontTower.UpdataTowerTraHei(); FrontTower.UpdateAtitudeTower(); CalTower.GetAndUpdateSideRes(BackSideCalRes, FrontSideCalRes); CalTower.GetAndUpdateStrData(paras.StrDatas); for (int i = 0; i <= 9; i++) { CalTower.PhaseTraList[i].CalsStrLoad(); } for (int i = 0; i <= 2; i++) { CalTower.PhaseTraList[i].CalsWindLoad(paras.CommParas.VoltStr, CalTower.PhaseTraList[i + 5].WireData.WeatherParas.WeathComm); CalTower.PhaseTraList[i + 5].CalsWindLoad(paras.CommParas.VoltStr, CalTower.PhaseTraList[i].WireData.WeatherParas.WeathComm); } CalTower.FlashBackHeiSub(BackTower); CalTower.FlashFrontHeiSub(FrontTower); CalTower.UpdateWindPara(); CalTower.Cals(); CalTower.CalDFCure(); //CalTower.CalDFCurePY(); CalTower.UpdateTensionDiff(); CalTower.UpateAnchor(); CalTower.CalsTensionChcek(); }
/// <summary> /// 采用后侧铁塔信息更新本塔数据 /// </summary> /// <param name="BackTower"></param> public void UpdateBackInfo(TowerElecCals backTower) { BackPosRes.Span = backTower.FrontPosRes.Span; BackPosRes.DRepresentSpan = backTower.FrontPosRes.DRepresentSpan; }