Дискретный вход
Дискретный вход модуля построен на базе оптопары с токоограничительными резисторами и предназначен для приема сигнала напряжением 10..30 В или 220 В (в зависимости от конфигурации).
Дискретный вход может работать в режиме счетчика и/или частотомера.
Канал имеет индикаторный светодиод зеленого цвета для визуального контроля.
Подключение и внутреннее устройство канала DI
Основное назначение дискретного входа - контроль коммутируемого напряжения 10..30 В постоянного тока или 220 В переменного тока. Однако данный канал можно так же использовать для чтения логического состояния дискретного сигнала, подсчета количества импульсов или измерения частоты.

Контроль напряжения 10..30 В постоянного тока (конфигурация 3 = 0)

Контроль напряжения 220 В переменного тока (конфигурация 3 = 1)
Работа в режиме счетчика и частотомера
Дискретный вход DI может работать в режиме счетчика и/или частотомера. Максимальная частота следования импульсов 10 кГц, минимальная длительность импульса 10 мкс.
Настройка и управление каналами DI
К каналу DI относятся следующие регистры:
Параметр |
Значение по умолчанию |
Диапазон |
Описание |
---|---|---|---|
di_noise_filter_us |
10 |
10 – 65 000 |
Минимальная длительность импульса дискретных входов (х10 мкс) |
di_pulseless_time |
10000 |
1 000 – 1 000 000 000 |
Время обнуления измеренной частоты дискретных входов, мс |
di_mode |
3 |
1, 2, 3 |
Режим работы канала: 1 - подсчет импульсов, 2 - измерение частоты, 3 - подсчет импульсов и измерение частоты |
di_state |
- |
0…1 |
Логическое состояние канала |
di_cnt |
- |
0…264 |
Счетчик входных импульсов |
di_freq |
- |
0.0…10000.0 |
Измерение частоты |
Описание алгоритма работы DI
Режим отображения логического состояния
В режиме отображения логического состояния канал DI опрашивается с фиксированной частотой, и результат записывается в соответствующий регистр.
Режим подсчета импульсов
В режиме подсчета импульсов канал DI работает в режиме прерываний. По переднему фронту импульса запускается миллисекундный таймер, измеряющий длительность импульса. Далее если значение таймера больше параметра «di_noise_filter_us», значение счетчика канала инкрементируется.
Режим частотомера
В режиме частотомера канал DI так же работает в режиме прерываний. По переднему фронту импульса запускается миллисекундный таймер, измеряющий длительность импульса. Далее если значение таймера больше параметра «di_noise_filter_us», значение счетчика канала инкрементируется. Одновременно с таймером длительности импульса запускается второй таймер, измеряющий период следования импульсов (время между передними фронтами соседних импульсов). Далее вычисляется период измерения частоты, в течение которого наберется 100 импульсов. Если период измерения частоты получился больше 1 секунды (частота менее 100 Гц), то период измерения устанавливается равным 1 секунде. По окончании периода измерения пара значений – длительность периода и количество импульсов за этот период помещаются в буфер выборки. Значение частоты для сигналов с частотой более 100 Гц рассчитывается по методу скользящего среднего с использованием 5 выборок. Значение частоты для сигналов с частотой от 1 до 100 Гц рассчитывается по 1 выборке, причем для вычисления используется время между первым и последним импульсом. Значение частоты для сигналов с частотой менее 1 Гц рассчитывается по 1 выборке, содержащей 1 импульс и время между соседними импульсами.
Алгоритм расчета частоты для разных частот а) f > 100 Гц, б) f < 100 Гц, в) f < 1 Гц:

Так как период измерения рассчитывается с каждым новым импульсом, происходит автоматическая подстройка периода измерения и обновления значения частоты. Если в течение времени «di_pulseless_time» не было ни одного импульса, значение измеренной частоты обнуляется.
При контроле напряжения 10..30 В следует ориентироваться на значения регистра «di_state».
При контроле напряжения 220 В переменное напряжние преобразуется в последовательность импульсов с частотой 50 Гц, поэтому в данном случае следует ориентироваться на занчение регистра «di_freq».