Создание Low-Code IoT приложений с контроллерами PLCnext
Контроллеры PLCnext поддерживают множество способов подключения к облачным сервисам. Вы могли бы использовать IEC функциональные блоки из библиотеки IOT, создать свое .NET приложение, написать Python-скрипт или скомпилировать коннектор на GoLang. Если вы хотите писать код, у вас есть много вариантов. Но что, если по какой-то причине вы не хотите писать код? Может быть, это ваш первый проект, или может быть, прошло уже много времени? В этом блоге я покажу, как построить IoT веб-приложение, не написав ни одной строки кода!
Хорошо, когда я сказал, что мы не будем писать ни одной строки кода, это было, возможно, немного преувеличением. Конечно, нам понадобится какой-то способ сказать нашему контроллеру PLCnext и облачному сервису, что мы хотим. Для этого мы будем использовать только графические интерфейсы, так что, думаю, я технически прав, когда говорю, что мы не напишем ни одной строки кода? В любом случае, подход считается «low-code».
Сначала позвольте мне представить различные элементы или сервисы, которые мы будем использовать в этом блоге.
Введение
PLCnext контроллер, я думаю, этому не нужно много введения. Если вы все еще не уверены в его возможностях, обязательно посетите PLCnext Infocenter.
Node-RED, официальный сайт Node-RED описывает Node-RED как:
В ранее написанных makersblogs Node-RED упоминается довольно много раз. Не уверены, как начать использовать Node-RED? Я предлагаю прочитать эту статью.
Azure IoT Central — это SAAS (Software As A Service) решение в облаке Azure для построения бескодовых IoT-решений. Мы создадим шаблон устройства с определенным интерфейсом, а визуализация будет получена из созданного шаблона.
В этом шаблоне мы можем определить три «вида переменных»: Telemetry (телеметрия), Properties (свойства) и Commands (команды). Я буду использовать разные виды в шаблоне, надеюсь, различие между свойствами и телеметрией станет ясным после их использования. Если все еще немного неясно, обязательно прочитайте о них в статьях, ссылки на которые в разделе дополнительного чтения.
Для простоты мы ограничим наш пример очень базовым контроллером насоса. Мы можем переключить насос в другой режим и задать уставку насоса.
Построение приложения
Подготовка контроллера
Начните с обновления контроллера до последней доступной прошивки и установите balena-engine для OCI-контейнеров. Инструкции по установке Balena можно найти здесь. Когда Balena Engine был успешно установлен, выполните следующую команду (это займет некоторое время).
balena-engine run -it -p 1880:1880 --name nodered --restart always pxcbe/node-red:azureiot
Создание сервиса Azure IoT Central
Войдите в свой Azure-аккаунт и создайте группу ресурсов. В этой группе ресурсов вы теперь можете создать новое приложение Azure IoT Central. Обязательно проверьте разные уровни (Tiers) перед выбором.
Перейдите в ваш только что созданный сервис Azure IoT Central и если все идет хорошо, вас должны предложить создать новый шаблон устройства. Выберите создание нового пользовательского шаблона как IoT-устройство. Выполните следующие шаги для создания правильного шаблона для этого упражнения.
Создание шаблона устройства
- Назначьте имя «pump» шаблону устройства
- Создайте пользовательскую модель (Custom model)
- Нажмите «add capability»
- Создайте свойство (Property) «Pump status»
- Создайте телеметрию (Telemetry) «Flow Rate»
- Создайте команду (Command) «Change Mode»
- Создайте команду (Command) «Set Power»
- Сохраните только что созданные возможности
- Перейдите к Views (представления) и выберите «generate default views» (вы можете изменить представления позже)
- Опубликуйте ваш шаблон устройства.

(Возникли трудности? Не стесняйтесь импортировать шаблон из репозитория)
Создание нового устройства
Создайте устройство на основе только что созданного шаблона. Нажмите на «connect» и запишите «ID scope», «Device ID» и «Primary key» для последующего использования в Node-RED.

PLCnext Engineer
Нам понадобится некоторая логика для управления нашим насосом. Я предоставил проект PLCnext Engineer в репозитории, который вы можете использовать. Не стесняйтесь добавлять к этому проекту, чтобы дать нашему насосу новые функции!

Node-RED
Пока ваш контейнер создавался, ваша среда Node-RED должна быть готова и работающей. Импортируйте flow.json из репозитория. Нажмите на узел «Device» и установите ваш «Device ID», «Scope ID» и выберите «Device Provisioning Service» и вставьте ваш primary key.
Настройте ваш OPC UA сервер, нажав на узлы READ или WRITE и измените настройки под ваш контроллер, и завершите приложение, развернув (deploy) узлы.

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

Дополнительное чтение
Node-RED
Azure-IoT-Central
Промышленные технологии
- ADLINK и Google Cloud сотрудничают для поставки бесшовных IoT-решений
- Сборка самобалансирующегося Segway на Raspberry Pi
- Революция в пожарном деле: как IoT повышает безопасность, реагирование и спасение
- Борьба с городскими наводнениями с помощью IoT-сетевых решений
- Инженерия IoT-решений нового поколения, переходящих границы и драйвящих операционное превосходство
- Использование IoT для HVAC Big Data: оптимизация энергии, комфорта и качества воздуха — Часть 2
- ABB представила интуитивный IoT-дашборд для эффективности автоматизации средних коммерческих зданий
- Rockwell Automation и Accenture запустили цифровую платформу Industry X.0 для трансформации промышленных предприятий
- Безопасность промышленного IoT: преодоление вызовов и внедрение надежных решений
- Революция в автопроизводстве: преодоление вызовов с помощью IoT-решений