Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 /// <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;
 }
Ejemplo n.º 3
0
 /// <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;
 }
Ejemplo n.º 4
0
        //更新塔序列参数
        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 = "";
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 采用后侧铁塔信息更新本塔数据
 /// </summary>
 /// <param name="BackTower"></param>
 public void UpdateBackInfo(TowerElecCals backTower)
 {
     BackPosRes.Span           = backTower.FrontPosRes.Span;
     BackPosRes.DRepresentSpan = backTower.FrontPosRes.DRepresentSpan;
 }