Система автоматизации EasyHomePLC: типовые сценарии использования и программирование пользовательского интерфейса

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

В общем случае PLC (контроллер с программируемой логикой) можно понимать как схему, которая в зависимости от сигналов на входных линиях определенным образом формирует сигналы на выходных линиях. При этом непосредственно связь первого и второго определяется внутренней программой устройства. Подобные устройства существуют на рынке уже давно и широко применяются в промышленности и других областях, где требуется длительная безотказная работа в режиме реального времени. При этом нужно отдавать себе отчет в том, что PLC не является универсальным процессором в обычном смысле этого термина. На нем без привлечения дополнительных элементов невозможно или очень сложно реализовать некоторые распространенные в сегменте домашней автоматизации функции, например гибкую систему уведомлений, хранение исторических данных, сложные протоколы сетевого взаимодействия, расписания и таймеры. При этом речи о реализации системы плагинов тоже нет из-за ограниченности ресурсов устройства.

Несмотря на свою кажущуюся простоту, в реальности контроллер, на наш взгляд, является достаточно сложным устройством для новичков в этой сфере. Частично это связано с тем, что здесь нет привычного по другим решениям подхода «добавляем датчик/исполнительное устройство, настраиваем его и сценарии», а пользователь на многих страницах программы видит огромные таблицы сразу со всеми элементами (портами, группами, датчиками и т. п.), которых может быть и пара сотен. Так что предварительное составление проекта приобретает в данном случае еще большее значение.

Из-за ограниченности объема материала мы опишем в нем только несколько основных сценариев, на сайте производителя можно ознакомиться с многочисленной документацией с описанием дополнительных функций и возможностей контроллера.

Настройка портов ввода-вывода

Как мы уже говорили в первой части статьи, настройка устройства и его программирование осуществляется через инженерный интерфейс программы EasyHome. На самом деле это точно та же программа, которая используется для реализации управления системой пользователем, но со специальным проектом, в котором предусмотрены страницы и элементы для решения данных задач. При этом можно сказать, что собственно «программирование» контроллера скорее является выбором параметров встроенных производителем в устройство алгоритмов. Например, в сценарии освещения происходит распределение портов по группам, назначение выключателей и датчиков. Но сама программа освещения при этом остается неизменной.

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

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

Напомним, что первые шестнадцать входных портов могут быть как дискретными, так и аналоговыми. При этом второй вариант имеет приоритет. Выбор типа входа влияет на то, в каких сценариях он будет использоваться. Основных параметров здесь два — собственно тип и «номер». Вторую опцию обычно можно понимать как привязку порта к группе (например, света). Заметим, что изменения вступают в силу немедленно. Так что настройка при подключенном оборудовании — не самая хорошая идея, если конечно схема не ограничивается светом, климатом и вентиляцией. С другой стороны, это дает возможность сразу же проверить работоспособность выбранного оборудования без необходимости полной инсталляции и программирования всей системы.

Для бинарных входов, в частности, предусмотрены такие варианты:

  • выключатель;
  • датчик движения;
  • нагрев;
  • охлаждение;
  • вентиляция;
  • датчик протечки;
  • датчики системы безопасности;
  • тревожные кнопки;
  • звонок.

В зависимости от типа, общее число групп может составлять от 4 до 255. Больше всего, конечно может быть у освещения.

Кроме того, есть несколько специальных типов входов, которые привязаны к особенным функциями, например кнопка постановки на охрану, перезагрузка контроллера, временное отключение датчиков протечки для уборки помещения и другие. Если же и этого не хватает, то можно указать вход как имеющий свободное назначение для использования с собственными алгоритмами. Отметим также, что здесь для бинарных входов можно указать режим инверсии, а в отдельном квадрате показывается текущее состояние входа.

Аналогичная схема используется и для аналоговых входов. Здесь предусмотрены такие типы:

  • температура воздуха;
  • температура пола;
  • качество воздуха (влажность);
  • уровень CO.

В разделе «специальные типы» предусмотрена оценка уличной температуры, влажности и освещенности. Также можно получить некоторые данные от датчиков системы вентиляции и реализовать свободное программирование.

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

Данная страница также поможет проконтролировать текущее состояние входов — в отдельном столбце показывается входное напряжение в процентах.

