exponenta event banner

получить

Извлечь сообщение из очереди

Описание

пример

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

Примеры

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

Проверка очереди на наличие сообщения M и увеличить значение x если оба этих условия верны:

  • Сообщение присутствует в очереди.

  • Значение данных сообщения равно 3.

Если сообщение отсутствует или если значение данных не равно 3, то значение x не меняется. Если сообщение присутствует, удалите его из очереди независимо от значения данных.

during:
   if receive(M) && M.data == 3
      x = x+1;
   end

Stateflow chart that uses the receive operator.

Представлен в R2018b