/// <summary> /// Выбрали панель для отображения /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void comboBoxPanels_SelectedIndexChanged(object sender, EventArgs e) { try { for (int i = 0; i < graphics.Length; i++) { graphics[i].Description = string.Empty; graphics[i].Units = string.Empty; } int selectedpanel_index = comboBoxPanels.SelectedIndex; if (selectedpanel_index > -1 && selectedpanel_index < _app.Panels.Count) { panelView = _app.Panels[selectedpanel_index]; if (panelView != null) { panelView.Parameter1.Graphic = graphics[0]; panelView.Parameter2.Graphic = graphics[1]; panelView.Parameter3.Graphic = graphics[2]; panelView.Parameter4.Graphic = graphics[3]; panelView.Parameter5.Graphic = graphics[4]; } } LoadData(); manager.Update(); } catch { } }
/// <summary> /// рисуем графики /// </summary> private void ShowGraphics() { //manager.HardTime = true; //manager.StartTime = sel_stage.StartTime; Slice[] stage_data = _app.getData(sel_stage.StartTime, sel_stage.FinishTime); if (stage_data != null) { int rashod_index = _app.Commutator.Technology.Consumption.IndexToSave; int obem_index = _app.Commutator.Technology.Volume.IndexToSave; int davlenie_index = _app.Commutator.Parameters[_app.Commutator.Technology.Pressure.Index].Channel.Number; int plotnost_index = _app.Commutator.Parameters[_app.Commutator.Technology.Density.Index].Channel.Number; int temp_index = _app.Commutator.Parameters[_app.Commutator.Technology.Temperature.Index].Channel.Number; graphics[0].Clear(); graphics[1].Clear(); graphics[2].Clear(); graphics[3].Clear(); graphics[4].Clear(); foreach (Slice slice in stage_data) { if (slice.slice != null) { graphics[0].Insert(slice._date, slice.slice[rashod_index]); graphics[1].Insert(slice._date, slice.slice[obem_index]); graphics[2].Insert(slice._date, slice.slice[plotnost_index]); graphics[3].Insert(slice._date, slice.slice[davlenie_index]); graphics[4].Insert(slice._date, slice.slice[temp_index]); } } graphics[0].Current = float.NaN; graphics[1].Current = float.NaN; graphics[2].Current = float.NaN; graphics[3].Current = float.NaN; graphics[4].Current = float.NaN; } manager.Update(); }
/// <summary> /// Выполнить инициализацию панели /// </summary> /// <param name="_panel">Цифровая панель</param> /// <param name="_manager">Управляющий графическим компонентом</param> public void init(NumericTable.Panel _panel, GraphicManager _manager) { if (Interlocked.Read(ref initialized) == 0) { panel = _panel; manager = _manager; InitializeGraphicPanel(); InitializeNumericPanelItems(); manager.Update(); manager.UpdatePeriod = 1000; manager.Mode = GraphicComponent.DrawMode.Activ; Interlocked.Exchange(ref initialized, 1); } }
/// <summary> /// выполнить инициализацию второй группы графиков /// </summary> protected void InitializeSGraphics() { graphic_gasnavihode = manager2.InstanceGraphic(); if (loaded == false) { graphic_gasnavihode.Units = "м"; graphic_gasnavihode.Description = "Газ1"; graphic_gasnavihode.Range.Min = 0; graphic_gasnavihode.Range.Max = 50; graphic_gasnavihode.Color = Color.Firebrick; } else if (gr_gasnavihode != null) { graphic_gasnavihode.Units = gr_gasnavihode.Units; graphic_gasnavihode.Description = gr_gasnavihode.Description; graphic_gasnavihode.Range.Min = gr_gasnavihode.Range.Min; graphic_gasnavihode.Range.Max = gr_gasnavihode.Range.Max; graphic_gasnavihode.Color = gr_gasnavihode.Color; gr_gasnavihode.Font.Dispose(); gr_gasnavihode.Brush.Dispose(); gr_gasnavihode = null; } graphic_gasnaplosadke = manager2.InstanceGraphic(); if (loaded == false) { graphic_gasnaplosadke.Units = "м"; graphic_gasnaplosadke.Description = "Газ2"; graphic_gasnaplosadke.Range.Min = 0; graphic_gasnaplosadke.Range.Max = 50; graphic_gasnaplosadke.Color = Color.SeaGreen; } else if (gr_gasnaplosadke != null) { graphic_gasnaplosadke.Units = gr_gasnaplosadke.Units; graphic_gasnaplosadke.Description = gr_gasnaplosadke.Description; graphic_gasnaplosadke.Range.Min = gr_gasnaplosadke.Range.Min; graphic_gasnaplosadke.Range.Max = gr_gasnaplosadke.Range.Max; graphic_gasnaplosadke.Color = gr_gasnaplosadke.Color; gr_gasnaplosadke.Font.Dispose(); gr_gasnaplosadke.Brush.Dispose(); gr_gasnaplosadke = null; } graphic_gaspodrotorom = manager2.InstanceGraphic(); if (loaded == false) { graphic_gaspodrotorom.Units = "м"; graphic_gaspodrotorom.Description = "Газ3"; graphic_gaspodrotorom.Range.Min = 0; graphic_gaspodrotorom.Range.Max = 50; graphic_gaspodrotorom.Color = Color.Blue; } else if (gr_gaspodrotorom != null) { graphic_gaspodrotorom.Units = gr_gaspodrotorom.Units; graphic_gaspodrotorom.Description = gr_gaspodrotorom.Description; graphic_gaspodrotorom.Range.Min = gr_gaspodrotorom.Range.Min; graphic_gaspodrotorom.Range.Max = gr_gaspodrotorom.Range.Max; graphic_gaspodrotorom.Color = gr_gaspodrotorom.Color; gr_gaspodrotorom.Font.Dispose(); gr_gaspodrotorom.Brush.Dispose(); gr_gaspodrotorom = null; } graphic_gaspriemnaemk = manager2.InstanceGraphic(); if (loaded == false) { graphic_gaspriemnaemk.Units = "м"; graphic_gaspriemnaemk.Description = "Газ4"; graphic_gaspriemnaemk.Range.Min = 0; graphic_gaspriemnaemk.Range.Max = 50; graphic_gaspriemnaemk.Color = Color.SaddleBrown; } else if (gr_gaspriemnaemk != null) { graphic_gaspriemnaemk.Units = gr_gaspriemnaemk.Units; graphic_gaspriemnaemk.Description = gr_gaspriemnaemk.Description; graphic_gaspriemnaemk.Range.Min = gr_gaspriemnaemk.Range.Min; graphic_gaspriemnaemk.Range.Max = gr_gaspriemnaemk.Range.Max; graphic_gaspriemnaemk.Color = gr_gaspriemnaemk.Color; gr_gaspriemnaemk.Font.Dispose(); gr_gaspriemnaemk.Brush.Dispose(); gr_gaspriemnaemk = null; } graphic_gasvibrosit = manager2.InstanceGraphic(); if (loaded == false) { graphic_gasvibrosit.Units = "м"; graphic_gasvibrosit.Description = "Газ5"; graphic_gasvibrosit.Range.Min = 0; graphic_gasvibrosit.Range.Max = 50; graphic_gasvibrosit.Color = Color.Black; } else if (gr_gasvibrosit != null) { graphic_gasvibrosit.Units = gr_gasvibrosit.Units; graphic_gasvibrosit.Description = gr_gasvibrosit.Description; graphic_gasvibrosit.Range.Min = gr_gasvibrosit.Range.Min; graphic_gasvibrosit.Range.Max = gr_gasvibrosit.Range.Max; graphic_gasvibrosit.Color = gr_gasvibrosit.Color; gr_gasvibrosit.Font.Dispose(); gr_gasvibrosit.Brush.Dispose(); gr_gasvibrosit = null; } manager2.StartTime = DateTime.Now; manager2.Orientation = GraphicComponent.Orientation.Vertical; manager2.Update(); manager2.UpdatePeriod = 1000; manager2.Mode = GraphicComponent.DrawMode.Activ; manager2.OnDataNeed += new EventHandler(manager2_OnData); }
/// <summary> /// выполнить инициализацию первой группы графиков /// </summary> protected void InitializeFGraphics() { if (manager1 != null) { graphic_talblok = manager1.InstanceGraphic(); if (loaded == false) { graphic_talblok.Units = "м"; graphic_talblok.Description = "Т/блок"; graphic_talblok.Range.Min = 0; graphic_talblok.Range.Max = 45; graphic_talblok.Color = Color.Red; } else if (gr_talblok != null) { graphic_talblok.Units = gr_talblok.Units; graphic_talblok.Description = gr_talblok.Description; graphic_talblok.Range.Min = gr_talblok.Range.Min; graphic_talblok.Range.Max = gr_talblok.Range.Max; graphic_talblok.Color = gr_talblok.Color; gr_talblok.Font.Dispose(); gr_talblok.Brush.Dispose(); gr_talblok = null; } graphic_glybina = manager1.InstanceGraphic(); if (loaded == false) { graphic_glybina.Units = "м"; graphic_glybina.Description = "Гл.Инст"; graphic_glybina.Range.Min = 0; graphic_glybina.Range.Max = 6500; graphic_glybina.Color = Color.Green; } else if (gr_glybina != null) { graphic_glybina.Units = gr_glybina.Units; graphic_glybina.Description = gr_glybina.Description; graphic_glybina.Range.Min = gr_glybina.Range.Min; graphic_glybina.Range.Max = gr_glybina.Range.Max; graphic_glybina.Color = gr_glybina.Color; gr_glybina.Font.Dispose(); gr_glybina.Brush.Dispose(); gr_glybina = null; } graphic_skorostSpo = manager1.InstanceGraphic(); if (loaded == false) { graphic_skorostSpo.Units = "м/с"; graphic_skorostSpo.Description = "Ск.СПО"; graphic_skorostSpo.Range.Min = -2; graphic_skorostSpo.Range.Max = 2; graphic_skorostSpo.Color = Color.Blue; } else if (gr_skorostSpo != null) { graphic_skorostSpo.Units = gr_skorostSpo.Units; graphic_skorostSpo.Description = gr_skorostSpo.Description; graphic_skorostSpo.Range.Min = gr_skorostSpo.Range.Min; graphic_skorostSpo.Range.Max = gr_skorostSpo.Range.Max; graphic_skorostSpo.Color = gr_skorostSpo.Color; gr_skorostSpo.Font.Dispose(); gr_skorostSpo.Brush.Dispose(); gr_skorostSpo = null; } manager1.StartTime = DateTime.Now; manager1.Orientation = GraphicComponent.Orientation.Vertical; manager1.Update(); manager1.UpdatePeriod = 1000; manager1.Mode = GraphicComponent.DrawMode.Activ; manager1.OnDataNeed += new EventHandler(manager1_OnData); } }
/// <summary> /// выполнить инициализацию второй группы графиков /// </summary> protected void InitializeSGraphicPanel() { graphic_summObem = manager2.InstanceGraphic(); // график суммарный объем в емкостях if (loaded == false) { graphic_summObem.Units = "м.куб"; graphic_summObem.Description = "Об.Сумм"; graphic_summObem.Range.Min = 0; graphic_summObem.Range.Max = 550; graphic_summObem.Color = Color.Red; } else if (gr_summObem != null) { graphic_summObem.Units = gr_summObem.Units; graphic_summObem.Description = gr_summObem.Description; graphic_summObem.Range.Min = gr_summObem.Range.Min; graphic_summObem.Range.Max = gr_summObem.Range.Max; graphic_summObem.Color = gr_summObem.Color; gr_summObem.Font.Dispose(); gr_summObem.Brush.Dispose(); gr_summObem = null; } graphic_hodi1 = manager2.InstanceGraphic(); // график ходы насоса 1 if (loaded == false) { graphic_hodi1.Units = "ход/мин"; graphic_hodi1.Description = "Ходы 1"; graphic_hodi1.Range.Min = 0; graphic_hodi1.Range.Max = 130; graphic_hodi1.Color = Color.Green; } else if (gr_hodi1 != null) { graphic_hodi1.Units = gr_hodi1.Units; graphic_hodi1.Description = gr_hodi1.Description; graphic_hodi1.Range.Min = gr_hodi1.Range.Min; graphic_hodi1.Range.Max = gr_hodi1.Range.Max; graphic_hodi1.Color = gr_hodi1.Color; gr_hodi1.Font.Dispose(); gr_hodi1.Brush.Dispose(); gr_hodi1 = null; } graphic_hodi2 = manager2.InstanceGraphic(); // график ходы насоса 2 if (loaded == false) { graphic_hodi2.Units = "ход/мин"; graphic_hodi2.Description = "Ходы 2"; graphic_hodi2.Range.Min = 0; graphic_hodi2.Range.Max = 130; graphic_hodi2.Color = Color.Blue; } else if (gr_hodi2 != null) { graphic_hodi2.Units = gr_hodi2.Units; graphic_hodi2.Description = gr_hodi2.Description; graphic_hodi2.Range.Min = gr_hodi2.Range.Min; graphic_hodi2.Range.Max = gr_hodi2.Range.Max; graphic_hodi2.Color = gr_hodi2.Color; gr_hodi2.Font.Dispose(); gr_hodi2.Brush.Dispose(); gr_hodi2 = null; } graphic_potok = manager2.InstanceGraphic(); // график поток на выходе if (loaded == false) { graphic_potok.Units = "%"; graphic_potok.Description = "Поток"; graphic_potok.Range.Min = 0; graphic_potok.Range.Max = 100; graphic_potok.Color = Color.Brown; } else if (gr_potok != null) { graphic_potok.Units = gr_potok.Units; graphic_potok.Description = gr_potok.Description; graphic_potok.Range.Min = gr_potok.Range.Min; graphic_potok.Range.Max = gr_potok.Range.Max; graphic_potok.Color = gr_potok.Color; gr_potok.Font.Dispose(); gr_potok.Brush.Dispose(); gr_potok = null; } manager2.StartTime = DateTime.Now; manager2.Orientation = GraphicComponent.Orientation.Vertical; manager2.Update(); manager2.UpdatePeriod = 1000; manager2.Mode = GraphicComponent.DrawMode.Activ; manager2.OnDataNeed += new EventHandler(manager2_OnData); }
// ------------------------ вспомогательные функции ------------------------ /// <summary> /// Инициализировать графическую панель /// </summary> protected void InitializeFGraphicPanel() { graphic_plPriemna = manager1.InstanceGraphic(); // график плотность приемная емкость if (loaded == false) { graphic_plPriemna.Units = "г/см3"; graphic_plPriemna.Description = "Плот1"; graphic_plPriemna.Range.Min = 0.8f; graphic_plPriemna.Range.Max = 2.2f; graphic_plPriemna.Color = Color.Red; } else if (gr_plPriemna != null) { graphic_plPriemna.Units = "г/см3"; graphic_plPriemna.Description = "Плот1"; graphic_plPriemna.Range.Min = gr_plPriemna.Range.Min; graphic_plPriemna.Range.Max = gr_plPriemna.Range.Max; graphic_plPriemna.Color = gr_plPriemna.Color; gr_plPriemna.Font.Dispose(); gr_plPriemna.Brush.Dispose(); gr_plPriemna = null; } graphic_plBlokaOchi = manager1.InstanceGraphic(); // график плотность блока очистки if (loaded == false) { graphic_plBlokaOchi.Units = "г/см3"; graphic_plBlokaOchi.Description = "Плот2"; graphic_plBlokaOchi.Range.Min = 0.8f; graphic_plBlokaOchi.Range.Max = 2.2f; graphic_plBlokaOchi.Color = Color.Green; } else if (gr_plBlokaOchi != null) { graphic_plBlokaOchi.Units = "г/см3"; graphic_plBlokaOchi.Description = "Плот2"; graphic_plBlokaOchi.Range.Min = gr_plBlokaOchi.Range.Min; graphic_plBlokaOchi.Range.Max = gr_plBlokaOchi.Range.Max; graphic_plBlokaOchi.Color = gr_plBlokaOchi.Color; gr_plBlokaOchi.Font.Dispose(); gr_plBlokaOchi.Brush.Dispose(); gr_plBlokaOchi = null; } graphic_plEmnsek2 = manager1.InstanceGraphic(); // график плотность емкости приготовления отсек2 if (loaded == false) { graphic_plEmnsek2.Units = "г/см3"; graphic_plEmnsek2.Description = "Плот3"; graphic_plEmnsek2.Range.Min = 0.8f; graphic_plEmnsek2.Range.Max = 2.2f; graphic_plEmnsek2.Color = Color.Blue; } else if (gr_plEmnsek2 != null) { graphic_plEmnsek2.Units = "г/см3"; graphic_plEmnsek2.Description = "Плот3"; graphic_plEmnsek2.Range.Min = gr_plEmnsek2.Range.Min; graphic_plEmnsek2.Range.Max = gr_plEmnsek2.Range.Max; graphic_plEmnsek2.Color = gr_plEmnsek2.Color; gr_plEmnsek2.Font.Dispose(); gr_plEmnsek2.Brush.Dispose(); gr_plEmnsek2 = null; } manager1.StartTime = DateTime.Now; manager1.Orientation = GraphicComponent.Orientation.Vertical; manager1.Update(); manager1.UpdatePeriod = 1000; manager1.Mode = GraphicComponent.DrawMode.Activ; manager1.OnDataNeed += new EventHandler(manager1_OnData); }
private void comboBoxPanels_SelectedIndexChanged(object sender, EventArgs e) { try { for (int i = 0; i < graphics.Length; i++) { graphics[i].Description = string.Empty; graphics[i].Units = string.Empty; } int selectedpanel_index = comboBoxPanels.SelectedIndex; if (selectedpanel_index > -1 && selectedpanel_index < _app.Panels.Count) { panelView = _app.Panels[selectedpanel_index]; if (panelView != null) { digitDisplay1.Digits.Clear(); panelView.Parameter1.Graphic = graphics[0]; Digit dig_1 = new Digit(); dig_1.Color = panelView.Parameter1.Graphic.Color; dig_1.Description = panelView.Parameter1.Graphic.Description; dig_1.Index = 0; digitDisplay1.Digits.Add(dig_1); panelView.Parameter2.Graphic = graphics[1]; Digit dig_2 = new Digit(); dig_2.Color = panelView.Parameter2.Graphic.Color; dig_2.Description = panelView.Parameter2.Graphic.Description; dig_2.Index = 0; digitDisplay1.Digits.Add(dig_2); panelView.Parameter3.Graphic = graphics[2]; Digit dig_3 = new Digit(); dig_3.Color = panelView.Parameter3.Graphic.Color; dig_3.Description = panelView.Parameter3.Graphic.Description; dig_3.Index = 0; digitDisplay1.Digits.Add(dig_3); panelView.Parameter4.Graphic = graphics[3]; Digit dig_4 = new Digit(); dig_4.Color = panelView.Parameter4.Graphic.Color; dig_4.Description = panelView.Parameter4.Graphic.Description; dig_4.Index = 0; digitDisplay1.Digits.Add(dig_4); panelView.Parameter5.Graphic = graphics[4]; Digit dig_5 = new Digit(); dig_5.Color = panelView.Parameter5.Graphic.Color; dig_5.Description = panelView.Parameter5.Graphic.Description; dig_5.Index = 0; digitDisplay1.Digits.Add(dig_5); } } manager.Mode = GraphicComponent.DrawMode.Activ; manager.updTime(); manager.Update(); } catch { } }