exponenta event banner

Очередь, Очередь сущностей

Постановка в очередь сообщений и сущностей

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

    SimEvents

  • Queue block

Описание

Этот блок сохраняет объекты или сообщения в очереди на основе порядка поступления или приоритета. Каждый элемент в начале очереди отходит, когда дочерний блок готов принять его. Блок Очередь (Queue) и блок Очередь сущностей (Entity Queue) являются одинаковыми блоками с различными значениями по умолчанию для флажка Перезаписать самый старый элемент, если очередь заполнена.

Можно указать емкость очереди и политику, когда очередь заполнена. Блок поддерживает три различные политики сортировки сообщений или очередей: FIFO, last in first out и priority. Очередь приоритетов может использоваться только в том случае, если снят флажок Перезаписать самый старый элемент, если очередь заполнена.

Порты

Вход

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

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

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

Продукция

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

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

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

Число объектов, вышедших из блока.

Зависимости

Чтобы включить этот порт, установите флажок Перезаписать самый старый элемент, если очередь заполнена, и перейдите на вкладку Статистика и установите флажок Количество удаляемых объектов, d.

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

Число объектов, которые еще не вышли из блока.

Зависимости

Чтобы включить этот порт, установите флажок Перезаписать самый старый элемент, если очередь заполнена, и перейдите на вкладку Статистика и установите флажок Количество объектов в блоке, n.

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

Среднее время ожидания объектов в блоке.

Зависимости

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

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

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

Зависимости

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

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

Число объектов, которые извлекаются из этого блока.

Зависимости

Чтобы включить этот порт, установите флажок Перезаписать самый старый элемент, если очередь заполнена, и перейдите на вкладку Статистика и установите флажок Количество извлеченных объектов, например.

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

Параметры

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

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

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

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

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

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

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

    Пример см. в разделе Управление сущностями с помощью действий с событиями.

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

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

Укажите емкость очереди.

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

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

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

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

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

Укажите тег при приеме объектов, передаваемых через многоадресные источники. Для блока многоадресной передачи сущности требуется лицензия SimEvents.

Зависимости

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

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

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

Укажите, какой атрибут объекта определяет его приоритет.

Зависимости

Этот параметр отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена, и установке для параметра Тип очереди значения Priority.

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

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

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

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

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

Зависимости

Этот параметр отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена, и установке для параметра Тип очереди значения Priority.

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

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

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

  • Input port - Входной порт является источником сообщений или объектов.

  • Multicast - Блок многоадресной передачи объекта является источником объектов. Для блока многоадресной передачи сущности требуется лицензия SimEvents.

Зависимости

Этот параметр отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена, и установке для параметра Тип очереди значения Priority.

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

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

Укажите поведение объекта в определенных событиях. Определите поведение в параметре действия «Событие». Действия Ввод (Entry) и Выход (Exit) вызываются сразу после ввода объекта и непосредственно перед выходом объекта. Действие Заблокировано вызывается после блокирования сущности. Дополнительные сведения см. в разделе События и действия с событиями.

Примечание

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

Зависимости

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

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

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

Число объектов, вышедших из блока.

Зависимости

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

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

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

Количество объектов, присутствующих в блоке, но еще не отправленных.

Зависимости

Количество объектов в блоке n отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена.

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

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

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

Зависимости

Среднее ожидание, w отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена.

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

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

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

  1. Умножение размера очереди на ее длительность для вычисления взвешенного по времени размера очереди

  2. Суммирование всех взвешенных по времени размеров очереди и усреднение их по общему времени

Дополнительные сведения см. в разделе Интерпретация моделей SimEvents с помощью статистического анализа.

Зависимости

Средняя длина очереди, l отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена.

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

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

Выводит число извлеченных объектов, которые извлекаются из этого блока блоком поиска объектов. Для блока «» Поиск сущности «» требуется лицензия SimEvents. Если извлеченный объект является первым объектом в очереди, следующий объект устанавливается как ожидающий объект для выхода из блока. Если атрибут объекта определяет приоритет в очереди приоритетов и он изменяется блоком «Поиск объекта», очередь сортируется снова. При извлечении объекта соответственно обновляется статистика Количество удаляемых объектов, d, Количество объектов в блоке, n, Среднее ожидание, w и Средняя длина очереди, l. Дополнительные сведения о поиске и извлечении объектов см. в разделе Поиск и извлечение объектов в моделях SimEvents.

Зависимости

Количество извлеченных объектов, ex отображается при снятии флажка Перезаписать самый старый элемент, если очередь заполнена.

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

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

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

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

Типы данных

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

Прямой проход

no

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

yes

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

no

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

no

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

.
Представлен в R2016a