Пример #1
0
        //  Метод заполнения диаграмм точками.
        private void CreateDateChart(string directionFile)
        {
            try
            {
                //  Запрос в файл с данными для получения точек, по каторым строится диаграмма
                InteractionWithBase oCon = new InteractionWithBase(directionFile);
                oCon.SettingConnectToBD();
                List <SensitiveElement> PointsOfChart = QueriesToBD.SelectFromBD(oCon, "Паспорт СИОМ", new SensitiveElement());

                //  Настройка диаграмм
                Series SChartSPI_SPI1 = new Series("СПИ 1");
                SChartSPI_SPI1.ChartType = SeriesChartType.Line;
                Series SChartSPI_SPI2 = new Series("СПИ 2");
                SChartSPI_SPI2.ChartType = SeriesChartType.Line;
                Series SChartTemperature = new Series("Температура");
                SChartTemperature.ChartType = SeriesChartType.Line;
                Series SChartLoss = new Series("Потери");
                SChartLoss.ChartType = SeriesChartType.Line;
                Series SChartKD = new Series("Коофицент деления");
                SChartKD.ChartType = SeriesChartType.Line;
                Series SChartPower1 = new Series("Мощьность 1");
                SChartPower1.ChartType = SeriesChartType.Line;
                Series SChartPower2 = new Series("Мощьность 2");
                SChartPower2.ChartType = SeriesChartType.Line;

                foreach (SensitiveElement s in PointsOfChart)
                {
                    //  Составление точек диаграммы СПИ
                    //  Основные параметры для составления точек
                    double time        = (double)s.Filds["Time (s)"];
                    double spi1        = (double)s.Filds["ER1(dB)"];
                    double spi2        = (double)s.Filds["ER2(dB)"];
                    double power1      = (double)s.Filds["POW1(mW)"];
                    double power2      = (double)s.Filds["POW2(mW)"];
                    double temperature = (double)s.Filds["Темп#, °С"];
                    double kd          = (double)s.Filds["КД по лев# кан#, %"];
                    double loss        = (double)s.Filds["Потери, дБ"];

                    //  Поиск минималных и максимальных точкд для отображения диаграмм
                    if (dMaxSPI < spi1)
                    {
                        dMaxSPI = spi1;
                    }
                    if (dMaxSPI < spi2)
                    {
                        dMaxSPI = spi1;
                    }
                    if (dMinSPI > spi1)
                    {
                        dMinSPI = spi1;
                    }
                    if (dMinSPI > spi2)
                    {
                        dMinSPI = spi2;
                    }
                    if (dMaxPower < power1)
                    {
                        dMaxPower = power1;
                    }
                    if (dMaxPower < power2)
                    {
                        dMaxPower = power2;
                    }
                    if (dMinPower > power1)
                    {
                        dMinPower = power1;
                    }
                    if (dMinPower > power2)
                    {
                        dMinPower = power2;
                    }
                    if (dMaxKD < kd)
                    {
                        dMaxKD = kd;
                    }
                    if (dMinKD > kd)
                    {
                        dMinKD = kd;
                    }
                    if (dMaxLoss < loss)
                    {
                        dMaxLoss = loss;
                    }
                    if (dMinLoss > loss)
                    {
                        dMinLoss = loss;
                    }

                    //  Диаграмма СПИ
                    DataPoint DPspi1        = new DataPoint(time, spi1);
                    DataPoint DPspi2        = new DataPoint(time, spi2);
                    DataPoint DPtemperature = new DataPoint(time, temperature);
                    //  Диаграмма Потери\КД
                    DataPoint DPloss = new DataPoint(time, loss);
                    DataPoint DPkd   = new DataPoint(time, kd);
                    //  Диаграмма Мощности
                    DataPoint DPpower1 = new DataPoint(time, power1);
                    DataPoint DPpower2 = new DataPoint(time, power2);

                    //  Добавление точек к шкале диаграммы
                    SChartSPI_SPI1.Points.Add(DPspi1);
                    SChartSPI_SPI2.Points.Add(DPspi2);
                    SChartTemperature.Points.Add(DPtemperature);
                    SChartPower1.Points.Add(DPpower1);
                    SChartPower2.Points.Add(DPpower2);
                    SChartKD.Points.Add(DPkd);
                    SChartLoss.Points.Add(DPloss);
                }


                //  Добавление графиков к диаграммам
                ChartSPI.Series.Add(SChartSPI_SPI1);
                ChartSPI.Series.Add(SChartSPI_SPI2);
                ChartSPI.Series.Add(SChartTemperature);
                ChartLoss.Series.Add(SChartLoss);
                ChartLoss.Series.Add(SChartKD);
                ChartPower.Series.Add(SChartPower1);
                ChartPower.Series.Add(SChartPower2);
            } catch
            {
                MessageBox.Show("Возникла ошибка на операции составления графиков СИОМ. Обратитесь к рукожопу, который делал эту программу", "Рукожёп детектед", MessageBoxButtons.OK);
                throw;
            }
        }
Пример #2
0
        //  Метод нахождения данных диаграммы
        private void CreateDateChart(string directionFile)
        {
            try
            {
                //  Запрос в файл с данными для получения точек, по каторым строится диаграмма
                InteractionWithBase oCon = new InteractionWithBase(directionFile);
                oCon.SettingConnectToBD();
                string spiVK   = String.Format("ER{0}(dB)", NumberVKinChart);
                string powerVK = String.Format("POW{0}(mW)", NumberVKinChart);
                Dictionary <string, object> fildsOfVK = new Dictionary <string, object>();
                fildsOfVK.Add("Time (s)", null);
                fildsOfVK.Add(spiVK, null);
                fildsOfVK.Add(powerVK, null);
                List <SensitiveElement> PointsOfChart = QueriesToBD.SelectFromBD(oCon, "Лист1", new SensitiveElement());

                //  Настройка диаграмм
                Series SChartSPI_SPI = new Series("СПИ");
                SChartSPI_SPI.ChartType = SeriesChartType.Line;
                Series SChartPower = new Series("Мощьность");
                SChartPower.ChartType = SeriesChartType.Line;

                foreach (SensitiveElement s in PointsOfChart)
                {
                    //  Составление точек диаграммы СПИ
                    //  Основные параметры для составления точек
                    double time  = (double)s.Filds["Time (s)"];
                    double spi   = (double)s.Filds[spiVK];
                    double power = (double)s.Filds[powerVK];

                    //  Поиск минималных и максимальных точкд для отображения диаграмм
                    if (dMaxSPI < spi)
                    {
                        dMaxSPI = spi;
                    }
                    if (dMinSPI > spi)
                    {
                        dMinSPI = spi;
                    }
                    if (dMaxPower < power)
                    {
                        dMaxPower = power;
                    }
                    if (dMinPower > power)
                    {
                        dMinPower = power;
                    }

                    //  Диаграмма СПИ
                    DataPoint DPspi = new DataPoint(time, spi);
                    //  Диаграмма Мощности
                    DataPoint DPpower = new DataPoint(time, power);

                    //  Добавление точек к шкале диаграммы
                    SChartSPI_SPI.Points.Add(DPspi);
                    SChartPower.Points.Add(DPpower);
                }


                //  Добавление графиков к диаграммам
                ChartVK.Series.Add(SChartSPI_SPI);
                ChartVK.Series.Add(SChartPower);
            }
            catch
            {
                MessageBox.Show("Возникла ошибка на операции составления графиков ВК. Обратитесь к рукожопу, который делал эту программу", "Рукожёп детектед", MessageBoxButtons.OK);
                throw;
            }
        }