private static void Executa()
        {
            do
            {
                Thread.Sleep(1000);

                ///////////////////////////////////////
                //AQUECEDOR
                var Dados_A = Simulation.Input.Termostato_A();
                var Dados_D = Simulation.Input.Termostato_D();
                var Dados_E = Simulation.Input.Termostato_E();
                var Dados_G = Simulation.Input.Termostato_G();

                bool saida_heater_A = Decisao.ResultadoAquecedorSimplificado(Dados_A.TemperaturaReal, Dados_A.SetPointReal);
                bool saida_heater_D = Decisao.ResultadoAquecedorSimplificado(Dados_D.TemperaturaReal, Dados_D.SetPointReal);
                bool saida_heater_E = Decisao.ResultadoAquecedorSimplificado(Dados_E.TemperaturaReal, Dados_E.SetPointReal);
                bool saida_heater_G = Decisao.ResultadoAquecedorSimplificado(Dados_G.TemperaturaReal, Dados_G.SetPointReal);

                if (saida_heater_A)
                {
                    Simulation.Output.LigarAquecedor_A();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_A();
                }
                /////////////////
                if (saida_heater_D)
                {
                    Simulation.Output.LigarAquecedor_D();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_D();
                }
                /////////////////
                if (saida_heater_E)
                {
                    Simulation.Output.LigarAquecedor_E();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_E();
                }
                /////////////////
                if (saida_heater_G)
                {
                    Simulation.Output.LigarAquecedor_G();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_G();
                }
            }while (true);
        }
コード例 #2
0
ファイル: VisaoS_SE.cs プロジェクト: jonimoreira/TestTFS
        /// <summary>
        /// Carrega funções na visão adicionando mapeamento valor da variável global para variável "interna" da função
        /// </summary>
        /// <param name="visao"></param>
        /// <param name="variaveis"></param>
        /// <param name="funcoes"></param>
        public static void CarregarFuncoes(Visao visao, List<Variavel> variaveis, List<Funcao> funcoes)
        {
            visao.Funcoes = new List<KeyValuePair<Funcao, int>>();
            int i = 0;

            // Adiciona primeiro o periodo de carga pois o resultado será usado nas outras funções (variável PeriodoCarga_SE_CO atualizada no Main.Executar()
            Funcao funcaoPeriodoCarga = funcoes.Where(f => f.Nome == "Modulo_PERIODO_SE_CO_RNE_2009-PeriodoCarga_SE_CO").FirstOrDefault();
            // xHora As Date, xDiaSemana As String, xTipo As String, Hverao
            funcaoPeriodoCarga.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "PeriodoCarga_SE_CO".ToLower()).FirstOrDefault();
            KeyValuePair<Funcao, int> funcKVP = new KeyValuePair<Funcao, int>(funcaoPeriodoCarga, i);
            visao.Funcoes.Add(funcKVP);

            foreach (Funcao funcao in funcoes)
            {
                Decisao decisao = new Decisao();
                List<Decisao> decisoes = new List<Decisao>();
                KeyValuePair<Funcao, int> func = new KeyValuePair<Funcao, int>();

                switch (funcao.Nome)
                {
                    case "Modulo_Interligacao_SSE-LimiteFBAIN":
                        //-> dependencia pro xpercarga = PeriodoCarga_SE_CO(...): executado no SUL (melhoria: não executar novamente)

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xNMaqIpu = vglobal_Mq_60Hz; xGerIPU = vglobal_GIPU_60Hz; xpercarga = PeriodoCarga_SE_CO;"; // xangra = vglobal_GIPU_60Hz";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-limiteFINBA":
                        // dependência da VisaoSUL: xUGarauc, x_refFRS_Ger, xFRS_GerUSs, xJLP, xJLM, xJLG, xJLGG
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xrsul = vglobal_RSUL; xcargasul = vglobal_CARGA_SUL;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-LimiteFSE":
                        // xpercarga <- PeriodoCarga_SE_CO
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xMaqIpu = vglobal_Mq_60Hz; xGerIPU = vglobal_GIPU_60Hz; xpercarga = PeriodoCarga_SE_CO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-Limite_RSE":
                        // xpercarga <- PeriodoCarga_SE_CO
                        // xangra
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xelo = vglobal_POT_ELO_CC; xMaq = vglobal_Mq_60Hz; xGerIPU = vglobal_GIPU_60Hz; xrsul = vglobal_RSUL; xpercarga = PeriodoCarga_SE_CO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-LIMITE_RSUL":
                        // xpercarga <- PeriodoCarga_SE_CO
                        // VisaoSUL: xUGarauc, xugG1, xugG2, xugG3, xugG4
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xrsul = vglobal_RSUL; xcargasul = vglobal_CARGA_SUL; xelo = vglobal_POT_ELO_CC; xMaq = vglobal_Mq_60Hz; xGerIPU = vglobal_GIPU_60Hz; xpercarga = PeriodoCarga_SE_CO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-LIMITE_FSUL":
                        // xpercarga <- PeriodoCarga_SE_CO
                        /*
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = " ";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();
                        */
                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-Mqs_CORTE_FIPU_FSE":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = " xFIV = vglobal_FIV; xFSE = vglobal_FSE_Programado; xMqs = vglobal_Mq_60Hz;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-LimGIPU":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xmaq60 = vglobal_Mq_60Hz;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-GIPU_minimo":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xrsul = vglobal_RSUL; xcargasul = vglobal_CARGA_SUL;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-refFRS_Ger":
                        // VisaoSUL: xUGarauc
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xcargasul = vglobal_CARGA_SUL;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    default:
                        break;
                }

            }
        }
