1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Поочередная сортировка

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Закрыто

Автор темы
Pavel1783
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 авг 2021, 07:09
Имя: Павел
Страна: ЕКб
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Поочередная сортировка

Сообщение Pavel1783 »

Здравствуйте!
Господа!
Подскажите как сделать поочередную сортировку

Дано:
Есть 4 кнопки у каждого поста оператора по одной
в случае нажатия на любую кнопку коробка едет к нему.
Условно говоря будет заполнена очередь "кто первый того и тапки"
Сначала нажали кнопку 1, потом через секунду кнопку 3 и еще через секунду кнопку 2 и тд (последовательность может быть разной)
Необходимо чтобы коробка поехала сначала к 1, потом следующая коробка к 3, потом ко 2му посту соответственно, и к крайнему в очереди и тд (цикл может быть бесконечным 1,4,2,3,1,2,2,3 и тд (Нужно чтобы коробка ехала именно к тому чья сейчас очередь).

Вопрос как это сделать. Может посоветуете что-нибудь. Или у Вас уже был опыт реализации такого рода задач.
Буду бесконечно благодарен за любую информацию, подсказку, помощь.
(может есть ФБ какие-нибудь?)

Всем Добра, Здоровья и Позитива!

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 6 раз
Поблагодарили: 113 раз

Поочередная сортировка

Сообщение SMax »

Pavel1783 писал(а): 20 янв 2022, 19:13 Вопрос как это сделать.
https://ru.bmstu.wiki/FIFO_(First_In_First_Out)
Pavel1783 писал(а): 20 янв 2022, 19:13 может есть ФБ какие-нибудь?
https://support.industry.siemens.com/cs ... 0&lc=en-WW
FB LGF_FIFO.pdf
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2319
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 1645 раз
Поблагодарили: 160 раз

Поочередная сортировка

Сообщение keysansa »

Тут задача обработки очереди. Типа "Свободная касса".
Я делал, но врядли найду сейчас (у нас было 6 обрабатывающих центроов - металлообработка, и робот на рельсах, который возил заготовки к ним, с места загрузки, какой центр первым освободился, тому и везем).
На словах - массив из 6 INT. По "нажатию кнопки", ее номер помещается в первую пустую позицию массива. По нажатию другой - в следующую, не пустую.
При доставлении детали, если есть хоть один непустой элемент массива, маршрут выстраивается к элементу с номером, содержащимся под индексом 0.
Далее, очищаем элемент под индексом 0, остальные сдвигаем "вверх".

ЗЫ. Забыл. Потом я переделывал (прошу прощения, 2002-2203 год был).
Массив был из 6 TIME. По "нажатию кнопки", присваивалось текущее время, элементу массива с индексом, равным номеру кнопки.
Доставка - центру, с максимальным временем простоя. После доставки, время устанавливалось в текущее (простой обнуляся).
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.

Автор темы
Pavel1783
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 авг 2021, 07:09
Имя: Павел
Страна: ЕКб
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Поочередная сортировка

Сообщение Pavel1783 »

Почитал про FIFO, вообще не был в курсе, что такой стек есть. Стек так же обосновал на массиве (запись, передвижение массива, и удаление из очереди)
Алгоритм основан на флагах
Нажал кнопку записал число в массив соответствующей кнопки sb1 - число 1 и тд
И так насобиралась очередь из 1,2,4,3,6
Если отсутствует флаг о том что грубо говоря конвейер занят, то производим выдерку числа из массива и смотрим по числу
Если выдерка равна 1 то едем к первому и говорим о том что конвейер занят
Как только короб доехал
Сбрасываем флаг о том что конвейер занят и выдергиваем след число из массива

Всем большое спасибо, и тем кто помог, и тем кто был читателем
Всем добра и позитива!!
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17481
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 749 раз
Поблагодарили: 1281 раз

Поочередная сортировка

Сообщение Jackson »

Тот самый случай, когда человек задал вопрос, получил советы, решил задачу сам и описал решение для всех. Молодец.
По вопросам работы Форума можно обратиться по этим контактам.
Закрыто

Вернуться в «Средний уровень автоматизации (управляющий)»