/// <summary>
        /// Конструктор для класса Channel
        /// </summary>
        /// <param name="id">Новый ID канала
        /// Должен быть уникальным, иначе выробатывается исключение</param>
        /// <param name="calibration">Набор калибровочные данных для канала
        /// Если калибровочных данных нет, передаем null</param>
        /// <param name="averageLevel">Уровен усреднения значения - от 0 (не усредняем) до 10 (максимально по 10 значениям)</param>
        public Channel(uint id, CalibrationValues calibration, uint averageLevel)
        {
            _uiId = id;

            if (averageLevel > MAX_AVERAGE_LEVEL)
            {
                ADCException exc = new ADCException("Ошибка: заданный уровень усреднения " + averageLevel + " не должен превышать " + MAX_AVERAGE_LEVEL);
                throw exc;
            }
            if (averageLevel == 0)
                averageLevel = 1;

            _listDatas = new List<float>();
            for (int i = 0; i < averageLevel; i++)
                _listDatas.Add(0);
            _clbrtValues = calibration;

            NegativeValuesIsCorrect = false;
        }
 /// <summary>
 /// Добавляем канал рассчета данных
 /// </summary>
 /// <param name="chId">Уникальный Id канала. Если такой Id уже есть в классе, генерируем исключение</param>
 /// <param name="calibration">Набор калибровочных значений для данного канала. Если калибровочных значений нет, передаем null</param>
 /// <param name="averageLevel">Уровен усреднения значения - от 0 (не усредняем) до 10 (максимально по 10 значениям)</param>
 public void AddChannel(uint chId, CalibrationValues calibration, uint averageLevel)
 {
     if (_listChannel.Count != 0)
         foreach (Channel chnl in _listChannel)
             if (chnl.IsThisId(chId))
             {
                 ADCException exc = new ADCException("Ошибка: канал с ID " + chId + " уже существует!");
                 throw exc;
             }
     _listChannel.Add(new Channel(chId, calibration, averageLevel));
 }