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

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

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

Оптимизация отрисовки схемы в проекте для контроллера
81
28%
Расширение возможностей скады
27
9%
Добавление поддержки контроллеров STM.
117
41%
FLProg IOT сервер
46
16%
Свое направление (описание в теме)
14
5%
 
Всего голосов: 285

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

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

#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.

slsl
Рядовой
Сообщения: 70
Зарегистрирован: 08.12.2021{, 22:41}
Репутация: 8
Имя: Вячеслав

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

#321

Сообщение slsl » 26.01.2024{, 08:46}

Ещё пожелание:
для переменных есть контекстное меню "использование", позволяющее быстро найти данную переменную по всему алгоритму, хотелось бы такое и для системных/пользовательских параметров.

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#322

Сообщение VNL64T » 26.01.2024{, 21:32}

Phazz писал(а):
26.01.2024{, 04:07}
ecoins писал(а):
26.01.2024{, 01:11}
хотя логичнее в лево
Так она там тоже есть. Хотя я пользуюсь контекстным меню вызываемым правой кнопкой мыши
Верно есть.. не заметил изначально..

Отправлено спустя 2 минуты 39 секунд:
kulibinsvv писал(а):
26.01.2024{, 05:55}
VNL64T писал(а):
26.01.2024{, 03:29}
П.С. Полоса с названием файла с обводкой текущего, явно избыточна...плюс под ним полоса с названием модуля...
Как вы предлагаете переключаться между несколькими открытыми файлами?
А вот полоса с названием модуля явно лишняя. Используемый модуль можно посмотреть внизу.
СпойлерПоказать
Вверху.jpgВнизу.jpg
Ширина точнее уж высота этой полоски избыточна..

Отправлено спустя 2 минуты 15 секунд:
Короче при работе постоянное ощущение что тесно :smile37:

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#323

Сообщение VNL64T » 29.01.2024{, 01:32}

Чего не хватает (собственно как и знаний языка чтобы создать)
на данный момент что заметил.
SR триггер
RS триггер
логические.. а нужны еще и числовые!!!
S вход число
R вход логический
Q выход число

Отсутствуют как логические так и числовые
TD триггер
TT триггер переключающий (не путать с имеющимся Т триггером логическим)

TD триггер который не изменяет (сохраняет) последнее установленное значение на выходе Q,
при нулевом значении на входе допустим B (логический). При наличии ненулевого значения на входе B (числовой), значение входа допустим А (числовой) копируется на выход Q.
(для создания логического Числовой вход изменить на Логический)

TT триггер при наличии ненулевого значения на входе A (Числовой), изменяет значение на выходе Q (Числовой) по переднему фронту на входе B(логический).


С уважением..

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#324

Сообщение WildCat » 29.01.2024{, 01:44}

VNL64T писал(а):
29.01.2024{, 01:32}
логические.. а нужны еще и числовые!!!
Зачем?
Триггеры и логика в цифровой схемотехнике - битовые операторы, зачем логику нагружать числами? Это только усложнит проект и его отладку.

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#325

Сообщение VNL64T » 29.01.2024{, 01:56}

Зачем?
Попробую объяснить..
Ситуация.. нужно отправить в на выход ШИМ число по условию и не снимать его от туда до наступления нового условия..
Что происходит сейчас.. Каждый цикл отправляем тоже число до момента его изменения.. и получается аппаратный шим сейчас привязан не только к прерываниям таймера а еще и к циклу выполнения программы.. и все ничего пока вы управляете Заполнением кое как справляется, в случае попытки работать с периодом все полный крах..
И я думаю подобных операторов еще найдется..
Понятен смысл?
Я все не понимал почему аппаратный шим валится при работе с схемой и полностью адекватен при условии что у него жестко прописанные переменные на входах, сообразил... думаю :smile37: ага ща я тебя победю, все го то нужно отвязаться от цикла, не тут то было нечем :smile44: ..
(Хотя сейчас попробую использовать запись и чтение EEPROM)

Человек мне тут советовал на двух ядерную платформу уйти, я согласен в целом но зачем? если можно на одном кристалле только правильно нужно использовать его возможности..

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#326

Сообщение WildCat » 29.01.2024{, 03:09}

Аппаратный ШИМ на то и аппаратный, что не привязан к циклу программы. Он в другом разделе ядра.

Вообще не понимаю о чем речь.
ШИМ и при 10000 циклах в секунду, и при 100 стабилен. Никогда в этим не было проблем.
Видимо, что-то не то делаю.

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

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

#327

