NetworkStoragePick


Используется при моделировании транспортных сетей. NetworkStoragePick извлекает заявку из ячейки стеллажа или зоны хранения и перемещает ее в заданный узел сети. При этом для перемещения заявки могут использоваться движущиеся сетевые ресурсы. Вы можете добавить задержку, моделирующую время, требуемое на извлечение заявки из ячейки; время задержки может зависеть от координат ячейки, например, от уровня этой ячейки.

Если заявка перемещается с помощью ресурсов, NetworkStoragePick захватывает их, переносит их к ячейке, в которой хранится заявка, (при необходимости) добавляет задержку, присоединяет ресурсы к заявке, перемещает заявку в заданный узел сети, а затем освобождает ресурсы. Вы можете также захватывать и освобождать ресурсы и без помощи объекта NetworkStoragePick, или же не использовать их вовсе.

Вы можете выбирать, должна ли заявка (возможно, вместе с присоединенными ресурсами) плавно двигаться в течение всего пути от самой ячейки и далее по проходу или же она должна перемещаться только от места в проходе, находящегося напротив ячейки, а от самой ячейки до этого места перемещаться мгновенно, "скачком". Последний случай обычно используется при моделировании автоматических стеллажей.

Объект позволяет пользователю задавать любые действия, которые он хочет выполнить в значимые моменты работы объекта.

Порты

Port in
Входной порт.
Port out
Выходной порт.

Параметры

NetworkStorage или NetworkStorageZone [динамический]
Имя стеллажа NetworkStorage или зоны хранения NetworkStorageZone, где хранится заявка.  
Синтаксис: StorageAccess<T> storage
Локальная переменная: T entity - заявка.
Узел назначения [динамический]
Узел сети, куда будет доставляться заявка после извлечения из ячейки.
Синтаксис ShapeRectangle destination
Локальная переменная: T entity -  заявка.
Перемещать с помощью ресурсов
Если опция выбрана (true), то заявка будет перемещаться с помощью указанных движущихся ресурсов.
Синтаксис:  boolean useResources
Значение по умолчанию: false
Список ресурсов {pool1, ...} [динамический]
[Виден, если выбрана опция Перемещать с помощью ресурсов] Список объектов NetworkResourcePool, задающих ресурсы, необходимые заявке для перемещения.
Синтаксис:  NetworkResourcePool[] resources
Локальная переменная: T entity - заявка.
После освобождения ресурсы
[Виден, если выбрана опция Перемещать с помощью ресурсов] Определяет, должны ли ресурсы после освобождения возвращаться в их базовое местоположение или оставаться в том же месте сети.
Синтаксис:  boolean resourcesGoHome
Значение по умолчанию: Возвращаются в базовое местоположение (true)
Добавлять задержку
Если опция выбрана (true), то перед фактическим извлечением заявки из ячейки будет добавляться задержка, моделирующая время, требуемая на выполнение этой операции (если заявка перемещается с помощью ресурсов, то задержка начнется по прибытии ресурсов).
Синтаксис
: boolean useDelay
Значение по умолчанию: false
Время задержки [динамический]
[Виден, если выбрана опция Добавлять задержку] Выражение, вычисляющее время, необходимое для извлечения заявки из ячейки.
Синтаксис
: double delayTime
Локальные переменные: T entity - заявка.
             NetworkStorage storage - стеллаж NetworkStorage или зона хранения NetworkStorageZone, куда будет помещаться заявка. 
             int row - ряд ячейки
             int position - место ячейки в ряду
             int level -  уровень ячейки
Значение по умолчанию: triangular( 0.5, 1, 1.5 )
Перемещать заявку
Определяет, должна ли заявка (возможно, вместе с присоединенными ресурсами) плавно двигаться в течение всего пути от самой ячейки и далее по проходу или же она должна перемещаться только от места в проходе, находящегося напротив ячейки, а от самой ячейки до этого места перемещаться мгновенно, "скачком".
Синтаксис: boolean moveAllTheWay
Значение по умолчанию: От самой ячейки (true)
Действие при входе [динамический]
Код, выполняемый, когда заявка поступает в объект.
Синтаксис: void onEnter
Локальная переменная: T entity - заявка.
Действие при прибытии ресурсов [динамический]
[Виден, если выбрана опция Перемещать с помощью ресурсов] Код, выполняемый, когда к текущему местоположению ячейки прибывают ресурсы.
Синтаксис void onResourcesArrived
Локальные переменные: T entity - заявка.
             NetworkStorage storage - стеллаж NetworkStorage или зона хранения NetworkStorageZone, в которой находится заявка. 
             int row - ряд ячейки
             int position - место ячейки в ряду
             int level -  уровень ячейки
Действие при начале задержки [динамический]
[Виден, если выбрана опция Добавлять задержку] Код, выполняемый, когда начинается время задержки, связанной с извлечением заявки из ячейки.
Синтаксис: void onDelayStarts
Локальные переменные: T entity - заявка.
             double delayTime - время задержки.
             NetworkStorage storage - стеллаж NetworkStorage или зона хранения NetworkStorageZone, в которой находится заявка. 
             int row - ряд ячейки
             int position - место ячейки в ряду
             int level -  уровень ячейки
Действие по истечении задержки [динамический]
[Виден, если выбрана опция Добавлять задержку] Код, выполняемый, когда заканчивается время задержки, связанной с извлечением заявки из ячейки.
Синтаксис: void onDelayEnds
Локальная переменная: T entity - заявка.
Действие при выходе [динамический]
Код, выполняемый, когда заявка покидает объект.
Синтаксис: void onExit
Локальная переменная: T entity - заявка.

Функции

int queueSize()возвращает количество заявок, находящихся в очереди ожидания ресурса.