Некоторая проблема производит перегрузку ЦП при выполнении приложения реального времени.
Перегрузка ЦП указывает, что центральный процессор не может завершить обработку образцового временного шага прежде, чем перезапустить для следующего временного шага. Когда эта ошибка происходит, свойство 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 только для диагноза. Когда ваш диагноз будет завершен, выключите эти опции.
SimulinkRealTime.utils.getConsoleLog