что даёт разделение схем по платам ?
что даёт разделение схем по платам ?
к примеру у меня на одной плате находится 4 одинаковые схемы исполнения
и я так понимаю что бы четвёртая начала исполняться ардуина должна исполнить поэтапно первые три
а если я создам 4 платы для каждой схемы то теоретически ардуина будет исполнять все 4 схемы одновременно как бы паралельно ?
если так то если ей не хватит вычислительной мощности то будут лаги и ошибки в работе ?
и я так понимаю что бы четвёртая начала исполняться ардуина должна исполнить поэтапно первые три
а если я создам 4 платы для каждой схемы то теоретически ардуина будет исполнять все 4 схемы одновременно как бы паралельно ?
если так то если ей не хватит вычислительной мощности то будут лаги и ошибки в работе ?
- Phazz
- Полковник
- Сообщения: 3128
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
что даёт разделение схем по платам ?
не параллельно, а последовательно. Если контроллеру не хватает вычислительной мощности, то программа просто медленней выполняется.
- Alias
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 27 ноя 2017, 13:15
- Откуда: Rus44
- Имя: Michael
- Контактная информация:
что даёт разделение схем по платам ?
Разделение проекта на отдельные платы позволяет гибко использовать вычислительные ресурсы. Например, у вас есть куча датчиков, реле, сложных формул пересчета функций многочисленных алгоритмов. Зачем все это гонять каждый цикл? Что за миллисекунды может такого произойти, чтобы это было оправданно?
Действительно, можно датчики вынести на отдельную плату, которая будет исполняться каждые - допустим - десять секунд. Информацию выводить на дисплей ежесекундно, отдельными платами щелкать разными реле, пересчитывать сложные функции ежеминутно и так далее. Кроме того, на отдельных платах удобно размещать то, то вызывается только по конкретным событиям.
Перебор? Возможно, но я этим активно пользуюсь.
Действительно, можно датчики вынести на отдельную плату, которая будет исполняться каждые - допустим - десять секунд. Информацию выводить на дисплей ежесекундно, отдельными платами щелкать разными реле, пересчитывать сложные функции ежеминутно и так далее. Кроме того, на отдельных платах удобно размещать то, то вызывается только по конкретным событиям.
Перебор? Возможно, но я этим активно пользуюсь.
что даёт разделение схем по платам ?
иными словами - каждая плата может выполняться по какому-либо условию.
что даёт разделение схем по платам ?
у меня 4 шима
в какой то момент может 1 работать в какой то все 4 если раскидать их по платам то что бы они работали нужно вводить для каждой платы переменную
если я правильно понял то созданную переменную "запуск платы" мы подключает к кнопке "вкл" и плата включается запуская шим тока не понятно выполнение по условию это значит один раз выполнить ? или оно будет выполняться по условию пока будет присутствовать единица а какой тогда смысл в цикличности пункта ?
в какой то момент может 1 работать в какой то все 4 если раскидать их по платам то что бы они работали нужно вводить для каждой платы переменную
если я правильно понял то созданную переменную "запуск платы" мы подключает к кнопке "вкл" и плата включается запуская шим тока не понятно выполнение по условию это значит один раз выполнить ? или оно будет выполняться по условию пока будет присутствовать единица а какой тогда смысл в цикличности пункта ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
что даёт разделение схем по платам ?
Выполняться в цикле, это когда плата проверяет условие цикла и если есть разрешение, выполняется только эта плата, игнорируя все другие.Di123 писал(а): 05 июн 2020, 13:10 или оно будет выполняться по условию пока будет присутствовать единица а какой тогда смысл в цикличности пункта ?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
что даёт разделение схем по платам ?
ясно
а можно тогда какнибудь присвоить 14 номеру первый номер компиляции
а то получается что сначала все блоки пробегутся а потом только спросят у платы а можно ли было это делать
а можно тогда какнибудь присвоить 14 номеру первый номер компиляции
а то получается что сначала все блоки пробегутся а потом только спросят у платы а можно ли было это делать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
что даёт разделение схем по платам ?
По моему мнению хорошим решением с ответом на уже поставленные и в будущем возникающие вопросы является использование во всех вновь создаваемых проектах планировщик задач (диспетчер), который управляет временем и последовательностью (или по каким то произвольным требованиям) вызовом задач.
Задача - это одна или несколько плат (их удобнее размещать одну за другой) с одним и тем же условием выполнения.
Желательно, чтобы диспетчер обеспечивает вызов только одной задачи в каждом цикле loop().
----------
Такой диспетчер не сложно написать самостоятельно.
--------
Мы уже давно и всегда используем собственный диспетчер задач ecoins во всех проектах не зависимо от их размера.
Задача - это одна или несколько плат (их удобнее размещать одну за другой) с одним и тем же условием выполнения.
Желательно, чтобы диспетчер обеспечивает вызов только одной задачи в каждом цикле loop().
----------
Такой диспетчер не сложно написать самостоятельно.
--------
Мы уже давно и всегда используем собственный диспетчер задач ecoins во всех проектах не зависимо от их размера.
Последний раз редактировалось ecoins 05 июн 2020, 16:02, всего редактировалось 1 раз.
-
- Лейтенант
- Сообщения: 418
- Зарегистрирован: 13 апр 2020, 18:22
- Имя: Антон
- Поблагодарили: 3 раза
что даёт разделение схем по платам ?
поставить слева в верхуDi123 писал(а): 05 июн 2020, 14:00 а можно тогда какнибудь присвоить 14 номеру первый номер компиляции
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
что даёт разделение схем по платам ?
Посмотрел повнимательнее проект.Di123 писал(а): 05 июн 2020, 14:00 а то получается что сначала все блоки пробегутся а потом только спросят у платы а можно ли было это делать
Узким местом у него является вывод в каждом цикле 4-х сообщений в дисплей - операция медленная, особенно если дисплей работает через i2c.
Для контроллеров AVR (UNO,Nano,MEGA) ощутимое время процессор тратит и на работу со строковыми переменными.
Работу со строковыми переменными и дисплеем правильно разнести по другим платам, которые вызывать последовательно с периодом порядка 100 мс.
Для визуального восприятия дисплея это почти мгновенное обновление.
что даёт разделение схем по платам ?
[ref]Ardudue[/ref], где именно там слева вверху
[ref]ecoins[/ref], тоесть эти 4 дисплея перенести каждый на свою плату и добавить переменную включения
типо так ? а где выставлять опрос плат 100мс
[ref]ecoins[/ref], тоесть эти 4 дисплея перенести каждый на свою плату и добавить переменную включения
типо так ? а где выставлять опрос плат 100мс
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
что даёт разделение схем по платам ?
Да, примерно так. Но лучше использовать готовый планировщик и проектировать через следующую парадигму:
"В каждый момент времени выполняется одна задача (без учета того, что может работать по прерываниям). После завершения задачи или её части (они должны по времени занимать немного, например не более 10 мс), управление возвращается планировщику, а он вызывает следующую задачу."
В FLProg имеются возможности выполнения плат по условиям (Вы его применяете), которые позволяют реализовать этот механизм.
"В каждый момент времени выполняется одна задача (без учета того, что может работать по прерываниям). После завершения задачи или её части (они должны по времени занимать немного, например не более 10 мс), управление возвращается планировщику, а он вызывает следующую задачу."
В FLProg имеются возможности выполнения плат по условиям (Вы его применяете), которые позволяют реализовать этот механизм.
что даёт разделение схем по платам ?
да пока перестало всё работать
я лиш сделал условие и она не запускается плата
убираю условие платы всё работает
я лиш сделал условие и она не запускается плата
убираю условие платы всё работает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
что даёт разделение схем по платам ?
Самая распространенная ошибка...
Итак, вопрос - переменная "запуск платы" при включении питания содержит 1 или 0? Если "0" ("вкл" притянут к +), то плата не будет выполняться и соответственно нет опроса кнопки...
Значит что, - условия выполнения должны находится вне управляемой платы (за редким исключением чтения из еепром или иной разовой операции).
И не забывайте, что все значения на плате "замораживаются" в том состоянии, в котором плата находилась до отключения и не сбрасываются сами волшебным образом.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
что даёт разделение схем по платам ?
при включении питания содержит 0
переделал по вашему теперь работает включение первой платы если на второй подать единицу только перестал работать теперь шим после того как я сделал разрешение записи на него
притом самое невероятное что единица физически отсутствует на переменной включения хотя вторая плата видит что единица есть раз включает первую плату
тоесть я вижу что загорается дисплей и блок маштабирования работает на нём отоброжая показания процентной состовляющей
притом самое забавное что единица физически отсутствует и на второй плате неважно включен выключатель или нет но приэтом вторая плата понимает включен он или нет
это баг такой ?
Отправлено спустя 9 минут 58 секунд:
попробовал запитать шим от компаратора но тут тоже какой то баг ибо если включить и выключить то шим отключается не до конца и еле еле горит светодиод на его месте то есть оптрон будет приоткрыт немного
теоретически возможно выключатель в потенциометре уже выключился но сам ползунок находится на дорожке в конце но это не важно я же ведь на второй плате сказал что бы всё выключилось на первой плате Отправлено спустя 8 минут :
и вообще то что я убрал переменную включения с первой платы но приэтом она вкючается получается вторая плата даёт примение не к первой плате а ко всему проекту
а как же быть дальше когда будет таких четыре одинаковые платки но каждая должна запускаться отдельно
Отправлено спустя 4 минуты 10 секунд:
возвращаю переменную на первую плату и прописываю первой плате связь со второй через неё но тогда ничего вообще не работает Отправлено спустя 12 минут 2 секунды:
ладно методом тыка нашол рабочию комбинацию с переменой
Отправлено спустя 35 минут 10 секунд:
в общем вообще ничего не работает
переделал по вашему теперь работает включение первой платы если на второй подать единицу только перестал работать теперь шим после того как я сделал разрешение записи на него
притом самое невероятное что единица физически отсутствует на переменной включения хотя вторая плата видит что единица есть раз включает первую плату
тоесть я вижу что загорается дисплей и блок маштабирования работает на нём отоброжая показания процентной состовляющей
притом самое забавное что единица физически отсутствует и на второй плате неважно включен выключатель или нет но приэтом вторая плата понимает включен он или нет
это баг такой ?
Отправлено спустя 9 минут 58 секунд:
попробовал запитать шим от компаратора но тут тоже какой то баг ибо если включить и выключить то шим отключается не до конца и еле еле горит светодиод на его месте то есть оптрон будет приоткрыт немного
теоретически возможно выключатель в потенциометре уже выключился но сам ползунок находится на дорожке в конце но это не важно я же ведь на второй плате сказал что бы всё выключилось на первой плате Отправлено спустя 8 минут :
и вообще то что я убрал переменную включения с первой платы но приэтом она вкючается получается вторая плата даёт примение не к первой плате а ко всему проекту
а как же быть дальше когда будет таких четыре одинаковые платки но каждая должна запускаться отдельно
Отправлено спустя 4 минуты 10 секунд:
возвращаю переменную на первую плату и прописываю первой плате связь со второй через неё но тогда ничего вообще не работает Отправлено спустя 12 минут 2 секунды:
ладно методом тыка нашол рабочию комбинацию с переменой
а можете выложить пример рабочий с планировщиком по платам а то я на словах несовсем понимаю как это реализовываетсяecoins писал(а): 06 июн 2020, 10:07 Да, примерно так. Но лучше использовать готовый планировщик и проектировать через следующую парадигму:
"В каждый момент времени выполняется одна задача (без учета того, что может работать по прерываниям). После завершения задачи или её части (они должны по времени занимать немного, например не более 10 мс), управление возвращается планировщику, а он вызывает следующую задачу."
В FLProg имеются возможности выполнения плат по условиям (Вы его применяете), которые позволяют реализовать этот механизм.
Отправлено спустя 35 минут 10 секунд:
в общем вообще ничего не работает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
что даёт разделение схем по платам ?
Выложите свой проект (чтобы не перерисовывать) и я что-то набросаюDi123 писал(а): 07 июн 2020, 05:55 а можете выложить пример рабочий с планировщиком по платам а то я на словах несовсем понимаю как это реализовывается
что даёт разделение схем по платам ?
да я хотел сам разобраться и дорисовать свой проект по стороннему рабочему проекту посмотрев как там реализован планировщик
Отправлено спустя 4 минуты 46 секунд:
сама схема полностью рабочая
я только что на ней блины стряпал в навесной сборке
единственное раздрожает даже имея запас в маштабировании на дисплей всеравно часто перемаргивают цыфры в конце так сказать на грани границе обнуления но это задержку на отоброжения данных я сам доработаю
Отправлено спустя 5 минут 48 секунд:
пробывал вводить генератор на опрос кнопки но он тоже не помогает ничего не работает
Отправлено спустя 4 минуты 46 секунд:
сама схема полностью рабочая
я только что на ней блины стряпал в навесной сборке
единственное раздрожает даже имея запас в маштабировании на дисплей всеравно часто перемаргивают цыфры в конце так сказать на грани границе обнуления но это задержку на отоброжения данных я сам доработаю
Отправлено спустя 5 минут 48 секунд:
пробывал вводить генератор на опрос кнопки но он тоже не помогает ничего не работает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
что даёт разделение схем по платам ?
Посмотрел проект. Ближе к ночи что-то поделаю.
У Вас проблема и с дисплеем известная - как она решается нам понятно.
У Вас проблема и с дисплеем известная - как она решается нам понятно.
что даёт разделение схем по платам ?
очень странно но мои задумки с дисплеем тоже не работают
ставил таймер на включение в 1 сек но опрос дисплея это не влияет
поставил генератор несиметричный с ожиданием в 1 сек паузы тоже игнорируется тоесть простейшая логика когда перменная должна передавать данные по наличию 1 на входе ен а в данном случае там стоит 1 сек ожидания и 10мс импульса уходит в игнор что есть что нету этой задержки
может у меня флпрог багованый
Отправлено спустя 45 минут :
[ref]ecoins[/ref], дисплей я победил нашол в детекторе вход опроса поставил пол сек набор цыфр стал вялым но мельтишения уже не раздражают а вот с платами ничего не получается
последнии иследования показывают что работа плат неправельная в плане как логики мышления так и работоспособности на первой плате всегда присутствует 1 на выходе переменной что не должно быть и более того она там никогда не пропадает включаю я или изменяю потенциометр
на второй плате всегда 0 у включателя неважно подаю я 1 или 0 на вход переменной через него
ставил таймер на включение в 1 сек но опрос дисплея это не влияет
поставил генератор несиметричный с ожиданием в 1 сек паузы тоже игнорируется тоесть простейшая логика когда перменная должна передавать данные по наличию 1 на входе ен а в данном случае там стоит 1 сек ожидания и 10мс импульса уходит в игнор что есть что нету этой задержки
может у меня флпрог багованый
Отправлено спустя 45 минут :
[ref]ecoins[/ref], дисплей я победил нашол в детекторе вход опроса поставил пол сек набор цыфр стал вялым но мельтишения уже не раздражают а вот с платами ничего не получается
последнии иследования показывают что работа плат неправельная в плане как логики мышления так и работоспособности на первой плате всегда присутствует 1 на выходе переменной что не должно быть и более того она там никогда не пропадает включаю я или изменяю потенциометр
на второй плате всегда 0 у включателя неважно подаю я 1 или 0 на вход переменной через него
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
что даёт разделение схем по платам ?
Возможно я что-то не понял по Вашей задумке, в итоге сделал рыбу проекта, который можно развивать.
Он проверен на Nano.
Для его работы нужно прикрепить две библиотеки: Сам проект:
[spoiler] [/spoiler] ----
Средний цикл loop() -20мкс, ничего не тормозит, звездочка в первой позиции дисплея моргает каждые 500мс.
Проект можно улучшить.
----
Будут вопросы - пишите.
Он проверен на Nano.
Для его работы нужно прикрепить две библиотеки: Сам проект:
[spoiler] [/spoiler] ----
Средний цикл loop() -20мкс, ничего не тормозит, звездочка в первой позиции дисплея моргает каждые 500мс.
Проект можно улучшить.
----
Будут вопросы - пишите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей