SeizeCrane

Захватывает кран и отправляет его в указанное местоположение. Агент поступает в блок SeizeCrane и помещается в очередь крана, указанного в свойствах блока. В этой очереди он ждет, пока кран не прибудет в указанное место назначения. Когда кран прибывает в место назначения, агент покидает блок.

Вы можете использовать этот блок для моделирования сложной логики работы крана, если вам нужно отделить процесс перемещения крана к агенту от процесса транспортировки агента с помощью крана, например, вы хотите смоделировать какую-то дополнительную обработку агента между этими двумя процессами. Дополнительные операции над агентом можно смоделировать с помощью блоков Библиотеки моделирования процессов.

Используйте блок ReleaseCrane или блок MoveByCrane, чтобы освободить захваченный кран.

Демонстрационная модель: SeizeCrane and ReleaseCrane

Правила захвата крана

Вы можете выбрать для захвата как сам кран, так и конкретный мост.

Примечание:

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

Параметры

Кран [динамический]
Кран или мост, который перемещает агента (материальный объект).
Тип значения: Crane
Локальная переменная: T agent - текущий агент (материальный объект)
Место назначения
Задает место, в которое должен прибыть кран или мост. Возможными местами назначения могут быть:
Агент - текущий агент (материальный объект)
Узел - заданный узел сети
Аттрактор - заданный аттрактор
Конвейер - заданный конвейер
Точка конвейера - заданная точка на конвейере
Точка (x, y, z) - точка с заданными координатами
Синтаксис: DestinationType destinationType
Допустимые значения:
SeizeCrane.DEST_AGENT - заданный агент
SeizeCrane.DEST_NODE - заданный сетевой узел
SeizeCrane.DEST_ATTRACTOR - заданный аттрактор
SeizeCrane.DEST_CONVEYOR - заданный конвейер
SeizeCrane.DEST_POSITION_ON_CONVEYOR - заданная точка на конвейере
SeizeCrane.DEST_XYZ - точка с заданными координатами
Узел [динамический]
[Параметр виден, если Место назначения: Узел] Узел сети, в который отправится кран или мост.
Тип значения: Node
Локальная переменная: T agent - текущий агент (материальный объект)
Аттрактор [динамический]
[Параметр виден, если Место назначения: Аттрактор] Аттрактор, к которому отправится кран или мост.
Тип значения: Attractor
Локальная переменная: T agent - текущий агент (материальный объект)
Конвейер [динамический]
[Параметр виден, если Место назначения: Конвейер] Конвейер, к которому отправится кран или мост.
Тип значения: ConveyorPath
Локальная переменная: T agent - текущий агент (материальный объект)
Смещение от [динамический]
[Параметр виден, если Место назначения: Конвейер] Задает точку отсчета для смещения на конвейере: от начала конвейера или от конца конвейера.
Тип значения: boolean
Локальная переменная: T agent - текущий агент (материальный объект)
Смещение [динамический]
[Параметр виден, если Место назначения: Конвейер] Расстояние от начальной или конечной точки конвейера (в зависимости от настроек параметра Смещение от) до конкретной точки конвейера, к которой отправится кран или мост.
Тип значения: double
Локальная переменная: T agent - текущий агент (материальный объект)
Точка на конвейере [динамический]
[Параметр виден, если Место назначения: Точка на конвейере] Точка на конвейере, к которой отправится кран или мост.
Тип значения: PositionOnConveyor
Локальная переменная: T agent - текущий агент (материальный объект)
X, Y, Z [динамический]
[Параметр виден, если Место назначения: Точка (x, y, z)] X, Y, Z-координата точки, куда отправится кран или мост.
Тип значения: double
Локальная переменная: T agent - текущий агент (материальный объект)
... расположена [динамический]
[Параметр виден, если Место назначения: Точка (x, y, z)] Здесь можно выбрать, где расположена точка, к которой двигается кран или мост: на уровне или в сети.
Тип значения: boolean destinationInNetwork
Default value: false
Уровень [динамический]
[Параметр виден, если ...расположена: на уровне] Уровень, на котором расположена точка, к которой отправится кран или мост.
Тип значения: Level
Локальная переменнаяs: T agent - текущий агент (материальный объект)
Сеть [динамический]
[Параметр виден, если ...расположена: в сети] Сеть, в которой расположена точка, к которой отправится кран или мост.
Тип значения: Network
Локальная переменнаяs: T agent - текущий агент (материальный объект)
Использовать время работы
Выбрав эту опцию, вы сможете напрямую задать время, за которое кран должен достичь точки назначения. Значения скорости рассчитываются заново для каждого агента в соответствии с заданным временем работы крана.
Синтаксис: boolean useOperationTime
Время работы [динамический]
[Параметр виден, если выбрана опция Использовать время работы] Задает отрезок времени, в течение которого кран или мост должен достичь точки назначения. Значение рассчитывается для каждого агента непосредственно после того, как выполняется действие При входе.
Тип значения: double
Локальная переменная: T agent - текущий агент (материальный объект)
Способ выбора агентов
Задает способ, согласно которому кран или мост выбирает агента, к которому будет перемещаться: либо FIFO (по умолчанию), либо Частный (согласно выражению, заданному в параметре Правило выбора).
Синтаксис: boolean customPriority
Задать новое значение при выполнении: set_customPriority(новое значение)
Допустимые значения:
true - Частный
false - FIFO
Правило выбора [динамический]
[Параметр виден, если выбрана опция Частный] Задает пользовательское правило, согласно которому кран или мост выбирает агента. Выражение, заданное здесь, воспринимается краном или мостом как приоритет агента. Чем выше возвращаемое значение, тем выше приоритет.
Тип значения: double
Локальная переменная: T agent - текущий агент (материальный объект)
Безопасная высота [динамический]
Задает минимальное значение высоты, на которую кран или мост должен поднять агента для перемещения (например, чтобы избежать столкновений с препятствиями). Высота рассчитывается как расстояние от крюка до Z-координаты крана.
Тип значения: double
Локальная переменная: Crane crane - кран
Действия
При входе [код]
Здесь вы можете задать код, который будет выполняться, когда агент (материальный объект) поступит в этот блок.
Локальная переменная: T agent - текущий агент (материальный объект)
При выходе [код]
Здесь вы можете задать код, который будет выполняться, когда агент (материальный объект) покинет этот блок.
Локальная переменная: T agent - текущий агент (материальный объект)
При извлечении [код]
Здесь вы можете задать код, который будет выполняться, когда агент (материальный объект) умышленно извлекается из этого блока.
Локальная переменная: T agent -текущий агент (материальный объект)
При захвате крана [код]
Здесь вы можете задать код, который будет выполняться, когда агент (материальный объект) захватывает кран или мост.
Локальная переменная:
T agent - текущий агент (материальный объект)
Crane crane - кран

Функции

boolean contains(Agent agent) - Возвращает true, если в этом блоке находится указанный агент. Параметр: agent - агент (материальный объект)

int size() - Возвращает количество агентов, которые в данный момент находятся в этом блоке.

T get(int index) - Возвращает агента с указанным индексом. Порядок агентов соответствует порядку, в котором они поступили в этот блок.
Параметр: index - индекс агента

T remove(Agent agent) - Извлекает заданного агента из блока. Если агент все еще находится в очереди, он извлекается и из очереди, и из блока. Если кран уже начал движение к агенту, при вызове этой функции кран освободится, агент будет извлечен из блока, и кран остановится.
Параметр: agent - агент (материальный объект)

Порты

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