ГлавнаяАкадемияМонтаж и пусконаладка контроллера → Обзор универсальных входов контроллера

Обзор универсальных входов контроллера

Урок · Монтаж и пусконаладка контроллера · 10 мин · theory

Введение в универсальные входы (UI)

> ℹ️ Информация: Универсальность входов позволяет значительно сократить номенклатуру оборудования на объекте и упростить проектирование, допуская изменения в типе датчиков на поздних стадиях проекта без замены контроллера.

На современных объектах автоматизации инженеру приходится работать с широким спектром датчиков и сигналов: от простых кнопок до высокоточных аналоговых измерителей. Для решения этой задачи контроллеры платформы HI оснащены универсальными входами (UI).

Универсальный вход — это физический порт контроллера, способный работать в нескольких электрических режимах для приёма сигналов от различных типов датчиков. В отличие от специализированных входов, каждый UI можно программно сконфигурировать для конкретной задачи, что обеспечивает непревзойденную гибкость при проектировании и монтаже системы.

Ключевые отличия UI от специализированных входов

Основное отличие универсального входа от классических дискретных (DI) и аналоговых (AI) входов заключается в его многорежимности.

Поддерживаемые режимы работы

Универсальные входы контроллера HI поддерживают несколько ключевых режимов работы, покрывающих до 90% всех типовых задач на объектах малой и средней автоматизации:

  • "Сухой контакт" (Dry Contact / Digital Input): Самый распространенный режим для подключения кнопок, выключателей, датчиков протечки, герконов, реле давления. Вход определяет состояние внешней цепи: замкнута она или разомкнута.
  • Счетчик импульсов (Pulse Counter): Специализированный режим для работы с устройствами, генерирующими последовательность импульсов. Типичное применение — подключение счетчиков воды или электроэнергии с импульсным выходом. Вход подсчитывает количество импульсов за определенный промежуток времени.
  • Аналоговый сигнал 0-10В (Voltage 0-10V): Стандартный режим для подключения промышленных и HVAC датчиков: температуры, влажности, давления, уровня CO2, освещенности. Вход измеряет напряжение, поданное на него, и передает его числовое значение в систему.
  • Резистивный (NTC / Resistor): Режим для подключения датчиков, изменяющих свое сопротивление в зависимости от измеряемого параметра. Наиболее часто используется с NTC-термисторами (датчиками температуры). Контроллер измеряет сопротивление и отдает его значение в Омах.
  • Аналоговый сигнал 4-20мА (Current 4-20mA): Данный режим используется для подключения датчиков с токовым выходом. Он требует использования внешнего прецизионного шунтирующего резистора (обычно 250 Ом или 500 Ом), который преобразует ток в напряжение, измеряемое затем в режиме 0-10В. Этот метод обеспечивает высокую помехоустойчивость на длинных линиях.
  • Использование универсальных входов позволяет инсталлятору иметь на складе один тип контроллера для разных задач, а также гибко адаптировать систему под изменения в проекте прямо на объекте.

    ---

    Электрические характеристики и схемы подключения

    > ⚠️ Внимание: Превышение максимально допустимого напряжения (обычно >12В) или тока на универсальном входе может привести к необратимому повреждению порта контроллера. Всегда сверяйтесь с технической документацией на контроллер и датчик перед подключением.

    Правильное физическое подключение — залог стабильной и безопасной работы системы. Ошибки на этом этапе могут привести не только к некорректным показаниям, но и к выходу оборудования из строя.

    Электрические параметры входов

    Перед подключением любого устройства необходимо ознакомиться с электрическими характеристиками универсальных входов контроллера HI, указанными в его паспорте.

    | Параметр | Типовое значение | Описание |

    | --------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------- |

    | Максимальное входное напряжение | 12 В (DC) | Напряжение выше этого порога может повредить вход. Категорически запрещено подавать ~230В. |

    | Внутреннее подтягивающее сопротивление | ~10 кОм на +3.3В | В режиме "сухой контакт" обеспечивает высокий уровень, когда контакт разомкнут. |

    | Диапазон измерения (0-10В) | 0 - 10.5 В | Реальный диапазон измерения напряжения с небольшой погрешностью. |

    | Входное сопротивление (0-10В) | >100 кОм | Высокое сопротивление гарантирует, что вход контроллера не будет оказывать влияния на сигнал датчика. |

    | Защита от перенапряжения | Да (частичная) | Встроенные компоненты могут защитить от кратковременных всплесков, но не от постоянной подачи высокого напряжения. |

    | Защита от неправильной полярности | Нет | Подключение напряжения обратной полярности может повредить вход. |

    Схемы подключения

    Рассмотрим две наиболее популярные схемы подключения, которые вы будете использовать в 9 из 10 случаев.

    Режим "Сухой контакт" (Двухпроводное подключение)

    Этот режим используется для устройств, которые не имеют собственного источника питания и работают как простой выключатель.

    ASCII-схема подключения кнопки:
     (Кнопка без фиксации)         [CTRL:HI-Core]
    

    ┏━━━━━━━┓

    COM --┃--o o--┃-- (Белый) --------- GND

    ┃ ┃

    NO --┃--/ ---┃-- (Фиолетовый) ---- Ui-07

    ┗━━━━━━━┛

    В этой схеме, когда кнопка не нажата, цепь разомкнута, и благодаря внутреннему подтягивающему резистору контроллер видит высокий логический уровень. При нажатии кнопки цепь замыкается на `GND`, и контроллер видит низкий логический уровень.

    Режим "Аналоговый датчик 0-10В" (Трехпроводное подключение)

    Этот режим используется для активных датчиков, которым требуется внешнее питание для работы.

    1. `+V` (Питание датчика): Подключается к источнику питания 24В DC.

    2. `GND` (Земля): Подключается к `GND` источника питания и к `GND` контроллера. Это критически важный шаг для создания общей точки отсчета!

    3. `Signal` / `Out`: Подключается к клемме универсального входа контроллера (`Ui-08`).

    ASCII-схема подключения датчика CO2:
     [PSU:24VDC]     (Датчик CO2)            [CTRL:HI-Core]
    

    +24V -------- (Красный) ---- +V

    GND --------- (Черный) ----- GND --+------------- GND

    |

    (Датчик CO2) |

    Out -------- (Оранжевый) -------- Ui-08

    > 🔗 Связанный материал: Вопросы правильного выбора и подключения источников питания, а также важность общего провода `GND` были подробно рассмотрены в модуле по организации питания контроллера `COURSE-02`.

    Правильное экранирование кабелей и их прокладка вдали от силовых линий (~230В) является обязательным условием для получения стабильных показаний, особенно на длинных трассах. Экран кабеля следует подключать к клемме `GND` только со стороны контроллера.

    ---

    Конфигурация входов в среде Node-RED

    > 💡 Подсказка: Для отладки всегда подключайте узел `debug` к выходу узла `hi-ui`. Это позволит в реальном времени видеть значения, приходящие с датчика, и быстро диагностировать проблемы с подключением или конфигурацией.

    После физического подключения датчика необходимо настроить соответствующий универсальный вход в программной среде Node-RED. Для этого используется специализированный узел `hi-ui`.

    Обзор узла `hi-ui` (HI Universal Input)

    Узел `hi-ui` находится в палитре `HI Platform` и является основным инструментом для работы с универсальными входами. Он позволяет считывать данные с физического порта и передавать их в поток для дальнейшей обработки.

    При двойном клике на узел открывается окно его конфигурации.

    Настройка параметров узла

  • Name: Задайте осмысленное имя узла, отражающее его назначение, например, "Датчик протечки в санузле" или "Температура в гостиной (0-10В)".
  • Input: В выпадающем списке выберите номер физического порта, к которому подключен датчик (от `UI 1` до `UI 22`). Это соотносит узел с конкретной клеммой на корпусе контроллера, согласно вашей I/O Map.
  • Mode: Самый важный параметр. Здесь вы выбираете электрический режим работы входа.
  • * `Digital Input`: Для режима "сухой контакт".

    * `Pulse Counter`: Для счетчиков импульсов.

    * `Voltage 0-10V`: Для аналоговых датчиков с выходом по напряжению.

    * `Resistive`: Для NTC-термисторов.

  • Invert: Галочка, которая инвертирует логику для цифровых входов. Полезна для датчиков с нормально-замкнутым контактом (NC). Если датчик в нормальном состоянии выдает `true`, а при сработке `false`, эта опция исправит логику на более привычную.
  • Debounce (Антидребезг): Этот параметр доступен для режимов`Digital Input` и `Pulse Counter`. Он задает в миллисекундах время, в течение которого узел будет игнорировать быстрые, хаотичные изменения состояния. Это необходимо для борьбы с дребезгом контактов — физическим явлением, при котором в момент замыкания/размыкания механического контакта (кнопки, реле) происходит серия микроскопических замыканий/размыканий, которые могут быть неверно истолкованы как множество нажатий.
  • * Для кнопок и выключателей рекомендуется значение `50-100` мс.

    * Для медленных датчиков (геркон, датчик протечки) достаточно `10-20` мс.

    Структура исходящего сообщения `msg.payload`

    После настройки узел `hi-ui` будет периодически опрашивать вход и при изменении состояния (или по истечении заданного интервала) генерировать сообщение. Структура этого сообщения зависит от выбранного режима.

    Сообщение генерируется при каждом изменении состояния.

        {

    "payload": true,

    "topic": "ui/7"

    }

    Где `payload` принимает булево значение: `true` (замкнуто) или `false` (разомкнуто).

    Сообщение генерируется периодически (частота опроса настраивается в системных параметрах).

        {

    "payload": 4.75,

    "topic": "ui/8"

    }

    Где `payload` — это число с плавающей точкой, представляющее измеренное напряжение в Вольтах.

    Сообщение генерируется периодически с накопленным значением.

        {

    "payload": 125,

    "topic": "ui/9"

    }

    Где `payload` — это целочисленное значение, равное количеству импульсов, подсчитанных с момента последнего сброса.

    Понимание структуры `msg` является ключом к дальнейшей обработке данных в Node-RED для создания сценариев автоматизации.

    ---

    Пример: Подключение датчика протечки (Сухой контакт)

    Рассмотрим реальный пример пусконаладки универсального входа на примере датчика протечки воды — одного из важнейших элементов системы безопасности умного дома.

    1. Физическое подключение

    Датчик протечки представляет собой простое устройство с двумя контактами, которые замыкаются между собой при попадании на них воды. Это классический сухой контакт.

  • Выберите свободный универсальный вход на контроллере. Согласно нашей I/O Map, это `Ui-15`.
  • Подключите один провод от датчика к клемме `Ui-15`.
  • Второй провод от датчика подключите к любой свободной клемме `GND` на контроллере.
  • Промаркируйте кабель с обеих сторон: `LEAK-SENS-BATH-01`.
  • 2. Настройка узла `hi-ui` в Node-RED

  • Перетащите на поле новый узел `hi-ui` из палитры.
  • Откройте его настройки:
  • * Name: `Датчик протечки (Ванная)`

    * Input: `UI 15`

    * Mode: `Digital Input`

    * Invert: Оставляем выключенным (большинство датчиков протечки являются нормально-разомкнутыми, NO).

    * Debounce: Установите `20` мс. Этого достаточно, чтобы отфильтровать возможные помехи, но обеспечить быстрое срабатывание.

  • Сохраните настройки узла.
  • 3. Анализ `msg.payload` и отладка

  • Подключите к выходу узла `hi-ui` узел `debug`.
  • Разверните (Deploy) поток.
  • Откройте панель отладки (Debug).
  • Тестирование:
    {
    

    "payload": true,

    "topic": "ui/15"

    }

    {
    

    "payload": false,

    "topic": "ui/15"

    }

    Использование опции `Invert`

    Представим, что вы используете датчик с нормально-замкнутым (NC) контактом. Такой датчик в сухом состоянии будет выдавать `true`, а при протечке — `false`. Это контринтуитивно для логики сценариев. Чтобы исправить это, достаточно в настройках узла `hi-ui` поставить галочку `Invert`. После этого логика станет привычной: `false` в норме, `true` при аварии.

    Данный `msg.payload` со значением `true` теперь можно использовать как триггер для запуска сценария: перекрыть воду с помощью реле, отправить PUSH-уведомление владельцу и включить звуковую сирену.

    ---

    Пример: Подключение датчика температуры 0-10В (Аналоговый сигнал)

    Теперь рассмотрим более сложный пример — подключение аналогового датчика температуры с выходом 0-10В. Такие датчики часто используются в системах вентиляции и отопления (HVAC) для мониторинга температуры в помещениях или воздуховодах.

    Предположим, у нас есть датчик, который измеряет температуру в диапазоне от -20°C до +80°C, что линейно соответствует выходному напряжению от 0В до 10В.

    1. Физическое подключение

  • Выберите свободный универсальный вход, например, `Ui-16`.
  • Вам потребуется внешний блок питания, например, на 24В DC.
  • Выполните подключение по трехпроводной схеме:
  • * Клемму `+V` датчика подключите к выходу `+24V` блока питания.

    * Клемму `GND` датчика подключите к выходу `GND` блока питания.

    * От этой же точки `GND` блока питания прокиньте провод к клемме `GND` на контроллере HI, чтобы создать общую "землю".

    * Сигнальную клемму `Out` датчика подключите к входу `Ui-16` контроллера.

    Как было показано в ASCII-схеме ранее, создание общего `GND` между источником питания датчика и контроллером является обязательным условием для корректного измерения напряжения.

    2. Настройка узла `hi-ui`

  • Перетащите на поле новый узел `hi-ui`.
  • Откройте его настройки:
  • * Name: `HVAC Приток Температура`

    * Input: `UI 16`

    * Mode: `Voltage 0-10V`

    * Параметры `Invert` и `Debounce` для этого режима неактивны.

  • Сохраните настройки.
  • 3. Анализ `msg.payload` и масштабирование

  • Подключите к выходу узла `hi-ui` узел `debug`.
  • Разверните поток.
  • В панели отладки вы начнете периодически видеть сообщения, содержащие текущее напряжение на входе. Например, если температура в воздуховоде около 25°C, то напряжение будет примерно 4.5В.

    {
    

    "payload": 4.5,

    "topic": "ui/16"

    }

    Это значение — "сырое", оно представляет собой напряжение. Для использования в сценариях (например, для управления заслонкой) или для отображения на панели оператора его необходимо преобразовать в инженерные единицы — градусы Цельсия.

    Для этого используется узел `range` (Масштаб).

    Настройка узла `range`:
  • Подключите его после узла `hi-ui`.
  • Откройте настройки:
  • * Action: `Scale`

    * Input range: `0` до `10` (диапазон напряжения от датчика)

    * Result range: `-20` до `80` (диапазон температур согласно паспорту датчика)

  • Подключите к выходу узла `range` новый узел `debug`.
  • Теперь, когда на вход `range` придет сообщение `{"payload": 4.5}`, на его выходе появится новое сообщение с пересчитанным значением:

    {
    

    "payload": 25,

    "topic": "ui/16"

    }

    Это значение — 25°C — уже можно использовать для логики, журналирования и визуализации. Таким образом, цепочка `hi-ui` -> `range` является стандартным паттерном для работы с аналоговыми датчиками.

    ---

    Итоги и рекомендации

    > 🔗 Связанный материал: В следующем модуле `COURSE-03-M06` мы подробно рассмотрим настройку и проверку универсальных выходов контроллера, которые позволят управлять исполнительными устройствами на основе данных, полученных с входов.

    В этом уроке мы изучили один из самых мощных и гибких инструментов контроллера HI — универсальные входы. Правильное их использование позволяет решать широкий круг задач по сбору данных на объекте, от простого считывания состояния кнопки до точного измерения физических величин.

    Краткое повторение режимов работы

    Вы должны четко понимать назначение каждого режима:

    Чек-лист по пусконаладке универсального входа

    Перед сдачей объекта всегда проверяйте каждый подключенный вход по этому списку:

  • [ ] Физическое подключение: Провода надежно зажаты в клеммах, цвета соответствуют стандарту. Используются наконечники НШВИ для многожильных проводов.
  • [ ] Правильность схемы: Для "сухого контакта" используется двухпроводная схема (`Ui` + `GND`). Для аналоговых датчиков — трехпроводная с обязательным общим GND.
  • [ ] Соответствие режима: Режим, выставленный в узле `hi-ui` в Node-RED, точно соответствует типу подключенного датчика.
  • [ ] Конфигурация Node-RED: Узлу присвоено понятное имя. Номер порта (`Input`) соответствует физической клемме.
  • [ ] Проверка антидребезга (`Debounce`): Для всех дискретных входов установлено адекватное значение debounce для исключения ложных срабатываний.
  • [ ] Тестирование срабатывания: Выполнена имитация срабатывания датчика (нажатие кнопки, смачивание датчика протечки, нагрев/охлаждение датчика температуры) и проверено получение корректного `msg.payload` в панели отладки.
  • [ ] Масштабирование (для аналоговых): Для всех аналоговых датчиков добавлен узел `range` или `function` для преобразования "сырых" данных (Вольты, Омы) в понятные инженерные единицы (°C, %, ppm).
  • Типичные ошибки

    Успешное освоение работы с универсальными входами — это ключевой навык для любого инсталлятора систем автоматизации на платформе HI.