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();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            ListPoints = new List <Points>(10000);
            Random random = new Random();

            int total = 10000;

            //A
            for (int A = 0; A < total; A++)
            {
                double SetA = random.Next(5, 30) + random.NextDouble();
                double SetD = random.Next(5, 30) + random.NextDouble();
                double SetE = random.Next(5, 30) + random.NextDouble();
                double SetG = random.Next(5, 30) + random.NextDouble();

                double TempA = random.Next(-20, 50) + random.NextDouble();
                double TempD = random.Next(-20, 50) + random.NextDouble();
                double TempE = random.Next(-20, 50) + random.NextDouble();
                double TempG = random.Next(-20, 50) + random.NextDouble();

                bool estadoA = false;
                bool estadoD = false;
                bool estadoE = false;
                bool estadoG = false;

                if (SetA > TempA)
                {
                    estadoA = true;
                }

                if (SetD > TempD)
                {
                    estadoD = true;
                }

                if (SetE > TempE)
                {
                    estadoE = true;
                }

                if (SetG > TempG)
                {
                    estadoG = true;
                }

                Points p = new Points()
                {
                    Hora          = 0,
                    SetA          = Normalizacao.Norm_Temp((float)SetA),
                    TempA         = Normalizacao.Norm_Temp((float)TempA),
                    SetD          = Normalizacao.Norm_Temp((float)SetD),
                    TempD         = Normalizacao.Norm_Temp((float)TempD),
                    SetE          = Normalizacao.Norm_Temp((float)SetE),
                    TempE         = Normalizacao.Norm_Temp((float)TempE),
                    SetG          = Normalizacao.Norm_Temp((float)SetG),
                    TempG         = Normalizacao.Norm_Temp((float)TempG),
                    SaidaEsperada = new PointsSaida()
                    {
                        AquecedorA = Normalizacao.Norm_Bool(estadoA),
                        AquecedorD = Normalizacao.Norm_Bool(estadoD),
                        AquecedorE = Normalizacao.Norm_Bool(estadoE),
                        AquecedorG = Normalizacao.Norm_Bool(estadoG)
                    }
                };
                ListPoints.Add(p);
            }
            Salvar();
            Console.WriteLine("total: " + ListPoints.Count);
            Console.ReadKey();
        }