Сообщение ecoins » 29.01.2024{, 04:15}

VNL64T писал(а):
29.01.2024{, 01:56}
Человек мне тут советовал на двух ядерную платформу уйти, я согласен в целом но зачем? если можно на одном кристалле только правильно нужно использовать его возможности..
Нельзя. Если захотите разобраться, придется углубить в системные библиотеки Arduino IDE на C++.
В действительности реализация PWM в Arduino IDE не совсем аппаратная - она программно-аппаратная и построена на прерываниях от таймера.

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

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

#328

Сообщение Phazz » 29.01.2024{, 05:24}

VNL64T, Практически все что вы описали делает вход разрешения записи. Он есть как у переменных, так и у выходов.

starmos
Сержант
Сообщения: 115
Зарегистрирован: 11.04.2016{, 15:46}
Репутация: 13
Откуда: Челябинск

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

#329

Сообщение starmos » 29.01.2024{, 09:18}

VNL64T писал(а):
29.01.2024{, 01:56}
Зачем?
Попробую объяснить..
Ситуация.. нужно отправить в на выход ШИМ число по условию и не снимать его от туда до наступления нового условия..
Что происходит сейчас.. Каждый цикл отправляем тоже число до момента его изменения.. и получается аппаратный шим сейчас привязан не только к прерываниям таймера а еще и к циклу выполнения программы.. и все ничего пока вы управляете Заполнением кое как справляется, в случае попытки работать с периодом все полный крах..
И я думаю подобных операторов еще найдется..
Понятен смысл?
Я все не понимал почему аппаратный шим валится при работе с схемой и полностью адекватен при условии что у него жестко прописанные переменные на входах, сообразил... думаю :smile37: ага ща я тебя победю, все го то нужно отвязаться от цикла, не тут то было нечем :smile44: ..
(Хотя сейчас попробую использовать запись и чтение EEPROM)

Человек мне тут советовал на двух ядерную платформу уйти, я согласен в целом но зачем? если можно на одном кристалле только правильно нужно использовать его возможности..
Если я правильно вас понял, то это реализуется последовательно: битовый триггер, переключатель и вход разрешения записи вашей переменной ШИМ. Триггер вы переключаете как и хотите, по состоянию его выхода переключатель подставляет нужное вам число, и по сигналу переключения триггера оно записывается в переменную, в остальное время не изменяется. Т.е. в общем "не следует плодить сущности свыше необходимости".
Но можно на С написать свой блок нужного вам триггера. Вообще это одно из огромных достоинств данной программы, что все что нужно можно написать на С, при необходимости.

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#330

Сообщение VNL64T » 29.01.2024{, 10:18}

starmos писал(а):
29.01.2024{, 09:18}
Если я правильно вас понял, то это реализуется последовательно: битовый триггер, переключатель и вход разрешения записи вашей переменной ШИМ. Триггер вы переключаете как и хотите, по состоянию его выхода переключатель подставляет нужное вам число, и по сигналу переключения триггера оно записывается в переменную, в остальное время не изменяется. Т.е. в общем "не следует плодить сущности свыше необходимости".
Но можно на С написать свой блок нужного вам триггера. Вообще это одно из огромных достоинств данной программы, что все что нужно можно написать на С, при необходимости.

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

Отправлено спустя 6 часов 4 минуты 39 секунд:
И если позволите еще одни глупый вопрос... :smile427:
Обратные связи запрещены.. Хорошо, не совсем понятно ну да ладно... приняли пошли дальше....
Создаем переменную, все как бы логично понятно, одно не понятно что это за переменная такая которую можно применить только в 2х экземплярах..
Как быть если по тому же событию нужно допустим единицу отправить еще в несколько мест?
Схема в прогрессии заростает Триггерами и Свитчами там где можно обойтись той же переменной...

Спасибо....

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

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

#331

Сообщение ecoins » 29.01.2024{, 16:30}

VNL64T писал(а):
29.01.2024{, 16:22}
Создаем переменную, все как бы логично понятно, одно не понятно что это за переменная такая которую можно применить только в 2х экземплярах..
Не понятен вопрос - можно сколько нужно. На разных платах очень эффективно (быстрее, удобнее, меньше памяти использует) использование "Клеммы" (в "Базовых элементах" последняя строка).
С уважением, ecoins.

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#332

Сообщение VNL64T » 29.01.2024{, 16:37}

Только что столкнулся, не работают больше 2х переменных, NANO 328р пока сообразил все ногти стер...
FLP 8.2.3

