コード例 #1
0
        /// <summary>
        /// Devuelve los sistemas de fases que utiliza la aplicación.
        /// </summary>
        /// <returns>Los sistemas de fases que utiliza la aplicación.</returns>
        public static IEnumerable <SistemaFases> GetApplicationSystemPhases()
        {
            SistemaFases[] sistemas  = new SistemaFases[12];
            TensionVal[]   tensiones = new TensionVal[]
            { TensionVal.T_220, TensionVal.T_480, TensionVal.T_208, TensionVal.T_440 };
            SistemaFases sys;

            for (int index = 0, i = 1; index < sistemas.Length; index++, i++)
            {
                if (index < 4)
                {
                    sys = new SistemaTrifasico();
                }
                else if (index < 8)
                {
                    sys = new SistemaBifasico();
                }
                else
                {
                    sys = new SistemaMonofasico();
                }
                sys.SetTension(tensiones[i - 1]);
                sistemas[index] = sys;
                if (i % 4 == 0)
                {
                    i = 1;
                }
            }
            return(sistemas);
        }
コード例 #2
0
ファイル: Tension.cs プロジェクト: ANamelessWolf/Tabalim
        /// <summary>
        /// Inicializa una nueva instancia de la <see cref="Tension"/>.
        /// </summary>
        /// <param name="tension">El valor de la tensión.</param>
        /// <param name="fases">El número de fases del sistema</param>
        public Tension(TensionVal tension, int fases)
        {
            this.Sistema = null;
            this.Value   = (int)tension;
            int tn = (int)(Math.Round((double)this.Value / Math.Sqrt(3)));

            if (fases == 1)
            {
                this.Value           = tn;
                this.TensionAlNeutro = tn;
            }
            else
            {
                this.TensionAlNeutro = tn;
            }
        }
コード例 #3
0
ファイル: Tension.cs プロジェクト: ANamelessWolf/Tabalim
        /// <summary>
        /// Inicializa una nueva instancia de la <see cref="Tension"/>.
        /// </summary>
        /// <param name="tension">El valor de la tensión.</param>
        /// <param name="sistema">El sistema de fases.</param>
        public Tension(TensionVal tension, SistemaFases sistema)
        {
            this.Sistema = sistema;
            this.Value   = (int)tension;
            int tn = (int)(Math.Round((double)this.Value / Math.Sqrt(3)));

            if (sistema.Fases == 1)
            {
                this.Value           = tn;
                this.TensionAlNeutro = tn;
            }
            else
            {
                this.TensionAlNeutro = tn;
            }
        }
コード例 #4
0
        /// <summary>
        /// Devuelve el indice del sistema
        /// </summary>
        /// <param name="sistema">El sistema a extraer el indice</param>
        /// <returns>El indice del sistema</returns>
        public static int GetIndexOfSystem(this SistemaFases sistema)
        {
            TensionVal[] tensiones = new TensionVal[]
            { TensionVal.T_220, TensionVal.T_480, TensionVal.T_208, TensionVal.T_440 };
            int tIndex = tensiones.ToList().IndexOf((TensionVal)sistema.Tension.Value);

            if (sistema.Fases == 3)
            {
                tIndex += 0;
            }
            else if (sistema.Fases == 2)
            {
                tIndex += 4;
            }
            else
            {
                tIndex += 7;
            }
            return(tIndex);
        }
コード例 #5
0
        /// <summary>
        /// Crea un sistema mediante un indice de selección
        /// </summary>
        /// <param name="sysIndex">El indice del sistema</param>
        /// <returns>El indice del sistema</returns>
        public static SistemaFases GetSystem(this int sysIndex)
        {
            SistemaFases sys;

            TensionVal[] tensiones = new TensionVal[]
            { TensionVal.T_220, TensionVal.T_480, TensionVal.T_208, TensionVal.T_440 };
            if (sysIndex < 4)
            {
                sys = new SistemaTrifasico();
            }
            else if (sysIndex < 8)
            {
                sys       = new SistemaBifasico();
                sysIndex -= 4;
            }
            else
            {
                sys       = new SistemaMonofasico();
                sysIndex -= 8;
            }
            sys.SetTension(tensiones[sysIndex]);
            return(sys);
        }
コード例 #6
0
ファイル: SistemaFases.cs プロジェクト: ANamelessWolf/Tabalim
 /// <summary>
 /// Establece el valor de la tensión
 /// </summary>
 /// <returns>El valor de la tensión</returns>
 public void SetTension(TensionVal val)
 {
     this.Tension = new Tension(val, this);
 }