示例#1
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            var roznica = Int32.Parse(lbSredniaTemperatura.Text) - pbTemperatura.Value;

            double outPut = 0;

            if (tbZewnatrz.Value < RozmytaTemperatura)
            {
                var zmniejszanie = tbZewnatrz.Value * 0.00001F;
                pbTemperatura.Value = pbTemperatura.Value - (int)zmniejszanie;
                RozmytaTemperatura  = RozmytaTemperatura - (float)zmniejszanie;

                if (lbGrzanie.Text == "0")
                {
                    while (RozmytaTemperatura > TempMin)
                    {
                        zmniejszanie        = tbZewnatrz.Value * 0.00001F;
                        pbTemperatura.Value = pbTemperatura.Value - (int)zmniejszanie;
                        RozmytaTemperatura  = RozmytaTemperatura - (float)zmniejszanie;
                        Console.WriteLine(RozmytaTemperatura);
                    }
                }
            }

            outPut = logika.MocGrzania(roznica);

            if (Double.IsNaN(outPut) || Double.IsInfinity(outPut))
            {
                outPut = 0;
            }

            TemperaturaOsiagnieta = TemperaturaDocelowa - TemperaturaStarowa;
            RozmytaTemperatura    = RozmytaTemperatura + (((float)outPut / 100) * TemperaturaOsiagnieta) / 50;

            label1.Text    = RozmytaTemperatura.ToString();
            lbGrzanie.Text = outPut.ToString();
            tboxAktualnaTemperatura.Text = Math.Round(RozmytaTemperatura, MidpointRounding.ToEven).ToString();

            ////////////////////////////////////

            LogikaWilgotnosc logikaWilgotnosc = new LogikaWilgotnosc();

            var roznicaWilgotnosc = Int32.Parse(lbSredniaWilgotnosc.Text) - pbWilgotnosc.Value;

            double outPutWilgotnosc = 0;

            outPutWilgotnosc = logikaWilgotnosc.MocZraszania(roznicaWilgotnosc);

            if (Double.IsNaN(outPutWilgotnosc) || Double.IsInfinity(outPutWilgotnosc))
            {
                outPutWilgotnosc = 0;
            }

            WilgotnoscOsiagnieta = WilgotnoscDocelowa - WilgotnoscStartowa;
            RozmytaWilgotnosc    = RozmytaWilgotnosc + (((float)outPutWilgotnosc / 100) * WilgotnoscOsiagnieta) / 50;

            label7.Text                 = RozmytaWilgotnosc.ToString();
            lbZraszanie.Text            = outPutWilgotnosc.ToString();
            tboxAktualnaWilgotnosc.Text = Math.Round(RozmytaWilgotnosc, MidpointRounding.ToEven).ToString();

            ///////////////////////////////////////

            #region Stare

            /*
             * double _zimno = 0;
             * double _cieplo = 0;
             * double _goraco = 0;
             *
             * if (iter < 60)
             * {
             *  _zimno = temperatura.TemperaturaWewnetrzna[iter, 1];
             *  _cieplo = temperatura.TemperaturaWewnetrzna[iter, 2];
             *  _goraco = temperatura.TemperaturaWewnetrzna[iter, 3];
             * }
             *
             * if (iter == 99)
             * {
             *  Console.WriteLine();
             * }
             *
             * var _sucho = wilgotnosc.WilgotnoscWew[iter, 1];
             * var _wilgotno = wilgotnosc.WilgotnoscWew[iter, 2];
             * var _mokro = wilgotnosc.WilgotnoscWew[iter, 3];
             *
             * var R1 = Math.Min(_zimno, _sucho);
             * var R2 = Math.Min(_zimno, _wilgotno);
             * var R3 = Math.Min(_zimno, _mokro);
             *
             * var R4 = Math.Min(_cieplo, _sucho);
             * var R5 = Math.Min(_cieplo, _wilgotno);
             * var R6 = Math.Min(_cieplo, _mokro);
             *
             * var R7 = Math.Min(_goraco, _sucho);
             * var R8 = Math.Min(_goraco, _wilgotno);
             * var R9 = Math.Min(_goraco, _mokro);
             *
             * var YZM = new double[] { R1, R4, R7}.Max();
             * var YZS = new double[] { R2, R5, R8 }.Max();
             * var YZ0 = new double[] { R3, R6, R9 }.Max();
             *
             * var R10 = Math.Min(_zimno, _sucho);
             * var R11 = Math.Min(_zimno, _wilgotno);
             * var R12 = Math.Min(_zimno, _mokro);
             *
             * var R13 = Math.Min(_cieplo, _sucho);
             * var R14 = Math.Min(_cieplo, _wilgotno);
             * var R15 = Math.Min(_cieplo, _mokro);
             *
             * var R16 = Math.Min(_goraco, _sucho);
             * var R17 = Math.Min(_goraco, _wilgotno);
             * var R18 = Math.Min(_goraco, _mokro);
             *
             * var YGM = new double[] { R10, R11, R12 }.Max();
             * var YGS = new double[] { R13, R14, R15 }.Max();
             * var YG0 = new double[] { R16, R17, R18 }.Max();
             *
             * var YZraszanie = (float)((YZM * 100) + (YZS * 50) + (YZ0 * 0)) / (float)(YZM + YZS + YZ0);
             * var YGrzanie = (float)((YGM * 100) + (YGS * 50) + (YG0 * 0)) / (float)(YGM + YGS + YG0);
             *
             * if (Double.IsNaN(YZraszanie))
             * {
             *  YZraszanie = 0;
             * }
             *
             * if (Double.IsNaN(YGrzanie))
             * {
             *  YGrzanie = 0;
             * }
             *
             * TemperaturaOsiagnieta = TemperaturaDocelowa - TemperaturaStarowa;
             * RozmytaTemperatura = RozmytaTemperatura + ((YGrzanie / 100) * TemperaturaOsiagnieta) / 50;
             *
             * WilgotnoscOsiagnieta = WilgotnoscDocelowa - WilgotnoscStartowa;
             * RozmytaWilgotnosc = RozmytaWilgotnosc + ((YZraszanie / 100) * WilgotnoscOsiagnieta) / 50;
             *
             * if (iter < 60)
             * {
             *  if (tbZewnatrz.Value > RozmytaTemperatura)
             *  {
             *      //RozmytaTemperatura = RozmytaTemperatura * 0.05F;
             *  }
             *  else
             *  {
             *      //RozmytaTemperatura = RozmytaTemperatura * 1.02F;
             *  }
             * }
             *
             * if (tbZewnatrz.Value < RozmytaTemperatura)
             * {
             *  RozmytaTemperatura = RozmytaTemperatura * 0.99999F;
             * }
             *
             * RozmytaWilgotnosc = RozmytaWilgotnosc * 0.99999F;
             *
             * lbGrzanie.Text = YGrzanie.ToString();
             * lbZraszanie.Text = YZraszanie.ToString();
             *
             * label1.Text = RozmytaTemperatura.ToString();
             * label7.Text = RozmytaWilgotnosc.ToString();
             *
             * tboxAktualnaTemperatura.Text = Math.Round(RozmytaTemperatura, MidpointRounding.ToEven).ToString();
             * tboxAktualnaWilgotnosc.Text = Math.Round(RozmytaWilgotnosc, MidpointRounding.ToEven).ToString();
             *
             * iter++;
             *
             * if (iter > 60 && RozmytaTemperatura < Srednia)
             * {
             *  TemperaturaStarowa = pbTemperatura.Value;
             *  TemperaturaDocelowa = Srednia;
             *
             *  WilgotnoscStartowa = pbWilgotnosc.Value;
             *  WilgotnoscDocelowa = SredniaWilgotnosc;
             *
             *  RozmytaTemperatura = TemperaturaStarowa;
             *  RozmytaWilgotnosc = WilgotnoscStartowa;
             *
             *  iter = 1;
             *
             *  timer1_Tick(this, e);
             * }
             *
             * if (iter > 100)
             * {
             *  timer1.Stop();
             * }
             */
            #endregion
        }
