Образцовый интерфейс командной строки настройки

Обзор

Прикладной программный интерфейс (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. Чтобы сохранить настройку, вызовите метод .getRefConfigSet Simulink.ConfigSetRef. Затем сохраните объект 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'

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

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

Больше о