Отправлено спустя 18 минут 26 секунд:
RSтриггер по событию запускает счётчик, счет до 60 ( по старой привычке на выходе размещаю сравнение 60 >= на выход переменную RS на сброс счетчика и первого раньше упомянутого RS триггера.
грузим в МК по признакам видим счетчик запустился , спокойно перешагнул сравнение и пошел дальше...(так как RS триггер не сброшен)
Не понимаем..(думаем сам д..к, убираем сравнение, счетчик выводим на ограничение макс 60 и вывод единицы, на него переменную RS на сброс счета, и таже переменная на сброс RS триггера.
Грузим в МК по признакам видим счетчик запустился , спокойно перешагнул сброс и пошел дальше...(так как RS триггер не сброшен)
Думаем сам д..к. создаем отдельную переменную RS1 на сброс RS триггера, счетчик оставляем в конфигурации как ранее, сбрасывает своими переменными сам себя, на выход счета ставим сравнение >= на выход переменную RS1..
Грузим в МК по признакам видим счетчик запустился , дошел до 60 и о чудо цепочка прервалась по сброшенному RS триггеру.
Но это не финиш так как планировалась первая переменная RS еще в одном мете как сброс выше упомянутой цепи в целом..
ее отсутствие потянуло ряд других проблем...
Переменные-истина все.

Отправлено спустя 14 минут 30 секунд:
С платами пока не разобрался иду одной кучей по старой привычке, хотя плюсы уже уловил, но еще не принял..
Последний раз редактировалось VNL64T 29.01.2024{, 17:21}, всего редактировалось 1 раз.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#333

Сообщение vovka1973 » 29.01.2024{, 17:13}

VNL64T писал(а):
29.01.2024{, 16:56}
Переменные-истина все.
проект бы выложили где у вас не работает , быстрей бы вам показали где ошибка
Изображение

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

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

#334

Сообщение ecoins » 29.01.2024{, 17:13}

VNL64T писал(а):
29.01.2024{, 01:32}
S вход число
R вход логический
Q выход число
Перед входами R, S можно поставить блок сравнения...

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#335

Сообщение VNL64T » 29.01.2024{, 17:26}

Не вопрос..

Отправлено спустя 4 минуты 11 секунд:
Толька не смеяться... :smile469:
Вложения
RPM gen переменные .flp
(6.75 МБ) 12 скачиваний

Аватара пользователя
cmept-27
Сержант
Сообщения: 270
Зарегистрирован: 08.12.2016{, 15:51}
Репутация: 76

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

#336

Сообщение cmept-27 » 29.01.2024{, 17:56}

ecoins, VNL64T, Тема вроде называется "Обсуждение дальнейших путей развития программы" ?
OK

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#337

Сообщение VNL64T » 29.01.2024{, 17:58}

cmept-27 писал(а):
29.01.2024{, 17:56}
ecoins, VNL64T, Тема вроде называется "Обсуждение дальнейших путей развития программы" ?
Так и занимаемся поиском недостатков, для последующего устранения.. :smile44:

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

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

#338

Сообщение ivansidor012 » 29.01.2024{, 18:07}

редактор блоков нужен исправленный, а не вот эти все танцы с твикерами и лайфхаками в виде подставления скобок - только наличие редактора позволяет интегрировать любые библиотеки в флпрог, а значит развивать флпрог.

учитывая что даже на питоне люди делают доработки редактора - это означает что для автора доработка вообще не будет сложной, если конечно наличие ограниченного по возможностям редактора не является концепцией самой программы
Последний раз редактировалось ivansidor012 29.01.2024{, 18:11}, всего редактировалось 1 раз.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#339

Сообщение vovka1973 » 29.01.2024{, 18:09}

VNL64T писал(а):
29.01.2024{, 17:58}
Так и занимаемся поиском недостатков, для последующего устранения.
это не недостатки а неправильное составление алгоритма программы ,у вас переменная res2 меняется с двух мест и на одной плате так нельзя.
СпойлерПоказать
RPM gen переменные 22.flp
(6.72 МБ) 11 скачиваний
Последний раз редактировалось vovka1973 29.01.2024{, 18:24}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
cmept-27
Сержант
Сообщения: 270
Зарегистрирован: 08.12.2016{, 15:51}
Репутация: 76

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

#340

Сообщение cmept-27 » 29.01.2024{, 18:11}

Про старпера ecoins, молчу. Но для тебя VNL64T есть ветки на форуме Помогите, а то я "нимагу" , Начинающим, Спросить у знатоков
OK

Ответить

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