Диагностируйте перегруженный центральный процессор от выполнения приложения реального времени

Некоторая проблема производит перегрузку ЦП при выполнении приложения реального времени.

Что означает эта проблема

Перегрузка ЦП указывает, что центральный процессор не может завершить обработку временного шага модели прежде, чем перезапустить для следующего временного шага.

Когда эта ошибка происходит, Simulink Real-Time остановы RTOS выполнение модели и Target свойство объекта TargetStatus показывает ошибку, например:

mCPUOverload: Sub-rate exception: Overload limit (0) exceeded in 0.02s rate with 1 overloads

Если вы позволяете перегрузку, выполнение модели продолжается, пока позволенный предел перегрузки не достигнут. Если модель продолжает выполняться после перегрузки ЦП, временной шаг длится целому время, требуемое закончить выполнение. Это поведение задерживает следующий временной шаг.

Проект модели или ресурсы целевого компьютера вызывают перегрузки ЦП. Возможные причины:

  • Целевой компьютер является слишком медленным, или шаг расчета модели слишком мал.

  • Модель является слишком комплексной (алгоритмическая сложность).

  • Задержка ввода-вывода, где каждый используемый канал ввода-вывода вводит задержку в систему. Задержка ввода-вывода может заставить время выполнения превышать временной шаг модели.

    Чтобы найти значения задержки для плат Speedgoat, свяжитесь с технической поддержкой Speedgoat.

Попробуйте это обходное решение

Simulink® Real-Time™ RTOS обычно останавливает выполнение модели, когда это сталкивается с перегрузкой ЦП. Можно сконфигурировать модель Simulink Real-Time, чтобы позволить перегрузки ЦП. Используйте эту возможность поддержать долгие инициализации и для диагноза перегрузки.

Разрешите долгое время инициализации

Для некоторых приложений реального времени нормальная инициализация может расширить вне первого шага расчета. Используйте блок SLRT Overload Options, чтобы увеличить число временных шагов запуска, чтобы проигнорировать перегрузки. По умолчанию только первый временной шаг игнорирует перегрузки.

Разрешите перегрузки ЦП для диагноза

Во время выполнения специфичные для оборудования факторы могут заставить приложение реального времени обрабатывать данные вне шага расчета. Используйте TLCOptions свойства xPCMaxOverloads и xPCMaxOverloadLen диагностировать и решить эту проблему.

Примечание

Разрешение центрального процессора целевого компьютера перегрузиться может вызвать неправильные результаты, особенно для многоскоростных моделей. Используйте блок SLRT Overload Options только для диагноза. Когда ваш диагноз будет завершен, выключите эти опции.

Связанные примеры

Больше о

Внешние веб-сайты