Прикладной программный интерфейс (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. Чтобы сохранить настройку, вызовите 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:
Следуйте инструкциям в, Получают Указатель Ссылки Настройки.
Получите конфигурацию модели 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'
Метод для получения указателя ссылки настройки является тем же методом, который вы используете, чтобы получить указатель конфигурации модели. Везде, где та же операция применяется к обеим конфигурациям модели и ссылкам настройки, применимая перегрузка функций и методов, чтобы выполнить правильно с любым классом.