示例#2
0
        public void OdswiezWykres()
        {
            MinMax();

            temperatura.TermyWew(temperatura.TemperaturaWewnetrzna, TempMin, TempMax);
            //temperatura.TermyZew();

            foreach (var series in chart1.Series)
            {
                series.Points.Clear();
            }

            logika.MocGrzania(0);

            for (int i = 0; i < 61; i++)
            {
                Transponowana[i, 1] = logika.temperatura[1, i];
                Transponowana[i, 2] = logika.temperatura[2, i];
                Transponowana[i, 3] = logika.temperatura[3, i];
                Transponowana[i, 4] = logika.temperatura[4, i];
            }

            for (int i = 1; i < 61; i++)
            {
                chart1.Series["Zimno"].Points.Add(Transponowana[i, 1]);
                chart1.Series["Ciepło"].Points.Add(Transponowana[i, 2]);
                chart1.Series["Gorąco"].Points.Add(Transponowana[i, 3]);
                chart1.Series["Bardzo Gorąco"].Points.Add(Transponowana[i, 4]);
            }

            chart1.Series.Invalidate();

            foreach (var series in chart2.Series)
            {
                series.Points.Clear();
            }

            wilgotnosc.TermyWew(wilgotnosc.WilgotnoscWew, SredniaWilgotnosc);

            LogikaWilgotnosc logikaWilgotnosc = new LogikaWilgotnosc();

            logikaWilgotnosc.MocZraszania(0);

            for (int i = 0; i < 61; i++)
            {
                TransponowanaWilgotnosc[i, 1] = logikaWilgotnosc.wilgotnosc[1, i];
                TransponowanaWilgotnosc[i, 2] = logikaWilgotnosc.wilgotnosc[2, i];
                TransponowanaWilgotnosc[i, 3] = logikaWilgotnosc.wilgotnosc[3, i];
                TransponowanaWilgotnosc[i, 4] = logikaWilgotnosc.wilgotnosc[4, i];
            }

            for (int i = 1; i < 61; i++)
            {
                chart2.Series["Sucho"].Points.Add(TransponowanaWilgotnosc[i, 1]);
                chart2.Series["Wilgotno"].Points.Add(TransponowanaWilgotnosc[i, 2]);
                chart2.Series["Mokro"].Points.Add(TransponowanaWilgotnosc[i, 3]);
                chart2.Series["Bardzo Mokro"].Points.Add(TransponowanaWilgotnosc[i, 4]);
            }

            chart2.Series.Invalidate();
        }
