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

Чтобы поделиться конфигурацией модели с несколькими моделями, сохраните его как отдельно стоящая конфигурация модели в 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. Словарь данных откроется в Model Explorer.

  3. На панели Model Hierarchy разверните узел словаря данных для system_model. Щелкните правой кнопкой мыши узел и выберите Show Empty Sections.

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

  5. Назовите новое строение SharedConfig.

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

Создание и присоединение ссылки на строение

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

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

  2. В Model Explorer на панели Model Hierarchy выберите узел модели.

  3. Выберите Add > Configuration Reference или нажмите кнопку Add Configuration Reference.

  4. Под узлом модели нажмите Configurations. Новая ссылка на строение с именем Reference перечислен.

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

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

Разрешение ссылки на строение

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

Чтобы разрешить созданную ссылку на строение:

  1. На панели Model Hierarchy, под узлом модели для LinearActuator Моделью выберите узел Строений. На панели Contents выберите неразрешенную ссылку строения LinActuatorRef.

    Правая панель показывает, что ссылка на строение не разрешена.

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

    Совет

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

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

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

Активируйте ссылку на Строение

После создания ссылки строения и присоединения ее к модели активируйте ссылку, чтобы использовать ссылочное строение в модели.

  1. На панели Model Hierarchy, под узлом модели для LinearActuator Моделью выберите узел Строений. На панели Contents выберите ссылку на строение LinActuatorRef.

  2. Щелкните правой кнопкой мыши ссылку на строение LinActuatorRef и выберите Activate.

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

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

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

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

  2. В Model Explorer добавьте строение ссылку на модель 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 не поддерживается в автономных конфигурациях модели, поскольку она открывает Root Inport Mapper для модели, которая использует строение.

  4. На панели Solver установите значение параметра Type Fixed-step. Нажмите Apply, затем OK.

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

Изменение значения параметров в ссылке на строение

Можно переопределить отдельные значения параметров для моделей, которые ссылаются на отдельно стоящие конфигурации модели, не меняя отдельно стоящие строения. Для переопределенного параметра в ссылке используется значение, которое вы присвоите локально, а не значение в ссылочной конфигурации модели. Например, предположим, что LinearActuator и NonLinearActuator находятся в одной иерархии модели. Хотите LinearActuator ссылаться столько раз, сколько нужно, но хотите, чтобы Simulink вернул ошибку, если NonLinearActuator ссылается более одного раза. В этом примере можно переопределить параметр Model Referencing > Total number of instances allowed per top model только для NonLinearActuator модель.

В данном примере переопределите параметр в ссылке строения для модели NonLinearActuator.

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

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

  3. Щелкните правой кнопкой мыши параметр, который вы хотите изменить, и выберите Override из контекстного меню. Теперь можно изменить значение параметров так же, как и для любой конфигурации модели. В данном примере переопределите параметр Model Referencing > Total number of instances allowed per top model и установите значение на One.

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

  4. Щелкните Apply, чтобы сохранить изменения или Cancel, чтобы восстановить значение параметра до ссылочного.

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

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

Сохранение ссылочной конфигурации модели

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

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

  1. В Model Explorer, в иерархии модели, выберите Base Workspace.

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

  3. В контекстном меню выберите Export Selected.

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

Совет

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

Загрузка сохраненной ссылки на Конфигурацию модели

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

  1. В Model Explorer, в иерархии модели, щелкните правой кнопкой мыши Base Workspace.

  2. В контекстном меню выберите Import.

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

Ограничения, накладываемые на ссылку на строение

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

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

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

Похожие темы