Как мы уже писали, простейший вариант реализации управления освещением — привязка входов и выходов на один номер. Но конечно, кроме света, для бинарных выходов есть и много других назначений, в частности:

  • жалюзи открыть/закрыть;
  • воздух/пол нагревать/охлаждать;
  • замок;
  • взаимодействие с охранной системой;
  • управление вентиляционной установкой.

Из специальных функций здесь есть управление сиреной, перезагрузка модема по питанию, запуск и остановка дизельгенератора, блокировка подачи воды, общее выключение всех систем климата и другие.

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

Вариантов для аналоговых выходов немного:

  • диммирование света;
  • управление PID для обогрева;
  • контроль установки вентиляции;
  • свободное программирование выхода.

Кроме данных настроек, в системе есть и другие опции портов, которые уже непосредственно связаны со сценариями их использования. Например, речь может идти о выборе типа выключателя — с фиксацией или без. Кроме того, можно использовать виртуальный выключатель, срабатывающий при длительном нажатии. Это может использоваться, например, для схем «выключить весь свет».

Как мы видим, решение поддерживает все основные варианты, которые могут потребоваться для реализации популярных сценариев автоматизации. Однако стоит отметить, что все-таки набор ограниченный (например, может быть только один датчик освещения (причем внешнего), нет встроенной поддержки RGB-света). Конечно, частично некоторые сценарии (например, регулировка влажности, управление поливом, закрытия окон при сильном ветре и т. п.) могут быть реализованы свободным программированием, но это уже совсем другая, более профессиональная история.

Освещение

Одним из наиболее популярных сценариев для домашней автоматизации является управление светом. Это вполне логично, учитывая, что лампы присутствуют сегодня практически везде. Использование контроллера для управления ими позволяет реализовать работу со сценами (включение заранее запрограммированной схемы для нескольких источников), автоматическое включение при наступлении определенных условий, выключение в случае отсутствия людей и другие режимы. При этом многое можно сделать и без контроллера, но с ним можно добиться большей гибкости и удобства. Например, можно будет менять сцены в случае изменения дизайна помещения, смены предназначения комнат, переноса выключателей или ламп.

В этом сценарии контроллер может использовать для управления входы с выключателей, датчиков движения, внешних фотореле. Для ламп на улице может также учитываться уровень освещенности (например, не включать лампы от датчиков движения в светлое время суток). Соответственно выходами являются бинарные порты для ламп и аналоговые каналы для диммеров. Также здесь может использоваться подключение моторов для управления шторами или другим оборудованием окон.

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

Управление шторами реализуется с использованием двух дискретных выходов на мотор для открытия и закрытия. При этом формально они могут быть представлены как диммеры освещения во всех сценах. Для выбора положения штор используется привязка ко времени работы мотора, которую можно установить индивидуально для каждого устройства.

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

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

Климат

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

На основании информации с них и с учетом заданных пользователем условий контроллер старается поддерживать температуру в помещениях используя подключенные к нему исполнительные устройства, выполняющие функции нагрева/охлаждения воздуха/пола (теплый пол, клапаны на радиаторах, кондиционеры и т. п.). В случае если контроллер не может выйти на требуемый уровень температуры в течение заданного времени, будут отправлены сообщения пользователю.

Поддерживается ручной и автоматический режим, а также режим «Эко» (снижение траты ресурсов с поддержанием минимальной безопасной температуры).

Настройки температур для помещений и дома в целом могут быть сохранены в виде сцен для последующего быстрого переключения режима (например, «отпуск» или «быстрый нагрев»).

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

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

Отметим также наличие настроек алгоритмов PID управления температурой.

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

Дополнительно в сервисе есть оправка SMS при достижении заданной температуры, выбор режимов работы контуров, блокировка работы кондиционера при низкой температуре воздуха, поддержка составных зон климата и другие функции.

Также к этой теме можно отнести функции управления вытяжками. Управлять ими можно в ручном режиме или настроить привязку к свету, срабатыванию датчиков движения, показаниям датчиков качества воздуха (влажности).

Реализована в системе поддержка систем вентиляции, с которых снимаются показания многочисленных датчиков и производится управление заслонками, температурами, двигателем и другими элементами.

Охрана

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

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

Всего предусмотрено обслуживание до восьмидесяти датчиков (зон), которые можно распределить по шести разделам. Для постановки на охрану можно использовать цифровую панель, быструю постановку без ввода пароля, кнопку в интерфейсе, дискретные входы, SMS-сообщение.

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

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

