Все экземпляры режима normal mode модель, на которую ссылаются, являются частью моделирования. Программное обеспечение However, Simulink® отображает только один экземпляр в образцовом окне. Видимость режима normal mode включает отображение блоков Осциллографа и значений порта данных.
Установите видимость режима normal mode путем выбора в топ-модели Схемы> Subsystem & Model Reference> Видимость Режима normal mode Блока модели. Эта установка определяет экземпляр то программное обеспечение Simulink отображения. Если вы не задаете видимость режима normal mode для определенного экземпляра модели, на которую ссылаются, программное обеспечение Simulink выбирает один экземпляр модели, на которую ссылаются, чтобы отобразиться.
После моделирования, при попытке открыть модель, на которую ссылаются, от Блока модели, который не имеет видимости режима normal mode, программное обеспечение Simulink отображает предупреждение.
Чтобы настроить вашу модель, чтобы управлять, какой экземпляр модели, на которую ссылаются, в режиме normal mode имеет видимость и гарантировать соответствующее моделирование модели, смотрите, Задают Экземпляр, Имеющий Видимость Режима normal mode.
Модель sldemo_mdlref_basic
и “Архитектура Модели - ссылки Визуализации” показали пример, показывают использование моделей, содержащих несколько экземпляров модели, на которую ссылаются.
Модель sldemo_mdlref_basic
имеет три Блока модели (CounterA
, CounterB
и CounterC
) что каждая ссылка модель sldemo_mdlref_counter
.
Если вы обновляете схему, sldemo_mdlref_basic
отображает различные значки для каждого из трех Блоков модели тот ссылочный sldemo_mdlref_counter
.
Блок модели | Углы значка | Режим моделирования и установка видимости режима normal mode |
---|---|---|
CounterA | Белый | Режим normal mode, с включенной видимостью режима normal mode |
CounterB | Серые углы | Режим normal mode, с отключенной видимостью режима normal mode |
CounterC | Черный угол | Режим Accelerator (видимость режима normal mode не применима), |
Откройте и моделируйте sldemo_mdlref_basic
. Дважды кликните модель CounterA и откройте блок ScopeA.
Тот блок ScopeA
отражает результаты моделирования
Блока модели CounterA
, которому включили видимость режима normal mode.
При попытке открыть модель mdlref_counter
путем двойного клика
по Блоку модели CounterB
, ScopeA в mdlref_counter
все еще показывает результаты
Блока модели CounterA
, потому что тому блоку включили видимость режима normal mode.
Известный пример Visualizing Model Reference Architectures
показывает использование Средства просмотра Зависимости моделей для модели (sldemo_mdlref_depgraph
) что ссылки несколько экземпляров модели, на которую ссылаются, в режиме normal mode. Пример показывает, как настроить модель с несколькими экземплярами, на которые ссылаются, в режиме normal mode.
Определите Общий номер экземпляров, позволенных на параметр топ-модели Multiple
.
Установите каждый экземпляр модели, на которую ссылаются так, чтобы это использовало режим normal mode. В блочном диалоговом окне параметров для Блока модели, который ссылается на экземпляр, устанавливает параметр Режима Моделирования на Normal
. Гарантируйте, что все предки в иерархии для того Блока модели находятся в режиме normal mode.
Углы значков для Блоков модели, которые находятся в режиме normal mode, могут быть белые (пустой). Углы стали серыми после того, как вы обновите схему или моделируете модель.
При необходимости измените S-функции, используемые моделью так, чтобы они работали с несколькими экземплярами моделей, на которые ссылаются, в режиме normal mode. Для получения дополнительной информации смотрите Поддержку Использования Нескольких Экземпляров Моделей, на которые Ссылаются, Которые Находятся в Режиме normal mode.
По умолчанию Simulink присваивает видимость режима normal mode одному из экземпляров. После того, как вы завершите шаги настройки, можно задать экземпляр не по умолчанию, чтобы иметь видимость режима normal mode.
Для получения дополнительной информации об инкапсуляции допускающего повторное использование алгоритма в модели, на которую ссылаются, смотрите Повторное использование модели.
Чтобы определить, какой экземпляр в настоящее время имеет видимость режима normal mode:
Чтобы применить установку видимости режима normal mode, обновите схему и не внесите никакие другие изменения в модель.
Исследуйте Блоки модели, которые ссылаются на модель, которой вы интересуетесь. Блоку модели, который имеет белые углы, включили видимость режима normal mode, перейдите через иерархию модели.
Когда вы отредактируете модель или во время компиляции после обновления схемы, используйте параметр ModelReferenceNormalModeVisibilityBlockPath
. Результатом является объект Simulink.BlockPath
, который является блоком path для Блока модели, который ссылается на модель, которой включили видимость режима normal mode. Например:
get_param('sldemo_mdlref_basic',... 'ModelReferenceNormalModeVisibilityBlockPath')
ans = Simulink.BlockPath Package: Simulink Block Path: 'sldemo_mdlref_basic/CounterA'
Для топ-модели, которую вы моделируете или это находится в скомпилированном состоянии, можно использовать параметр CompiledModelBlockInstancesBlockPath
. Например:
a = get_param('sldemo_mdlref_depgraph',... 'CompiledModelBlockInstancesBlockPath')
a = sldemo_mdlref_F2C: [1x1 Simulink.BlockPath] sldemo_mdlref_heater: [1x1 Simulink.BlockPath] sldemo_mdlref_outdoor_temp: [1x1 Simulink.BlockPath]
Вы не можете изменить видимость режима normal mode во время моделирования.
Чтобы включить видимость режима normal mode для различного экземпляра модели, на которую ссылаются, чем экземпляр, который в настоящее время имеет видимость режима normal mode:
Перейдите топ-модели.
В Редакторе Simulink выберите Diagram> Subsystem & Model Reference> Model Block Normal Mode Visibility.
Диалоговое окно Model Block Normal Mode Visibility появляется. Например, вот диалоговое окно для модели sldemo_mdlref_basic
с расширенной панелью иерархии:
Панель иерархии модели показывает частичную иерархию модели для модели, от которой вы открыли диалоговое окно. Иерархия останавливается в первом Блоке модели, который не находится в режиме normal mode. Панель иерархии модели не делает блоков модели дисплея, та ссылка защитила модели.
Диалоговое окно показывает полную иерархию блока модели для топ-модели. Экземпляры режима normal mode моделей, на которые ссылаются, имеют флажки.
Чтобы иметь панель иерархии модели диалогового окна Model Block Normal Mode Visibility отражают иерархию текущей модели, нажимают Refresh.
Выберите экземпляр модели, что вы хотите иметь видимость режима normal mode.
Simulink выбирает всех предков модели и очищает все другие экземпляры той модели. Когда модель очищена, Simulink очищает все дочерние элементы той модели.
Чтобы открыть модель от диалогового окна Model Block Normal Mode Visibility, щелкните правой кнопкой по модели по иерархии модели, разделяют на области и затем нажимают Open.
Чтобы применить установку видимости режима normal mode, моделируйте топ-модель в иерархии модели.
Как альтернатива использованию диалогового окна Model Block Normal Mode Visibility, в командной строке MATLAB® можно использовать параметр ModelBlockNormalModeVisibility
. Для входного параметра можно задать одно из этих значений:
Массив объектов Simulink.BlockPath
. Например:
bp1 = Simulink.BlockPath({'mVisibility_top/Model', ... 'mVisibility_mid_A/Model'}); bp2 = Simulink.BlockPath({'mVisibility_top/Model1', ... 'mVisibility_mid_B/Model1'}); bps = [bp1, bp2]; set_param(topMdl,'ModelBlockNormalModeVisibility',bps);
Массив ячеек массивов ячеек из символьных векторов, с векторами символов, являющимися путями к отдельным блокам и моделям. Этот пример производит тот же эффект как пример объектного массива:
p1 = {'mVisibility_top/Model','mVisibility_mid_A/Model'}; p2 = {'mVisibility_top/Model1','mVisibility_mid_B/Model1'}; set_param(topMdl,'ModelBlockNormalModeVisibility',{p1, p2});
Пустой массив, чтобы задать использование выбора значения по умолчанию Simulink экземпляра, который имеет видимость режима normal mode. Например:
set_param(topMdl, 'ModelBlockNormalModeVisibility', []);
Используя пустой массив эквивалентно сниманию всех флажков в диалоговом окне Model Block Normal Mode Visibility.