Управление контроллером Arduino c помощью телефона на Android — HMI KaScada
В этом посте я подробно опишу пример простейшего проекта. Как добавить компоненты на экран, как правильно прописать в нём регистры, как связаться с оборудованием. В качестве примера будем использовать с вами доступный контроллер Arduino UNO и Android приложения HMI KaScada. Среду разработки для Arduino будем использовать FLProg.
Из этой статьи вы узнаете:
Глава 1 — Настройка HMI KaScada
Глава 2 — программирование Arduino UNO в FLProg
Глава 3 — настройка связи
Приветствую всех, дорогие читатели. С вами автор блога — Гридин Семён. Перейдём к практической части по программированию панели управления HMI KaScada. Сегодня мы попытаемся добавить элементарные компоненты, такие как кнопка, переключатель, лампа и цифровой индикатор. Подключим датчик температуры. Напишем программу в FLProg и свяжем с приложением HMI с помощью протокола MODBUS.
Я думаю, что с теоретической частью вы ознакомлены и подробно описывать не буду.
Глава 1 — Настройка HMI KaScada
Итак начнём с настройки и компоновки нового проекта. Запускаем приложение HMI KaScada, и нажимаем кнопку Создать новый проект:
После этого вводим имя проекта:
После того, как проект создан и имя названо, можно поменять фон по желанию, для этого нажмём кнопку + в нижнем левом углу экрана:
Затем нажмите кнопку Фон в разделе Графика:
Перед вами откроются два варианта — Установить картинку или Установить сплошной цвет. Я предпочитаю сплошной однотонный цвет, так как все элементы чётко видны на экране.
Ну что, добавляем компоненты — Переключатель, Кнопка, Цифровой индикатор, Лампа. Зажимаем пальцем элемент и вытаскиваем на экран:
Для того, чтобы изменить размер задержите палец по элементу, появятся рамки, после потяните за край:
Если вы зажмёте пальцем на пустом месте экрана, у вас появится прямоугольник. Можно выделить несколько элементов и совершить действия: Копировать, Вырезать, Вставить, Выровнять по центру, Выровнять по краям.
Давайте попробуем создать красивый проект, чтобы можно было включать и выключать лампочки и смотреть температуру.
Так как я описываю реализацию проекта, описывать подробно свойство компонентов пока не буду. Сейчас мы с вами настроим регистры, чтобы получить доступ к данным. нажмите один раз на элемент, откроется такое окно:
Настройте таким образом:
- Кнопка — рег 1 бит 1
- Переключатель — рег 1 бит 2
- Лампа 1 — рег 1 бит 3
- Лампа 2 — рег 1 бит 4
- Цифр. индикатор — рег 0
После этого приступаем программировать Arduino UNO с модулем расширения W5100. Писать программу мы будем в среде разработки FLProg.
Глава 2 — программирование Arduino UNO в FLProg
Скачиваем программу с официального сайта. Устанавливаем её, и начинаем писать.
Среду разработки открываем только с правами администратора, иначе не будет компилиться.
Сначала создаём проект, добавляем модуль связи по протоколу MODBUS TCP в режиме slave. В нашем случае Ethernet Shield W5100.
Соединятся будет через Wi-Fi роутер. Настраивать внутри роутера ничего не нужно. Настроим только контроллер.
Фам что это строительство дорог.
Делаем соответствующие настройки связи, пишем IP, порт, основной шлюз вашего роутера. MAC можно сгенерировать любой.
Сетевой адрес нашего устройства 1.
Далее, добавляем датчик температуры DHT 11, для того чтобы вывести а экран температуру окружающей среды.
Добавляем на полотно, выставляем свойства, с какого пина будет считывать.
Далее добавляем необходимые сетевые переменные MODBUS.
Регистры будут в таком порядке:
- Кнопка — рег 1 бит 1 — адрес 16
- Переключатель — рег 1 бит 2 — адрес 17
- Лампа 1 — рег 1 бит 3 — адрес 18
- Лампа 2 — рег 1 бит 4 — адрес 19
- Цифр. индикатор — рег 0 — адрес 0
Компилируем скетч и заливаем.
Глава 3 — настройка связи
Теперь начинается самое интересное.
Подключаем Arduino к питанию и к сети по ethernet. Затем проверяем связь с самим устройством.
На компьютере набираем команду cmd и открываем командную строку. Пишем ping <ваш IP>. Если устройство отозвалось, значит всё в порядке, если нет, где то не правильно настроили.
После этого нужно настроить HMI KaScada. Нажимаем на три точки:
Жмём на редактирование списка устройств:
У меня уже было настроено, у вас будет пустая строчка. Задаём название устройства, адрес, IP и порт. Всё задаём так же, как настраивали в FLProg.
Настраиваем вот в этом окне:
Ну что, это пожалуй всё. Всё должно заработать. В KaScada у вас высветится сообшение «TCP подключен к IP» В результате должна получиться вот такая картина:
Датчик показывает температуру окружающей среды, кнопки через контроллер запускают лампочки. Контроллер у меня был просто с шильдиком и с датчиком.
Есть небольшая подборка видео, где есть живое, крутое и реальное применение приложения HMI KaScada на серьёзных объектах. Правда с другим оборудованием, но смысл от этого не меняется.
Автоматизация электрического котла, водоснабжения и теплоснабжения:
Автоматизация колбасного цеха:
Дозатор жидкости на Arduino:
На этом у меня всё, сегодня я с вами прощаюсь. Подписывайтесь, пишите комментарии и письма, всегда рад пообщаться. Пока — пока.
С уважением, Гридин Семён
Спасибо, Семён за подборку. Как то оставил за «бортом» сознания дроиды.
Ан нет, эта штука все же лезет и в СКАДА системы.
Буду пробовать.
Всегда пожалуйста. А что такое Андроид на телефоне, тот же самый Линукс, только в красивой обёртке. И всё. Так же пишутся программы. только под телефон. Так же можно применить питон, яву. Да много чего.
Спасибо, отличный урок, Удачи!!
Здравствуйте.
У меня есть ESP8266MOD NodeMCU V3.
Напишите пожалуйста такой-же пост как её подружить с КаСкадой в FlProg. А то у меня от регистров, битов, адресов голова кругом идёт, с простой ардуино гемору гораздо меньше.
Вечер добрый, взял на заметку, напишу!!!
есть видео youtu.be/k2jMUoyXeL4
и другие видео о esp8266 и каскаде на этом канале