Интерфейс командной строки настройки модели

Панорама

Прикладной программный интерфейс (API) позволяет вам создать и управлять конфигурациями модели в командной строке или в скрипте. API включает Simulink.ConfigSet и Simulink.ConfigSetRef классы и следующие функции:

Эти функции, наряду с методами и свойствами Simulink.ConfigSet класс, позвольте вам создавать скрипт к:

  • Создайте и измените конфигурации модели.

  • Присоедините конфигурации модели к модели.

  • Установите активную конфигурацию модели для модели.

  • Открытые и близкие конфигурации модели.

  • Отсоедините конфигурации модели из модели.

  • Сохраните конфигурации модели.

  • Загрузите конфигурации модели.

Для примеров с помощью предыдущих функций и Simulink.ConfigSet класс, смотрите страницы ссылки класса и ссылка на функцию.

Загрузите и активируйте конфигурацию модели в командной строке

Загружать конфигурацию модели от функции MATLAB® или скрипта:

  1. Используйте getActiveConfigSet или getConfigSet функция, чтобы получить указатель на конфигурацию модели, которую вы хотите обновить.

  2. Вызовите функцию MATLAB или выполните скрипт MATLAB, чтобы загрузить сохраненную конфигурацию модели.

  3. Опционально, используйте attachConfigSet функционируйте, чтобы присоединить конфигурацию модели к модели. Чтобы избежать конфликтов по совпадению имен конфигурации модели, установите allowRename к true.

  4. Опционально, используйте setActiveConfigSet функция, чтобы активировать конфигурацию модели.

В качестве альтернативы загружать конфигурацию модели в командной строке и делать его активной конфигурацией модели:

  1. Откройте модель.

  2. Используйте Simulink.BlockDiagram.loadActiveConfigSet функционируйте, чтобы загрузить конфигурацию модели и сделать ее активной.

    Примечание

    Если вы загружаете конфигурацию модели с тем же именем как:

    • Активная конфигурация модели, программное обеспечение перезаписывает активную конфигурацию модели.

    • Неактивная конфигурация модели, которая сопоставлена с моделью, программным обеспечением, отсоединяет неактивную настройку из модели.

Сохраните конфигурацию модели в командной строке

Сохранить активную или неактивную конфигурацию модели как функцию MATLAB или скрипт:

  1. Используйте getActiveConfigSet или getConfigSet функция, чтобы получить указатель на конфигурацию модели.

  2. Используйте saveAs метод Simulink.Configset класс, чтобы сохранить конфигурацию модели как функцию или скрипт.

В качестве альтернативы сохранить активную конфигурацию модели:

  1. Откройте модель.

  2. Используйте Simulink.BlockDiagram.saveActiveConfigSet функционируйте, чтобы сохранить активную конфигурацию модели.

Создайте автономную конфигурацию модели в командной строке

Скопируйте конфигурацию модели, сохраненную в модели

Создайте автономную конфигурацию модели, на которую сошлется ссылка настройки в нескольких моделях. Необходимо скопировать любую конфигурацию модели, полученную из существующей модели, в противном случае, cset относится к существующей конфигурации модели, сохраненной в модели, а не новой автономной конфигурации модели в базовом рабочем пространстве. Например, используйте одно из следующего:

  • cset = copy (getActiveConfigSet(model))
    

  • cset = copy (getConfigSet(model, ConfigSetName))

model любая открытая модель и ConfigSetName имя любой конфигурации модели, присоединенной к модели.

Считайте конфигурацию модели из MAT-файла

Чтобы использовать автономную конфигурацию модели через несколько сеансов работы с MATLAB, можно сохранить его в MAT-файл. Чтобы создать MAT-файл, вы сначала копируете конфигурацию модели в переменную базового рабочего пространства, затем сохраняете переменную в MAT-файл:

save (workfolder/ConfigSetName.mat, cset)

workfolder рабочая папка, ConfigSetName.mat имя MAT-файла и cset переменная базового рабочего пространства, значение которой является конфигурацией модели, чтобы сохранить. Когда вы позже вновь открыли свою модель, можно перезагрузить конфигурацию модели в переменную:

load (workfolder/ConfigSetName.mat)

Чтобы выполнить код, который читает конфигурации модели из MAT-файлов, используйте один из этих методов:

  • Функция предварительной нагрузки топ-модели

  • Скрипт запуска MATLAB

  • Интерактивная запись load операторы

Создайте и присоедините ссылку настройки в командной строке

Создать и заполнить ссылку настройки, Simulink.ConfigSetRef, использование API:

  1. Создайте ссылку:

    cref = Simulink.ConfigSetRef
  2. Поменяйте имя по умолчанию при желании:

    cref.Name = 'ConfigSetRefName'
  3. Задайте конфигурацию модели, на которую ссылаются:

    cref.SourceName = 'cset'

    Совет

    Не задавайте имя ссылки настройки. Если вы вкладываете ссылку настройки, ошибка происходит.

  4. Присоедините ссылку на модель:

    attachConfigSet(model, cref, true)

    Третий аргумент является дополнительным и разрешает переименовывать, чтобы избежать конфликта по совпадению имен.

