Queue, Entity Queue

Ставьте в очередь сообщения и сущности

  • Библиотека:
  • Simulink / сообщения & События

    SimEvents

Описание

Этот блок хранит сущности или сообщения в очереди, на основе порядка прибытия или приоритета. Каждый элемент во главе очереди отбывает, когда нисходящий блок готов принять его. Блок Queue и блок Entity Queue являются теми же блоками с различными значениями по умолчанию для флажка Overwrite the oldest element if queue is full.

Можно задать способность очереди и политику, когда очередь полна. Блок поддерживает три различных сообщения или очередь, сортирующую политики, метод "первым пришел - первым вышел" (FIFO), метод "последним пришел - первым вышел" (LIFO) и приоритет. Приоритетная очередь может использоваться только, когда флажок Overwrite the oldest element if queue is full снимается.

Порты

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

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

Введите сущность или сообщение, которое несет скаляр, шину или векторные данные, чтобы ввести очередь.

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

Вывод

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

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

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

Количество сущностей, которые отбыли из блока.

Зависимости

Чтобы включить этот порт, установите флажок Overwrite the oldest element if queue is full, и кликните по вкладке Statistics и выберите поле, пометил Number of entities departed, d.

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

Количество сущностей, которые еще не отбыли из блока.

Зависимости

Чтобы включить этот порт, установите флажок Overwrite the oldest element if queue is full, и кликните по вкладке Statistics и выберите поле, пометил Number of entities in block, n.

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

Среднее время ожидания для сущностей в блоке.

Зависимости

Чтобы включить этот порт, установите флажок Overwrite the oldest element if queue is full, и кликните по вкладке Statistics и выберите поле, пометил Average wait, w.

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

Port_l выводит среднюю длину очереди сущности.

Зависимости

Чтобы включить этот порт, установите флажок Overwrite the oldest element if queue is full, и кликните по вкладке Statistics и выберите поле, пометил Average queue length, l.

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

Количество сущностей, которые вытащены этого блока.

Зависимости

Чтобы включить этот порт, установите флажок Overwrite the oldest element if queue is full, и кликните по вкладке Statistics и выберите поле, пометил Number of entities extracted, ex.

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

Параметры

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

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

  • Если вы устанавливаете флажок, входящее сообщение перезаписывает самое старое, если очередь полна.

    Этот режим представляет простой буфер сообщения, который можно использовать, чтобы сгенерировать асинхронную связь между компонентами Simulink и производственным кодом.

  • Если вы снимаете флажок, блок не принимает новые сообщения, если очередь полна.

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

    Чтобы настроить действия, когда сущности или сообщения входят, выйдите, или блокируются, вводят код MATLAB® в Entry action, Exit action, или Blocked action поле вкладки Event actions. Для примера смотрите, Управляют Сущностями Используя Действия События.

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

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

Задайте способность очереди.

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

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

Выберите тип очереди.

  • FIFO — метод "первым пришел - первым вышел"

  • LIFO — в обратном порядке

  • Priority — сохраните элементы в порядке приоритета, смотрите сортировку Приоритетом. Priority может быть выбран, когда вы снимаете флажок Overwrite the oldest element if queue is full.

    Примечание

    Приоритетная очередь не поддерживает fixed point тип данных.

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

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

Задайте тег при принятии широковещательной передачи сущностей через многоадресные источники. Блок Entity Multicast требует лицензии SimEvents.

Зависимости

Этот параметр отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Entity arrival source на Multicast.

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

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

Задайте, какой атрибут сущности определяет свой приоритет.

Зависимости

Этот параметр отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Queue type на Priority.

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

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

Выберите направление сортировки на основе приоритета.

  • Ascending — Элементы с меньшими приоритетными значениями появляются перед очередью.

  • Descending — Элементы с большими приоритетными значениями появляются перед очередью.

Зависимости

Этот параметр отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Queue type на Priority.

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

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

Выберите источник прибытия для сущностей.

  • Input port — Input port является источником сообщений или сущностей.

  • Multicast — блок Entity Multicast является источником сущностей. Блок Entity Multicast требует лицензии SimEvents.

Зависимости

Этот параметр отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Queue type на Priority.

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

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

Задайте поведение сущности в определенных событиях. Задайте поведение в параметре Event action. Entry и действия Exit называются сразу после записи сущности и незадолго до выхода сущности. Действие Blocked называется после того, как сущность блокируется.

Примечание

Действия события не поддерживают fixed point тип данных.

Зависимости

Даже действия отображаются, когда вы снимаете флажок Overwrite the oldest element if queue is full.

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

Параметры блоков: EntryAction, ExitAction, BlockedAction
Ввод: символьный вектор
Значения: КОД MATLAB
Значение по умолчанию: ''

Количество сущностей, которые отбыли из блока.

Зависимости

Number of entities departed, d отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.

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

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

Количество сущностей, существующих в блоке, но которые должны все же отбыть.

Зависимости

Number of entities in block, n отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.

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

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

Сумма времени ожидания для сущностей, отбывая из блока, разделенного на их общее количество. Wait time является длительностью между элементом блока Entity Queue и выходом сущности. Для получения дополнительной информации смотрите, Интерпретируют Модели SimEvents Используя Статистический анализ.

Зависимости

Average wait, w отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.

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

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

Накопленный средневзвешенный временем размер очереди. Блок вычисляет это значение:

  1. Умножение размера очереди ее длительностью, чтобы вычислить взвешенный временем размер очереди

  2. Подведение итогов всех взвешенных временем размеров очереди и усреднение их за общее время

Для получения дополнительной информации смотрите, Интерпретируют Модели SimEvents Используя Статистический анализ.

Зависимости

Average queue length, l отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.

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

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

Выводит количество извлеченных сущностей, которые вытащены из этого блока блоком Entity Find. Блок Entity Find требует лицензии SimEvents. Если извлеченная сущность является первой сущностью в очереди, следующая сущность собирается как незаконченная сущность оставить блок. Если атрибут сущности задает приоритет в приоритетной очереди, и это изменяется блоком Entity Find, очередь сортируется снова. Когда сущность извлечена, Number of entities departed, d, Number of entities in block, n, Average wait, w, и статистические данные Average queue length, l обновляются соответственно. Для получения дополнительной информации о нахождении и извлечении сущностей, смотрите, Находят и Сущности Извлечения в Моделях SimEvents.

Зависимости

Number of entities extracted, ex отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.

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

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

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

Характеристики блока

Типы данных

Boolean | bus | double | enumerated | fixed point | integer | single | string

Прямое сквозное соединение

no

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Расширенные возможности

Введенный в R2016a