Receive, Message Receive

Получите сообщения

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

    SimEvents

  • Receive block

Описание

Блок Receive извлекает данные из полученных сообщений и пишет им в порт выходного сигнала. Если нет никаких новых сообщений, когда блок выполняется, блок использует значение Value source when queue is empty. Receive и блоки Message Receive являются идентичными блоками.

  • Выберите Hold last value содержать данные, считанные из последнего сообщения.

  • Выберите Use initial value записать данные по умолчанию.

Порты

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

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

Входной порт для сообщения.

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

Вывод

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

Выходные параметры 1 если блок получает сообщение успешно и 0 в противном случае.

Зависимости

Чтобы включить этот порт, установите флажок, пометил Show receive status.

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

Выходной порт для сигнала.

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

Параметры

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

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

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

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

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

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

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

Зависимости

Этот параметр отображается, когда вы выбираете поле, пометил Use internal queue.

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

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

Задайте способность очереди сообщений. Длина очереди может быть задана как положительное целое число между 1 и 2 26-1 (оба включенные).

Зависимости

Этот параметр отображается, когда вы выбираете поле, пометил Use internal queue.

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

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

Блок поддерживает три сообщения, сортирующие политики:

  • Метод "первым пришел - первым вышел" (FIFO) — Самое старое сообщение в устройстве хранения данных отбывает сначала.

  • В обратном порядке (LIFO) — Новейшее сообщение в устройстве хранения данных отбывает сначала.

  • Priority — Сообщения или сущности сортируются на основе их приоритета.

    Приоритетная очередь может использоваться только, когда флажок Overwrite the oldest element if queue is full снимается.

    Примечание

    Приоритетная очередь принимает только скаляр нешины, и это не поддерживает fixed point тип данных.

Зависимости

Этот параметр отображается, когда вы выбираете поле, пометил Use internal queue.

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

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

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

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

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

Зависимости

Этот параметр отображается, когда вы выбираете поле, пометил Use internal queue andQueue type> Priority.

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

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

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

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

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

Введите значение исходных данных для очереди перед прибытием первого сообщения. Значение по умолчанию [](unspecified) обработан как 0 с типом данных дважды.

Чтобы использовать этот блок, чтобы инициализировать невиртуальный сигнал шины, задайте начальное значение как структуру MATLAB®. Для получения дополнительной информации об инициализации невиртуальных сигналов шины с помощью структур, смотрите, Задают Начальные условия для Элементов Шины.

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

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

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

  • Hold last value (значение по умолчанию) — Содержит данные, считанные из последнего сообщения.

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

  • Use initial value — Данные о значении по умолчанию записей.

Зависимости

Этот параметр отображается, когда вы выбираете поле, пометил Use internal queue.

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

Параметры блоков: ValueSourceWhenQueueIsEmpty
Ввод: символьный вектор
Значения: 'Hold last value' | 'Use initial value'
Значение по умолчанию: 'Hold last value'

Чтобы наследовать шаг расчета, установите этот параметр на -1. См. Настройку времени выборки для получения дополнительной информации.

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

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

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

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

Типы данных

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

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

no

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

yes

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

no

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

no

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Смотрите также

(SimEvents)

Введенный в R2016a