示例#3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Blanciki();
            MinMax();

            #region Temperatura wykres

            temperatura.TermyWew(temperatura.TemperaturaWewnetrzna, 25, 30);
            temperatura.TermyZew(temperatura.TemperaturaZewnetrzna);
            temperatura.TermyZew();

            chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
            chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;

            chart1.MouseWheel += chart1_MouseWheel;

            //.Series.Add("Zimno");
            chart1.Series["Zimno"].BorderWidth = 3;
            chart1.Series["Zimno"].ChartType   = SeriesChartType.Line;
            chart1.Series["Zimno"].ChartArea   = "ChartArea1";

            //chart1.Series.Add("Ciepło");
            chart1.Series["Ciepło"].BorderWidth = 3;
            chart1.Series["Ciepło"].ChartType   = SeriesChartType.Line;
            chart1.Series["Ciepło"].ChartArea   = "ChartArea1";

            //chart1.Series.Add("Gorąco");
            chart1.Series["Gorąco"].BorderWidth = 3;
            chart1.Series["Gorąco"].ChartType   = SeriesChartType.Line;
            chart1.Series["Gorąco"].ChartArea   = "ChartArea1";

            //chart1.Series.Add("Bardzo Gorąco");
            chart1.Series["Bardzo Gorąco"].BorderWidth = 3;
            chart1.Series["Bardzo Gorąco"].ChartType   = SeriesChartType.Line;
            chart1.Series["Bardzo Gorąco"].ChartArea   = "ChartArea1";

            logika.MocGrzania(0);

            for (int i = 0; i < 61; i++)
            {
                Transponowana[i, 1] = logika.temperatura[1, i];
                Transponowana[i, 2] = logika.temperatura[2, i];
                Transponowana[i, 3] = logika.temperatura[3, i];
                Transponowana[i, 4] = logika.temperatura[4, i];
            }

            for (int i = 1; i < 61; i++)
            {
                chart1.Series["Zimno"].Points.Add(Transponowana[i, 1]);
                chart1.Series["Ciepło"].Points.Add(Transponowana[i, 2]);
                chart1.Series["Gorąco"].Points.Add(Transponowana[i, 3]);
                chart1.Series["Bardzo Gorąco"].Points.Add(Transponowana[i, 4]);
            }

            #endregion

            #region Wilgotność

            wilgotnosc.TermyWew(wilgotnosc.WilgotnoscWew, 60);
            //wilgotnosc.Test();

            //chart2.Series.Add("Sucho");
            chart2.Series["Sucho"].BorderWidth = 3;
            chart2.Series["Sucho"].ChartType   = SeriesChartType.Line;
            chart2.Series["Sucho"].ChartArea   = "ChartArea1";

            //chart2.Series.Add("Wilgotno");
            chart2.Series["Wilgotno"].BorderWidth = 3;
            chart2.Series["Wilgotno"].ChartType   = SeriesChartType.Line;
            chart2.Series["Wilgotno"].ChartArea   = "ChartArea1";

            //chart2.Series.Add("Mokro");
            chart2.Series["Mokro"].BorderWidth = 3;
            chart2.Series["Mokro"].ChartType   = SeriesChartType.Line;
            chart2.Series["Mokro"].ChartArea   = "ChartArea1";

            //chart2.Series.Add("Bardzo Mokro");
            chart2.Series["Bardzo Mokro"].BorderWidth = 3;
            chart2.Series["Bardzo Mokro"].ChartType   = SeriesChartType.Line;
            chart2.Series["Bardzo Mokro"].ChartArea   = "ChartArea1";

            LogikaWilgotnosc logikaWilgotnosc = new LogikaWilgotnosc();
            logikaWilgotnosc.MocZraszania(0);

            for (int i = 0; i < 61; i++)
            {
                TransponowanaWilgotnosc[i, 1] = logikaWilgotnosc.wilgotnosc[1, i];
                TransponowanaWilgotnosc[i, 2] = logikaWilgotnosc.wilgotnosc[2, i];
                TransponowanaWilgotnosc[i, 3] = logikaWilgotnosc.wilgotnosc[3, i];
                TransponowanaWilgotnosc[i, 4] = logikaWilgotnosc.wilgotnosc[4, i];
            }

            for (int i = 1; i < 61; i++)
            {
                chart2.Series["Sucho"].Points.Add(TransponowanaWilgotnosc[i, 1]);
                chart2.Series["Wilgotno"].Points.Add(TransponowanaWilgotnosc[i, 2]);
                chart2.Series["Mokro"].Points.Add(TransponowanaWilgotnosc[i, 3]);
                chart2.Series["Bardzo Mokro"].Points.Add(TransponowanaWilgotnosc[i, 3]);
            }

            #endregion
        }