Ряд блоков Библиотеки Моделирования Процессов (Assembler, Seize, и Service) предоставляют различные варианты выбора типа и количества ресурсов, которые агент должен захватить, находясь в этом блоке.
-
Если вам требуются ресурс(ы) одного типа (например, два робота), выберите опцию Захватить: ресурсы одного типа. Затем выберите требуемый блок ResourcePool из выпадающего списка параметра Тип ресурсов (или щелкните кнопку
и выберите блок в графическом редакторе). Затем укажите, какое количество ресурсов необходимо использовать для сборки в поле параметра Количество ресурсов.
-
Вы можете захватить любое количество различных ресурсов, например, одного робота и два контроллера. Выберите опцию Захватить: (альтернативный) набор ресурсов, затем добавьте типы ресурсов в список и укажите количество ресурсов каждого типа в столбце справа от него:
- Более того, вы можете указать несколько альтернативных наборов типов ресурсов. Когда агенты будут поступать в блок и ожидать начала сборки, наборы ресурсов будут проверяться на доступность. Если ресурсы из первого набора заняты, проверяется второй набор и так далее. Для выполнения операции используется первый доступный набор.
Один набор ресурсов может выполнять задачи с разными приоритетами, заданные в нескольких блоках.
- Если задачи имеют одинаковый приоритет, они будут выполняться последовательно в соответствии с настройками времени выполнения каждой из них. Если у двух задач одинаковый приоритет, но одна из них по какой-то причине была ранее приостановлена, то выбирается приостановленная задача.1
- Если для задач не задан механизм вытеснения, они будут выполняться последовательно в соответствии с настройками времени выполнения каждой из них.
- Начало выполнения задачи, заданной в одном блоке, не сбрасывает счетчик для задач, заданных в других блоках.
1 Каждый ресурс получает запросы из разных источников. Когда у ресурса есть несколько задач с одинаковым приоритетом (новых или ранее приостановленных), при выборе задачи к исполнению учитываются следующие правила:
-
Самый высокий приоритет — у приостановленных задач из «индивидуальной» очереди единицы ресурса.
Такие очереди формируются агентами, находящимися в блоках, для которых значение свойства Правило вытеснения задач установлено на Ожидать оригинал ресурса. -
После этого обрабатываются задачи из очереди блока ResourcePool.
Эта очередь формируется агентами, находящимися в блоках, для которых значение свойства Правило вытеснения задач установлено на Захватывать любой ресурс.
После выполнения задач из этих очередей ресурс сначала выполняет задачи из «индивидуальной очереди», а затем — из очереди блока ResourcePool.
Если этот порядок выполнения вам не подходит, вы можете вручную повысить приоритет определенной задачи с помощью кода: для этого используйте действие блока При остановке задачи.
-
Как мы можем улучшить эту статью?
-