Simulink ® Design Verifier™ создает файл данных по завершении анализа. Файл данных - это MAT-файл, содержащий структуру с именемsldvData. В этой структуре хранятся все данные, собранные программным обеспечением в ходе анализа. Хотя программа отображает те же данные в графическом виде в модели кабельных трасс и отчете, файл данных можно использовать для выполнения собственного анализа или создания пользовательского отчета.
sldvData СтруктураКогда Simulink Design Verifier завершает анализ, он создает MAT-файл, содержащий структуру с именем sldvData. Чтобы ознакомиться с содержанием sldvData структура:
Создание тестовых примеров для sldvdemo_flipflop модель:
sldvdemo_flipflop;
sldvrun('sldvdemo_flipflop');Для загрузки файла данных по запросу MATLAB ® введите следующую команду:
load('sldv_output\sldvdemo_flipflop\sldvdemo_flipflop_sldvdata.mat')Программное обеспечение MATLAB загружает sldvData в свою рабочую область. Эта структура содержит результаты анализа Simulink Design Verifier sldvdemo_flipflop модель.
Войти sldvData в командной строке MATLAB для отображения имен полей, составляющих структуру:
sldvData =
ModelInformation: [1x1 struct]
AnalysisInformation: [1x1 struct]
ModelObjects: [1x2 struct]
Constraints: []
Objectives: [1x12 struct]
TestCases: [1x4 struct]
Version: '2.1'sldvDataСледующие разделы описывают поля в sldvData структура:
В sldvData структура, ModelInformation содержит информацию о анализируемой модели. В следующей таблице описаны все подразделы ModelInformation поле.
| Имя подполя | Описание |
|---|---|
Name | Имя модели. |
Version | Номер модели. |
Author | Имя пользователя. |
TimeStamp | Дата и время последнего обновления модели. |
SubsystemPath | Полное имя пути к анализируемой подсистеме (при ее наличии). |
ExtractedModel | Имя извлеченной модели (при ее наличии) для анализа подсистемы (при ее наличии), указанной в |
ReplacementModel | Имя модели (при ее наличии), содержащей замены блоков. |
HarnessOwnerModel | Имя модели владельца анализируемого тестового жгута Simulink Test™ (при его наличии). |
В sldvData структура, AnalysisInformation перечисляет настройки конкретных опций анализа и соответствующую информацию. В следующей таблице описаны все подразделы AnalysisInformation поле.
| Имя подполя | Описание |
|---|---|
Status | Статус завершения анализа Simulink Design Verifier. |
AnalysisTime | Двойное значение, указывающее длину анализа в секундах. |
Options | Глубокая копия объекта параметров Simulink Design Verifier, используемого во время анализа. |
InputPortInfo | Массив ячеек структур, указывающий информацию о каждом блоке Inport в системе верхнего уровня. |
OutputPortInfo | Массив ячеек структур, указывающий информацию о каждом блоке Outport в системе верхнего уровня. |
SampleTimes | Только для внутреннего использования. |
Parameters | Только для внутреннего использования. |
AbstractedBlocks | Только для внутреннего использования. |
Approximations | Структура, описывающая аппроксимации, выполненные во время анализа. Дополнительные сведения об аппроксимациях см. в разделе Аппроксимации. |
ReplacementInfo | Только для внутреннего использования. |
PreProcessingTime | Двойное значение, указывающее время в секундах для построения или повторного использования представления модели. |
ModelRepresentationInfo | Дата и время представления модели, используемого для анализа. |
В sldvData структура, ModelObjects в поле перечислены элементы модели и связанные с ними цели. В следующей таблице описаны все подразделы ModelObjects поле.
| Имя подполя | Описание |
|---|---|
descr | Полный путь к объекту модели, включая объекты диаграммы Stateflow ®. |
typeDesc | Тип блока объекта модели. |
slPath | Полный путь к объекту модели Simulink. |
sfObjType | Тип объекта Stateflow. Пример: |
sfObjNum | Целое число, представляющее уникальный идентификатор объекта Stateflow. |
sid | Только для внутреннего использования. |
designSid | Только для внутреннего использования. |
replacementSid | Только для внутреннего использования. |
objectives | Вектор целых чисел, представляющий индексы целей, связанных с объектом модели. |
В sldvData структура, Constraints содержит информацию об указанных минимальных и максимальных значениях (если таковые имеются) на входных портах модели. В следующей таблице приведено описание подраздела Constraints поле.
| Имя подполя | Описание |
|---|---|
DesignMinMax | Массив ячеек структур, включающих имя и минимальные и максимальные значения для каждого входного порта, для которого указаны значения. |
В sldvData структура, Objectives содержит сведения о каждой цели, такие как ее тип, статус и описание. В следующей таблице описаны все подразделы Objectives поле.
| Имя подполя | Описание |
|---|---|
type | Тип цели. |
status | Статус цели. |
descr | Описание цели. |
label | Метка цели. |
outcomeValue | Целое число, указывающее результат цели. |
coveragePointIdx | Целое число, представляющее индекс точки покрытия, с которой связана цель. |
linkInfo | Только для внутреннего использования. |
range | Только для внутреннего использования. |
detectability | Состояние обнаруживаемости цели. Это поле появляется в файле данных, если для параметра Режим анализа установлено значение |
detectionSites | Массив идентификатора Simulink (SID) сайтов обнаружения для обнаруживаемой цели. Цель обнаруживается в любом из участков обнаружения. Это поле появляется в файле данных, если для параметра Режим анализа установлено значение |
modelObjectIdx | Целое число, представляющее индекс объекта модели, с которым связана цель. |
analysistime | Целое число, представляющее время анализа для объекта. |
testCaseIdx | Целое число, представляющее индекс тестового случая или контрпримера, обращающегося к цели. |
В sldvData структура, это поле может иметь два имени, в зависимости от типа проверки:
Если для параметра Mode установлено значение Design error detection, CounterExamples В поле перечислены сведения о каждом тестовом случае, который приводит к целочисленному переполнению или ошибке деления на ноль.
Если для параметра Mode установлено значение Test generation, TestCases В поле перечислены сведения о каждом тестовом случае, такие как значения его сигнала и цели теста, которые он достигает.
Если для параметра Mode установлено значение Property proving, CounterExamples в поле перечислены сведения о каждом контрпримере и цель доказательства, которую он фальсифицирует.
В следующей таблице описаны все подразделы TestCases / CounterExamples поле.
| Имя подполя | Описание |
|---|---|
timeValues | Вектор, указывающий значения времени, связанные с сигналами в тестовом примере или контрпримере. |
dataValues | Массив ячеек, указывающий значения данных, связанные с сигналами в тестовом примере или контрпримере. |
paramValues | Структура, указывающая значения параметров, связанные с тестовым случаем или контрпримером. Его поля включают в себя:
|
stepValues | Вектор, указывающий количество временных шагов, которые содержат сигналы в тестовом случае или контрпримере. |
objectives | Структура, определяющая цели, к которым относится тестовый случай или контрпример. Его поля включают в себя:
|
dataNoEffect | Массив ячеек логических векторов, который определяет, влияют ли значения данных сигнала на цель. Вектор использует |
expectedOutput | Массив ячеек векторов, задающий выходные значения, полученные в результате моделирования модели с использованием сигналов тестового случая. Каждая ячейка представляет выходные значения, связанные с различным блоком Outport в системе верхнего уровня. Это подполя заполняется при выборе Включить ожидаемые выходные значения. |
В sldvData структура, Version указывает версию Simulink Design Verifier, которая анализировала модель.
Если вы анализируете модель на неработоспособную логику, в sldvData структура, DeadLogic в поле содержится информация о каждой логической цели.
В этой таблице описываются все подразделы DeadLogic поле.
| Имя подполя | Описание |
|---|---|
label | Описание неработоспособной логической цели. |
descr | Полный путь к объекту модели, включая объекты в диаграмме Stateflow. |
modelObjIdx | Целое число, представляющее индекс объекта модели, связанного с целью. |
coverageType | Тип цели покрытия. |
coverageIdx | Целое число, представляющее индекс точки покрытия, связанной с целью. |
ObjectiveIdx | Целое число, представляющее индекс цели, связанной с объектом модели. |
sldvruntest функция моделирует модель с помощью тестовых примеров или контрпримеров, которые находятся в файле данных Simulink Design Verifier:
Моделирование sldvdemo_flipflop моделирование и генерация тестовых примеров:
Сохраните расположение файла данных, созданного после анализа модели:
sldvDataFile = 'sldv_output\sldvdemo_flipflop\sldvdemo_flipflop_sldvdata.mat'
Используйте sldvruntest для моделирования sldvdemo_flipflop модель с использованием тестового варианта 2 в файле данных:
[ outdata ] = sldvruntest('sldvdemo_flipflop', sldvDataFile, 2)Выходные данные sldvruntest является массивом объекты.Simulink.SimulationOutput
Проверьте выходные данные из первого тестового случая с помощью методов Simulink.SimulationOutput объект:
tout_sldvruntest = outdata(1).find('tout_sldvruntest');
xout_sldvruntest = outdata(1).find('xout_sldvruntest');
yout_sldvruntest = outdata(1).find('yout_sldvruntest');
logsout_sldvruntest = outdata(1).find('logsout_sldvruntest');Результаты предыдущего анализа модели можно загрузить из файла данных. Дополнительные сведения см. в разделах Загрузка предыдущих результатов и sldvloadresults.