Я пытаюсь запустить тесты в реальном времени, используя тест Simulink и Simulink Real-Time (с оборудованием Speedgoat).

Проблема в том, что иногда я хочу запустить один и тот же тест несколько раз, но это занимает очень много времени. Я думаю, это потому, что модель перестраивается (по крайней мере, частично) и повторно развертывается на оборудовании каждый раз при запуске теста. Я убедился, что файл MLDATX, развернутый на целевом компьютере, перестраивается при каждом запуске теста. Однако исходный код, MEX-файлы и т. д. модели НЕ перестраиваются при каждом запуске, так что это не совсем «полная» пересборка. Я также пытался иметь несколько копий одного и того же теста в одном наборе тестов, и файл MLDATX все еще перестраивался для каждого теста.

Вот шаги воспроизведения:

1) Подключитесь и настройте целевую машину SLRT.

2) Откройте Диспетчер тестов и создайте тестовый пример в реальном времени.

3) Откройте тестируемую демонстрационную модель с помощью следующей команды: ›› sltestProjectorController

4) В диспетчере тестов перейдите к тестовому набору и выберите нужную целевую машину.

5) Запустите тест один раз. Это занимает некоторое время (~ 1 мин на моей машине), потому что генерируются весь исходный код и файлы MEX.

6) Запустите тест еще раз. Обратите внимание, что это быстрее, чем первый запуск (~ 30 секунд на моей машине), но модель говорит «Building…», и файл MLDATX создается повторно, хотя в модели ничего не менялось.

Обратите внимание, что в этом примере модель строится и запускается довольно быстро, но для моей реальной модели на сборку и запуск уходит около 10 минут.

Итак, вопрос: есть ли способ предотвратить повторную сборку и повторное развертывание модели, если она уже загружена на целевом оборудовании? Или есть ли другой способ ускорить несколько прогонов теста?

ОТВЕЧАТЬ

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

У меня есть 2 обходных пути для вас, которые должны позволить вам избежать повторной сборки.

1) Изменить «Тестируемая система»

Если вы просто хотите определить несколько тестовых случаев с использованием одной и той же точной модели, которая впоследствии не изменится, в «Тестируемая система» вы можете использовать один из следующих параметров в разделе «Загрузить приложение из»:

«Целевое приложение»: укажите файл mldatx в реальном времени вместо модели, файл mldatx будет загружен в цель в начале тестового примера, если он еще не загружен.

«Целевой компьютер»: укажите целевое имя, на котором уже загружено приложение реального времени.

2) Используйте итерации

Если вы хотите определить несколько тестовых случаев, используя одну и ту же модель, и хотите перебирать параметры между тестовыми наборами, вы можете использовать итерации для достижения этой цели. Только первая итерация вызовет сборку и загрузку; все последующие итерации будут проверять параметры и запускать выполнение непосредственно на цели. Дополнительные сведения о создании итераций см.

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