Дискретные входы ================ Дискретные входы предназначены для подключения датчиков типа «сухой контакт», «открытый коллектор» или кнопок. Любой канал DI может работать в режиме счетчика и/или частотомера и настраивается индивидуально. На плате имеется схема самодиагностики, позволяющая провести тестирование работоспособности каналов. Подключение датчиков и внутреннее устройство каналов DI ------------------------------------------------------- Включение канала производится замыканием входа на "землю". Подключение датчика типа «сухой контакт» или кнопки: .. figure:: images/di_com_gnd.png :width: 400 Подключение датчика типа «открытый коллектор»: .. figure:: images/di_open_coll.png :width: 400 Работа в режиме счетчика и частотомера -------------------------------------- Любой канал DI может работать в режиме счетчика и/или частотомера. Максимальная частота следования импульсов 500 Гц, минимальная длительность импульса 1 мс. Настройка и работа с каналами DI -------------------------------- .. csv-table:: :header: "Параметр","Значение по умолчанию","Диапазон","Описание" :widths: 20, 10,20, 40 "di_noise_fltr_us","10","10 – 65 000","Длительность импульса (1 ед. = 10 мкс). Импульсы, длительность которых меньше чем значение di_noise_fltr_us не будут обрабатываться." "di_pulseless_ms",10000,"1 000 – 1 000 000 000","Время в мс. Если в течение данного времени не было ни одного импульса, значение частоты обнуляется" "di_mode","3","1, 2, 3","Режим работы канала: 1 - подсчет импульсов, 2 - измерение частоты, 3 - подсчет импульсов и измерение частоты" "di_state",`-`,"0...65535","Логическое состояние каналов. Каждый бит содержит состояние отдельного канала: 0 - нет сигнала, 1 - есть сигнал" "di_cnt",`-`,"0...2\ :sup:`64`","Счетчик входных импульсов" "di_freq",`-`,"0.0...500.0","Измерение частоты" Описание алгоритма работы DI ---------------------------- **Режим отображения логического состояния** В режиме отображения логического состояния каналы DI опрашиваются каждые 0,5 мсек, и результаты записываются в соответствующий регистр. **Режим подсчета импульсов** В режиме подсчета импульсов в процессе опроса состояние каждого канала сравнивается с предыдущим состоянием. При обнаружении срабатывания канала запускается миллисекундный таймер, измеряющий длительность импульса. Далее если значение таймера больше параметра di_noise_fltr_us, значение счетчика соответствующего канала инкрементируется. **Режим частотомера** В режиме частотомера каналы DI работают аналогично режиму подсчета импульсов. При обнаружении срабатывания канала запускается миллисекундный таймер, измеряющий длительность импульса. Далее если значение таймера больше параметра di_noise_fltr_us, значение счетчика соответствующего канала инкрементируется. Одновременно с таймером длительности импульса запускается второй таймер, измеряющий период следования импульсов (время между передними фронтами соседних импульсов). Далее вычисляется период измерения частоты, в течение которого наберется 100 импульсов. Если период измерения частоты получился больше 1 секунды (частота менее 100 Гц), то период измерения устанавливается равным 1 секунде. По окончании периода измерения пара значений – длительность периода и количество импульсов за этот период помещаются в буфер выборки. Значение частоты для сигналов с частотой более 100 Гц рассчитывается по методу скользящего среднего с использованием 5 выборок. Значение частоты для сигналов с частотой от 1 до 100 Гц рассчитывается по 1 выборке, причем для вычисления используется время между первым и последним импульсом. Значение частоты для сигналов с частотой менее 1 Гц рассчитывается по 1 выборке, содержащей 1 импульс и время между соседними импульсами. Алгоритм расчета частоты для разных частот а) f > 100 Гц, б) f < 100 Гц, в) f < 1 Гц: .. figure:: images/di_description.png :width: 300 Так как период измерения рассчитывается с каждым новым импульсом, происходит автоматическая подстройка периода измерения и обновления значения частоты. Если в течение времени di_pulseless_ms не было ни одного импульса, значение измеренной частоты обнуляется. Самодиагностика дискретных входов --------------------------------- На плате реализована схема проверки работоспособности каналов дискретных входов, которая позволяет проверить и выявить нерабочие каналы без применения специального оборудования. При проведении самодиагностики входные цепи платы должны быть отключены от датчиков и кнопок для корректной работы. Варианты проведения самодиагностики: #. Запуск самодиагностики с кнопки TEST_START - последовательно выполняется самодиагностика сначала дискретных, а затем аналоговых каналов. #. Через WEB-интерфейс во вкладке "Диагностика" Алгоритм проведения самодиагностики: #. Проверка светодиодных индикаторов. Все светодиодные индикаторы (16 шт.) последовательно загораются сначала зеленым, а потом красным цветом. #. Последовательная проверка каналов. Входы каналов последовательно замыкаются на "землю", проверяется корректность считываемых сигналов как во включенном, так и в выключенном состоянии. #. Отображение результатов проверки. Светодиодные индикаторы каналов, прошедших самодиагностику загораются зеленым цветом, не прошедших - красным. Через 2 секунды индикация выключается.