Контроллеры автоматизации Evika LogicMachine: гибкое и универсальное решение

Содержание

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

LogicMachine3 Re:actor

Устройства серии LogicMachine производитель называет «свободно программируемыми логическими контроллерами». Это означает, что они не имеют фиксированных встроенных алгоритмов работы, а могут быть запрограммированы под требуемую логику проекта. С одной стороны, это позволяет реализовывать на них любые схемы взаимодействия, но с другой — требует обязательного программирования. Впрочем, для сегмента профессиональных инсталляторов и коммерческих решений, это, конечно, не является проблемой. По сути можно говорить о том, что это компактная универсальная вычислительная система, способная выполнять любые задачи пользователя.

Среди ключевых особенностей продукта производитель отмечает поддержку традиционных протоколов и стандартов систем автоматизации, включая KNX, BACnet/IP, Modbus, DMX512 и DALI.

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

Модели

В настоящий момент компания предлагает несколько линеек LogicMachine. «Классические» модели предназначены для установки на DIN-рейку в распределительный шкаф, а решения серии LogicMachine Wall ориентированы на крепление на стене в жилых помещениях. Отдельно стоит отметить устройства Re: actor, в которых дополнительно реализованы цифровые и аналоговые входы/выходы, что позволяет создавать несложные проекты без применения внешнего оборудования. Отличия между моделями серии заключаются в основном в реализации набора встроенных интерфейсов.

Все устройства основаны на платформе Freescale i.MX28, предназначенной для промышленных, автомобильных и потребительских продуктов. Данная платформа имеет вычислительное ядро с архитектурой ARM9, работающее на частоте 454 МГц. В контроллере реализовано множество интерфейсов, включая сетевой контроллер, последовательные порты и USB.

Для подготовки данного материала был использован контроллер текущего поколения — LogicMachine4 (LM4), но большинство информации в статье относится и ко всей серии. Основной чип дополнен микросхемами оперативной памяти общим объемом 128 МБ, а также 4 ГБ флэш-памяти. На заказ под спецпроекты производитель может поставить устройства с объемом флэш-памяти до 32 ГБ. При необходимости можно использовать внешние накопители с интерфейсом USB.

LogicMachine4

В LM4 реализованы следующие аппаратные интерфейсы для подключения внешних устройств: KNX (TP), USB 2.0 (x2), RS-485 (x3), DALI. Кроме того, есть необходимые цепи для 1-Wire, ИК-передатчика и CEC, которые будут включены в прошивку после окончания тестирования программной поддержки. Наличие RS-485 позволяет говорить о поддержке Modbus, DMX512 и фирменных модулей расширения производства Evika. Что касается USB, то для него заявлены возможности работы с EnOcean, 1-Wire, LON, адаптерами Wi-Fi, сотовыми модемами и другими устройствами.

Основным способом работы с контроллером является сетевое подключение. Для этого в нем есть один порт Ethernet 10/100 Мбит/с. Он используется не только для настройки LM, но и для работы самого контроллера с другими устройствами, включая мосты KNXnet/IP, BACnet/IP. Есть и поддержка таких стандартных протоколов, как HTTP и FTP.

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

Для питания контроллера можно использовать источник стабилизированного постоянного напряжения на 10–30 В. Общее потребление самого устройства не превышает 2 Вт. Напомним, что для шины KNX требуется собственный источник питания. LM4 выполнена в корпусе для установки на DIN-рейку и занимает на ней четыре стандартных места. Габаритные размеры модели составляют 71×90×51 мм. Кроме описанных выше разъемов для подключения, устройство оборудовано парой светодиодных индикаторов, один из которых многоцветный, и кнопкой сброса/перезагрузки. Отметим использование клемников WAGO для быстрого подключения кабелей.

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

Подключение и начало работы

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

LogicMachine4

Для начала работы с контроллером достаточно подключить его в локальную сеть и к питанию. Даже в таком минимальном варианте, система способна на многое. Но, безусловно, в реальных проектах вам потребуется обеспечить работу с датчиками и исполнительными устройствами. Большинство операций с контроллером осуществляется через веб-интерфейс. В нем предусмотрен специальный пункт System configuration, который мы рассмотрим в этом разделе. Заметим, что по умолчанию и после сброса настроек устройство имеет сетевой адрес 192.168.0.10, так что вам нужно будет убедиться, что параметры вашей сети позволяют получить доступ к устройству или же временно изменить адрес компьютера и потом поменять сетевые настройки LM. Доступ к интерфейсу защищен паролем, который также можно будет изменить со стандартного admin/admin. Отметим, что есть и поддержка HTTPS с самоподписанным сертификатом. Для интерфейса предусмотрена возможность работы с несколькими языками на выбор. В текущем релизе прошивки есть только английский и русский. Встроенная справочная система предоставляет базовую информацию о работе со скриптами. К сожалению, контекстной справки здесь нет.

Системных настроек у устройства относительно немного. В первой группе, «System», вы можете изменить сетевое имя, пароли администратора и пользователей визуализации, обновить прошивку из файла, перезагрузить и выключить устройство. Также здесь находится страница для управления дополнительно устанавливаемыми пакетами. Заметим, что недавно для данной платформы была представлена бета-версия iRidium Server.

веб-интерфейс Evika LogicMachine

