Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
 /// <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)));
 }
Esempio n. 3
0
 /// <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);
        }
Esempio n. 5
0
        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);
        }