/// <summary> /// Инициализация прибора /// </summary> public override void Open() { if (_isConnected) return; _transport.Connect(); if (!_transport.Connected) throw new ExternalException("Измерительное устройство не найдено"); // Проверка подключения _isConnected = true; _device = new B380ADC(_transport); _registerR14 = _device.GetIDs(); if (_registerR14.TypeID != _device.DeviceID) // Проверка, что это B380 throw new NotSupportedException(_registerR14.TypeID.ToString() + " не подерживаются"); _device.ClearProtocol(); _registerR6 = _device.GetInfo(); SerialNumber = Convert.ToString(_registerR6.Data[3]); _device.Reset(false); _device.InitDDR(true); _device.ReadCalibrations(); IsConnected(); if (!FirstTimeConfigure()) Close(); }
private void _btnConnect_Click(object sender, EventArgs e) { try { _transport.IPAddress = IPAddress.Parse("192.168.255.148"); _transport.Port = 0x6871; _transport.Timeout = 500; _transport.Connect(); _text.Text += Environment.NewLine + (_transport.Connected ? "Связь установлена" : "Не удалось подключиться"); if (!_transport.Connected) return; _device = new B380ADC(_transport); _device.ClearProtocol(); R14Register r14 = _device.GetIDs(); if (r14.TypeID != _device.DeviceID)//Проверка, что это B380 throw new NotSupportedException(r14.TypeID.ToString() + " не подерживаются"); R6Register r6 = _device.GetInfo(); // Это нужно, если много устройств в сети (для одного закоментарил) //EnumCaptureMode captureMode; //if (!IsCaptured) //{ // if (r6.LockData == 0) // captureMode = EnumCaptureMode.CaptureAvailable; // else if (r6.LockData == _CaptureID_Const) // captureMode = EnumCaptureMode.CaptureSame; // else // captureMode = EnumCaptureMode.CaptureNotAvailable; //} //else //{ // if (r6.LockData == 0) // captureMode = EnumCaptureMode.RecaptureAfterSwitchOff; // else // captureMode = (r6.LockData == _CaptureID) // ? EnumCaptureMode.RecaptureAfterLostConnection // : EnumCaptureMode.RecaptureNotAvailable; //} //if ((_CaptureMode & captureMode) != captureMode) // throw new NotSupportedException(captureMode.ToString() + " не подерживаются"); //uint newCaptureID = _CaptureID; //if (!IsCaptured) // newCaptureID = _CaptureID_Const; //_Device.SetLockData(newCaptureID, false); //r6 = _Device.GetInfo(); //_CaptureID = newCaptureID; //System.Diagnostics.Debug.Assert(_CaptureID == r6.LockData); _device.InitDDR(true); _device.ReadCalibrations(); //_IsReady = true; _text.Text += Environment.NewLine + "Подключились";// Состояние подключение можно проверять так: R14Register r14 = AMDevice.GetIDs(_transport); - здесь не заморачиваемся } catch (Exception ex) { _text.Text += Environment.NewLine + "Ошибка:" + ex.Message; } _text.SelectionStart = _text.TextLength - 1; _text.ScrollToCaret(); }