В этом примере описывается, как создавать тесты, ограничивающие значения для структур и сигналов шины в модели. Предположим, что модель включает переменную с именем kpGainsStructure, которая является структурой в рабочей области MATLAB ®. Модель использует блок выбора шины для разделения полей структуры на отдельные сигналы шины. Можно ограничить значения структуры или значения сигналов шины, чтобы они оставались в заданном диапазоне во время моделирования.

В этом примере описывается, как создать и проанализировать простую модель Simulink ®, а затем использовать Simulink Design Verifier™ для создания тестовых примеров модели. Модель содержит входной сигналIn1 значение которого устанавливается в диапазоне от -1 до 1. kpGainsStructure - структура, содержащая три поля, Kp1, Kp2, и Kp3и выводит их в блок выбора шины, который разделяет поля на отдельные сигналы шины. Блок Mode имеет параметр constant value, который имеет значение mode определяет три сигнала шины в качестве входа в kpGain блок.
Значение In1 умножается на dзатем умножается на выбранный сигнал шины. Результат переходит к блоку Насыщения, предел которого определен в диапазоне от -0,5 до 0,5.
На основе mode значение, Simulink выбирает одно из трех kpGainsStructure и определяет ограничения. Входной сигнал блока Насыщения должен быть ниже нижнего предела или должен быть выше верхнего предела, чтобы удовлетворять задаче решения блока Насыщения. Затем Simulink Design Verifier настраивает эти параметры для достижения этого предела. Следующий рабочий процесс поможет выполнить этот пример.
Предварительная загрузка значения переменной рабочей области MATLAB kpGainsStructure. Структура содержит поля. Kp1, Kp2, и Kp3.
На вкладке Моделирование (Modeling) выберите Параметры модели (Model Settings) > Свойства модели (Model Properties).
Перейдите на вкладку Обратные вызовы.
Щелкните PreLoadFcn, затем загрузите Kp1, Kp2 и Kp3 поля myStruct:
load('struct_param.mat');
myStruct.Kp1 = 15;
myStruct.Kp2 = -5;
myStruct.Kp3 = -5;
gainsParam = Simulink.Parameter(myStruct);
mode = 1;
d = Simulink.Parameter(0.012);

Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства модели (Model Properties) и сохранить модель.
Поскольку структурный параметр вызывается блоком константы, необходимо определить вывод блока константы как шину. Выполните следующие действия:
Дважды щелкните блок «Gains», чтобы открыть диалоговое окно «Параметры блока».
В разделе Атрибуты сигнала (Signal Attributes) выберите Тип выходных данных (Output data type) как Bus:BusO.
Нажмите кнопку ОК.
Существует два способа ограничения значений структурных или шинных сигналов в окне Параметр конфигурации (Configuration Parameter): с помощью таблицы параметров или файла конфигурации параметров.
Таблица параметров
Файл конфигурации параметров
По возможности таблица параметров автоматически генерирует значения ограничений для каждого параметра в зависимости от типа данных и расположения параметра в модели. Дополнительные сведения см. в разделе Определение значений ограничений для параметров.
Чтобы создать значение ограничения для каждого параметра, выполните следующие действия.
На вкладке Приложения (Apps) в разделе Проверка модели (Model Verification), Проверка (Validation) и Тест (Test) щелкните Проверка конструкции (Design Verifier).
На вкладке «Design Verifier» выберите «Test Generation Settings».
В диалоговом окне «Параметры конфигурации» выберите «Design Verifier» > «Parameters».
Выберите Включить настройку параметров.
Выберите Использовать таблицу параметров.
Щелкните Найти в модели (Find in Model).
Таблица параметров заполняется параметрами из модели.
В таблице параметров в столбце Ограничение (Constraint)
{1,2,3} для mode
[-0.01 0.15] для d

Нажмите кнопку ОК.
Это альтернативный подход, который можно использовать для определения значений ограничений вместо использования таблицы параметров. Программа Simulink Design Verifier предоставляет шаблон, который можно копировать и редактировать. Дополнительные сведения см. в разделе Файл конфигурации параметров шаблона в разделе Определение значений ограничений для параметров в файлах кода MATLAB. По умолчанию путь к файлу конфигурации параметров:
matlabroot/toolbox/sldv/sldv/sldv_params_template.m
Чтобы связать файл конфигурации параметров с моделью перед анализом модели, в диалоговом окне Параметры конфигурации (Configuration Parameters) на панели Проверка проекта (Design Verifier) > Параметры (Parameters) убедитесь, что флажок Использовать таблицу параметров (Use parameter table) снят, и введите имя файла конфигурации в поле Файл конфигурации параметров (Parameter configuration file).
Чтобы определить значения ограничений в файле конфигурации параметров, выполните следующие действия.
В sldv_params_template.m, введите:
function params = params_config
params.mode = {1, 2, 3};
params.d = [-.001 0.15];
params.gainsParam.Kp1 = Sldv.Interval(0, 50);
params.gainsParam.Kp2 = Sldv.Interval(-10, 10);
params.gainsParam.Kp3 = [-5, 5];
Сохранить файл с именем params_config.m.
Открытие модели DemoModel.
На панели «Приложения» в разделе «Проверка модели», «Проверка» и «Тест» выберите «Проверка конструкции».
На вкладке «Design Verifier» выберите «Test Generation Settings».
В диалоговом окне «Параметры конфигурации» выберите «Design Verifier» > «Parameters».
Выберите Включить настройку параметров.
Нажмите кнопку Обзор и выберите params_config.m файл конфигурации параметров, сохраненный на шаге 2.
Проанализируйте модель с включенными ограничениями параметров и создайте отчет об анализе:
На вкладке Design Verifier в разделе Mode выберите Test Generation. Щелкните Создать тесты (Generate Tests).
Simulink Design Verifier анализирует модель для создания тестовых примеров.
Когда программное обеспечение закончит свой анализ, в окне Резюме Результатов Свидетельства Дизайна Simulink, рядом с отчетом о Подробном анализе, выберите HTML.
Программа отображает HTML-отчет с именем DemoModel.html.

В оглавлении отчета Simulink Design Verifier щелкните Тестовые примеры.
Нажмите кнопку Test Case 1, чтобы отобразить подраздел для этого тестового случая.
Тестовый пример 1 показывает, что Simulink Design Verifier настроил все параметры таким образом, что все входы, поступающие от In1 входного сигнала, блока усиления и переменной режима, упадут ниже -0,5 или выше 0,5. При создании тестовых примеров все ограничения удовлетворяют поставленным целям.

Аналогично, параметры для тестового случая 2 и тестового случая 3 настроены и удовлетворяют поставленным целям.