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 и 226- 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 и Queue type > Priority.

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

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

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

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

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

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

Чтобы использовать этот блок для инициализации невиртуального сигнала шины, задайте начальное значение как 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++ с помощью Coder™ Simulink ®

.

См. также

(SimEvents)

Введенный в R2016a
Для просмотра документации необходимо авторизоваться на сайте