Дополнительные программы

В контроллере реализованы и некоторые другие программы, обеспечивающие функции мониторинга, комфорта и безопасности.

В частности это:

  • контроль электропитания с отключением нагрузки при перегрузке, информирование о состоянии, запуск-остановка генератора;
  • восемь встроенных счетчиков импульсов для учета потребления ресурсов;
  • контроль уровня CO с уведомлениями;
  • защита от протечек с автоматическим отключением подачи воды;
  • работа со звонками и замками на дверях и воротах;
  • системы вентиляции помещений;
  • универсальная схема уведомления об авариях и событиях с получением информации от внешних датчиков разных типов.

Кроме того, как мы уже писали, есть и возможность составления собственных «программ» благодаря реализации свободных функций. В этом случае нужные входы и выходы помечаются как «Free» и на специальной странице инсталлятор прописывает алгоритмы обработки их состояния. В последних используются такие аргументы, как константы, данные ячеек памяти контроллера (состояние входов), время. Набор операций включает в себя математические вычисления, сравнения, логические операции, условия, таймеры и переходы. Результат может записываться в ячейку памяти (выход контроллера).

Другое оборудование и интерфейсы

Контроллер может быть настроен для работы с внешним оборудованием по двум основным интерфейсам — последовательные порты RS-232/RS-485 и локальная сеть TCP/IP.

Оба варианта требуют специальных драйверов в программном обеспечении контроллера и работают только с совместимыми устройствами.

Первый применяется в частности для работы с кондиционерами (Mitsubishi, Daikin), ИК-шлюзами, вентиляционными установками, электросчетчиками и энергоустановками, модулями ввода-вывода.

Второй часто используется для медиаоборудования (в частности, в решениях Sonos и Onkyo), а также для взаимодействия с некоторыми типами автономных контроллеров узкой специализации.

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

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

Интерфейс пользователя

Отличительной особенностью рассматриваемого продукта является поддержка работы с ним из программы EasyHome. Эта отечественная разработка существует в версиях для операционных систем Windows, Android и iOS. Собственно рабочий комплект включает в себя программу и так называемый проект. Последний представляет собой набор специальных файлов с описанием дизайна страниц, медиафайлов (картинки, звуки) и других документов. При этом допускается иметь на клиенте сразу несколько установленных проектов с возможностью оперативного переключения между ними. Если же проект единственный, то он запускается автоматически.

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

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

При работе в Windows программу не требуется устанавливать — достаточно просто распаковать архив с ней в любое место на жестком диске компьютера. Рабочие файлы проектов она ищет или в папке документов текущего пользователя или в собственной папке. Версия для Android на момент подготовки первой части статьи отсутствовала в магазине Google и предлагалось установить ее из скаченного с сайта производителя APK. Но в момент работы над продолжением уже появилась. Файлы проекта необходимо разместить в папке easyhome в корне основного хранилища мобильного устройства. Для установки программы в iOS нужно скачать ее из официального магазина App Store. Файлы проектов являются документами для этой программы и могут быть загружены на мобильное устройство или через iTunes с подключением кабелем или по ссылке с Web-сервера (в документации приводятся инструкции для этого варианта).

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

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

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

Программа поддерживает статичные изображения в формате PNG и анимированные в виде набора кадров. Кроме того, в ней используются и звуковые файлы (WAV/PCM). Для хранения файлов страниц применяется текстовый формат XML. Собственно проект состоит из набора файлов этих типов. При желании можно их распределить по директориям, но это влияет только на удобство.

Редактировать элементы на страницах просто — достаточно воспользоваться кнопкой «Свойства элементов» и выбрать требуемый элемент. В результате будет отображена таблица свойств, где можно руками вписать требуемые поля (например, подписи, ссылки на другие страницы или картинки) или изменить цифровые значения. Что касается выбора местоположения, то эта операция осуществляется просто перетаскиванием мышкой.

Общий набор доступных в этом режиме редактирования элементов страниц насчитывает два десятка вариантов. Среди них можно найти текст, кнопки, слайдеры, термостаты, ссылки, выключатели, сенсоры, элементы навигации. Кроме того, можно добавить изображения с IP-камер (в том числе и с кнопками для PTZ), выступающие в роли дополнительного медиаэлемента, никак не связанного непосредственно с контроллером, виджет погоды, информацию для которого программа получает через Интернет и другие объекты.

