Меню и блоки ECOINS
- belyx
- Сержант
- Сообщения: 251
- Зарегистрирован: 24 июл 2016, 20:38
- Откуда: Витебск Беларусь
- Благодарил (а): 7 раз
Меню и блоки ECOINS
Меню и блоки ECOINS
8 канальный таймер на блоках ECOINS
В первую очередь я хотел бы обратить внимание на эту тему ECOINS.
Не хочу продолжать эту бесконечную тему "Разработки ecoins"
(хотя тема очень актуальная и востребованная) поскольку
прежде чем начать данный проект я заново перечитал всю (50 страниц)
тему "Разработки ecoins" и это заняло у меня довольно продолжительное
время и мне не хотелось бы валить очередной вопрос в одну кучу,
в теме и так нелегко разобраться и что-то потом найти.
Поэтому решил создать новую тему.
Итак, 8 канальный таймер без меню прекрасно себя показал,
пробовал на частоте генератора 2 гц - не тормозил.
Проект 20,7 мб пришлось упаковать в архив PDF файл : При добавлении меню (чтоб изменять временные параметры) возникли
проблемы именно при входе и выходе из меню:
---------------------------------------------
если на экране константа -ST (стоп - отсчёт закончен),
при входе и затем выходе из меню, то она ( -ST) не выводится -экран пустой .
тоже самое если из рабочего режима (отсчёт) захожу в меню - может быть экран пустым.
(наверно в библиотеке ECOINS прописано , что если
константа или информация не поменялась то нечего её и выводить)
а индикатор должен вывести -ST (статус стоп (-ST) -это не пустое место).
видео на сайт не грузится поэтому смотрим по ссылке
видео
Неплохо было бы это как то исправить,
может быть не хватает отдельного входа (вывод по событию) в блоках вывода ECOINS
при подаче импульса на который происходило бы обновление (вывод)
Ну может быть есть другое решение,которое мне неведомо.
Может кто-нибудь из форумчан и подскажет решение.
Попутно пробовал сделать управление меню энкодером-пока отложил из-за
отсутствия хорошего и вообще непонятно-будет ли он работать с диспетчером задач.
Примера проекта в котором были бы блоки меню (энкодер) и блоки ECOINS я не нашёл.
В проекте есть комментарии.
Платы в которых есть непонятки и вопросы подсвечены жёлтым и красным цветом.
В процессе пробовал и штатные блоки вывода,но скажу что экран просто висел.
[spoiler title=Сравнительные картинки с помощью логического анализатора] [/spoiler]
файлы логического анализатора (открываются программой Saleae Logic 1.2.14)
в архиве,распаковать
8 канальный таймер на блоках ECOINS
В первую очередь я хотел бы обратить внимание на эту тему ECOINS.
Не хочу продолжать эту бесконечную тему "Разработки ecoins"
(хотя тема очень актуальная и востребованная) поскольку
прежде чем начать данный проект я заново перечитал всю (50 страниц)
тему "Разработки ecoins" и это заняло у меня довольно продолжительное
время и мне не хотелось бы валить очередной вопрос в одну кучу,
в теме и так нелегко разобраться и что-то потом найти.
Поэтому решил создать новую тему.
Итак, 8 канальный таймер без меню прекрасно себя показал,
пробовал на частоте генератора 2 гц - не тормозил.
Проект 20,7 мб пришлось упаковать в архив PDF файл : При добавлении меню (чтоб изменять временные параметры) возникли
проблемы именно при входе и выходе из меню:
---------------------------------------------
если на экране константа -ST (стоп - отсчёт закончен),
при входе и затем выходе из меню, то она ( -ST) не выводится -экран пустой .
тоже самое если из рабочего режима (отсчёт) захожу в меню - может быть экран пустым.
(наверно в библиотеке ECOINS прописано , что если
константа или информация не поменялась то нечего её и выводить)
а индикатор должен вывести -ST (статус стоп (-ST) -это не пустое место).
видео на сайт не грузится поэтому смотрим по ссылке
видео
Неплохо было бы это как то исправить,
может быть не хватает отдельного входа (вывод по событию) в блоках вывода ECOINS
при подаче импульса на который происходило бы обновление (вывод)
Ну может быть есть другое решение,которое мне неведомо.
Может кто-нибудь из форумчан и подскажет решение.
Попутно пробовал сделать управление меню энкодером-пока отложил из-за
отсутствия хорошего и вообще непонятно-будет ли он работать с диспетчером задач.
Примера проекта в котором были бы блоки меню (энкодер) и блоки ECOINS я не нашёл.
В проекте есть комментарии.
Платы в которых есть непонятки и вопросы подсвечены жёлтым и красным цветом.
В процессе пробовал и штатные блоки вывода,но скажу что экран просто висел.
[spoiler title=Сравнительные картинки с помощью логического анализатора] [/spoiler]
файлы логического анализатора (открываются программой Saleae Logic 1.2.14)
в архиве,распаковать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Меню и блоки ECOINS
Блоки lcd ecoins обновляют значение полей при изменении их значений. Это нужно для уменьшении кол-ва транзакций при обмене с lcd. Это можно обойти, но Ваша проблема несколько ином.
У Вас два независимых алгоритма (задачи) асинхронно записывают поля на одно и тоже физическое устройство и соответственно возникают конфликты.
Для этого случая предусмотрены расширенные блоки и у них есть вход разрешения EN.
Под разные задачи соберите нужные блоки lcd c нужными полями в группы и объедините их входы разрешения.
Таких групп можно быть сколько угодно - под разные задачи.
Управление выбирать нужное отображение задачи - в каждый момент включается нужная группа.
Блоки при переходе EN из 0 в 1 первый раз принудительно обновляют все поля независимо от их предыдущего значения, потом только после изменения.
Это все проверялось и хорошо работает - были примеры.
В новом редакторе это опция будет сделана более удобно и понятно.
Успехов.
- belyx
- Сержант
- Сообщения: 251
- Зарегистрирован: 24 июл 2016, 20:38
- Откуда: Витебск Беларусь
- Благодарил (а): 7 раз
Меню и блоки ECOINS
[ref]ecoins[/ref],
И как тогда это сделать?
Примеры может и были но без меню.
Успехов и Вам.
Отправлено спустя 11 минут 34 секунды:
P.S.Прошу учесть, что для меня этот проект никакого практического применения не имеет,это просто хобби, просто пытаюсь сам разобраться в ваших блоках и чтоб другие пользователи разобрались. А может и другим пользователям проект пригодился бы.
а у меня и стоят расширенные блоки со входом ENecoins писал(а): 10 апр 2021, 21:49 Для этого случая предусмотрены расширенные блоки и у них есть вход разрешения EN.
Если б я знал как! я б не писал здесь. Тут не понял,строку с меню что поделить по полям?ecoins писал(а): 10 апр 2021, 21:49 Под разные задачи соберите нужные блоки lcd c нужными полями в группы и объедините их входы разрешения.
И как тогда это сделать?
Если не трудно,подсказали бы решение если его знаете, не тороплю от слова совсем.
Примеры может и были но без меню.
Успехов и Вам.
Отправлено спустя 11 минут 34 секунды:
P.S.Прошу учесть, что для меня этот проект никакого практического применения не имеет,это просто хобби, просто пытаюсь сам разобраться в ваших блоках и чтоб другие пользователи разобрались. А может и другим пользователям проект пригодился бы.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Меню и блоки ECOINS
Посмотрел Ваш проект - интересный.
Вы вроде все так все делаете с 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.
------
Вы проделали большую и интересную работу.
Надеюсь, что после того как мы выложим блоки на новом редакторе, будет попроще в них разобраться и проще использовать. И они еще шустрее работают.
----
Успехов.
Вы вроде все так все делаете с 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
- Сержант
- Сообщения: 251
- Зарегистрирован: 24 июл 2016, 20:38
- Откуда: Витебск Беларусь
- Благодарил (а): 7 раз
Меню и блоки ECOINS
Спасибо за ответ!
в плате 23 : при Р1=1 отображается время таймера,при Р1=0 - надпись -ST (ну не хотел я видеть 000)
Р1-Р8 это релейные выходы,с этой же структуры плата 17 на выходы: 0-выкл,1-вкл. Выхода инвертируем - релейные модули управляются нулём.
в плате 23 : при Р1=1 отображается время таймера,при Р1=0 - надпись -ST (ну не хотел я видеть 000)
тут конфликтов не возникает: если переменная (клемма) "в меню"=1 то работает плата 22,если "в меню"=0 то работает плата 23ecoins писал(а): 10 апр 2021, 21:49 У Вас два независимых алгоритма (задачи) асинхронно записывают поля на одно и тоже физическое устройство и соответственно возникают конфликты.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Меню и блоки ECOINS
Ждем с нетерпениемecoins писал(а): 11 апр 2021, 03:11 Надеюсь, что после того как мы выложим блоки на новом редакторе, будет попроще в них разобраться и проще использовать. И они еще шустрее работают

