Меню и блоки ECOINS

8 канальный таймер на блоках ECOINS

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

Меню и блоки ECOINS

#1

Сообщение belyx » 10.04.2021{, 18:08}

Меню и блоки ECOINS
8 канальный таймер на блоках ECOINS

В первую очередь я хотел бы обратить внимание на эту тему ECOINS.
Не хочу продолжать эту бесконечную тему "Разработки ecoins"
(хотя тема очень актуальная и востребованная) поскольку
прежде чем начать данный проект я заново перечитал всю (50 страниц)
тему "Разработки ecoins" и это заняло у меня довольно продолжительное
время и мне не хотелось бы валить очередной вопрос в одну кучу,
в теме и так нелегко разобраться и что-то потом найти.
Поэтому решил создать новую тему.
Итак, 8 канальный таймер без меню прекрасно себя показал,
пробовал на частоте генератора 2 гц - не тормозил.
Проект 20,7 мб пришлось упаковать в архив
copy megaTIMER_730-3 26 klava sait .rar
(421.48 КБ) 53 скачивания
PDF файл :
таймер 8к.pdf
(135.36 КБ) 73 скачивания
При добавлении меню (чтоб изменять временные параметры) возникли
проблемы именно при входе и выходе из меню:
---------------------------------------------
если на экране константа -ST (стоп - отсчёт закончен),
при входе и затем выходе из меню, то она ( -ST) не выводится -экран пустой .
тоже самое если из рабочего режима (отсчёт) захожу в меню - может быть экран пустым.
(наверно в библиотеке ECOINS прописано , что если
константа или информация не поменялась то нечего её и выводить)
а индикатор должен вывести -ST (статус стоп (-ST) -это не пустое место).

видео на сайт не грузится поэтому смотрим по ссылке
видео

Неплохо было бы это как то исправить,
может быть не хватает отдельного входа (вывод по событию) в блоках вывода ECOINS
при подаче импульса на который происходило бы обновление (вывод)

Ну может быть есть другое решение,которое мне неведомо.
Может кто-нибудь из форумчан и подскажет решение.
Попутно пробовал сделать управление меню энкодером-пока отложил из-за
отсутствия хорошего и вообще непонятно-будет ли он работать с диспетчером задач.
Примера проекта в котором были бы блоки меню (энкодер) и блоки ECOINS я не нашёл.
В проекте есть комментарии.
Платы в которых есть непонятки и вопросы подсвечены жёлтым и красным цветом.
В процессе пробовал и штатные блоки вывода,но скажу что экран просто висел.
Сравнительные картинки с помощью логического анализатораПоказать
сравнение.jpg
файлы логического анализатора (открываются программой Saleae Logic 1.2.14)
в архиве,распаковать
logic.rar
(73.44 КБ) 40 скачиваний

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

Меню и блоки ECOINS

#2

Сообщение ecoins » 10.04.2021{, 21:49}

belyx писал(а):
10.04.2021{, 18:08}
Ну может быть есть другое решение,которое мне неведомо.
Блоки lcd ecoins обновляют значение полей при изменении их значений. Это нужно для уменьшении кол-ва транзакций при обмене с lcd. Это можно обойти, но Ваша проблема несколько ином.
У Вас два независимых алгоритма (задачи) асинхронно записывают поля на одно и тоже физическое устройство и соответственно возникают конфликты.
Для этого случая предусмотрены расширенные блоки и у них есть вход разрешения EN.
Под разные задачи соберите нужные блоки lcd c нужными полями в группы и объедините их входы разрешения.
Таких групп можно быть сколько угодно - под разные задачи.
Управление выбирать нужное отображение задачи - в каждый момент включается нужная группа.
Блоки при переходе EN из 0 в 1 первый раз принудительно обновляют все поля независимо от их предыдущего значения, потом только после изменения.
Это все проверялось и хорошо работает - были примеры.
В новом редакторе это опция будет сделана более удобно и понятно.
Успехов.

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

Меню и блоки ECOINS

#3

Сообщение belyx » 10.04.2021{, 23:06}

ecoins,
ecoins писал(а):
10.04.2021{, 21:49}
Для этого случая предусмотрены расширенные блоки и у них есть вход разрешения EN.
а у меня и стоят расширенные блоки со входом EN
ecoins писал(а):
10.04.2021{, 21:49}
Под разные задачи соберите нужные блоки lcd c нужными полями в группы и объедините их входы разрешения.
Если б я знал как! я б не писал здесь. Тут не понял,строку с меню что поделить по полям?
И как тогда это сделать?
ecoins писал(а):
10.04.2021{, 21:49}
Это все проверялось и хорошо работает - были примеры.
Если не трудно,подсказали бы решение если его знаете, не тороплю от слова совсем.
Примеры может и были но без меню.
Успехов и Вам.

Отправлено спустя 11 минут 34 секунды:
P.S.Прошу учесть, что для меня этот проект никакого практического применения не имеет,это просто хобби, просто пытаюсь сам разобраться в ваших блоках и чтоб другие пользователи разобрались. А может и другим пользователям проект пригодился бы.

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

Меню и блоки ECOINS

#4

Сообщение ecoins » 11.04.2021{, 03:11}

