Задачи в очередь
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Доброго времени суток господа офицеры! Подскажите пожалуйста, есть ли возможность в Flprog как то ставить задачи в очередь, и что бы они выполнялись в порядке поставленной очереди. К примеру: Сейчас я хочу что бы через 2 минуты загорелся один светодиод, через 5 минут второй, чрез 7 третий. В следующий раз поменять порядок включения и время включения светодиодов и что бы они срабатывали в порядке очереди по нажатию кнопки.
Всем кто поможет плюсики в карму!
Заранее всем благодарен!!!
Всем кто поможет плюсики в карму!
Заранее всем благодарен!!!
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Задачи в очередь
В Flprog можно все,или почти все,опишите где и как Вы собираетесь менять порядок и время включения, что будет использоваться в качестве индикации ввода,клавиатура,меню,кнопкИ и тд, тогда уже можно и подумать как это сделать.
Задачи в очередь
Не вижу проблем в самой реализации. Те же самые таймеры. Только не совсем понял
Какой задатчик будете использовать для выставления очереди и времени?
Ну и можно чуть усложнить. Прицепить часы реального времени и завести будильник или просто раз в минуту опрашивать.
То есть, нажали на кнопку и через две минуты должен сработать первый, через определённое время второй и так далее?
Какой задатчик будете использовать для выставления очереди и времени?
Ну и можно чуть усложнить. Прицепить часы реального времени и завести будильник или просто раз в минуту опрашивать.
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Если по подробней, то с трёх комнат (три блока управления с тремя кнопками) поступают сигналы на блок управления, который будет отрабатывать эти задачи в порядке поступившей очереди. К блоку выполнения подключены 3 клапана (Всё это представляет из себя ардуино, 9 кнопок (по 3 в каждой комнате) и к ардуино подключены 3 клапана.
Например: Независимо друг от друга на ардуино подаються сигналы с разных комнат (С первой допустим команда включить 2 и 3 клапан (время отработки клапана зависит от времени удержания кнопки), со второй включить 1 и 2 клапан и с третей включить 1 и 3 клапан), клапана всего 3 и нужно собрать поступившие со всех трёх комнат сигналы и выполнить их в порядке поступившей очереди.
Например: Независимо друг от друга на ардуино подаються сигналы с разных комнат (С первой допустим команда включить 2 и 3 клапан (время отработки клапана зависит от времени удержания кнопки), со второй включить 1 и 2 клапан и с третей включить 1 и 3 клапан), клапана всего 3 и нужно собрать поступившие со всех трёх комнат сигналы и выполнить их в порядке поступившей очереди.
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Задачи в очередь
[ref]KeyArduino[/ref], стало еще более запутанно,не пойму, или только мне или и другим тоже?
Может набросаете схематически как все должно выглядеть?
Может набросаете схематически как все должно выглядеть?
- Phazz
- Полковник
- Сообщения: 3147
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 236 раз
- Поблагодарили: 117 раз
Задачи в очередь
Я вроде понял что нужно
Отправлено спустя 1 минуту 21 секунду:
[ref]KeyArduino[/ref], А есть начало проекта?
Отправлено спустя 19 минут 2 секунды:
А если одновременно будут нажаты кнопки в разных комнатах, как быть тогда?
Отправлено спустя 1 минуту 21 секунду:
[ref]KeyArduino[/ref], А есть начало проекта?
Отправлено спустя 19 минут 2 секунды:
А если одновременно будут нажаты кнопки в разных комнатах, как быть тогда?
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Собрана логика для подачи сигналов с одной комнаты и открытия клапанов. Сам вопрос заключается в том, как ставить шаги выполнения в очередь. Например в из одной комнаты одни команды подали из другой другие, ардуино их приняла составила в очередь и по очереди их выполняет, что бы не получилось так, что одни сигналы наложились на другие
Отправлено спустя 1 минуту 35 секунд:
Одновременно навряд ли получится, всё равно какой то поступит раньшеPhazz писал(а): 03 ноя 2019, 14:33 А если одновременно будут нажаты кнопки в разных комнатах, как быть тогда?
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Задачи в очередь
[ref]KeyArduino[/ref], есть хороший блок - "командоаппарат" через него сможешь как раз реализовать свою последовательность с любыми условиями.
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Как в командоаппарат записывать шаги если они поступают с кнопок? На сколько я успел узнать командоаппарат, там в ручную шаги нужно вписывать, потом они поочерёдно выполняютсяKulibinOrsk писал(а): 03 ноя 2019, 14:46 KeyArduino, есть хороший блок - "командоаппарат" через него сможешь как раз реализовать свою последовательность с любыми условиями.
- Rovki
- Полковник
- Сообщения: 5738
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Задачи в очередь
.Я могу нарисовать в среде Овен лоджик ,а вы потом переведете в ФЛ
Кнопки без фиксации ,пока держим на выходе 1(вкл клапана)???

Электронщик до мозга костей и не только
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Я с Овен лоджик не знакомRovki писал(а): 03 ноя 2019, 15:23 Я могу нарисовать в среде Овен лоджик ,а вы потом переведете в ФЛ

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

- Rovki
- Полковник
- Сообщения: 5738
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Задачи в очередь
разабьем задачу на несколько .
1.как определить что нужно начинать выполнять задачу для данной комнаты (пока не важно какой) - кнопок может быть нажато от 1 до 3 . включаем нужный клапан пока нажата данная кнопка ,отпустили выключился . перходим к следующей комнате когда отпущены все кнопки в первой нажатой комнате.Так?
2.нужно определить кто первый из 3 нажал кнопку ,того и время управлять ,пока нажата хоть одна кнопка.Так?
3.кто бы не захватил управление ,следующиие две комнаты ждут своей очереди управлять по - кто первый из этих двух того и управление .Так
4.Раз управляем столько сколько держим кнопку ,значит те кто не получил доступ к управлению тыкают в кнопки в пустую...Так ?Значит напрашивается индикатор в каждой комнате -когда можно управлять
1.как определить что нужно начинать выполнять задачу для данной комнаты (пока не важно какой) - кнопок может быть нажато от 1 до 3 . включаем нужный клапан пока нажата данная кнопка ,отпустили выключился . перходим к следующей комнате когда отпущены все кнопки в первой нажатой комнате.Так?
2.нужно определить кто первый из 3 нажал кнопку ,того и время управлять ,пока нажата хоть одна кнопка.Так?
3.кто бы не захватил управление ,следующиие две комнаты ждут своей очереди управлять по - кто первый из этих двух того и управление .Так
4.Раз управляем столько сколько держим кнопку ,значит те кто не получил доступ к управлению тыкают в кнопки в пустую...Так ?Значит напрашивается индикатор в каждой комнате -когда можно управлять
Электронщик до мозга костей и не только
- Dryundel
- Полковник
- Сообщения: 2457
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Задачи в очередь
[ref]KeyArduino[/ref], задачу Вы поставили слегка запутано и недостает исходных данных.
Лучше будет если Вы опишете реальный процесс который хотите автоматизировать. Если не тайна конечно.
Про очередь понятно.
Вопросы:
1. Одновременно должен быть открыт только один клапан? Или клапана независимы друг от друга?
Лучше будет если Вы опишете реальный процесс который хотите автоматизировать. Если не тайна конечно.
Про очередь понятно.
Вопросы:
1. Одновременно должен быть открыт только один клапан? Или клапана независимы друг от друга?
- Rovki
- Полковник
- Сообщения: 5738
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 68 раз
- Поблагодарили: 222 раза
- Контактная информация:
Задачи в очередь
По тому как написал схема такая получается и работает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Электронщик до мозга костей и не только
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Ну почти всё верно, только пока давят кнопки в первой комнате, в других тоже в это время могут давить кнопки, вот эти кнопки и должны встать в очередь на выполнение, как первой комнате закончили система смотрит что ей за это время прилетело и в каком порядке, и пошла выполнять
Отправлено спустя 5 минут 35 секунд:
Постараюсь ещё более просто объяснить, допустим в 3 комнатах сидят люди и давят на кнопки в любом порядке не важно, ардуино должна принять сигналы и выполнять их в порядке очереди, команды с первой комнаты отработала перешла к командам со следующей комнаты и т.д.
Отправлено спустя 5 минут 35 секунд:
Независимо друг от друга.Dryundel писал(а): 03 ноя 2019, 16:22 Одновременно должен быть открыт только один клапан? Или клапана независимы друг от друга?
Постараюсь ещё более просто объяснить, допустим в 3 комнатах сидят люди и давят на кнопки в любом порядке не важно, ардуино должна принять сигналы и выполнять их в порядке очереди, команды с первой комнаты отработала перешла к командам со следующей комнаты и т.д.
-
- Полковник
- Сообщения: 4012
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 158 раз
Задачи в очередь
Это реализовано в библиотеках ecoins - пользовательский блок "Диспетчер задач" (ветка "Разработки ecoins").
Он не сложный и при необходимости может быть выполнен как самостоятельный блок (без библиотеки).
Будут вопросы - спрашивайте.
Он не сложный и при необходимости может быть выполнен как самостоятельный блок (без библиотеки).
Будут вопросы - спрашивайте.
Последний раз редактировалось ecoins 03 ноя 2019, 16:40, всего редактировалось 1 раз.
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Блоки памяти тут я как понял не используются? Ведь допустим в разных комнатах по нажимали кнопки многократно, на ардуино прилетело допустим 15 команд по открытию клапанов, где, каким блоком она их будет собирать а потом отправлять на выполнение?
- Dryundel
- Полковник
- Сообщения: 2457
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Задачи в очередь
Отлично!
Зачем Вы тогда так усложнили ТУ?
Переводим задачу из трехмерной в плоскость.
Один клапан и три кнопки. Клапан отрабатывает эти кнопки в порядке их нажатия и с задержкой открытия соответствующей задержке нажатия.
Так?
След. вопрос.
После закрытия клапана должна быть задержка закрытия? Какая?
Или клапан должен суммировать задержку открытия исходя из суммарной длительности разных нажатия кнопок?
- KeyArduino
- Сержант
- Сообщения: 130
- Зарегистрирован: 21 июл 2019, 19:16
- Имя: Дмитрий
- Контактная информация:
Задачи в очередь
Может как то с блоками массивов можно организовать, если кнопками задачи по порядку будут записываться в массив а потом считывать и выполнять по очереди?
Эт я размышляю, на деле не знаю будет ли работать
Эт я размышляю, на деле не знаю будет ли работать
- Dryundel
- Полковник
- Сообщения: 2457
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 6 раз
- Поблагодарили: 31 раз
Задачи в очередь
Очень интересно. И как же там организована очередь? Я вроде не заметил там подобия FIFO . А можно поподробней?ecoins писал(а): 03 ноя 2019, 16:34 Это реализовано в библиотеках ecoins - пользовательский блок "Диспетчер задач"
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость