Освобождает заданное количество ресурсов, ранее захваченных агентом с помощью блока Seize.
Вся процедура занимает нулевое модельное время. Пожалуйста, обратите внимание на то, что перед уничтожением агента все захваченные им ресурсы должны быть освобождены.
- Освобождать
- Задает, какие ресурсы освобождаются. Имеется пять опций на выбор:
Все захваченные ресурсы (любого типа)
Все ресурсы, захваченные данным блоком Seize
Все захваченные ресурсы данного типа
Заданные ресурсы (список типов)
Указанное количество ресурсовИмя: releaseMode
Значение по умолчанию: Release.ALL
Допустимые значения:Release.ALL — Все захваченные ресурсы (любого типа)
Release.ALL_FROM_SEIZES — Все ресурсы, захваченные данным блоком Seize
Release.ALL_FROM_POOLS — Все захваченные ресурсы данного типа
Release.SPECIFIED_RESOURCES — Заданные ресурсы (список типов)
Release.SPECIFIED_QUANTITY — Указанное количество ресурсов - Блоки Seize
- [Параметр виден, если Освобождать: Все ресурсы, захваченные данным блоком Seize]
Выражение, вычисляющее тип ресурсов, к которому принадлежат захваченные ресурсы. Если не указан или возвращает null, значит, используется присоединенный набор ресурсов.Имя: seizeBlocks - [Параметр виден, если Освобождать: Все захваченные ресурсы данного типа и Заданные ресурсы (список типов)]
Список имен блоков блока ResourcePool, ресурсы которого освобождаются. На каждый тип ресурсов будет освобожден один ресурс, поэтому если вы хотите освободить два и больше ресурсов одного набора, укажите его название дважды и более, например, {doctor, nurse, nurse}.Локальная переменная: T agent — агент - [Параметр виден, если Освобождать: Указанное количество ресурсов]
Выражение, возвращающее имя блока ResourcePool, задающего ресурсы, которые требуется освободить.Локальная переменная: T agent — агент - [Виден, если Освобождать: Указанное количество ресурсов]
Выражение, вычисляющее количество ресурсов, которое необходимо освободить текущему агенту. Если Количество ресурсов равно нулю, то наличие ресурсов не проверяется, и при этом агент будет просто проходить через блок.Тип значения: int
Локальная переменная: T agent — агент - Выберите, движущиеся ресурсы Возвращаются в базовую точку (если их сразу же не захватывает другой агент) или Остаются на месте.
Тип значения: boolean
Значение по умолчанию: Возвращаются в базовую точку (true)
Локальные переменные:
T agent — агент
Agent unit — ресурс
- Здесь задается, когда будет выполняться завершающая задача для закончившего обслуживание своего агента ресурса: завершающая задача может выполняться всегда, или только если нет других задач, или же вы можете выбрать другое и задать приоритет и правило вытеснения для завершающей задачи с помощью приведенных ниже параметров. Завершающей задачей является возвращение ресурсов в их базовое местоположение, а также процесс, заданный с помощью диаграммы процесса, начинающейся с блока, соединенного с портом wrapUp, и заканчивающейся блоком ResourceTaskEnd. Если завершающая задача выполняется всегда, ее невозможно прервать любой другой задачей, включая задачи Downtime.
Локальные переменные:
T agent — агент
Agent unit — ресурс - [Параметр виден, если Завершение (возвращаться): другое]
Устанавливает приоритет задачи завершения.Тип значения: double
Значение по умолчанию: 0Локальные переменные: T agent — агент
Agent unit — ресурс - [Параметр виден, если Завершение (возвращаться): другое]
Задает, что произойдет с завершающей задачей при поступлении другой задачи для этого же ресурса:Вытеснения нет — завершающая задача не будет вытесняться другой задачей
Прекратить — завершающая задача будет вытеснена новой задачей и прекращенаЗначение по умолчанию: Вытеснения нет
Допустимые значения:Release.PP_NO_PREEMPTION — Вытеснения нет
Локальные переменные:
Release.PP_TERMINATE — Прекратить
T agent — агент
Agent unit — ресурс - Выберите, должно ли учитываться время, затраченное на завершающую задачу, как "занятое" время, или же как "свободное" время, или же оно не учитывается в статистике вообще.
Локальные переменные:
T agent — агент
Agent unit — ресурс
- При входе
- Код, выполняемый при поступлении агента в блок.
Локальная переменная: T agent — агент
- При освобождении
- Код, выполняемый при освобождении ресурса. Обратите внимание, что ресурсу может быть назначена завершающая задача (пост-процесс) — либо опцией возвращения после выполнения задачи в базовое местоположение ресурса, либо с помощью специальной диаграммы процесса, начинающейся с блока, соединенного с портом wrapUp, и заканчивающейся блоком ResourceTaskEnd.
Локальные переменные:
T agent — агент
Agent unit — ресурс - При выходе
- Код, выполняемый, когда агент покидает блок.
Локальная переменная: T agent — агент
- При прекращении пост-процесса
- Код, выполняемый, когда прерывается выполнение завершающей задачи ресурса (в силу вытеснения другой задачей с более высоким приоритетом).
Локальные переменные:
T agent — агент, который изначально владел данным ресурсом
Agent unit — ресурс
- in
- Входной порт.
- out
- Выходной порт.
- wrapUp
- Порт, куда вы можете присоединить блок, который начинает завершающий процесс диаграммы. Эта диаграмма должна заканчиваться блоком ResourceTaskEnd.
-
Как мы можем улучшить эту статью?
-