Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Мы не обязываем Вас переходить по рекламным ссылкам, просто она должна отображаться у вас в браузере. Реклама размещена ненавязчиво, сверху и снизу страницы, на прочтение основного материала никак не влияет! Спасибо за понимание!

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

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

В первую очередь требуется.....

Оптимизация отрисовки схемы в проекте для контроллера
73
30%
Расширение возможностей скады
22
9%
Добавление поддержки контроллеров STM.
95
40%
FLProg IOT сервер
39
16%
Свое направление (описание в теме)
11
5%
 
Всего голосов: 240

Аватара пользователя
support
Супермодератор
Сообщения: 1459
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 487
Откуда: Астрахань
Имя: Сергей
Контактная информация:

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

#1

Сообщение support » 06.11.2018{, 12:47}

На сегодняшний день, в программе FLProg получился более менее законченный функционал как для контроллеров Arduino, так и для контроллеров ESP8266. Конечно, пока хватает и косяков, и недоделок, и хотелок. Но все они так сказать «не глобальные», и вполне могут быть исправлены и реализованы, как у нас на работе говорят «в порядке текущей эксплуатации».
Я понял, что пришло время, определится, а что глобального делать дальше? Почитав форум и сопоставив пожелания пользователей со своими возможностями, знаниями, да и честно говоря, желаниями, я выделил следующие возможные направления.

1. Оптимизация отрисовки схемы в проекте для контроллера. Честно скажу, логика отрисовки не сильно изменилась с первых версий программы. Конечно, регулярно я её “подлатываю”, ставлю новые «костыли», но всё это половинчатые меры. С той поры и у меня появились новые знания, много новых решений было отработанно на Скаде. И теперь по-хорошему надо просто переписать отрисовку с нуля. Скорее всего, это улучшит отзывчивость системы, позволит ввести фишки вроде масштабирования, позиционирования окна на неисправных блоках, поиск блоков, переменных на схеме, переход на переменную. Ориентировочное время реализации 2 – 3 месяца.

2. Расширение возможностей скады. После выхода скады, меня удивило практически полное отсутствие обратной связи по ней. Ни сообщений об ошибках, ни какого-то либо активного обсуждения на форуме. Я решил, что как говорится «не стрельнуло». Но когда я сообщил о приостановке работы над скадой, то получил много пожеланий о развитии скады. Я так понимаю необходимо просто «прокачать» скаду. Сроки реализации оценивать сложно, это скорее плановый процесс, который будет развивать скаду от версии к версии. Но вот насколько он важен?

3. Добавление поддержки контроллеров STM. Ну, тут объяснять не надо, и так понятно. Какое то количество плат на различных контроллерах STM у меня уже есть. Базовые принципы вроде разобрал, но работы всё равно очень много. Ориентировочно интеграция займёт 3 - 5 месяцев.

4. FLProg IOT сервер. Это совершенно новая моя идея, и сейчас я озвучиваю её в первый раз. Родилась она после изучения форума, ну и рассмотрения систем вроде MajorDoMo, Openhab, ioBroker, IoTManager. Сейчас все эти системы очень популярны, и востребованы. Поизучав «матчасть», честно говоря, мне ни одна не понравилась. Ну конечно это моё личное мнение, не хочу развивать холивар. Но с моей точки зрения, всё-таки они в большинстве своём во первых громоздкие, во вторых очень тяжелы в установке, требуют определённых знаний и умений в настройке, да и вообще нужен бубен шамана. Ну и конфигурирование этих систем всё-таки требует знания программирования (пускай и на уровне скриптов). Я считаю, что это не наш путь. Я решил (ещё на этапе создания Скады) немного расширить слоган проекта. Теперь это “Iot для непрограммистов”. При создании скады я пользовался принципом “компьютер – как контроллер”. Почему бы его не применить и для Iot сервера (ну или облака если хотите).
Теперь сама суть идеи. Это будет новый тип проекта (что ни будь вроде «Iot сервер»). Он так же будет иметь своё дерево, в котором можно будет создавать страницы веб интерфейса, будет ветка схемы, и ветка мастеров. Сервер будет являться Modbus TCP слейвом для устройств. Страницы вэб интерфейса будут создаваться по принципу, который сейчас используется для создания вэб интерфейса настройки ESP8266 только более расширенному. Схема будет использовать привычный нам язык FBD ( и LAD – возможно, ещё не решил).
Подключение к устройствам будет происходить по протоколу Modbus TCP. Сервер будет слейвом, устройство мастером. Это во первых позволит устройству кроме общения с сервером общаться с другими устройствами (слейвами) напрямую, во вторых исключит необходимость проброса портов и белого IP, поскольку инициатором соединения будет устройство. Переменные модбас можно будет использовать в логической схеме сервера, и в веб интерфейсе сервера. Кроме того в вэб интерфейсе сервера конечно можно будет использовать любые переменные схемы. Ну, в общем, по аналогии со скадой.
При компиляции проекта будет создаваться набор файлов на PHP и папок с ресурсами (скриптами, стилями, картинками) которые необходимо будет закинуть на сервер. В случае с PHP в качестве сервера может быть что угодно, арендованный хостинг, отдельный компьютер, малинка, апельсинка. Это может быть как сервер в интернете, так и локальный сервер в сети. Со временем, скорее всего, появится возможность создавать свои виджеты и блоки по аналогии с пользовательскими блоками на С, но только на PHP. Естественно с возможностью обмена ими и составления своих библиотек. Время реализации – ну не знаю…. Думаю за пару - тройку месяцев бетку можно выпустить, ну а потом только расширять.


