FLProg 9.8.2 — новые возможности и дальнейшее развитие
Вышла новая версия FLProg 9.8.2!
Мы продолжаем развивать программу, расширять поддержку современного оборудования и совершенствовать инструменты, которые помогают создавать проекты автоматизации без необходимости вручную писать весь программный код.
В этом обновлении основное внимание уделено аппаратной поддержке, работе с дисплеями и системным библиотекам.
Но сегодня мы хотим рассказать не только о том, что уже доступно пользователям, но и немного заглянуть вперёд — показать направления, над которыми сейчас работает команда FLProg.
Что нового в FLProg 9.8.2
Поддержка новых микроконтроллеров и контроллеров
Продолжается расширение аппаратной базы FLProg.
В базовую библиотеку добавлены описания современных микроконтроллеров:
ESP32-C5
ESP32-C6
ESP32-H2
ESP32-P4
Также добавлена поддержка контроллера KINCONY KC868-A16, построенного на ESP32 и оснащённого Ethernet-интерфейсом.
Обновляются Arduino Core и аппаратные библиотеки, совершенствуется совместимость с различными семействами микроконтроллеров.
Для нас это важное направление: мы хотим, чтобы пользователи FLProg могли работать не только с привычными Arduino, но и с современными контроллерами, предлагающими больше памяти, более высокую производительность и расширенный набор интерфейсов.
Улучшения работы с TFT-дисплеями
Продолжается развитие графической подсистемы FLProg.
Расширена поддержка цветных TFT-дисплеев, включая модели на контроллерах ST7789, ST7796/ST7796S, ST7789P3 и NV3007.
Усовершенствованы механизмы вывода изображения.
На поддерживаемом оборудовании используются DMA, разделение длительных графических операций на небольшие части и возможность обработки изображения на втором ядре микроконтроллера.
Это позволяет снизить влияние обновления экрана на выполнение основной программы контроллера.
Особенно заметны такие улучшения при работе с дисплеями высокого разрешения и сложными графическими изображениями.
При этом поддержка отдельных моделей дисплеев и режимов работы зависит от конкретной аппаратной платформы.
Системные библиотеки и обработка сигналов
Продолжается совершенствование внутренних механизмов программы.
В аппаратной библиотеке развивается обработка прерываний через RT_HW_19_IRQ_DISPATCHER. Это создаёт основу для более удобной работы с энкодерами, кнопками и другими устройствами, требующими быстрой реакции.
Добавлены механизмы фильтрации изменяющихся сигналов по времени и гистерезису.
Такие инструменты позволяют уменьшать количество лишних изменений значений и упрощают обработку сигналов от датчиков.
Также продолжается работа над стабильностью обмена по Modbus, включая исправления, связанные с Ethernet-контроллерами W5500.
Что готовим для следующих версий
Помимо изменений, вошедших в FLProg 9.8.2, сейчас ведётся работа сразу над несколькими крупными направлениями.
Часть новых технологий уже реализована в отдельных библиотеках и проходит проверку, но пока ещё не интегрирована в графическую среду FLProg.
Мы хотим немного рассказать об этих разработках, чтобы было понятнее, куда движется проект.
FLProg_Network — новые возможности сетевого обмена
Разрабатывается единая сетевая библиотека FLProg_Network.
Её задача — объединить работу с Wi-Fi, Ethernet и основными сетевыми протоколами в одну систему.
На уровне библиотеки уже реализованы механизмы TCP, UDP, HTTP, MQTT, NTP и других сетевых сервисов.
Особое внимание уделено организации обмена без длительных блокирующих операций, контролю нагрузки и восстановлению соединений после сбоев.
Например, в реализации MQTT предусмотрены автоматическое восстановление подписок и возможность работать с большим количеством подписок без прежнего фиксированного ограничения на четыре.
Важно: эти возможности уже существуют на уровне разрабатываемой библиотеки, но их интеграция в FLProg ещё предстоит. Они не являются новыми функциями версии 9.8.2.
RT_HW_IO-LINK — расширение входов и выходов
Ещё одна интересная разработка — собственная технология RT_HW_IO-LINK.
Она предназначена для подключения дополнительных микроконтроллеров в качестве модулей расширения входов и выходов.
Идея достаточно простая: если основному контроллеру не хватает каналов, к нему можно подключить дополнительный контроллер с нужным количеством цифровых и аналоговых входов и выходов.
При этом обмен организуется без необходимости вручную создавать карту регистров, как это обычно делается при использовании Modbus.
Протокол предусматривает передачу изменившихся состояний, контроль связи и целостности данных.
Базовая реализация с подключением через UART/RS232 уже разработана на уровне библиотеки.
Следующий этап — интеграция этой технологии в FLProg, чтобы пользователь мог настраивать такие расширения привычными средствами графической среды.
Графические виджеты для TFT-дисплеев
Отдельное направление — расширение возможностей создания пользовательских интерфейсов на цветных дисплеях.
Уже разработана библиотека графических элементов, в которую входят графики и тренды, стрелочные приборы, шкалы, диаграммы, индикаторы, кнопки, текстовые и числовые поля, элементы управления и многоэкранные меню.
Такие возможности позволяют создавать полноценные панели отображения технологических параметров и управления устройствами.
Сама библиотека уже существует, но её интеграция в FLProg запланирована на следующий этап разработки.
В дальнейшем мы также хотим создать удобный графический редактор, чтобы пользователь мог компоновать интерфейс непосредственно в визуальной среде, не занимаясь ручной настройкой каждого элемента.
Веб-интерфейс контроллера
Ведётся разработка системы FLProg_WebUI, позволяющей создавать веб-интерфейсы для контроллеров.
В браузере можно будет просматривать параметры устройства, состояние входов и выходов, диагностическую информацию и использовать предусмотренные проектом органы управления.
Библиотека уже разработана, сейчас продолжается её внедрение и адаптация.
Для работы с контроллерами, не имеющими собственного Ethernet-интерфейса, также создан FLProg Bridge — программный мост, позволяющий получать веб-интерфейс через обычное последовательное соединение COM/USB-UART.
Его локальная версия уже прошла практические проверки. Дальнейшее развитие и интеграция этих инструментов продолжаются.
Обновление прошивок контроллеров по сети
Мы также работаем над возможностью удалённого обновления программ микроконтроллеров через сетевые интерфейсы.
Такая возможность особенно полезна для оборудования, установленного в труднодоступных местах, где для обновления прошивки неудобно каждый раз подключать компьютер непосредственно к устройству.
Сейчас это направление ещё находится в разработке.
Основная задача — обеспечить надёжный и безопасный механизм обновления с учётом особенностей конкретных микроконтроллеров и загрузчиков.
А что дальше?
Параллельно с развитием текущей версии мы продолжаем работу над новыми инструментами и архитектурой будущей системы FLProgPRO.
Современные микроконтроллеры, многоядерные системы, промышленные интерфейсы и распределённые устройства открывают возможности, которые ещё несколько лет назад были трудно реализуемы на доступном оборудовании.
Мы хотим использовать эти возможности, сохранив главное преимущество FLProg — понятный и доступный способ создания управляющих программ.
Это большая работа, и пока рано говорить о конкретных сроках. Но первые шаги уже сделаны.
Спасибо, что вы с нами!
FLProg развивается благодаря совместной работе разработчиков и пользователей.
Ваши сообщения об ошибках, предложения, вопросы и реальные проекты помогают нам понять, какие возможности действительно нужны и какие задачи стоит решать в первую очередь.
Мы продолжаем развивать FLProg как инструмент для практической работы — от небольших домашних устройств до серьёзных систем автоматизации.
FLProg 9.8.2 уже выпущена и доступна для загрузки в разделе официальных релизов FLProg Club.
Программируй реальность!