Посмотрел Ваш проект - интересный.
Вы вроде все так все делаете с LCD, напутано с логикой формирования сигналов разрешения P1,P2....
Это собственно и видно на Вашем видео. Тут возможно стоит уточнить - что собственно Вы хотите отображать и когда?
На первый взгляд достаточно 1 битового сигнала для отображения 2 разных наборов, но возможно мне просто не понятна цель алгоритма.
Если проблема не решится, попробую посмотреть проект, когда у меня будет более комфортная среда (после 17-18).
-----
По некоторым Вашим вопросам, выделенных в проекте:
1. С платы 2 блок настройки консоли надо переместить в плату с Диспетчером.
Он работает в несколько этапов (для совместимости с DUE.STM32 и пр). К выходу head требуется подключить переменную bool "Разрешение вывода заголовков".
2. Плату 2 - вывод на консоль красивее разместить после платы с диспетчером. Эта плата должна выполняться по условию "Разрешение вывода заголовков".
На этой плате в конце стоит блок, который сбрасывает этот сигнал. Не забудьте в начале цепочки выводимых блоков установить 1.
В итоге отпадут вопросы по выводу на консоль, которые у Вас возникли в проекте.
3. Блок инициализации корректнее разместить на плате вывода lcd - проект будет работать пошустрее.
4. По плате 5 (закомментирована) стоит блок защиты от дребезга - это источник "торможения". В библиотеке вроде должен быть еще и элемент дискретного ввода с защитой от дребезга - если нет, то в новой библиотеке будет.
5.Генерато секунд (7 задача) вызывается в каждом цикле - это чуть притормаживает проект (8-битные контроллеры не шустро работают с 32-разрядными значениями, в т.ч. и с функцией miillis(), которая используется в генераторе.
Секундный импульс (событие на 1-цикл loop) правильнее получить на плате диспетчер, установить блок сравнения num_slow==1.
6.По плате 18(закомментирована) - энкодер вроде должен работать, не испытывали.
7.По плате 25 - блоки пин.do - это блоки дискретного вывода. Для аналогового ввода - блоки пин.ai.
------
Вы проделали большую и интересную работу.
Надеюсь, что после того как мы выложим блоки на новом редакторе, будет попроще в них разобраться и проще использовать. И они еще шустрее работают.
----
Успехов.

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

Меню и блоки ECOINS

#5

Сообщение belyx » 12.04.2021{, 11:51}

Спасибо за ответ!
ecoins писал(а):
11.04.2021{, 03:11}
напутано с логикой формирования сигналов разрешения P1,P2...
ecoins писал(а):
11.04.2021{, 03:11}
стоит уточнить - что собственно Вы хотите отображать и когда?
Р1-Р8 это релейные выходы,с этой же структуры плата 17 на выходы: 0-выкл,1-вкл. Выхода инвертируем - релейные модули управляются нулём.
в плате 23 : при Р1=1 отображается время таймера,при Р1=0 - надпись -ST (ну не хотел я видеть 000)
ecoins писал(а):
10.04.2021{, 21:49}
У Вас два независимых алгоритма (задачи) асинхронно записывают поля на одно и тоже физическое устройство и соответственно возникают конфликты.
тут конфликтов не возникает: если переменная (клемма) "в меню"=1 то работает плата 22,если "в меню"=0 то работает плата 23
33.jpg

Gordon0007
Сержант
Сообщения: 138
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

Меню и блоки ECOINS

#6

Сообщение Gordon0007 » 13.04.2021{, 08:50}

ecoins писал(а):
11.04.2021{, 03:11}
Надеюсь, что после того как мы выложим блоки на новом редакторе, будет попроще в них разобраться и проще использовать. И они еще шустрее работают
Ждем с нетерпением :smile9:

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

Меню и блоки ECOINS

#7

Сообщение ecoins » 25.05.2021{, 01:55}

belyx писал(а):
10.04.2021{, 18:08}
Итак, 8 канальный таймер без меню прекрасно себя показал,
пробовал на частоте генератора 2 гц - не тормозил.
Посмотрел повнимательнее Ваш генератор? Могли ли Вы функционально описать его и привести примеры актуального использования. Если нас заинтересует, мы бы встроили в библиотеку эту функцию и сделали бы под неё компактный блок.

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

Меню и блоки ECOINS

#8

Сообщение belyx » 25.05.2021{, 13:25}

ecoins писал(а):
25.05.2021{, 01:55}
привести примеры актуального использования
ну например: литьё-,залил,закрылась форма ,начался отсчет,отсчитало-форма открылась и таких позиций может быть и 4 и 8,16,24 и т. д. ; или сушка клея под прессованием аналогично; может быть какие-то дозаторы я думаю. А вот время должно выставлять отдельно для каждого канала или группой с возможностью изменения каждого,также и запуск и стоп для каждого канала.

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

Меню и блоки ECOINS

#9

Сообщение ecoins » 25.05.2021{, 15:11}

belyx писал(а):
25.05.2021{, 13:25}
ну например: литьё-,залил,закрылась форма ,начался отсчет,отсчитало-форма открылась и таких позиций может быть и 4 и 8,16,24 и т. д. ; или сушка клея под прессованием аналогично; может быть какие-то дозаторы я думаю.
Спасибо, вроде идея понятна, возьмем на заметку, можем и встроим такую функцию в библиотеку.

Ответить

Вернуться в «Спросить у знатоков»