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

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

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

Перегрузка ЦП указывает, что центральный процессор не может завершить обработку образцового временного шага прежде, чем перезапустить для следующего временного шага. Когда эта ошибка происходит, свойство CPUoverload целевого объекта изменяется от none до detected. Одно из следующего может произойти:

  • Ядро Simulink® Real-Time™ останавливает образцовое выполнение.

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

Для получения дополнительной информации и тестовые модели, смотрите www.mathworks.com/matlabcentral/fileexchange/23507.

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

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

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

  • Модель делает дисковый ввод-вывод на жестком диске целевого компьютера.

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

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

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

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

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

Для некоторых приложений реального времени нормальная инициализация может расширить вне первого шага расчета. Используйте свойство TLCOptions xPCStartupFlag с самым маленьким действующим значением приблизительно до 5.

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

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

Примечание

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

Смотрите также

Похожие темы