Прикладной программный интерфейс (API) позволяет вам создать и управлять конфигурациями модели в командной строке или в скрипте. API включает Simulink.ConfigSet
и классы Simulink.ConfigSetRef
и следующие функции:
Эти функции, наряду с методами и свойствами класса Simulink.ConfigSet
, позволяют вам создавать скрипт к:
Создайте и измените конфигурации модели.
Присоедините конфигурации модели к модели.
Установите активную конфигурацию модели для модели.
Открытые и близкие конфигурации модели.
Отсоедините конфигурации модели из модели.
Сохраните конфигурации модели.
Загрузите конфигурации модели.
Для примеров с помощью предыдущих функций и класса Simulink.ConfigSet
, смотрите страницы ссылки класса и ссылка на функцию.
Загружать конфигурацию модели от функции MATLAB® или скрипта:
Используйте getActiveConfigSet
или функцию getConfigSet
, чтобы получить указатель на конфигурацию модели, которую вы хотите обновить.
Вызовите функцию MATLAB или выполните скрипт MATLAB, чтобы загрузить сохраненную конфигурацию модели.
Опционально, используйте функцию attachConfigSet
, чтобы присоединить конфигурацию модели к модели. Чтобы избежать конфликтов по совпадению имен конфигурации модели, установите
на allowRename
true
.
Опционально, используйте функцию setActiveConfigSet
, чтобы активировать конфигурацию модели.
Также загружать конфигурацию модели в командной строке и делать его активной конфигурацией модели:
Откройте модель.
Используйте функцию Simulink.BlockDiagram.loadActiveConfigSet
, чтобы загрузить конфигурацию модели и сделать его активным.
Если вы загружаете конфигурацию модели с тем же именем как:
Активная конфигурация модели, программное обеспечение перезаписывает активную конфигурацию модели.
Неактивная конфигурация модели, которая сопоставлена с моделью, программным обеспечением, отсоединяет неактивную настройку из модели.
Сохранить активную или неактивную конфигурацию модели как функцию MATLAB или скрипт:
Используйте getActiveConfigSet
или функцию getConfigSet
, чтобы получить указатель на конфигурацию модели.
Используйте метод saveAs
класса Simulink.Configset
, чтобы сохранить конфигурацию модели как функцию или скрипт.
Также сохранить активную конфигурацию модели:
Откройте модель.
Используйте функцию Simulink.BlockDiagram.saveActiveConfigSet
, чтобы сохранить активную конфигурацию модели.
Создайте автономную конфигурацию модели, на которую сошлется ссылка настройки в нескольких моделях. Необходимо скопировать любую конфигурацию модели, полученную из существующей модели, в противном случае, cset
относится к существующей конфигурации модели, сохраненной в модели, а не новой автономной конфигурации модели в базовом рабочем пространстве. Например, используйте одно из следующего:
cset = copy (getActiveConfigSet(model))
cset = copy (getConfigSet(model, ConfigSetName))
model
является любой открытой моделью, и ConfigSetName
является именем любой конфигурации модели, присоединенной к модели.
Чтобы использовать автономную конфигурацию модели через несколько сеансов работы с MATLAB, можно сохранить его в MAT-файл. Чтобы создать MAT-файл, вы сначала копируете конфигурацию модели в переменную базового рабочего пространства, затем сохраняете переменную в MAT-файл:
save (workfolder/ConfigSetName.mat, cset)
workfolder
является рабочей папкой, ConfigSetName
.mat
является именем MAT-файла, и cset
является переменной базового рабочего пространства, значение которой является конфигурацией модели, чтобы сохранить. Когда вы позже вновь открыли свою модель, можно перезагрузить конфигурацию модели в переменную:
load (workfolder/ConfigSetName.mat)
Чтобы выполнить код, который читает конфигурации модели из MAT-файлов, используйте один из этих методов:
Функция предварительной нагрузки топ-модели
Скрипт запуска MATLAB
Интерактивная запись операторов load
Создать и заполнить ссылку настройки, Simulink.ConfigSetRef
, с помощью API:
Создайте ссылку:
cref = Simulink.ConfigSetRef
Поменяйте имя по умолчанию при желании:
cref.Name = 'ConfigSetRefName'
Задайте конфигурацию модели, на которую ссылаются:
cref.SourceName = 'cset'
Не задавайте имя ссылки настройки. Если вы вкладываете ссылку настройки, ошибка происходит.
Присоедините ссылку на модель:
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:
Следуйте инструкциям в, Получают Указатель Ссылки Настройки.
Получите конфигурацию модели cset
из ссылки настройки cref
:
cset = cref.getRefConfigSet
Можно теперь использовать set_param
на cset
, чтобы изменить значения параметров. Например:
set_param (cset, 'StopTime', '300')
Если вы хотите изменить значения параметров через графический интерфейс пользователя, выполнитесь:
cset.openDialog
Большинство функций и методов, которые работают со ссылкой настройки, берут указатель на ссылку. Когда вы создаете ссылку настройки:
cref = Simulink.ConfigSetRef
переменная cref
содержит указатель на ссылку. Если у вас уже нет указателя, можно получить один путем выполнения:
cref = getConfigSet(model, 'ConfigSetRefName')
ConfigSetRefName
является именем ссылки настройки, как это появляется в Model Explorer, например, Reference
. Вы задаете это имя путем установки поля Name в диалоговом окне Configuration Reference или выполнении:
cref.Name = 'ConfigSetRefName'
Метод для получения указателя ссылки настройки является тем же методом, который вы используете, чтобы получить указатель конфигурации модели. Везде, где та же операция применяется к обеим конфигурациям модели и ссылкам настройки, применимая перегрузка функций и методов, чтобы выполнить правильно с любым классом.