exponenta event banner

Совместное использование конфигурации с несколькими моделями

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

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

Используйте ссылки на конфигурацию, если необходимо:

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

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

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

  • Быстрая замена наборов конфигурации любого числа моделей без изменения файлов модели. При сохранении набора конфигурации в словаре данных Simulink можно указать на эту конфигурацию из ссылки, которая также хранится в словаре данных. Затем модели могут ссылаться на ссылку на конфигурацию словаря данных. При изменении ссылки словаря данных для указания на другой набор конфигурации модели используют новую конфигурацию.

    Когда ссылка на конфигурацию ссылается на конфигурацию в базовой рабочей области, она указывает на переменную, представляющую Simulink.ConfigSet объект. Назначение переменной другого набора конфигурации присваивает этот набор конфигурации каждой модели, которая ссылается на переменную.

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

Создание набора конфигурации в словаре данных

Прежде чем ссылаться на автономный набор конфигурации из моделей, создайте конфигурацию в словаре данных Simulink и свяжите ее с моделями. Для этого примера используйте проект Simulink sldemo_slproject_airframe. Проект содержит словарь данных Simulink system_model и несколько моделей, связанных со словарем данных.

  1. Откройте проект. В командной строке введите sldemo_slproject_airframe.

  2. В папке проекта, в папке dataдважды щелкните на словаре данных Simulink system_model.sldd. Словарь данных открывается в обозревателе моделей.

  3. На панели «Иерархия модели» разверните узел словаря данных для system_model. Щелкните правой кнопкой мыши узел и выберите «Показать пустые сечения».

  4. Выберите узел Конфигурации и нажмите кнопку Добавить конфигурацию. Объект набора конфигурации появится на панели Содержимое (Contents) с именем по умолчанию. Configuration.

  5. Назовите новую конфигурацию SharedConfig.

Модели, имеющие доступ к словарю данных system_model.sldd может ссылаться на новую конфигурацию.

Создание и присоединение ссылки на конфигурацию

Чтобы использовать автономный набор конфигурации в модели, присоедините привязку конфигурации, которая указывает на набор конфигурации. Для этого примера используйте модель LinearActuator. Модель связана со словарем данных Simulink system_model.sldd, который содержит новую конфигурацию SharedConfig.

  1. Откройте модель. В командной строке введите LinearActuator.

  2. В обозревателе моделей на панели Иерархия моделей (Model Hierarchy) выберите узел модели.

  3. Выберите Добавить > Ссылка на конфигурацию или нажмите кнопку Добавить ссылку на конфигурацию.

  4. В узле модели щелкните Конфигурации (Configuration). Новая ссылка на конфигурацию с именем Reference указан в списке.

  5. Назовите ссылку на конфигурацию LinActuatorRef.

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

Разрешение ссылки на конфигурацию

Неразрешенная ссылка на конфигурацию - это ссылка на конфигурацию, которая не указывает на допустимый объект набора конфигурации. При создании привязки конфигурации с помощью предыдущих шагов привязка остается неразрешенной.

Чтобы разрешить созданную ссылку на конфигурацию, выполните следующие действия.

  1. На панели Иерархия модели (Model Hierarchy) под узлом модели для LinearActuator выберите узел Конфигурации. На панели «Содержимое» выберите неразрешенную ссылку на конфигурацию. LinActuatorRef.

    На правой панели показано, что ссылка на конфигурацию не разрешена.

  2. Используйте раскрывающееся меню «Имя» для выбора SharedConfig, который был создан в словаре данных.

    Совет

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

  3. Нажмите кнопку «Применить». Значок предупреждения исчезает, и ссылка указывает на автономный набор конфигурации.

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

Активация ссылки на конфигурацию

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

  1. На панели Иерархия модели (Model Hierarchy) под узлом модели для LinearActuator выберите узел Конфигурации. На панели «Содержимое» выберите ссылку на конфигурацию. LinActuatorRef.

  2. Щелкните правой кнопкой мыши ссылку на конфигурацию LinActuatorRef и выберите Активировать.

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

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

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

  1. Открытие модели NonLinearActuator. Эта модель также связана со словарем данных, содержащим автономный набор конфигурации.

  2. В обозревателе моделей добавьте ссылку на конфигурацию модели. NonLinearActuator.

  3. Назовите ссылку на конфигурацию NonLinActuatorRef.

  4. Указать ссылку на автономный набор конфигурации SharedConfig.

  5. Активируйте ссылку на конфигурацию.

Теперь обе модели содержат ссылку на конфигурацию, которая указывает на один и тот же объект набора конфигурации в словаре данных Simulink.

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

