Я хочу, чтобы некоторые рекомендуемые методы улучшали неудовлетворительную производительность приложения реального времени.
Производительность во время выполнения и уменьшает время выполнения задачи (TET) модели, зависят от образцового проекта, способности целевого компьютера и использования целевого компьютера.
Можно улучшать производительность во время выполнения и уменьшать время выполнения задачи (TET) модели с этими методами.
Используйте эти инструменты производительности:
Запустите Советника по вопросам Производительности от Simulink® Analysis> меню Performance Tools и примените консультацию, которую это предоставляет. Смотрите Улучшают Производительность Многоскоростной модели и Шага расчета и Пропускной способности в режиме реального времени Приложения.
Сконфигурируйте приложение реального времени для профилирования, запустите его и вызовите profile_slrt
, чтобы получить результаты. Оцените результаты для потенциальных улучшений задачи и базового распределения модели. Смотрите, что Выполнение Профилирует для Приложений реального времени.
Можно улучшать производительность во время выполнения путем конфигурирования модели, чтобы использовать в своих интересах многожильный целевой компьютер:
Разделите модель в подсистемы согласно физическим требованиям системы, чтобы вы моделируете. Установите частоты дискретизации блока в каждой подсистеме к самому медленному уровню, который удовлетворяет физические требования системы.
В диалоговом окне Configuration Parameters, на панели Solver, устанавливают флажок для Treat each discrete rate as a separate task.
Установите флажок Allow tasks to execute concurrently on target
.
Нажмите Configure Tasks, и затем установите флажок Enable explicit model partitioning for concurrent behavior.
Создайте задачи и триггеры, и затем явным образом присвойте разделы подсистемы задачам. Смотрите Раздел Ваша Модель Используя Явное Разделение (Simulink) и Многоядерное программирование с Simulink (Simulink).
В Проводнике Simulink Real-Time™, на панели Target settings, проверка, что вы установили флажок Multicore CPU.
Запустите приложение реального времени.
Можно улучшать производительность во время выполнения путем минимизации модели, чтобы сделать больше память и циклы ЦП доступными для приложения реального времени:
Если модель содержит много состояний (например, больше чем 20 состояний), снимите флажок States в диалоговом окне Configuration Parameters на панели Data Import/Export. У вас есть теперь журналирование нерабочего состояния, делая больше память доступной для приложения реального времени.
На панели Data Import/Export очистите Time, States, Output, Final states и параметры Signal logging. Вы теперь выключили регистрацию данных, делая больше циклы ЦП доступными для вычисления модели.
На панели Simulink Real-Time Options снимите флажок Monitor Task Execution Time. Вы теперь отключили TET, регистрирующий для приложения реального времени.
На панели Solver увеличьте Fixed-step size (fundamental sample time). Выполнение со временем краткого образца может перегрузить центральный процессор.
Используйте режим опроса. Смотрите Режим Опроса.
В Simulink Real-Time Explorer, на панели Target settings, снимают флажок Graphics mode, чтобы отключить целевое отображение осциллографа.
Удалите осциллографы из модели.
Устраните или минимизируйте дисковый ввод-вывод целевого компьютера в своей модели.
Сократите количество каналов ввода-вывода в модели.
Для дополнительного разъяснения обратитесь к этим источникам:
MathWorks® Tech Support: www.mathworks.com/support/search_results.html?q=product:"Simulink+Real-Time"
Ответы MATLAB®: www.mathworks.com/matlabcentral/answers/?term=Simulink+Real-Time
Центральный MATLAB: www.mathworks.com/matlabcentral
Для аппаратных проблем Speedgoat свяжитесь с Технической поддержкой Speedgoat: www.speedgoat.com/support
.