Это глобальные направления развития. Все они очень интересны, все они продуманны, и вполне реализуемы. Но я трезво смотрю на свои возможности. Более менее плотно работать я могу только на вахте, дома у меня уже два инвалида (про мать я говорил, а тут ещё и у отца онкология, и вырезали половину желудка), поэтому времени на проект не остаётся. Исходя из этого, всё сразу я просто физически не потяну. Поэтому хочу провести голосовалку. Что более востребовано сейчас, и более интересно в ближайшем будущем. Ну и конечно вы можете в данной теме описывать своё виденье будущего программы, возможно, свои замечания по предложенным направлениям.

Ну и что точно будет сделано в ближайшее время.
1. Естественно IR управление для ESP8266
2. Возможность подключения к облаку Kascada. Пока разбираюсь с этим.
3. Реализация работы ESP с RemoteXY (надеюсь получится)
4. Ну и по мере необходимости устранение найденных ошибок

Так что голосуем, пишем свое мнение, для меня оно очень важно.
Автор программы FLProg.

ecoins
Лейтенант
Сообщения: 457
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 54
Откуда: Шатура
Имя: Энвер

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

#221

Сообщение ecoins » 29.11.2018{, 07:16}

Неплохо представляю, что за код генерит FLProg. На мой взгляд всё очень изящно сделано, коды для работы с временем положил в основу функций своих библиотек. Некоторое время отнимают функции типа digitalWrite - гурманы для экономии нескольких микросекунд могут использовать прямое обращение к портам.
Мне не удалось найти изъянов в коде C++, генерируем FLProg.

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 325
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 35
Откуда: Омск

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

#222

Сообщение kulibinsvv » 29.11.2018{, 09:02}

ecoins, я вам уже писал, что FLProg не генерирует кода С++. Не вводите людей в заблуждение. Если Wiring похож по синтаксису на С, то это не значит что FLProg генерирует код С++. Wiring - это ближе к Java. И хочется отметить, что С далеко не С++.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
Sancho
Полковник
Сообщения: 3323
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 428
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#223

Сообщение Sancho » 29.11.2018{, 10:05}

kulibinsvv, Не злорадствуйте, если пишите на чистом си.
Ещё
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 325
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 35
Откуда: Омск

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

#224

Сообщение kulibinsvv » 29.11.2018{, 10:25}

Sancho, я не пишу ни на С, ни на С++, ни на Wiringe и злорадствовать не собирался. Я слишком давно работаю с микроконтроллерами в плане схемотехники. За статью, спасибо. Правда, я не со всеми размышлениями автора согласен. Но это совсем другая тема. :smile225:
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

ecoins
Лейтенант
Сообщения: 457
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 54
Откуда: Шатура
Имя: Энвер

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

#225

Сообщение ecoins » 29.11.2018{, 14:30}

Flprog, C, C+, Wiring, Java:
Wiring - это C++ c добавлением некоторых функций, упрощающих работу с аппаратными средствами и соответственно поддерживающих совместимость с разными моделями контроллеров. Например setup(), loop(), digitalWrite(), millis() и т.п. Этих функций немного и использовать их не обязательно, можно использовать свои функции для работы с аппаратными ресурсами контроллеров.
Подключение части библиотек ограничено из-за их ограниченной памяти, но других особенных ограничений нет.
FLProg генеририт код на Wiring (то есть по сути C++), пользовательские блоки и библиотеки могут писаться на чистом C++. В пользовательских блоках он реализован минималистично, потому там писать приходится писать аккуратно. Например каждую переменную объявлять приходится в отдельной строке и прочие штучки, создающие легкий дискомфорт. Лучше сложные вещи оформлять в библиотеки и подключаться к их функциям из пользовательски блоков.

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 325
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 35
Откуда: Омск

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

#226

Сообщение kulibinsvv » 30.11.2018{, 07:13}

