exponenta event banner

Устранение неполадок перегруженного ЦП при выполнении приложения реального времени

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

Что означает этот вопрос

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

При возникновении этой ошибки RTOS Simulink в реальном времени останавливает выполнение модели и 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, чтобы увеличить количество шагов запуска для игнорирования перегрузок. По умолчанию только первый шаг времени игнорирует перегрузки.

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

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

Примечание

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

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

Подробнее

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