- целевая ячейка может оказаться занята другим контейнером;
- целевая ячейка свободна, но невозможно туда поместить контейнер в принципе (повело направляющие, и т.д.)
1. Целевая ячейка занята другим контейнером
В этом случае также может быть два варианта:
- ШК контейнера целевой ячейки присутствует в базе. В этом случае:
- целевая ячейка помечается занятой, и в ней начинает числиться указанный пользователем контейнер
- если указанный контейнер до этого числился в другой ячейке, то он снимается с той ячейки, а сама ячейка помечается свободной
- команда перенаправляет контейнер в другую ячейку
- робот продолжает выполнять ранее данную команду, но уже для другой целевой ячейки
- ШК контейнера целевой ячейки отсутствует в базе. В этом случае оператор вручную извлекает контейнер из целевой ячейки и выбирает вариант решения проблемы "Повторить команду".
2.Целевая ячейка свободна, но невозможно туда поместить контейнер в принципе
В этом случае ячейка помечается как ошибочная, а команда перенаправляет контейнер в ближайшую свободную ячейку.
Интерфейсное решение:
Оператор при возникновении такой проблемы сможет выбрать вариант решения проблемы - один из трех:
- Повторить команду;
- Пометить ячейку ошибочной и перенаправить контейнер в другую ячейку
- Указать как контейнер находится в ячейке и перенаправить текущий контейнер в другую ячейку
Решение на уровне API:
Можно будет соответствующей API-функции указать вариант решения проблемы (один из трех)с передачей соответствующих параметров. Если указаны неверные параметры, то сформируется Raise с соотв. кодом ошибки.