Использование SCADA WebDisCo с контроллером Wiren Board
Назначение
SCADA WebDisCo - веб-ориентированная платформа от компании "ФИОРД" для автоматизации различных процессов. WebDisCo позволяет создавать и визуализировать системы диспетчеризации различных инженерных систем на предприятиях, в жилых и коммерческих помещениях.
Благодаря поддержке MQTT можно настроить интеграцию WebDisCo с линейкой контроллеров Wiren Board разными способами:
- установка пакета WebDisCo непосредственно на контроллер Wiren Board, используя средства операционной системы Linux, как на одноплатный ПК и управлять устройствами внутри одного контроллера;
- управление несколькими контроллерами с удалённого сервера или другого контроллера Wiren Board в роли сервера c установленным WebDisCo.
SCADA WebDisCo, помимо MQTT, поддерживает другие способы коммуникаций, которые можно комбинировать между собой в зависимости от решаемой задачи: ОРС, FDA, ModbusTCP, Modbus RTU, DCON.
Работа WebDisCo на контроллере Wiren Board
Установка
Установочный пакет SCADA WebDisCo по умолчанию не идёт в комплекте с контроллером Wiren Board.
Установка SCADA WebDisCo:
- Скачать дистрибутив с архитектурой, соответствующей вашему контроллеру с официального сайта разработчика
- Распаковать и скопировать в корень файловой системы контроллера
- Выполнить команды:
sudo apt install ./webdisco_*verison*.deb
sudo systemctl restart webdisco
С другими способами установки можно ознакомиться в официальной инструкции разработчика.
Удаление
Для удаления SCADA WebDisCo выполните команду:
sudo apt purge webdisco
С другими способами удаления можно ознакомиться в официальной инструкции разработчика.
Управление сервисом WebDisCo
После установки в контроллере создаётся и запускается сервис webdisco.service и работает параллельно с основными сервисами Wiren Board.
Основные команды для управления сервисом WebDisCo:
- Узнать статус:
sudo systemctl status webdisco
- Перезагрузка:
sudo systemctl restart webdisco
- Включить автозапуск при старте контроллера:
sudo systemctl disable webdisco
- Отключить автозапуск при старте контроллера:
sudo systemctl enable webdisco
- Запустить сервис:
sudo systemctl start webdisco
- Остановить сервис:
sudo systemctl stop webdisco
Подключение к веб-интерфейсу
Для получения доступа к веб-интерфейсу SCADA WebDisCo необходимо:
- Узнать IP контроллера и перейти по адресу <IP контроллера>:8000
- Ввести логин и пароль, по умолчанию: admin/admin
Пример работы через MQTT
Бесплатная версия SCADA WebDisCo поставляется сразу с демо-проектом, в котором нет примера коммуникации по MQTT.
Демо версия SCADA WebDisCo имеет ограничения по времени работы в режиме Исполнения и количестве тегов. Подробнее см. в официальной инструкции разработчика
Внимание! WebDisCo - может зависнуть при ошибке в создании нового типа коммуникации. В таком случае рекомендуется воспользоваться командой для перезагрузки сервиса WebDisCo через SSH
Пошаговая настройка коммуникации MQTT описана в официальной инструкции разработчика.
Для удобства тестирования Wiren Board разработали демо-версию проекта для WebDisCo только с коммуникацией по MQTT.
С его помощью можно протестировать возможности контроллера не прибегая к ручной настройке. Для этого необходимо импортировать проект после запуска пакета WebDisCo на контроллере Wiren Board.
Внимание! Демо версия тестировалась только на deb-пакете webdisco_2.7-191125_arm64.deb и контроллере Wiren Board 8
Далее описан пример создания коммуникации в ручную, без демо проекта.
Создание коммуникации MQTT вручную
- Перейти в режим разработчика
- Перейти в раздел "Коммуникации"
- Добавить новый тип коммуникации с помощью кнопки
- Настройки по умолчанию для локального управления:
- Название - любое, например "Test MQTT"
- Номер порта: 1883
- Таймаут: 500 мс
- Период опроса: 100 мс
- Период повторного переподключения: 60с
- Свитч Переподключение - активен
- IP-адрес: 127.0.0.1
- Свитч Устройство - активен
Получение температуры CPU контроллера
- Перейти в раздел "Коммуникации" → "Test MQTT" → "Добавить новый узел"
- Заполнить параметры для контрола "CPU Temperature":
- Название - любое, например "CPU Temperature"
- Топик по умолчанию:
/devices/hwmon/controls/CPU Temperature - Роль: "Sub"
- Нажать кнопки "Загрузить с контроллера" и "Создать переменные по тегам"
- Перейти в раздел "Мнемосхемы" → добавить "Text" → кликнуть правой мышкой и перейти в раздел "Анимации" → Перейти в раздел "Текст" и указать топик с атрибутом "payload"
Управление бузером в контроллере
- Перейти в раздел "Коммуникации" → "Test MQTT" →"Добавить новый узел"
- Заполнить параметры для контрола "Buzzer":
- Название - любое, например "Buzzer_control"
- Топик по умолчанию:
/devices/buzzer/controls/enabled/on - Роль: "Pub"
- Нажать кнопки "Загрузить с контроллера" и "Создать переменные по тегам"
- Перейти в раздел "Переменные" → Редактирование атрибута переменной Buzzer_*_payload → Установить флаг Команда во вкладке "Строка"
- Перейти в раздел "Мнемосхемы" → добавить "Любую фигуру" → кликнуть правой мышкой и перейти в раздел "Анимации" → Перейти в раздел "Команда" и указать топик с атрибутом "payload", значение 1 или 0
Техническая поддержка
Вопросы по использованию SCADA WebDisCo на Wiren Board можно задать через официальные каналы связи разработчика платформы: ссылка.
Полезные ссылки
Ссылка на официальный сайт разработчиков ПО.
Ссылка на документацию по установке и запуску.
