Добрый день
Человек я здесь новый, как и в написании сложных алгоритмов
Задача следующая:
Есть конвейер, по которому движутся коробки, так же имеется 5 толкателей, которые перенаправляют коробки на 5 направлений, исходя из полученных данных машины, которая эти коробки обрабатывает. Как можно организовать отслеживание коробок с помощью датчиков, что бы не произошло путаницы и каждая коробка ушла в правильном направлении (заданное машиной).
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Алгоритм отслеживания коробок
Модератор: kirillio
-
- read only
- Сообщения: 577
- Зарегистрирован: 19 фев 2019, 22:38
- Имя: Сергей
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 17 раз
- Поблагодарили: 73 раза
Алгоритм отслеживания коробок
Очень просто:
Вариант 1: машина с помощью какого-то умного датчика распознает тип коробки и формирует "путь следования", отслеживает его с помощью других датчиков и дает команду соответствующему исполнительному механизму.
Вариант 2: датчики "определения типа коробки" стоят перед каждым исполнительным механизмом и увидев коробку определяет моя-не моя и дает команду на исп. механизм.
Вариант 1: машина с помощью какого-то умного датчика распознает тип коробки и формирует "путь следования", отслеживает его с помощью других датчиков и дает команду соответствующему исполнительному механизму.
Вариант 2: датчики "определения типа коробки" стоят перед каждым исполнительным механизмом и увидев коробку определяет моя-не моя и дает команду на исп. механизм.
-
- здесь недавно
- Сообщения: 16
- Зарегистрирован: 19 мар 2021, 15:05
- Имя: Дмитрий
- Страна: Россия
- город/регион: moskow
- Благодарил (а): 3 раза
Алгоритм отслеживания коробок
Машина, которая определяет тип коробки передает данные на opc сервер, мы эти данные считываем и задаем направление, на которое нужно направить коробку (например 1.2.3.4 или 5).
Я придерживаюсь 1 варианта, но вопрос в том как будет выглядеть алгоритм? если 3 коробки едут рядом и первую нужно направить например на 4 окно, вторую на 2, а третью на 5 например.
Я придерживаюсь 1 варианта, но вопрос в том как будет выглядеть алгоритм? если 3 коробки едут рядом и первую нужно направить например на 4 окно, вторую на 2, а третью на 5 например.
-
- почётный участник форума
- Сообщения: 3559
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 253 раза
Алгоритм отслеживания коробок
Надо научиться работать с массивами. Если в ПЛК с этим туго, то придется что-то придумывать.
А так создать массив размером, соответствующим количеству коробок. Каждый элемент - это текущее положение коробки (0 - на входе, 1 - у первого толкателя, 2 - у второго толкателя и т.д.).
Тут еще один подводный камень: количество коробок в каждый момент времени разное. Новая коробка добавляет элемент снизу массива, ушедшая коробка - убирает элемент в начале массива. То есть массив переменного размера (=динамический массив). Массив стандартной структуры - очередь.
Многие ПЛК динамические массивы не поддерживают. Поэтому придется делать обычный массив из фиксированного числа коробок, в котором будут храниться id коробок, и сдвигать все элементы на один шаг к началу массива.
Какой хоть контроллер или вообще, что за система?
А так создать массив размером, соответствующим количеству коробок. Каждый элемент - это текущее положение коробки (0 - на входе, 1 - у первого толкателя, 2 - у второго толкателя и т.д.).
Тут еще один подводный камень: количество коробок в каждый момент времени разное. Новая коробка добавляет элемент снизу массива, ушедшая коробка - убирает элемент в начале массива. То есть массив переменного размера (=динамический массив). Массив стандартной структуры - очередь.
Многие ПЛК динамические массивы не поддерживают. Поэтому придется делать обычный массив из фиксированного числа коробок, в котором будут храниться id коробок, и сдвигать все элементы на один шаг к началу массива.
Какой хоть контроллер или вообще, что за система?
-
- не первый раз у нас
- Сообщения: 320
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 6 раз
- Поблагодарили: 113 раз
Алгоритм отслеживания коробок
Датчики, я так понимаю, простые: есть коробка, неважно какая, на толкателе или нет, а толкатели расположены на конвейере в ряд, в последовательности 1, 2, 3, 4 и 5.
Т.е. датчики 1, 2 и 3 толкателей должны проигнорировать по одному импульсу, а по импульсу на датчике 4, толкатель 4 должен сработать, затем датчик 1 игнорирует второй импульс, а по импульсу на датчике 2, толкатель 2 срабатывает и т.д., если так, то вот:
В этом алгоритме нет сброса (инициализации начального состояния)
Там еще много камней: при ложном срабатывании датчика, значения в массивах сдвинутся и все последующие коробки относительно своих направлений тоже. Т.е. не 1 ложное срабатывание = 1 ложная коробка, а 1 ложное срабатывание = почти все ложные коробки, "почти" - потому что а вдруг какие-то совпадут.
Разделение по направлениям все-же лучше делать непосредственно после считывателя, считал 1 - направил в 1, считал 3 - направил в 3, без промежуточных конвейеров и необходимости запоминания последовательности коробок, распознавание которой может легко нарушиться из-за пропусков или ложных срабатываний датчиков.
-
- почётный участник форума
- Сообщения: 3559
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 253 раза
-
- освоился
- Сообщения: 286
- Зарегистрирован: 15 сен 2016, 18:47
- Имя: Андрей
- Страна: Россия
- город/регион: Вологда
- Благодарил (а): 18 раз
- Поблагодарили: 73 раза
Алгоритм отслеживания коробок
Тут, наверное, не так важен язык, как алгоритм. Почитайте что такое FIFO и FILO.