Люблю пользоваться первоисточниками!
Wiring WikiПоказать
Wiring.png
Wiring.png (11.67 КБ) 1731 просмотр
Welcome to the Wiring Wiki!
И ещё один интересный дипломный проект: Wiring: Prototyping Physical Interaction Design
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
Sancho
Полковник
Сообщения: 3323
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 428
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#227

Сообщение Sancho » 30.11.2018{, 08:19}

Коллеги, Вы ушли от темы! Вам в другую...
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 325
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 35
Откуда: Омск

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

#228

Сообщение kulibinsvv » 30.11.2018{, 09:14}

Sancho писал(а):
30.11.2018{, 08:19}
Коллеги, Вы ушли от темы! Вам в другую...
У меня, на фоне этого обсуждения, родилось предложение.
Действительно, зачем нужна прослойка из Arduino IDE? Может пусть FLProg сразу генерит полноценный С++ код? И использует все возможности этого языка. А просмотр и редактирование кода, а так же логов компиляции, каждый может осуществлять тем, чем ему больше нравится/понравится.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
benic
Сержант
Сообщения: 167
Зарегистрирован: 07.01.2018{, 13:47}
Репутация: 4

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

#229

Сообщение benic » 30.11.2018{, 10:00}

kulibinsvv писал(а):
30.11.2018{, 09:14}
....... пусть FLProg сразу генерит полноценный С++ код?
Если в основе С++ лежит #C. Путём добавления библиотек, то в корне #C и добавляй на что способен.

ecoins
Лейтенант
Сообщения: 457
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 54
Откуда: Шатура
Имя: Энвер

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

#230

Сообщение ecoins » 01.12.2018{, 08:28}

У Arduino IDE есть полезные свойства:
1. Загрузка программ прежде всего через usb
2. Поддержка совместимости для работы с аппаратными средствами (прежде всего с портами) даже на очень разных контроллерах .
Удобная и возможно уникальная среда программирования. Есть улучшенные аналоги.

Аватара пользователя
support
Супермодератор
Сообщения: 1459
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 487
Откуда: Астрахань
Имя: Сергей
Контактная информация:

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

#231

Сообщение support » 15.12.2018{, 21:55}

Доброй ночи.
Я, наконец, появился, сегодня приехал на вахту, и у меня первая ночная смена.
Хочу извиниться за то, что практически не отвечал на письма и сообщения, дома честно говоря, было очень мало времени на это. С проектом кое-что сделал, но немного.
Сегодня у меня организационный день, разбираюсь с письмами, форумом, анализирую найденные Вами ошибки и с завтрашней ночи начну их править.
Теперь по теме топика.
В принципе результаты опроса совпали с моими ожиданиями, так что согласно ним я и буду работать. В первую очередь устранение текущих ошибок (многие честно говоря, очень неожиданные, буду разбираться). Через недельку – полторы постараюсь выпустить версию с исправлениями. Пока сосредоточусь на получении стабильной версии. Так что в ближайших нескольких версиях нового функционала практически не будет (есть несколько мелких задач, которые реализую). Параллельно начну реализацию новой отрисовки. Это будут независимые классы, поэтому они на работу основной программы влиять не будут, а при готовности (и после создания максимально стабильной версии в текущей реализации) я просто переключу модель на них.
Так же параллельно буду добивать архив версий на сайте (а то многим нужны более ранние версии, а найти их сложно).
После отработки и тестирования новой системы отрисовки, займусь контроллерами STM. Сейчас я по возможности изучаю эту тему, и всё решаю, как поддержка этих контроллеров будет реализована.
Так что работа продолжается)))
Автор программы FLProg.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 320
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 46
Откуда: Днепропетровск
Имя: Алексей

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

#232

Сообщение RedSky » 16.12.2018{, 19:12}

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

Аватара пользователя
support
Супермодератор
Сообщения: 1459
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 487
Откуда: Астрахань
Имя: Сергей
Контактная информация:

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

#233

Сообщение support » 16.12.2018{, 19:18}

RedSky писал(а):
16.12.2018{, 19:12}
Внесу предложение в плане развития возможностей программы. Как насчёт создать блок пользователя-функцию. Смысл в том чтобы использовать один и тот же код в разных частях проекта. К примеру расчёт температуры от нескольких терморезисторов с разных аналоговых входов. Сейчас придётся использовать одинаковые блоки на каждый датчик (значительный расход ресурсов для одинаковых действий) или создавать свой блок с функцией на нужное количество датчиков.
Если использовать пользовательские блоки на FBD или LAD то это именно так и работает. То есть код самого блока вынесен в функцию (при многократном его использовании код не дублируется), а в месте его применения просто вызывается эта функция. Блоки на С немного по другому устроены, но там то же можно подобный функционал написать. Те кто их пишет - поймут как
Автор программы FLProg.