コード例 #3
0
        static void Main()
        {
            Decisao decidir = new Decisao();

            decidir.Decide();
        }
コード例 #4
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// Salva a decisão da portaria em documento NF-e.
 /// </summary>
 public async Task <RootDocumento> DecisaoPortariaNFe(string chave, Decisao decisao, string observacao = null)
 {
     return(await DecisaoPortariaNFe(chave, CodigoDecisao(decisao), observacao));
 }
コード例 #5
0
ファイル: VisaoACRO_MT.cs プロジェクト: jonimoreira/TestTFS
        /// <summary>
        /// Carrega funções na visão adicionando mapeamento valor da variável global para variável "interna" da função
        /// </summary>
        /// <param name="visao"></param>
        /// <param name="variaveis"></param>
        /// <param name="funcoes"></param>
        public static void CarregarFuncoes(Visao visao, List<Variavel> variaveis, List<Funcao> funcoes)
        {
            visao.Funcoes = new List<KeyValuePair<Funcao, int>>();
            int i = 0;
            /*
            // Adiciona primeiro o periodo de carga pois o resultado será usado nas outras funções (variável PeriodoCarga_SE_CO atualizada no Main.Executar()
            Funcao funcaoPeriodoCarga = funcoes.Where(f => f.Nome == "Modulo_PERIODO_SE_CO_RNE_2009-PeriodoCarga_SE_CO").FirstOrDefault();
            // xHora As Date, xDiaSemana As String, xTipo As String, Hverao
            funcaoPeriodoCarga.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "PeriodoCarga_SE_CO".ToLower()).FirstOrDefault();
            KeyValuePair<Funcao, int> funcKVP = new KeyValuePair<Funcao, int>(funcaoPeriodoCarga, i);
            visao.Funcoes.Add(funcKVP);
            */
            foreach (Funcao funcao in funcoes)
            {
                Decisao decisao = new Decisao();
                List<Decisao> decisoes = new List<Decisao>();
                KeyValuePair<Funcao, int> func = new KeyValuePair<Funcao, int>();

                switch (funcao.Nome)
                {
                    case "Modulo_Acre_Rondonia_MT-limite_FMT":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "ger_Itq_PPdr = vglobal_GeracaoItqPPdr;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    case "Modulo_RACRO-Limite_Sup_FACRO":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xBtB  = vglobal_FBtB; xTR_prov = vglobal_FTRpr; t_nort = vglobal_GerTNorteII; xPOLO1 = vglobal_POLO1";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    case "Modulo_RACRO-Limite_Inf_FACRO":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xFACRO = vglobal_FACRO; xMaqSA = vglobal_UHESantoAntonioNumUGs; xMaqJir = vglobal_UHJirauNumUgs; xilha1 = vglobal_UHESantoAntonioGeracaoIlha1; xilha2 = vglobal_UHESantoAntonioGeracaoIlha1; xmesq = vglobal_UHESantoAntonioGeracaoMEsqrd; xJirau = vglobal_UHJirauGer; xTR_prov = vglobal_FTRpr; xBtB  = vglobal_FBtB; xPOLO1 = vglobal_POLO1";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    case "Modulo_RACRO-Limite_Sam_Ariq":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xTN2 = vglobal_GerTNorteII;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    case "Modulo_RACRO-Limite_BtB":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xPOLO1 = vglobal_POLO1; xMaqSA = vglobal_UHESantoAntonioNumUGs; xMaqJir = vglobal_UHJirauNumUgs; xTR_prov = vglobal_FTRpr; Facro = vglobal_FACRO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_RACRO-Limite_TRprov":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xFACRO = vglobal_FACRO; xPOLO1 = vglobal_POLO1; xMaqSA = vglobal_UHESantoAntonioNumUGs; xMaqJir = vglobal_UHJirauNumUgs; xBtB = vglobal_FBtB;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_RACRO-Limite_POLO":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xPolo = vglobal_POLO1; BtB = vglobal_FBtB; xMaqSA = vglobal_UHESantoAntonioNumUGs; xMaqJir = vglobal_UHJirauNumUgs;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_RACRO-Limite_SA_JI":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xPolo = vglobal_POLO1; xTR_prov = vglobal_FTRpr; xBtB = vglobal_FBtB; xGerSA = vglobal_UHESantoAntonioGerTotal; xGerJir = vglobal_UHJirauGer;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    default:
                        break;
                }

            }
        }