Можно изменить автономный набор конфигурации, открыв его в диалоговом окне Ссылка на конфигурацию (Configuration Reference) привязки, указывающей на набор конфигурации. Изменение автономного набора конфигурации влияет на ссылающиеся на него ссылки конфигурации, за исключением параметров, переопределенных в этих ссылках. Чтобы править набор конфигурации, на который вы ссылаетесь из моделей, выполните следующие действия.

  1. Откройте одну из моделей, которая ссылается на набор конфигурации. Для этого примера откройте модель LinearActuator.

  2. Чтобы открыть диалоговое окно Ссылка на конфигурацию (Configuration Reference), на вкладке Моделирование (Modeling) нажмите кнопку Настройки модели (Model Settings). В диалоговом окне Ссылка на конфигурацию (Configuration Reference) отображается доступное только для чтения представление ссылочной конфигурации. SharedConfig. В диалоговом окне можно просматривать, искать и получать контекстную справку по параметрам так же, как в диалоговом окне Параметры конфигурации (Configuration Parameters).

  3. В верхней части диалогового окна Привязка конфигурации (Configuration Reference) щелкните значок Параметры конфигурации модели (Model Configuration Parameters). Откроется диалоговое окно Параметры конфигурации (Configuration Parameters). Теперь можно изменять и применять значения параметров так же, как для любого набора конфигурации.

    Примечание

    Некоторые опции в наборе конфигурации нельзя использовать в свободной конфигурации, поскольку они выполняют действия с одной конкретной моделью. Например, кнопка Импорт/экспорт данных (Data Import/Export) > Подключить вход (Connect Input) не поддерживается в автономных наборах конфигурации, так как она открывает средство сопоставления корневого ввода для модели, использующей конфигурацию.

  4. На панели решателя задайте для параметра Тип значение Fixed-step. Нажмите кнопку Применить и нажмите кнопку ОК.

  5. Примененные изменения появятся в диалоговом окне Ссылка на конфигурацию (Configuration Reference). Модели, ссылающиеся на свободную конфигурацию SharedConfig используйте новый тип решателя.

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

Можно переопределить отдельные значения параметров для моделей, которые ссылаются на автономные наборы конфигурации, не изменяя автономную конфигурацию. Для переопределенного параметра ссылка использует значение, назначенное локально, вместо значения в наборе конфигурации ссылки. Например, предположим, что LinearActuator и NonLinearActuator оба находятся в одной иерархии модели. Хочешь LinearActuator необходимо ссылаться столько раз, сколько необходимо, но необходимо, чтобы Simulink вернул ошибку, если NonLinearActuator ссылается несколько раз. В этом примере можно переопределить параметр «Ссылка на модель» > «Общее количество экземпляров, разрешенных для параметра модели верхнего уровня» только для NonLinearActuator модель.

В этом примере переопределите параметр в привязке конфигурации для модели. NonLinearActuator.

  1. Открытие модели NonLinearActuator.

  2. Чтобы открыть диалоговое окно Ссылка на конфигурацию (Configuration Reference), на вкладке Моделирование (Modeling) нажмите кнопку Настройки модели (Model Settings). Активная ссылка на конфигурацию отображает представление ссылочной конфигурации только для чтения.

  3. Щелкните правой кнопкой мыши параметр, который требуется изменить, и выберите в контекстном меню команду «Переопределить». Теперь можно изменить значение параметра так же, как для любого набора конфигурации. В этом примере переопределите параметр «Ссылка на модель» > «Общее число экземпляров, разрешенных для модели верхнего уровня» и задайте значение One.

    На левой панели отображается количество переопределенных параметров.

  4. Нажмите кнопку Применить (Apply), чтобы сохранить изменения, или кнопку Отмена (Cancel), чтобы восстановить ссылочное значение параметра.

    Изменения, вносимые в значение параметра, применяются только к привязке конфигурации, в которой переопределяется и редактируется параметр. Они не влияют на другие ссылки на указанный набор конфигурации. Для этого примера модель NonLinearActuator позволяет верхней модели ссылаться на нее один раз, в то время как модель LinearActuator позволяет верхней модели ссылаться на нее несколько раз.

Чтобы восстановить значение переопределенного параметра из указанного набора конфигурации, щелкните его правой кнопкой мыши и выберите в контекстном меню пункт «Восстановить». Переопределенный параметр сбрасывается в значение в конфигурации, на которую имеется ссылка, и снова становится доступным только для чтения.

Сохранить ссылочный набор конфигурации

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

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

  1. В Обозревателе моделей в области Иерархия моделей (Model Hierarchy) выберите Базовая рабочая область (Base Workspace).

  2. На панели Содержимое (Contents) щелкните правой кнопкой мыши имя ссылочного объекта набора конфигурации.

  3. В контекстном меню выберите «Экспортировать выбранные».

  4. Укажите имя файла для сохранения набора конфигурации в виде MAT-файла или сценария MATLAB.

Совет

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

Загрузить сохраненный ссылочный набор конфигурации

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

  1. В Обозревателе моделей в иерархии моделей щелкните правой кнопкой мыши Базовое рабочее пространство (Base Workspace).

  2. В контекстном меню выберите «Импорт».

  3. Укажите имя файла для сохраненного набора конфигурации и выберите OK. Объект набора конфигурации появится в базовой рабочей области.

Ограничения ссылок на конфигурацию

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

  • При активации ссылки на конфигурацию при использовании пользовательского целевого объекта ActivateCallback функция не инициирует уведомление соответствующего автономного набора конфигурации. Аналогично, если автономный набор конфигурации переключается с одного целевого объекта на другой, ActivateCallback функция не запускает уведомление о новом целевом объекте. Такое поведение происходит, даже если активная конфигурация указывает на этот целевой объект. Для получения дополнительной информации о ActivateCallback функции, см. rtwgensettings Structure (Simulink Coder).

  • Не все параметры в ссылке могут быть переопределены, например, параметры, которые должны быть согласованы в иерархии ссылок модели, не могут быть переопределены.

Связанные темы