pan
Полковник
Сообщения: 2846
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 190
Имя: noname

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

#234

Сообщение pan » 16.12.2018{, 19:40}

support писал(а):
16.12.2018{, 19:18}
там то же можно подобный функционал написать
Вы возможно читали темы посвященные этому вопросу, но было очень много хороших предложений по поводу
улучшения пользовательских блоков на Си.
если надо можно и ссылки найти

Аватара пользователя
RedSky
Лейтенант
Сообщения: 320
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 46
Откуда: Днепропетровск
Имя: Алексей

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

#235

Сообщение RedSky » 17.12.2018{, 13:09}

Добавлю ещё несколько предложений, список хотелок из форума за продолжительное время. Некоторые вещи были сделаны пользователями и доступны в блоках, как насчёт включения их в основной функционал?
Вот примерный список:
- Ftrigger
- вывод оставшегося времени в таймере
- скоросной счётчик считает время между импульсами
- предустановка для скоростного счётчика
- для Т триггера добавить входы сброса и установки (или для RS добавить вход инвертирования)
- сделать сохранение состояния Ттриггрера в eeprom
- более гибкое управление eeprom. Хотя бы указывать стартовый адрес в проекте (возможно
наползаниее адресов один на другой, если в пользовательком блоке используется прямое обращение по адресу)
- чтение из eeprom сделать только при старте программы (перенести в setup)
- контроль обрва ds18b20 (и по возможности других цифровых датчиков)
- победить срабатывание реле при старте (которые низким уровнем включаются)
- выполнение платы по прерыванию/таймеру (наверно много хочу, тут придётся код из платы в функцию засовывать)
- штатный watchgog для uno
- сон для avr
- undo/redo
- хотя бы примитивный поиск

Пусть другие пользователи выскажутся по этому поводу. Голоса по доработке Flprog и добавлении stm32 поделились поровну, может стоить устроить ещё одно голосование, по доработке функционала?

Аватара пользователя
Anydy
Администратор
Сообщения: 2501
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 175
Имя: Андрей

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

#236

Сообщение Anydy » 17.12.2018{, 16:02}

RedSky писал(а):
17.12.2018{, 13:09}
может стоить устроить ещё одно голосование, по доработке функционала?
Тему с голосованием то не проблема создать, нужно только сначала подготовить список пунктов для голосования, иначе при редактировании списка уже проголосовавшие не смогут выбрать другой пункт.
Можно разрешить голосование за несколько пунктов.
Разрешать изменять свой голос думаю не нужно.

Аватара пользователя
Phazz
Майор
Сообщения: 1171
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 72
Откуда: Сургут
Имя: Анатолий

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

#237

Сообщение Phazz » 17.12.2018{, 18:37}

Голосование по нескольким пунктам необходимо. Если бы в этом опросе было такое, то рассклад голосов я думаю был бы иным.

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 379
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 44
Откуда: Днепр.UA
Имя: Григорий
Контактная информация:

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

#238

Сообщение grin-mpx » 17.12.2018{, 19:18}

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

P.S. Посмотрел на первое сообщение автора, действительно речь об отрисовке. :( Значит нужно к отрисовке добавить и функционал и исправление багов.

Аватара пользователя
dekorator
Лейтенант
Сообщения: 374
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 6
Откуда: Баку

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

#239

Сообщение dekorator » 19.12.2018{, 13:57}

Я тоже помню вроди было не только про отрисовку.
Сменили наверно.

KulibinOrsk
Сержант
Сообщения: 236
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 14
Откуда: Оренбург
Имя: Александр

Версия программы 4.х

#240

Сообщение KulibinOrsk » 25.12.2018{, 21:39}

support, Уважаемый автор. Вы видите сколько мелких ошибок идет в основном коде. И это я наблюдаю с февраля этого года.
Зато как говорится есть ESP и чего там еще...
Сделайте сердце программы, её мотор, и потом развивайте. НЕ отвлекайтесь пожалуйста на мнения тех кто хочет все и сразу. Так все растеряете.
Вдумайтесь только - ГОД а мелкие недочеты валятся и валятся - ну кто при таком раскладе будет более менее серьезно заниматься ? Тут действительно получится только для начального обучения и потом от ошибок расстраиваться и бросать все.
Не отвлекайтесь на STM - выйдет и не тут и не там. Кто пишет на STM тот пишет напрямую в коде. Он не будет ждать доделок. Обычно STM это либо профи либо начинающий, который и толком то не проверит программу, а профи забросит это дело.

Ответить

Вернуться в «Темы от автора»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ingwar, WZV и 10 гостей