Обзор универсальных входов контроллера
Введение в универсальные входы (UI)
> ℹ️ Информация: Универсальность входов позволяет значительно сократить номенклатуру оборудования на объекте и упростить проектирование, допуская изменения в типе датчиков на поздних стадиях проекта без замены контроллера.
На современных объектах автоматизации инженеру приходится работать с широким спектром датчиков и сигналов: от простых кнопок до высокоточных аналоговых измерителей. Для решения этой задачи контроллеры платформы HI оснащены универсальными входами (UI).
Универсальный вход — это физический порт контроллера, способный работать в нескольких электрических режимах для приёма сигналов от различных типов датчиков. В отличие от специализированных входов, каждый UI можно программно сконфигурировать для конкретной задачи, что обеспечивает непревзойденную гибкость при проектировании и монтаже системы.Ключевые отличия UI от специализированных входов
Основное отличие универсального входа от классических дискретных (DI) и аналоговых (AI) входов заключается в его многорежимности.
- Дискретный вход (DI) предназначен только для одной задачи: определения двух состояний — "включено" или "выключено" (например, есть напряжение / нет напряжения).
- Аналоговый вход (AI) предназначен для измерения непрерывного сигнала в определённом диапазоне, например, напряжения 0-10В или тока 4-20мА.
- Универсальный вход (UI) объединяет в себе функциональность обоих типов и добавляет к ней новые возможности. Один и тот же физический порт `Ui-05` может быть настроен для работы с дверным герконом сегодня, а завтра — с датчиком давления с выходом 0-10В, без каких-либо физических изменений в схеме контроллера.
Поддерживаемые режимы работы
Универсальные входы контроллера HI поддерживают несколько ключевых режимов работы, покрывающих до 90% всех типовых задач на объектах малой и средней автоматизации:
Использование универсальных входов позволяет инсталлятору иметь на складе один тип контроллера для разных задач, а также гибко адаптировать систему под изменения в проекте прямо на объекте.
---
Электрические характеристики и схемы подключения
> ⚠️ Внимание: Превышение максимально допустимого напряжения (обычно >12В) или тока на универсальном входе может привести к необратимому повреждению порта контроллера. Всегда сверяйтесь с технической документацией на контроллер и датчик перед подключением.
Правильное физическое подключение — залог стабильной и безопасной работы системы. Ошибки на этом этапе могут привести не только к некорректным показаниям, но и к выходу оборудования из строя.
Электрические параметры входов
Перед подключением любого устройства необходимо ознакомиться с электрическими характеристиками универсальных входов контроллера HI, указанными в его паспорте.
| Параметр | Типовое значение | Описание |
| --------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Максимальное входное напряжение | 12 В (DC) | Напряжение выше этого порога может повредить вход. Категорически запрещено подавать ~230В. |
| Внутреннее подтягивающее сопротивление | ~10 кОм на +3.3В | В режиме "сухой контакт" обеспечивает высокий уровень, когда контакт разомкнут. |
| Диапазон измерения (0-10В) | 0 - 10.5 В | Реальный диапазон измерения напряжения с небольшой погрешностью. |
| Входное сопротивление (0-10В) | >100 кОм | Высокое сопротивление гарантирует, что вход контроллера не будет оказывать влияния на сигнал датчика. |
| Защита от перенапряжения | Да (частичная) | Встроенные компоненты могут защитить от кратковременных всплесков, но не от постоянной подачи высокого напряжения. |
| Защита от неправильной полярности | Нет | Подключение напряжения обратной полярности может повредить вход. |
Схемы подключения
Рассмотрим две наиболее популярные схемы подключения, которые вы будете использовать в 9 из 10 случаев.
Режим "Сухой контакт" (Двухпроводное подключение)
Этот режим используется для устройств, которые не имеют собственного источника питания и работают как простой выключатель.
- Компоненты: Кнопка, геркон, датчик протечки.
- Принцип: Устройство имеет два вывода (COM, NO). При срабатывании оно замыкает эти выводы между собой. Контроллер детектирует это замыкание.
- Схема: Один провод от устройства подключается к клемме универсального входа (например, `Ui-07`), а второй — к общей земле (`GND`) контроллера.
(Кнопка без фиксации) [CTRL:HI-Core]
┏━━━━━━━┓
COM --┃--o o--┃-- (Белый) --------- GND
┃ ┃
NO --┃--/ ---┃-- (Фиолетовый) ---- Ui-07
┗━━━━━━━┛
В этой схеме, когда кнопка не нажата, цепь разомкнута, и благодаря внутреннему подтягивающему резистору контроллер видит высокий логический уровень. При нажатии кнопки цепь замыкается на `GND`, и контроллер видит низкий логический уровень.
Режим "Аналоговый датчик 0-10В" (Трехпроводное подключение)
Этот режим используется для активных датчиков, которым требуется внешнее питание для работы.
- Компоненты: Датчик CO2, датчик давления, датчик освещенности.
- Принцип: Датчик измеряет физическую величину и выдает на своем сигнальном выходе напряжение, пропорциональное этой величине (например, 0В = 400 ppm, 10В = 2000 ppm).
- Схема: Требуется три провода:
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` и является основным инструментом для работы с универсальными входами. Он позволяет считывать данные с физического порта и передавать их в поток для дальнейшей обработки.
При двойном клике на узел открывается окно его конфигурации.
Настройка параметров узла
* `Digital Input`: Для режима "сухой контакт".
* `Pulse Counter`: Для счетчиков импульсов.
* `Voltage 0-10V`: Для аналоговых датчиков с выходом по напряжению.
* `Resistive`: Для NTC-термисторов.
* Для кнопок и выключателей рекомендуется значение `50-100` мс.
* Для медленных датчиков (геркон, датчик протечки) достаточно `10-20` мс.
Структура исходящего сообщения `msg.payload`
После настройки узел `hi-ui` будет периодически опрашивать вход и при изменении состояния (или по истечении заданного интервала) генерировать сообщение. Структура этого сообщения зависит от выбранного режима.
- Режим `Digital Input`:
{
"payload": true,
"topic": "ui/7"
}
Где `payload` принимает булево значение: `true` (замкнуто) или `false` (разомкнуто).
- Режим `Voltage 0-10V`:
{
"payload": 4.75,
"topic": "ui/8"
}
Где `payload` — это число с плавающей точкой, представляющее измеренное напряжение в Вольтах.
- Режим `Pulse Counter`:
{
"payload": 125,
"topic": "ui/9"
}
Где `payload` — это целочисленное значение, равное количеству импульсов, подсчитанных с момента последнего сброса.
Понимание структуры `msg` является ключом к дальнейшей обработке данных в Node-RED для создания сценариев автоматизации.
---
Пример: Подключение датчика протечки (Сухой контакт)
Рассмотрим реальный пример пусконаладки универсального входа на примере датчика протечки воды — одного из важнейших элементов системы безопасности умного дома.
1. Физическое подключение
Датчик протечки представляет собой простое устройство с двумя контактами, которые замыкаются между собой при попадании на них воды. Это классический сухой контакт.
2. Настройка узла `hi-ui` в Node-RED
* Name: `Датчик протечки (Ванная)`
* Input: `UI 15`
* Mode: `Digital Input`
* Invert: Оставляем выключенным (большинство датчиков протечки являются нормально-разомкнутыми, NO).
* Debounce: Установите `20` мс. Этого достаточно, чтобы отфильтровать возможные помехи, но обеспечить быстрое срабатывание.
3. Анализ `msg.payload` и отладка
- Нормальное состояние: Датчик сухой. Контакты разомкнуты. На выходе узла `hi-ui` ничего не появляется (сообщение генерируется только при изменении). Начальное состояние — `false`.
- Срабатывание: Смочите контакты датчика влажной тканью. Цепь замкнется. В панели отладки вы немедленно увидите новое сообщение:
{
"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. Физическое подключение
* Клемму `+V` датчика подключите к выходу `+24V` блока питания.
* Клемму `GND` датчика подключите к выходу `GND` блока питания.
* От этой же точки `GND` блока питания прокиньте провод к клемме `GND` на контроллере HI, чтобы создать общую "землю".
* Сигнальную клемму `Out` датчика подключите к входу `Ui-16` контроллера.
Как было показано в ASCII-схеме ранее, создание общего `GND` между источником питания датчика и контроллером является обязательным условием для корректного измерения напряжения.
2. Настройка узла `hi-ui`
* Name: `HVAC Приток Температура`
* Input: `UI 16`
* Mode: `Voltage 0-10V`
* Параметры `Invert` и `Debounce` для этого режима неактивны.
3. Анализ `msg.payload` и масштабирование
В панели отладки вы начнете периодически видеть сообщения, содержащие текущее напряжение на входе. Например, если температура в воздуховоде около 25°C, то напряжение будет примерно 4.5В.
{
"payload": 4.5,
"topic": "ui/16"
}
Это значение — "сырое", оно представляет собой напряжение. Для использования в сценариях (например, для управления заслонкой) или для отображения на панели оператора его необходимо преобразовать в инженерные единицы — градусы Цельсия.
Для этого используется узел `range` (Масштаб).
Настройка узла `range`:* Action: `Scale`
* Input range: `0` до `10` (диапазон напряжения от датчика)
* Result range: `-20` до `80` (диапазон температур согласно паспорту датчика)
Теперь, когда на вход `range` придет сообщение `{"payload": 4.5}`, на его выходе появится новое сообщение с пересчитанным значением:
{
"payload": 25,
"topic": "ui/16"
}
Это значение — 25°C — уже можно использовать для логики, журналирования и визуализации. Таким образом, цепочка `hi-ui` -> `range` является стандартным паттерном для работы с аналоговыми датчиками.
---
Итоги и рекомендации
> 🔗 Связанный материал: В следующем модуле `COURSE-03-M06` мы подробно рассмотрим настройку и проверку универсальных выходов контроллера, которые позволят управлять исполнительными устройствами на основе данных, полученных с входов.
В этом уроке мы изучили один из самых мощных и гибких инструментов контроллера HI — универсальные входы. Правильное их использование позволяет решать широкий круг задач по сбору данных на объекте, от простого считывания состояния кнопки до точного измерения физических величин.
Краткое повторение режимов работы
Вы должны четко понимать назначение каждого режима:
- Digital Input: Бинарное состояние (замкнуто/разомкнуто). Для кнопок, герконов, датчиков протечки.
- Pulse Counter: Подсчет импульсов. Для счетчиков ресурсов.
- Voltage 0-10V: Измерение напряжения. Для промышленных и HVAC датчиков.
- Resistive: Измерение сопротивления. Для температурных датчиков NTC.
- 4-20mA: Измерение тока (через внешний шунт). Для помехозащищенных линий.
Чек-лист по пусконаладке универсального входа
Перед сдачей объекта всегда проверяйте каждый подключенный вход по этому списку:
Типичные ошибки
- Неправильный выбор режима: Подключение датчика 0-10В к входу, настроенному как "сухой контакт", не даст никаких результатов.
- Отсутствие общего `GND` с датчиком: Самая частая причина "плавающих" или неверных показаний аналоговых датчиков. Напряжению нужна общая точка отсчета.
- Игнорирование "дребезга" на дискретных сигналах: Приведет к тому, что одно нажатие на кнопку будет регистрироваться как несколько, ломая логику сценариев включения/выключения.
- Подача высокого напряжения на вход: Попытка измерить напряжение сети ~230В гарантированно сожжет порт контроллера. Для этого существуют специализированные измерительные трансформаторы или модули.
Успешное освоение работы с универсальными входами — это ключевой навык для любого инсталлятора систем автоматизации на платформе HI.