overflowed

Определите, когда очередь сообщений переполнится

Синтаксис

Описание

пример

overflowed(message_name) проверки, потеряно ли сообщение, потому что оно было отправлено очереди, которая была уже полна. В каждом временном шаге установлено значение этого оператора, когда график добавляет сообщение в или удаляет сообщение из, очередь. Это недопустимо, чтобы использовать overflowed оператор прежде, чем быть передающим или получить сообщение в том же временном шаге. Использовать overflowed оператор, набор модель к autosar.tlc цель и для симуляции и для генерации кода и проверяет, что импорт или выходной порт передают подключения к внешней очереди.

  • Чтобы проверять состояние переполнения очереди входного сигнала, сначала удалите сообщение из очереди.

  • Чтобы проверять состояние переполнения очереди выходного сигнала, сначала добавьте сообщение в очередь.

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

Примеры

свернуть все

Проверяйте вход или локальную очередь для сообщения M. Если сообщение присутствует, и очередь переполнилась, переход происходит.

M[overflowed(M)]

Проверяйте вход или локальную очередь для сообщения M. Если сообщение присутствует, и очередь переполнилась, постепенно увеличьте значение x.

on M:
if overflowed(M) == true
    x = x+1;
end

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

entry:
M.data = 3;
send(M);
if overflowed(M) == true
    x = x+1;
end

Советы

  • По умолчанию, когда очередь сообщений переполняется, остановки симуляции с ошибкой. Предотвратить ошибку времени выполнения и позволить overflowed оператор, чтобы динамически реагировать на пропущенные сообщения, установите значение свойства Queue Overflow Diagnostic к Warning или None. Для получения дополнительной информации смотрите Диагностику Переполнения Очереди (Stateflow).

Введенный в R2018b