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