public MainForm() { InitializeComponent(); progState = new ProgramState(); progState.CurrentPUnits = PressureUnits.KGS; progState.CurrentBarometricP = 1.05; progState.CurrentSetptPrecision = 0.02 / 100; progState.ReadPInterval = 1; progState.SetptDelay = 10; progState.TimeLength = 60; progState.PIsAbsolute = true; progState.RoundDefine(); FoundDPIs = false; CurrentP = 1.00; CurrentSetpt = 1.00; CurrentDPI = null; GraphPoints = new RollingPointPairList(progState.TimeLength / progState.ReadPInterval); var myPane = zgGraph.GraphPane; myPane.XAxis.Scale.MaxAuto = true; ticker.Interval = progState.ReadPInterval * 1000; }
// поиск контроллеров DPI private void FindDPIInstruments() { контроллерToolStripMenuItem.DropDownItems.Clear(); // создаём элемент списка, отвечающий за текущий контроллер if (CurrentDPI != null) { ToolStripMenuItem tsItem = new ToolStripMenuItem(CurrentDPI.ConnectString); tsItem.CheckOnClick = true; tsItem.Click += new EventHandler(tsbtnSelectController_Click); tsItem.Checked = true; контроллерToolStripMenuItem.DropDownItems.Add(tsItem); } // находим другие инструменты string[] foundInstr = CSDeviceBase.SearchInstruments(); for (int i = 0; i < foundInstr.Length; i++) { // пропускаем активный задатчик if (CurrentDPI != null && CurrentDPI.ConnectString == foundInstr[i]) { continue; } // проверяем тип задатчика CSDeviceBase currentDev = CSDeviceBase.SetInstrumentType(foundInstr[i]); if (currentDev.TypeOfDevice != DeviceType.PRESSURE_CONTROLLER_DPI) { currentDev.Close(); continue; } else { currentDev.Close(); // добавляем элемент ToolStripMenuItem tsItem = new ToolStripMenuItem(foundInstr[i]); tsItem.CheckOnClick = true; tsItem.Click += new EventHandler(tsbtnSelectController_Click); tsItem.Checked = false; контроллерToolStripMenuItem.DropDownItems.Add(tsItem); } } if (контроллерToolStripMenuItem.DropDownItems.Count < 1) { MessageBox.Show("Системе не удалось найти подключенных контроллеров DPI 520!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); FoundDPIs = false; CurrentDPI = null; } else { FoundDPIs = true; } }
private void NewPCSelected(string conStr) { CurrentDPI = new DruckDPI(conStr, progState.CurrentSetptPrecision, progState.SetptDelay); CurrentDPI.PressureUpdated += new DruckDPI.PressureChangedEventHandler(MonitorPressure); CurrentDPI.SelectUnits(progState.CurrentPUnits); tstbControllerParameters.Text = CurrentDPI.GetParameterString(); // вызываем событие OnNewControllerSelected?.Invoke(this); zgGraph.GraphPane.CurveList.Clear(); zgGraph.GraphPane.AddCurve(conStr, GraphPoints, Color.DarkBlue, SymbolType.None); // запускаем таймер ticker.Start(); currentTime = DateTime.Now; }
private void NewPCSelected(string conStr) { CurrentDPI = new DruckDPI(conStr, progState.CurrentSetptPrecision, progState.SetptDelay); CurrentDPI.PressureUpdated += new DruckDPI.PressureChangedEventHandler(MonitorPressure); CurrentDPI.SelectUnits(progState.CurrentPUnits); tstbControllerParameters.Text = CurrentDPI.GetParameterString(); // вызываем событие OnNewControllerSelected?.Invoke(this); zgGraph.GraphPane.CurveList.Clear(); zgGraph.GraphPane.AddCurve(conStr, GraphPoints, Color.DarkBlue, SymbolType.None); // сбрасываем записи об ошибках (если они были) UpdateStatusLabel(Color.Black, ""); // Уставнавливаем в DPI атмосферное давление CurrentDPI.BarometricP = progState.CurrentBarometricP; // запускаем таймер ticker.Start(); currentTime = DateTime.Now; }