Но конечно для полной реализации возможностей клиентской программы придется познакомиться с XML. Используемая схема позволяет уместить в одном файле сразу несколько страниц с глубиной до трех уровней, например с переходом по этажам и далее по комнатам.

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

В качестве примера приведем небольшую галерею из готовых проектов компании.

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

Кроме создания интерфейсов, одной полезной функцией программы является запись событий и состояния контроллера в CSV-файлы на устройстве, где она запущена. Это позволяет, в случае наличия постоянно работающего клиента, собирать различную статистику и проводить анализ работы контроллера.

Сенсорная панель

Данное устройство предназначено для работы в роли «расширенного» пульта управления системой. Его можно считать промежуточным вариантом между обычными кнопочными переключателями и полным интерфейсом программы EasyHome, описанным выше. Предварительно сенсорную панель нужно подключить к вашей беспроводной сети, а также указать в ней адрес контроллера. Возможности быстро переключаться между разными контроллерами в ней не предусмотрено, но поскольку решение поддерживает создание кластеров из нескольких контроллеров с управлением из одной точки, это обычно и не требуется. Из дополнительных опций есть регулировка яркости экрана и режим сна с его автоматическим отключением.

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

Занятие по изменению дизайна для терпеливых, поскольку редактор сложно назвать удобным из-за небольшого разрешения и резистивного сенсора, так что лучшим помощником здесь будет предварительное составление схемы страниц. Далее выбирается номер страницы, место управляющего элемента, его тип и параметры. Заметим, что термостат занимает сразу три места — целиком вторую или третью строку страницы.

В качестве элементов могут выступать выключатели освещения, управление шторами, включение вентиляции, термостаты воздуха и пола, переключатели режимов и другие элементы. Несмотря на внешнее сходство с полным интерфейсом EasyHome, возможностей здесь по факту все-таки меньше. Но в плюсы можно записать компактный размер и вариант установки.

Управление через сотовый модем

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

Устройство подключается к одному из последовательных портов RS-232 и позволяет реализовать управление объектом и получение уведомлений через сервис SMS-сообщений. Конечно, это все еще очень распространенный канал связи, но все-таки он уже не удовлетворяет современным требованиям по удобству работы. При этом можно изменить тексты для отправляемых контроллером сообщений — комплекте поставки идут два файла (для русского и английского языков), которые можно использовать как шаблон, а после редактирования загрузить в память контроллера. В общем списке более 250 вариантов, среди них присутствуют следующие варианты уведомлений:

  • постановка и снятие с охраны;
  • срабатывание датчиков и тревога;
  • нажатие кнопки звонка;
  • открытие замка;
  • неисправность системы контроля климата;
  • авария;
  • запуск сцен;
  • низкий баланс SIM-карты.

Команды управления системой всегда используют английский язык. Среди них, в частности, есть:

  • контроль общего состояния системы;
  • постановка и снятие с охраны;
  • снятие показаний счетчиков;
  • управление светом, климатом и другими устройствами.

Для защиты используется аутентификация по номеру отправителя — в контроллер можно записать до десяти телефонных номеров пользователей. Правда тут есть одна тонкость: проверяются только последние семь цифр номера.

Заключение

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

Как мы убедились, такие популярные сценарии как управление светом, климатом и охраной, достаточно гибкие и имеют несколько интересных особенностей. Например, для управления температурой в помещении могут использоваться сразу несколько исполнительных устройств, а функции охраны могут реализованы в сочетании с дополнительным внешним оборудованием. Отдельно стоит упомянуть наличие режима свободных входов-выходов и программ для них, но эта часть явно требует от пользователя серьезной подготовки и соответствующего уровня знаний.

Затрудняют работу с контроллером не очень неудобная программа для управления и создания интерфейсов, запутанная и не всегда логичная внутренняя структура устройства и отсутствие полной актуальной документации. На наш взгляд, позиционирование продукта для конечных потребителей не соответствует реальному положению дел. С другой стороны, профессиональные инсталляторы, имеющие опыт работы с подобным оборудованием, смогут относительно недорого реализовать функции автоматизации квартир и частных домов. В плюсы занесем и полностью редактируемый интерфейс программы управления, но для достижения качественного результата потребуется привлечение дизайнеров.

Полный текст статьи читайте на iXBT