В Network вы можете изменить настройки сетевого интерфейса, включая IP-адрес и MTU. Отметим, что поддержки IPv6 в настоящий момент контроллер не имеет. Здесь можно выбрать схему взаимодействия с сетью KNX — через встроенный контроллер TP или внешний IP-мост. Для BACnet также можно задать адрес внешнего шлюза. Предусмотрен просмотр таблиц ARP и маршрутизации, а также некоторых данных об интерфейсах KNX и BACnet. Отметим, что для настройки и использования оборудования KNX вам все равно потребуется сначала сконфигурировать его через ETS. LM в данном случае может выступать мостом для осуществления этой операции. В штатном режиме работы контроллера могут пригодиться устанавливаемые пользователем фильтры для блокировки передачи сообщений KNX между интерфейсами TP и IP.

веб-интерфейс Evika LogicMachine

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

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

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

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

веб-интерфейс Evika LogicMachine

Функция Import ESF file позволяет вам импортировать групповые адреса и описания из подготовленного в ETS проекта KNX. Пункт Reset / clean-up позволяет выборочно удалить из системы информацию об объектах, журналах и скриптах. Если же требуется сбросить все настройки, стоит воспользоваться следующей кнопкой с ожидаемым названием — Factory reset. Отметим, что настройки сети и пароли будут сохранены. Далее мы видим пункт для настройки даты и времени, причем именно здесь устанавливается часовой пояс, что нужно для корректной работы автоматической установки времени с серверов NTP.

«Install updates» позволяет установить на устройство обновления системного программного обеспечения, выполненные в виде патча, а не полноценного образа. Backup и Restore будут очень востребованы при подготовке и обслуживании сложных проектов. Они позволяют полностью сохранить и восстановить конфигурацию LM и все данные через файл архива на компьютере пользователя. Сохранить его прямо на контроллере нельзя. Единственное, что не попадает в резервную копию — системное программное обеспечение, обновления и дополнительные пакеты. Обратим внимание и на то, что восстановление здесь возможно только полное, выбрать отдельные элементы из копии невозможно.

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

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

Настройка устройств

Главный экран веб-интерфейса имеет динамическую структуру и может быть настроен администратором. Основными являются шесть значков прошивки контроллера. Дополнительно можно добавить виджеты внешних приложений, в частности визуализацию, часы, погоду и другие. Настройки объектов, скриптов, расписаний и прочих внутренних элементов системы осуществляются в пункте «Logic Machine». В нижней строке отображается версия прошивки (в данном материале использовался релиз 20150917) и текущая загрузка процессора и оперативной памяти. Заметим, что реализованы некоторые функции для удобства работы с несколькими LM в одной сети, в частности быстрое переключение между устройствами и обмен некоторыми данными.

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

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

веб-интерфейс Evika LogicMachine

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

Кроме этих объектов, есть еще три отдельные страницы, которые отведены устройствам Dali, EnOcean и 1-Wire, отображаемые при установке соответствующих программных модулей. Для продуктов серии Re: actor присутствует собственная страница с настройками входов-выходов, которые привязываются к нужным групповым адресам.

Расписания

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

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

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

веб-интерфейс Evika LogicMachine

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

Системные журналы

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

веб-интерфейс Evika LogicMachine

В Alerts и Error log попадают важные системные сообщения. Еще один отдельный журнал используется для отладки и контроля работы скриптов.

Просмотр накопленных данных (тренды)

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

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

Программирование скриптов

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

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

Из дополнительных возможностей системы программирования отметим поддержку генерации новых скриптов «на лету» и вызов программ и библиотек, написанных на C/C++.

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

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

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

Удаленное управление

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

Визуализация

Evika Logic Machine имеет встроенную систему визуализации управления объектами на базе HTML. Она может быть запущена в пользовательском режиме и имеет два варианта — User mode visualization и Touch visualization на стартовой странице интерфейса. Отметим наличие функции автоматического димирования, что будет полезно для устанавливаемых на стенах панелей на базе планшетов.

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

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

Кроме того, на поле можно выводить изображения, текст, ссылки на другие страницы или внешние ресурсы, графики трендов, расписания, видео с IP-камер и другие элементы.

веб-интерфейс Evika LogicMachine

Для используемых внутри системы графических изображений (в частности иконок и фона) требуется предварительно загрузить их на странице Vis. Graphics. В комплекте идет некоторое количество значков для бинарных объектов и другие картинки. Отметим поддержку векторного формата SVG, что положительно сказывается на качестве изображения на современных устройствах с высоким разрешением. Аналогичным образом можно загрузить в систему и шрифты. Для тонкой настройки отображения страниц управления предусмотрено редактирование стилей CSS. При необходимости вы можете экспортировать и импортировать готовые страницы визуализации и переносить в другие проекты.

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

веб-интерфейс Evika LogicMachine

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

веб-интерфейс Evika LogicMachine

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

Варианты оформления интерфейса Evika LogicMachine Варианты оформления интерфейса Evika LogicMachine
Варианты оформления интерфейса Evika LogicMachine Варианты оформления интерфейса Evika LogicMachine

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

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

Заключение

Контроллеры автоматизации Evika LogicMachine представляют собой одно из наиболее гибких и универсальных решений на рынке. Они поддерживают многие современные стандарты и протоколы систем автоматизации, могут иметь интегрированный сертифицированный интерфейс KNX/TP, а в версиях Re: actor также имеют и встроенные порты ввода-вывода, что позволяет обойтись б

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