-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Меню и блоки ECOINS
Посмотрел повнимательнее Ваш генератор? Могли ли Вы функционально описать его и привести примеры актуального использования. Если нас заинтересует, мы бы встроили в библиотеку эту функцию и сделали бы под неё компактный блок.belyx писал(а): 10 апр 2021, 18:08 Итак, 8 канальный таймер без меню прекрасно себя показал,
пробовал на частоте генератора 2 гц - не тормозил.
- belyx
- Сержант
- Сообщения: 251
- Зарегистрирован: 24 июл 2016, 20:38
- Откуда: Витебск Беларусь
- Благодарил (а): 7 раз
Меню и блоки ECOINS
ну например: литьё-,залил,закрылась форма ,начался отсчет,отсчитало-форма открылась и таких позиций может быть и 4 и 8,16,24 и т. д. ; или сушка клея под прессованием аналогично; может быть какие-то дозаторы я думаю. А вот время должно выставлять отдельно для каждого канала или группой с возможностью изменения каждого,также и запуск и стоп для каждого канала.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Меню и блоки ECOINS
Спасибо, вроде идея понятна, возьмем на заметку, можем и встроим такую функцию в библиотеку.belyx писал(а): 25 май 2021, 13:25 ну например: литьё-,залил,закрылась форма ,начался отсчет,отсчитало-форма открылась и таких позиций может быть и 4 и 8,16,24 и т. д. ; или сушка клея под прессованием аналогично; может быть какие-то дозаторы я думаю.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость