/* установка частот сбора данных из элементов управления и обновление их реально * установленными значениями */ lpcie.Errs setAdcFreq() { lpcie.Errs err = lpcie.Errs.OK; double f_acq, f_lch, f_din; f_acq = Convert.ToDouble(edtAdcFreq.Text); f_lch = Convert.ToDouble(edtAdcFreqLch.Text); f_din = Convert.ToDouble(edtDinFreq.Text); // устанавливаем требуемую частоту сбора. err = hnd.SetAdcFreq(ref f_acq, ref f_lch); if (err == lpcie.Errs.OK) { // обновляем значение индикатора, для отображения // реально установившейся частоты edtAdcFreq.Text = f_acq.ToString(); edtAdcFreqLch.Text = f_lch.ToString(); // Устанавливаем частоту синхронного сбора err = hnd.SetDinFreq(ref f_din); if (err == lpcie.Errs.OK) { edtDinFreq.Text = f_din.ToString(); } } return(err); }
public void LoadSettings(LCard502Pars _pars, L502Ch[] _channels) { CurrentSensors = Convert.ToUInt32(_channels.Length); string a = "LCard502.LoadSettings: Не удалось задать параметры"; hnd.LChannelCount = (uint)_channels.Length; VoltPercent = new double[_channels.Length]; double[] K = { 10, 20, 50, 100, 200, 500 }; for (int i = 0; i < _channels.Length; i++) { string aa = string.Format("LCard502E.LoadSettings: Канал[{0}]: {1}", i, _channels[i].ToString()); pr(aa); AdapterPars p = new AdapterPars(_channels[i]); LFATAL(aa, hnd.SetLChannel((uint)i, p.phy_ch, p.mode, p.range, p.avg)); VoltPercent[i] = K[_channels[i].Range]; } // Настраиваем источник частоты синхронизации L502.Sync[] f_sync_mode = { L502.Sync.INTERNAL, L502.Sync.EXTERNAL_MASTER }; hnd.SyncMode = f_sync_mode[_pars.SyncMode]; // hnd.SyncMode = L502.Sync.EXTERNAL_MASTER; // RAG Чтобы не поставил - не работает - ихний баг. // L502.Sync[] f_sync_start_mode = { L502.Sync.DI_SYN1_RISE, L502.Sync.DI_SYN2_RISE, L502.Sync.DI_SYN1_FALL, L502.Sync.DI_SYN2_FALL }; // hnd.SyncStartMode = f_sync_start_mode[_pars.SyncStartMode]; f_acq = _pars.FrequencyPerChannel * _channels.Length * 4; double f_lch = _pars.FrequencyPerChannel; // настраиваем частоту сбора с АЦП LFATAL(a, hnd.SetAdcFreq(ref f_acq, ref f_lch)); // Parameters.frequencyCollect = f_acq; // Parameters.frequencyPerChannel = f_lch; // Записываем настройки в модуль double f_din_save = _pars.TTL.Frequency; LFATAL(a, hnd.SetDinFreq(ref f_din_save)); LFATAL(a, hnd.Configure(0)); #if TTL_SIGNALS LFATAL("LCard502::Start: не смогли разрешить потоки: ", hnd.StreamsEnable(L502.Streams.ADC | L502.Streams.DIN)); #else LFATAL("LCard502::Start: не смогли разрешить потоки: ", hnd.StreamsEnable(L502.Streams.ADC)); #endif }