exponenta event banner

sldvruntest

Моделирование модели с использованием входных данных

Описание

outData = sldvruntest(model, dataFile) моделирует model используя все тестовые случаи в dataFile. outData является массивом Simulink.SimulationOutput объекты. Каждый элемент массива содержит выходные данные моделирования соответствующего тестового случая.

пример

outData = sldvruntest(model, dataFile, runOpts) моделирует model используя все тестовые случаи в dataFile. runOpts определяет опции для моделирования тестовых примеров.

[outData, covData] = sldvruntest(model, dataFile, runOpts) моделирует model с использованием тестовых примеров в dataFile. Когда runOpts область coverageEnabled является true, программное обеспечение Simulink ® Coverage™ собирает информацию об охвате модели во время моделирования .sldvruntest возвращает данные покрытия в cvdata объект covData.

Примеры

свернуть все

Проанализируйте sldvdemo_cruise_control модель. Моделирование модели с использованием данных из трех тестовых примеров. Проверьте данные регистрации сигналов с помощью инспектора данных моделирования.

Откройте окно sldvdemo_cruise_control пример модели.

open_system('sldvdemo_cruise_control');

Установите sldvoptions и анализ модели.

opts = sldvoptions;
opts.Mode = 'TestGeneration';
opts.SaveHarnessModel = 'on';
opts.SaveReport = 'off';
[ status, files ] = sldvrun('sldvdemo_cruise_control', opts);

Моделирование модели с использованием данных из трех тестовых примеров. Проверьте данные регистрации сигналов с помощью инспектора данных моделирования.

runOpts = sldvruntestopts;
[ outData ] = sldvruntest('sldvdemo_cruise_control',...
    files.DataFile, runOpts);
Simulink.sdi.createRun('Test Case 1 Output', 'namevalue',...
    {'output'}, {outData(1).find('logsout_sldvruntest')});
Simulink.sdi.createRun('Test Case 2 Output', 'namevalue',...
    {'output'}, {outData(2).find('logsout_sldvruntest')});
Simulink.sdi.createRun('Test Case 3 Output', 'namevalue',...
    {'output'}, {outData(3).find('logsout_sldvruntest')});
Simulink.sdi.view;

Создание отчета о покрытии путем моделирования тестовых случаев для sldvdemo_cruise_control модель.

Откройте окно sldvdemo_cruise_control пример модели.

open_system('sldvdemo_cruise_control');

Установите sldvoptions и анализ модели.

opts = sldvoptions;
opts.Mode = 'TestGeneration';
opts.SaveHarnessModel = 'on';
opts.SaveReport = 'off';
[ status, files ] = sldvrun('sldvdemo_cruise_control', opts);

Включите опцию для сбора данных покрытия модели и моделирования модели с использованием данных. Затем создайте отчет о покрытии с помощью cvhtml (Покрытие Simulink).

runOpts = sldvruntestopts;
runOpts.coverageEnabled = true; 
[ outData,covData ] = sldvruntest('sldvdemo_cruise_control',...
                      files.DataFile,runOpts); 
cvhtml('coverageReport',covData); 

Входные аргументы

свернуть все

Имя или маркер модели Simulink для моделирования.

Имя файла данных или структуры, содержащей входные данные. Вы можете создать dataFile с помощью анализа Verifier™ Simulink Design или с помощью sldvlogsignals функция. Дополнительные сведения см. в разделе Файлы данных Simulink Design Verifier.

Структура, в полях которой указана конфигурация sldvruntest.

ОбластьОписание

testIdx

Массив индекса тестового случая для моделирования из dataFile. Если testIdx является [], sldvruntest моделирует все тестовые случаи.

По умолчанию: []

signalLoggingSaveFormat

Укажите формат регистрации сигналов для сигналов, подключенных к выходу модели, и для промежуточных сигналов, настроенных для регистрации.

При указании Dataset, данные хранятся в Simulink.SimulationData.Dataset объекты.

По умолчанию: 'Dataset'

coverageEnabled

Если trueуказывает, что программа Simulink Coverage собирает данные о покрытии модели во время моделирования.

По умолчанию: false

coverageSetting

cvtest объект для сбора покрытия модели. Если [], sldvruntest использует существующие настройки покрытия для model.

По умолчанию: []

fastRestart

Если trueSimulink Design Verifier использует режим быстрого перезапуска для моделирования модели.

По умолчанию: true

useParallel

Если trueSimulink Design Verifier моделирует тестовые примеры с параллельными вычислениями. Для этого параметра требуется лицензия Parallel Computing Toolbox™.

По умолчанию: false

Примечание

runOpts = sldvruntestopts возвращает runOpts со значениями по умолчанию для каждого поля.

Выходные аргументы

свернуть все

Массив Simulink.SimulationOutput объекты, генерируемые программным обеспечением после моделирования тестовых примеров. Каждый Simulink.SimulationOutput объект имеет поля, перечисленные в таблице.

Имя поляОписание

tout_sldvruntest

Время моделирования

xout_sldvruntest

Данные о состоянии

yout_sldvruntest

Данные выходного сигнала

logsout_sldvruntest

Данные регистрации сигналов для:

  • Сигналы, подключенные к выходам

  • Сигналы, настроенные для регистрации в модели

cvdata объект, содержащий данные покрытия модели, которые программа собирает во время моделирования.

Примечание

covdata ссылается на файл, содержащий результаты покрытия. Данные покрытия из файла ссылки автоматически загружаются в память при covdata используется функцией покрытия. Этот файл сохраняется в sldv_covoutput в текущей папке.

Совет

  • dataFile которые создаются с помощью анализа Simulink Design Verifier или с помощью запуска sldvlogsignals содержит значения времени и значения данных. При моделировании модели с использованием этих тестовых примеров можно достичь отсутствующего покрытия. Отсутствие покрытия возникает, когда значения времени в dataFile не выровнены с текущим шагом времени моделирования из-за числовых расхождений в расчетах. Отсутствие покрытия чаще достигается с помощью многоскоростных моделей - моделей с несколькими временами выборки.

  • Для useParallelпри моделировании тестовых случаев с использованием параллельных вычислений необходимо учитывать следующие моменты:

    • Запуск параллельного пула может занять время, что влияет на общее время анализа. Чтобы сократить время анализа, выполните следующие действия.

      • Перед выполнением анализа генерации теста убедитесь, что параллельный пул уже запущен. По умолчанию параллельный пул отключается после простоя в течение указанного количества минут. Сведения об изменении параметров см. в разделе «Определение параметров параллельного вычисления» на панели инструментов параллельного вычисления.

      • Загрузите Simulink на всех параллельных работников пула.

    • Моделирование происходит последовательно, когда:

      • Кластер не является local. Настройка параметров параллельной настройки для использования local только кластер. Сведения об изменении параметров см. в разделе «Определение параметров параллельного вычисления» на панели инструментов параллельного вычисления.

      • Модель находится в dirty state перед запуском анализа SLDV.

      • Модель имеет ToFile блоки.

      • Модель находится в режиме моделирования Software-in-the-loop (SIL).

      • Модель представляет собой внутренний электрический жгут.

Представлен в R2007b