コード例 #6
0
ファイル: VisaoSUL.cs プロジェクト: jonimoreira/TestTFS
        /// <summary>
        /// Carrega funções na visão adicionando mapeamento valor da variável global para variável "interna" da função
        /// </summary>
        /// <param name="visao"></param>
        /// <param name="variaveis"></param>
        /// <param name="funcoes"></param>
        public static void CarregarFuncoes(Visao visao, List<Variavel> variaveis, List<Funcao> funcoes)
        {
            visao.Funcoes = new List<KeyValuePair<Funcao, int>>();
            int i = 0;
            foreach(Funcao funcao in funcoes)
            {
                Decisao decisao = new Decisao();
                List<Decisao> decisoes = new List<Decisao>();
                KeyValuePair<Funcao, int> func = new KeyValuePair<Funcao, int>();

                switch(funcao.Nome)
                {
                    case "Modulo_Interligacao_SSE-UGminARAUC":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xcargasul = vglobal_CARGA_do_SUL; xrsul = vglobal_RSUL";
                        decisoes.Add(decisao);
                        foreach(Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-GERminARAUC":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xcargasul = vglobal_CARGA_do_SUL; xrsul = vglobal_RSUL";
                        decisoes.Add(decisao);
                        foreach(Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_GARABI_ITASSA1-LimiteSUPGARABI1":

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_GARABI_ITASSA1-LimiteINFGARABI1":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xGarabi1 = vglobal_Grbi_I; xGarabi2 = vglobal_Grbi_II;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_GARABI_ITASSA1-LimiteSUPGARABI2":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xGarabi1 = vglobal_Grbi_I; xGarabi2 = vglobal_Grbi_II;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_GARABI_ITASSA1-LimiteINFGARABI2":

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_PERIODO_SE_CO_RNE_2009-PeriodoCarga_SE_CO":
                        // xHora As Date, xDiaSemana As String, xTipo As String, Hverao
                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "PeriodoCarga_SE_CO".ToLower()).FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Interligacao_SSE-refFRS_Ger":

                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xcargasul = vglobal_CARGA_do_SUL; xUGarauc = vglobal_Gera_Araucara";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    default:
                        break;
                }

            }
        }
コード例 #7
0
ファイル: VisaoSEVERA_N3.cs プロジェクト: jonimoreira/TestTFS
        /// <summary>
        /// Carrega funções na visão adicionando mapeamento valor da variável global para variável "interna" da função
        /// </summary>
        /// <param name="visao"></param>
        /// <param name="variaveis"></param>
        /// <param name="funcoes"></param>
        public static void CarregarFuncoes(Visao visao, List<Variavel> variaveis, List<Funcao> funcoes)
        {
            visao.Funcoes = new List<KeyValuePair<Funcao, int>>();
            int i = 0;

            // Adiciona primeiro o periodo de carga pois o resultado será usado nas outras funções (variável PeriodoCarga_SE_CO atualizada no Main.Executar()
            Funcao funcaoPeriodoCarga = funcoes.Where(f => f.Nome == "Modulo_PERIODO_SE_CO_RNE_2009-PeriodoCarga_SE_CO").FirstOrDefault();
            // xHora As Date, xDiaSemana As String, xTipo As String, Hverao
            funcaoPeriodoCarga.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "PeriodoCarga_SE_CO".ToLower()).FirstOrDefault();
            KeyValuePair<Funcao, int> funcKVP = new KeyValuePair<Funcao, int>(funcaoPeriodoCarga, i);
            visao.Funcoes.Add(funcKVP);

            foreach (Funcao funcao in funcoes)
            {
                Decisao decisao = new Decisao();
                List<Decisao> decisoes = new List<Decisao>();
                KeyValuePair<Funcao, int> func = new KeyValuePair<Funcao, int>();

                switch (funcao.Nome)
                {
                    case "Modulo_Limites_MOPs-Limite_GIPU_n3":
                        /*
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xlogica24";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();
                        */
                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-LIM_FSE_n3":
                        decisao.Inequacao = string.Empty;
                        // xcargaSIN, xelocc, , xlimite_fse
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_SE_CO; xhbo = vglobal_HBO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-LIM_RSE_n3":
                        decisao.Inequacao = string.Empty;
                        // xcargaSIN, xelocc, , xlimite_rse
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_SE_CO; xhbo = vglobal_HBO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-LIM_FNS_n3":
                        decisao.Inequacao = string.Empty;
                        // xcargaSIN, xcbrava, xmq_sm = N_NE_SE!L6+N_NE_SE!O6
                        decisao.BlocoDeAcao = "xcbrava = vglobal_MqsCanaBrava; xhbo = vglobal_HBO; xpercarga = PeriodoCarga_SE_CO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-LIM_FSM_n3":
                        decisao.Inequacao = string.Empty;
                        // xcargaSIN, , xmq_sm,
                        decisao.BlocoDeAcao = "xcbrava = vglobal_MqsCanaBrava; xhbo = vglobal_HBO; xpercarga = PeriodoCarga_SE_CO;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-Limite_RSUL_n3":
                        // xcarga_SIN

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    default:
                        break;
                }

            }
        }
