/// <summary> /// 增加一个走字项目 /// </summary> /// <param name="Glfx">功率方向</param> /// <param name="Method">试验方法(基本走字,还是标准表法)</param> /// <param name="Yj">元件</param> /// <param name="Glys">功率因素</param> /// <param name="xIb">电流倍数</param> /// <param name="Feilvstring">费率描述</param> /// <param name="ZuHeWc">是否做组合误差0不做,1做</param> /// <param name="Prj">具体走字项目列表</param> /// <returns></returns> public bool Add(Cus_PowerFangXiang Glfx , Cus_ZouZiMethod Method , Cus_PowerYuanJian Yj , string Glys , string xIb , string Feilvstring , string ZuHeWc , List <StPlan_ZouZi.StPrjFellv> Prj) { StPlan_ZouZi _ZouZi = new StPlan_ZouZi(); _ZouZi.PrjID = getZouZiPrjID(Glfx, Yj, Glys, xIb); _ZouZi.xIb = xIb; _ZouZi.Glys = Glys; _ZouZi.FeiLvString = Feilvstring; _ZouZi.ZouZiMethod = Method; _ZouZi.ZuHeWc = ZuHeWc; _ZouZi.ZouZiPrj = Prj; if (_LstZouZi.Contains(_ZouZi)) { return(false); } _LstZouZi.Add(_ZouZi); return(true); }
/// <summary> /// 获取走字项目ID,不带费率 /// </summary> /// <param name="GLFX">功率方向</param> /// <param name="Yj">元件</param> /// <param name="Glys">功率因素</param> /// <param name="xIb">电流倍数</param> /// <returns></returns> public static string getZouZiPrjID(Cus_PowerFangXiang GLFX, Cus_PowerYuanJian Yj, string Glys, string xIb) { Glys = Glys.TrimStart('-'); return(string.Format("{0}{1}{2}{3}" , (int)GLFX , (int)Yj , CLDC_DataCore.Const.GlobalUnit.g_SystemConfig.GlysZiDian.getGlysID(Glys) , CLDC_DataCore.Const.GlobalUnit.g_SystemConfig.xIbDic.getxIbID(xIb))); }
/// <summary> /// 获取走字项目ID,带费率 /// </summary> /// <param name="GLFX">功率方向</param> /// <param name="Yj">元件</param> /// <param name="FeiLv">费率</param> /// <param name="Glys">功率因素</param> /// <param name="xIb">电流倍数</param> /// <returns></returns> public static string getZouZiPrjID(Cus_PowerFangXiang GLFX, Cus_PowerYuanJian Yj, Cus_FeiLv FeiLv, string Glys, string xIb) { return(string.Format("{0}{1}{2}{3}{4}" , (int)GLFX , (int)Yj , CLDC_DataCore.Const.GlobalUnit.g_SystemConfig.GlysZiDian.getGlysID(Glys) , CLDC_DataCore.Const.GlobalUnit.g_SystemConfig.xIbDic.getxIbID(xIb) , (int)FeiLv)); }
/// <summary> /// 增加一个启动项目 /// </summary> /// <param name="Glfx">功率方向</param> /// <param name="xIb">电流倍数(数字)</param> /// <param name="xTime">时间倍数(多少倍起动时间)起动时间是根据规程计算</param> /// <param name="DefaultValue">是否默认合格0-不默认,1-默认,默认合格时该项目则不检定</param> /// <returns></returns> public bool Add(Cus_PowerFangXiang Glfx, float xIb, float xTime, int DefaultValue) { StPlan_QiDong _QiDong = new StPlan_QiDong(); _QiDong.PowerFangXiang = Glfx; _QiDong.FloatxIb = xIb; _QiDong.xTime = xTime; _QiDong.DefaultValue = DefaultValue; if (_LstQiDong.Contains(_QiDong)) { return(false); } _LstQiDong.Add(_QiDong); return(true); }
public static Single[] GetPhiGlys(Cus_Clfs Clfs, Cus_PowerFangXiang Glfx, Cus_PowerYuanJian Glyj, string strGlys, Cus_PowerPhase bln_Nxx) { Single sngAngle; Single[] sng_Phi = new Single[7]; int intFX; int intClfs; int m_intClfs; Single sngPhiTmp; intClfs = (int)Clfs; m_intClfs = intClfs; intFX = (int)Glfx; if (intClfs == 0) { if (intFX == 1 || intFX == 2) { intClfs = 0; } else { intClfs = 1; } } else if (intClfs == 1) { if (intFX == 1 || intFX == 2) { intClfs = 2; } else { intClfs = 3; } } else if (intClfs == 5) { if (intFX == 1 || intFX == 2) { intClfs = 0; } else { intClfs = 1; } } //电压电流相位 sngAngle = GetGlysAngle(intClfs, strGlys); sngAngle = (int)sngAngle; sng_Phi[6] = sngAngle; if (m_intClfs == 0) { //----------------三相四线角度------------------------ sng_Phi[0] = 0; //Ua sng_Phi[1] = 240; //Ub sng_Phi[2] = 120; //Uc sng_Phi[3] = sng_Phi[0] - sngAngle; sng_Phi[4] = sng_Phi[1] - sngAngle; sng_Phi[5] = sng_Phi[2] - sngAngle; if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } if (sng_Phi[3] < 0) { sng_Phi[3] = sng_Phi[3] + 360; } if (sng_Phi[4] > 360) { sng_Phi[4] = sng_Phi[4] - 360; } if (sng_Phi[4] < 0) { sng_Phi[4] = sng_Phi[4] + 360; } if (sng_Phi[5] > 360) { sng_Phi[5] = sng_Phi[5] - 360; } if (sng_Phi[5] < 0) { sng_Phi[5] = sng_Phi[5] + 360; } //如果是反向要将电流角度反过来 if (strGlys.IndexOf('-') == -1) { if (intFX == 2 || intFX == 4) { sng_Phi[3] = sng_Phi[3] + 180; sng_Phi[4] = sng_Phi[4] + 180; sng_Phi[5] = sng_Phi[5] + 180; if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } if (sng_Phi[4] > 360) { sng_Phi[4] = sng_Phi[4] - 360; } if (sng_Phi[5] > 360) { sng_Phi[5] = sng_Phi[5] - 360; } } } if (bln_Nxx == Cus_PowerPhase.电流逆相序) { sngPhiTmp = sng_Phi[0]; sng_Phi[0] = sng_Phi[1]; sng_Phi[1] = sngPhiTmp; } else if (bln_Nxx == Cus_PowerPhase.电压逆相序) { sngPhiTmp = sng_Phi[3]; sng_Phi[3] = sng_Phi[4]; sng_Phi[4] = sngPhiTmp; } } else if (m_intClfs == 1) { //---------------三相三线角度-------------------- sng_Phi[0] = 0; //Ua sng_Phi[2] = 120; //Uc sng_Phi[3] = sng_Phi[0] - sngAngle; sng_Phi[5] = sng_Phi[2] - sngAngle; sng_Phi[0] = 30; sng_Phi[2] = 90; if (Glyj != Cus_PowerYuanJian.H) { sng_Phi[3] = sng_Phi[0] - sngAngle; sng_Phi[5] = sng_Phi[2] - sngAngle; } if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } if (sng_Phi[3] < 0) { sng_Phi[3] = sng_Phi[3] + 360; } if (sng_Phi[5] > 360) { sng_Phi[5] = sng_Phi[5] - 360; } if (sng_Phi[5] < 0) { sng_Phi[5] = sng_Phi[5] + 360; } //如果是反向要将电流角度反过来 if (strGlys.IndexOf('-') == -1) { if (intFX == 2 || intFX == 4) { sng_Phi[3] = sng_Phi[3] + 180; sng_Phi[5] = sng_Phi[5] + 180; if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } if (sng_Phi[5] > 360) { sng_Phi[5] = sng_Phi[5] - 360; } } } } else if (m_intClfs == 2) { //-----------三元件跨相90°无功表角度------------------ sng_Phi[0] = 0; //Ua sng_Phi[1] = 240; //Ub sng_Phi[2] = 120; //Uc sng_Phi[3] = sng_Phi[0] - sngAngle; sng_Phi[4] = sng_Phi[1] - sngAngle; sng_Phi[5] = sng_Phi[2] - sngAngle; //sngPhiUab = 30; //Uab //sngPhiUbc = 270; //Ubc //sngPhiUca = 150; //Uca if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } if (sng_Phi[3] < 0) { sng_Phi[3] = sng_Phi[3] + 360; } if (sng_Phi[4] > 360) { sng_Phi[4] = sng_Phi[4] - 360; } if (sng_Phi[4] < 0) { sng_Phi[4] = sng_Phi[4] + 360; } if (sng_Phi[5] > 360) { sng_Phi[5] = sng_Phi[5] - 360; } if (sng_Phi[5] < 0) { sng_Phi[5] = sng_Phi[5] + 360; } } else { //-----------单相表------------------ sng_Phi[0] = 0; //Ua sng_Phi[3] = sng_Phi[0] - sngAngle; if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } if (sng_Phi[3] < 0) { sng_Phi[3] = sng_Phi[3] + 360; } //如果是反向要将电流角度反过来 if (strGlys.IndexOf('-') == -1) { if (intFX == 2 || intFX == 4) { sng_Phi[3] = sng_Phi[3] + 180; if (sng_Phi[3] > 360) { sng_Phi[3] = sng_Phi[3] - 360; } } } } return(sng_Phi); }