exponenta event banner

Получение, получение сообщений

Получение сообщений

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

    SimEvents

  • Receive block

Описание

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

  • Выбрать 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'

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

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

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

Зависимости

Этот параметр отображается при установке флажка Использовать внутреннюю очередь.

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

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

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

Зависимости

Этот параметр отображается при установке флажка Использовать внутреннюю очередь.

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

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

Блок поддерживает три политики сортировки сообщений:

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

  • Последний вход - первый выход (LIFO) - Самое новое сообщение в хранилище отправляется первым.

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

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

    Примечание

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

Зависимости

Этот параметр отображается при установке флажка Использовать внутреннюю очередь.

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

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

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

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

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

Зависимости

Этот параметр отображается при установке флажка Использовать внутреннюю очередь и Тип очереди > Приоритет.

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

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

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

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

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

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

Чтобы использовать этот блок для инициализации невоиртуального сигнала шины, укажите начальное значение в виде структуры MATLAB ®. Дополнительные сведения о инициализации невоиртуальных сигналов шины с использованием структур см. в разделе Указание начальных условий для элементов шины.

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

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

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

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

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

  • Use initial value - Запись данных по умолчанию.

Зависимости

Этот параметр отображается при установке флажка Использовать внутреннюю очередь.

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

Параметр блока: 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™

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