コード例 #8
0
ファイル: VisaoN_NE_SE.cs プロジェクト: jonimoreira/TestTFS
        /// <summary>
        /// Carrega funções na visão adicionando mapeamento valor da variável global para variável "interna" da função
        /// </summary>
        /// <param name="visao"></param>
        /// <param name="variaveis"></param>
        /// <param name="funcoes"></param>
        public static void CarregarFuncoes(Visao visao, List<Variavel> variaveis, List<Funcao> funcoes)
        {
            visao.Funcoes = new List<KeyValuePair<Funcao, int>>();
            int i = 0;

            // Adiciona o periodo de carga N/NE pois o resultado será usado nas outras funções
            Funcao funcaoPeriodoCargaNNE = funcoes.Where(f => f.Nome == "Modulo_Horarios_RNE_2009-PeriodoCarga_N_NE").FirstOrDefault();
            // xHora As Date, xDiaSemana As String, xTipo As String, Hverao
            funcaoPeriodoCargaNNE.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "PeriodoCarga_N_NE".ToLower()).FirstOrDefault();
            KeyValuePair<Funcao, int> funcKVPNNE = new KeyValuePair<Funcao, int>(funcaoPeriodoCargaNNE, i);
            visao.Funcoes.Add(funcKVPNNE);

            // Adiciona o periodo de carga SE/CO pois o resultado será usado nas outras funções
            Funcao funcaoPeriodoCarga = funcoes.Where(f => f.Nome == "Modulo_PERIODO_SE_CO_RNE_2009-PeriodoCarga_SE_CO").FirstOrDefault();
            // xHora As Date, xDiaSemana As String, xTipo As String, Hverao
            funcaoPeriodoCarga.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "PeriodoCarga_SE_CO".ToLower()).FirstOrDefault();
            i++;
            KeyValuePair<Funcao, int> funcKVP = new KeyValuePair<Funcao, int>(funcaoPeriodoCarga, i);
            visao.Funcoes.Add(funcKVP);

            // Adiciona função pois o resultado será usado nas outras funções
            Funcao funcaoXingoMinMaqs = funcoes.Where(f => f.Nome == "Modulo_N_NE_SE_semECE_RNE_2009-min_Xingo").FirstOrDefault();
            Decisao decisaoXingo = new Decisao();
            List<Decisao> decisoesXingo = new List<Decisao>();
            decisaoXingo.Inequacao = string.Empty;
            decisaoXingo.BlocoDeAcao = "xRNE = vglobal_RNE; xger_xingo = vglobal_Xingo_Gera;";
            decisoesXingo.Add(decisaoXingo);
            foreach (Decisao dec in funcaoXingoMinMaqs.ListaDecisoes.Decisoes)
            {
                decisoesXingo.Add(dec);
            }
            funcaoXingoMinMaqs.ListaDecisoes.Decisoes = decisoesXingo.ToArray();
            funcaoXingoMinMaqs.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "maqs".ToLower()).FirstOrDefault();
            i++;
            KeyValuePair<Funcao, int> funcKVPXingo = new KeyValuePair<Funcao, int>(funcaoXingoMinMaqs, i);
            visao.Funcoes.Add(funcKVPXingo);

            foreach (Funcao funcao in funcoes)
            {
                Decisao decisao = new Decisao();
                List<Decisao> decisoes = new List<Decisao>();
                KeyValuePair<Funcao, int> func = new KeyValuePair<Funcao, int>();

                switch (funcao.Nome)
                {
                    case "Modulo_N_NE_SE_comECE_RNE_2009-ECE_ON_OFF":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xFNS = vglobal_FNS;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "estado_ece").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;

                    case "Modulo_N_NE_apoio-LimiteEXPN_N_EXP":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_SE_CO; xRNE = vglobal_RNE; xEXPN = vglobal_EXP_N; xFSENE = vglobal_FSENE;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_N_NE_apoio-Limite_Inf_EXPN_IO_NNE":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_N_NE; xRNE = vglobal_RNE; xEXPN = vglobal_EXP_N; xEXPSE = vglobal_EXP_SE;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_N_NE_apoio-LimiteRNE_Cenarios_N_NE_SE":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xEXPN = vglobal_EXP_N; xRNE = vglobal_RNE; xEXP_SE = vglobal_EXP_SE; xpercarga = PeriodoCarga_N_NE; x_cargaNE = vglobal_CargaNE; xugxingo = vglobal_Xingo_NumUgs; xlimugx = maqs; xFSENE = vglobal_FSENE;";
                        //xEXPN As Double, xRNE As Double, xEXP_SE As Double, xpercarga As String, x_cargaNE, xugxingo, xlimugx, xFSENE
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_N_NE_apoio-LimiteEXP_SE_cenarios":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_N_NE; xRNE = vglobal_RNE; xEXP_SE = vglobal_EXP_SE; xPpecem = vglobal_Gera_Porto_Pecem; xFSENE = vglobal_FSENE;";
                        //xpercarga As String, xRNE As Double, xEXP_SE As Double, xPpecem, xFSENE
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_N_NE_apoio-Limite_inf_EXP_SE_SE_EXP":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_N_NE; xRNE = vglobal_RNE; xEXPSE = vglobal_EXP_SE;";
                        //xpercarga As String, xRNE As Double, xEXPSE
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_N_NE_apoio-LimiteFSENE":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xpercarga = PeriodoCarga_N_NE; x_cargaNE = vglobal_CargaNE;";
                        //xpercarga As String, x_cargaNE
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-LimiteFNS_IO":
                        decisao.Inequacao = string.Empty;
                        // xMqIPU = vglobal_ [S_SE:U] // xECE_IPU_TUC // xMW_ug_ipu [S_SE!K6/S_SE!L6]
                        decisao.BlocoDeAcao = "xMqSM = vglobal_SMGerando; xSM_cs = vglobal_Maqs_SMCOp; xMqLJ = vglobal_Maqs_Laj; xMqPX = vglobal_Maqs_Px; xcarga_SIN = vglobal_CARGASIN; xpercarga = PeriodoCarga_N_NE; xFSM = vglobal_FSM; xFSENE = vglobal_FSENE;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-Lim_Inferior_FSM":
                        decisao.Inequacao = string.Empty;
                        decisao.BlocoDeAcao = "xEXPSE = vglobal_EXP_SE; xugSM = vglobal_SMGerando; xpercarga = PeriodoCarga_N_NE;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    case "Modulo_Limites_MOPs-Limite_Superior_FSM":
                        decisao.Inequacao = string.Empty;
                        // xMqIPU, xECE_IPU_TUC, xMW_ug_ipu
                        decisao.BlocoDeAcao = "xMqSM = vglobal_SMGerando; xSM_cs = vglobal_Maqs_SMCOp; xMqLJ = vglobal_Maqs_Laj; xMqPX = vglobal_Maqs_Px; xcarga_SIN = vglobal_CARGASIN; xpercarga = PeriodoCarga_N_NE; xEXPN = vglobal_EXP_N; xFNS = vglobal_FNS; xFSENE = vglobal_FSENE;";
                        decisoes.Add(decisao);
                        foreach (Decisao dec in funcao.ListaDecisoes.Decisoes)
                        {
                            decisoes.Add(dec);
                        }
                        funcao.ListaDecisoes.Decisoes = decisoes.ToArray();

                        funcao.VariavelRetorno = variaveis.Where(v => v.Nome.Trim().ToLower() == "lim").FirstOrDefault();
                        func = new KeyValuePair<Funcao, int>(funcao, i);
                        visao.Funcoes.Add(func);
                        i++;

                        break;
                    default:
                        break;
                }

            }
        }
        static void Main(string[] args)
        {
            ListPoints = new List <Points>();
            DateTime datahora_atual = DateTime.MinValue;
            bool     started        = false;

            do
            {
                var datahora = Simulation.Memory.Get().dmDateTime;

                var Dados_A = Simulation.Input.Termostato_A();
                var Dados_D = Simulation.Input.Termostato_D();
                var Dados_E = Simulation.Input.Termostato_E();
                var Dados_G = Simulation.Input.Termostato_G();

                bool saida_heater_A = Decisao.ResultadoAquecedorSimplificado(Dados_A.TemperaturaReal, Dados_A.SetPointReal);
                bool saida_heater_D = Decisao.ResultadoAquecedorSimplificado(Dados_D.TemperaturaReal, Dados_D.SetPointReal);
                bool saida_heater_E = Decisao.ResultadoAquecedorSimplificado(Dados_E.TemperaturaReal, Dados_E.SetPointReal);
                bool saida_heater_G = Decisao.ResultadoAquecedorSimplificado(Dados_G.TemperaturaReal, Dados_G.SetPointReal);

                if (saida_heater_A)
                {
                    Simulation.Output.LigarAquecedor_A();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_A();
                }
                /////////////////
                if (saida_heater_D)
                {
                    Simulation.Output.LigarAquecedor_D();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_D();
                }
                /////////////////
                if (saida_heater_E)
                {
                    Simulation.Output.LigarAquecedor_E();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_E();
                }
                /////////////////
                if (saida_heater_G)
                {
                    Simulation.Output.LigarAquecedor_G();
                }
                else
                {
                    Simulation.Output.DesligarAquecedor_G();
                }


                if (datahora.DataHora.Hour == 0 && datahora.DataHora.Minute == 0 && datahora.DataHora.Second > 0)
                {
                    started = true;
                }
                if (started == true)
                {
                    if (datahora.DataHora >= datahora_atual.AddSeconds(1))
                    {
                        datahora_atual = datahora.DataHora;
                        var p = new Points();
                        p.Hora = datahora.DataHoraNormalizado;


                        p.TempA = Dados_A.TemperaturaNormalizado;
                        p.SetA  = Dados_A.SetPointNormalizado;

                        p.TempD = Dados_D.TemperaturaNormalizado;
                        p.SetD  = Dados_D.SetPointNormalizado;

                        p.TempE = Dados_E.TemperaturaNormalizado;
                        p.SetE  = Dados_E.SetPointNormalizado;

                        p.TempG = Dados_G.TemperaturaNormalizado;
                        p.SetG  = Dados_G.SetPointNormalizado;

                        p.SaidaEsperada.AquecedorA = Normalizacao.Norm_Bool(saida_heater_A);
                        p.SaidaEsperada.AquecedorD = Normalizacao.Norm_Bool(saida_heater_D);
                        p.SaidaEsperada.AquecedorE = Normalizacao.Norm_Bool(saida_heater_E);
                        p.SaidaEsperada.AquecedorG = Normalizacao.Norm_Bool(saida_heater_G);

                        ListPoints.Add(p);

                        Console.WriteLine(ListPoints.Count);

                        /*if (datahora.Hour == 23 && datahora.Minute == 59 && datahora.Second > 0)
                         *  break;*/
                    }
                }
            }while (ListPoints.Count < 10000);

            Salvar();
            Console.WriteLine("Total points: " + ListPoints.Count);
            Console.ReadKey();
        }