Resource Pool

Объедините ресурсы сущности

  • Библиотека:
  • SimEvents / управление Сущности

    SimEvents

Описание

Блок Resource Pool задает ресурсы, которые сущности могут использовать во время симуляции модели. Используйте Resource Acquirer и блоки Resource Releaser, чтобы работать с этими ресурсами.

Инициализируйте блок заданным количеством имеющихся ресурсов. Затем:

  • Используйте один или несколько блоков Resource Acquirer, чтобы зарезервировать те ресурсы.

  • Используйте блок Resource Releaser, чтобы возвратить ресурсы назад в этот блок для будущего использования.

Можно определить видимость имеющихся ресурсов в иерархии модели. Можно выбрать Global или Scoped ресурсы в пуле.

  • Global — На ресурсы можно сослаться отовсюду в иерархии модели.

  • Scoped — Ресурсы локально отображаются и могут быть сосланы только от подсистемы, которая содержит блок Resource Pool и все подсистемы внутри.

Порты

Входной параметр

развернуть все

Введите порт сущности для изменения суммы ресурса. Вход не может быть отрицательной величиной.

Зависимости

Чтобы включить этот порт, выберите Change amount through control port как Resource amount source.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Вывод

развернуть все

Количество ресурсов, которые используются.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Amount in use, u.

Типы данных: double

Среднее время ожидания пул используется.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Average utilization, util.

Типы данных: double

Количество ресурсов, которые доступны.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Amount available, avail.

Типы данных: double

Параметры

развернуть все

Введите имя ресурса сущности.

Программируемое использование

Параметры блоков: ResourceName
Ввод: символьный вектор
Значения: 'Resource1' | вектор символов
Значение по умолчанию: 'Resource1'

Выберите гранулярность использования ресурса.

  • Discrete unit — Используйте шаг целого числа.

  • Fractional amount — Используйте дробный шаг.

Программируемое использование

Параметры блоков: ResourceGranularity
Ввод: символьный вектор
Значения: 'Discrete unit' | 'Fractional amount'
Значение по умолчанию: 'Discrete unit'

  • Установите этот флажок, чтобы позволить этому ресурсу возвращаться к пулу ресурсов после релиза. Примером такого ресурса является таблица в ресторане, который доступен для повторного использования, когда клиент уезжает.

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

Программируемое использование

Параметры блоков: ReusableUponRelease
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Выберите источник суммы ресурса.

  • Dialog

  • Change amount through control port

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

Программируемое использование

Параметры блоков: ResourceAmountSource
Ввод: символьный вектор
Значения: 'Dialog' | 'Change amount through control port'
Значение по умолчанию: 'Dialog'

Введите сумму ресурса.

Зависимости

Выберите Dialog включить Resource amount source.

Программируемое использование

Параметры блоков: ResourceAmount
Ввод: символьный вектор
Значения: '10' | скаляр
Значение по умолчанию: '10'

Введите начальную сумму ресурса.

Зависимости

Выберите Change amount through control port включить Resource amount source.

Программируемое использование

Параметры блоков: InitialResourceAmount
Ввод: символьный вектор
Значения: '10' | скаляр
Значение по умолчанию: '10'

Выберите поведение ресурсов, полученных от этого пула как Global или Scoped.

Когда Global выбран:

  • Имена пула ресурсов должны быть уникальными в модели.

  • Все ресурсы имеют глобальную область видимости, и на них можно сослаться отовсюду в иерархии модели.

  • Сущность, несущая ресурс, полученный от этого блока, должна явным образом оставить ресурс.

  • Когда сущность уничтожается, ресурсы, которые сопоставлены с нею, возвращены в пул, если флажок Reusable upon release устанавливается.

Когда Scoped выбран:

  • Ресурсы локально отображаются и могут быть сосланы только от подсистемы, которая содержит блок Resource Pool и все подсистемы внутри.

  • Имена пула ресурсов должны быть уникальными в иерархии модели, где блок Resource Pool отображается.

  • Сущность, несущая ресурс, полученный от этого блока, должна явным образом оставить ресурс.

  • Когда сущность оставляет осциллограф, любые средства, которые локальны для того осциллографа и не уже выпущенные, автоматически высвобождены. Если флажок Reusable upon release устанавливается, они возвращены в пул.

Программируемое использование

Параметры блоков: InitialResourceAmount
Ввод: символьный вектор
Значения: '10' | скаляр
Значение по умолчанию: '10'

Выводит сумму ресурсов, которые блок получил и еще не выпустил. Например, если пул ресурсов имеет 10 ресурсы и сущность получают всех их, этот порт показывает 10. Когда освобождения блока ресурсы, этот порт показывает 0.

Программируемое использование

Параметры блоков: AmountInUse
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Выводит среднее использование ресурса.

Программируемое использование

Параметры блоков: AverageUtilization
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Выводит сумму доступных ресурсов.

Программируемое использование

Параметры блоков: AmountAvailable
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Примеры модели

Введенный в R2016a