Используя ссылку настройки с недопустимой конфигурацией модели, SourceName, генерирует ошибку и называется неразрешенной ссылкой настройки. Графический интерфейс пользователя, эквивалентный из SourceName Referenced configuration. Вы можете дальнейшее использование API или графический интерфейс пользователя, чтобы обеспечить имя автономной конфигурации модели. Для получения дополнительной информации смотрите Неразрешенные Ссылки Настройки.

Примечание

Simulink.ConfigSetRef объект не может быть сохранен в файл MATLAB. Чтобы сохранить настройку, вызовите Simulink.ConfigSetRef.getRefConfigSet метод. Затем сохраните Simulink.ConfigSet возразите, что метод возвращается. Для получения дополнительной информации смотрите, Сохраняют Конфигурацию модели в Командной строке.

Присоедините ссылку настройки на многоуровневые модели в командной строке

После того, как вы создадите ссылку настройки и присоедините ее к модели, можно присоединить копии ссылки на любые другие модели. Каждая модель имеет свою собственную копию любой ссылки настройки, присоединенной к нему, как каждая модель имеет свою собственную копию любой присоединенной конфигурации модели.

Если вы используете графический интерфейс пользователя, присоединение существующей ссылки настройки на другую модель автоматически присоединяет отличную копию к модели. При необходимости, чтобы предотвратить конфликт по совпадению имен, графический интерфейс пользователя добавляет или постепенно увеличивает цифру в конце имени скопированной ссылки. Если вы используете API, несомненно, скопируют ссылку настройки явным образом прежде, чем присоединить его, с операторами как:

cref = copy (getConfigSet(model, ConfigSetRefName))
attachConfigSet (model, cref,  true)

Если вы не используете copy операция, cref становится указателем на исходную ссылку настройки, а не копией ссылки. Любая попытка использовать cref вызывает ошибку. Если вы не используете аргумент true к attachConfigSet, операция перестала работать, если конфликт по совпадению имен существует.

Следующий пример показывает код для получения автономной конфигурации модели и присоединения ссылок на него из двух моделей. После того, как код выполняется, одна из моделей содержит внутреннюю конфигурацию модели и ссылку настройки, которая указывает на автономную копию того набора. Если внутренняя копия является дополнительной копией, можно удалить ее с detachConfigSet, как показано в последней линии примера.

open_system('model1')
% Get handle to local cset
cset = getConfigSet('model1', 'Configuration')

% Create freestanding copy; original remains in model
cset1 = copy(cset)

% In the original model, create a configuration 
% reference to the cset copy
cref1 = Simulink.ConfigSetRef
cref1.SourceName = 'cset1'

% Attach the configuration reference to the model
attachConfigSet('model1', cref1, true)

% In a second model, create a configuration 
% reference to the same cset 
open_system('model2')
% Rename if name conflict occurs
attachConfigSetCopy('model2', cref1, true)

% Delete original cset from first model
detachConfigSet('model1', 'Configuration')

Получите значения от конфигурации модели, на которую ссылаются,

Можно использовать get_param на ссылке настройки, чтобы получить значения параметров из соединенной конфигурации модели, как будто ссылочный объект был самой конфигурацией модели. Программное обеспечение Simulink® получает конфигурацию модели, на которую ссылаются, и выполняет обозначенный get_param на нем.

Например, если ссылка настройки cref ссылки на конфигурацию модели cset, следующие операции дают идентичные результаты:

get_param (cset, 'StopTime')
get_param (cref, 'StopTime')

Измените значения в конфигурации модели, на которую ссылаются,

Путем работы только со ссылкой настройки вы не можете изменить значения параметров конфигурации модели, на которые ссылаются. Если вы выполняетесь:

set_param (cset, 'StopTime', '300')
set_param (cref, 'StopTime', '300')          % ILLEGAL
первая операция успешно выполняется, но вторые причины ошибка. Вместо этого необходимо получить саму конфигурацию модели и изменить ее непосредственно, с помощью графический интерфейса пользователя или API.

Получить конфигурацию модели, на которую ссылаются, с помощью API:

  1. Следуйте инструкциям в, Получают Указатель Ссылки Настройки.

  2. Получите конфигурацию модели cset из ссылки настройки cref:

    cset = cref.getRefConfigSet

    Можно теперь использовать set_param на cset изменить значения параметров. Например:

    set_param (cset, 'StopTime', '300')

    Совет

    Если вы хотите изменить значения параметров через графический интерфейс пользователя, выполнитесь:

    cset.openDialog
    Диалоговое окно Configuration Parameters открывается на заданной конфигурации модели.

Получите указатель ссылки настройки

Большинство функций и методов, которые работают со ссылкой настройки, берут указатель на ссылку. Когда вы создаете ссылку настройки:

cref = Simulink.ConfigSetRef

переменная cref содержит указатель на ссылку. Если у вас уже нет указателя, можно получить один путем выполнения:

cref = getConfigSet(model, 'ConfigSetRefName')

ConfigSetRefName имя ссылки настройки, как это появляется в Model Explorer, например, Reference. Вы задаете это имя путем установки поля Name в диалоговом окне Configuration Reference или выполнении:

cref.Name = 'ConfigSetRefName'

Метод для получения указателя ссылки настройки является тем же методом, который вы используете, чтобы получить указатель конфигурации модели. Везде, где та же операция применяется к обеим конфигурациям модели и ссылкам настройки, применимая перегрузка функций и методов, чтобы выполнить правильно с любым классом.

Связанные примеры

Больше о