exponenta event banner

Преобразовать конфигурируемую подсистему в исполнительную подсистему

Примечание

Конфигурируемая подсистема будет удалена в следующем выпуске. Блоки конфигурируемой подсистемы в существующих моделях должны быть преобразованы в блоки исполнительной подсистемы.

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

  • Блоки модели и блоки подсистемы можно смешивать в качестве вариантов.

  • Можно указать варианты, имеющие разное количество портов ввода и вывода.

Выполните следующие действия для преобразования блока конфигурируемой подсистемы в блок исполнительной подсистемы:

  1. Откройте модель, содержащую блок конфигурируемой подсистемы.

  2. Щелкните правой кнопкой мыши блок «Конфигурируемая подсистема» и в контекстном меню выберите «Подсистема и ссылка на модель» > «Преобразовать в» > «Подсистема исполнения».

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

  4. Нажмите кнопку OK. Конфигурируемый блок подсистемы преобразуется в блок Variant Subsystem и отображается в новом окне.

    Примечание

    При преобразовании блока конфигурируемой подсистемы в блок вариационной подсистемы выбор блока конфигурируемой подсистемы изменяется на LabelModeActiveChoice в блоке Variant Subsystem.

  5. Вручную замените блок «Конфигурируемая подсистема» преобразованным блоком «Исполнительная подсистема» в исходной модели.

Поведение конфигурируемой подсистемы при загрузке

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

  1. Рассмотрим модель с блоком конфигурируемой подсистемы. При загрузке этой модели в Средстве диагностики (Diagnostic Viewer) отображается предупреждение.

    Примечание

    При создании нового блока Конфигурируемая подсистема отображается предупреждение помощника по обновлению для преобразования блока Конфигурируемая подсистема в блок Исполнительная подсистема.

  2. В средстве просмотра диагностики щелкните Открыть в разделе Рекомендуемые действия.

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

    Примечание

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

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

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

Изменение активного варианта

При преобразовании блока Конфигурируемая подсистема в блок Исполнительная подсистема блок Выбор блока конфигурируемая подсистема изменяется на Активный выбор режима метки в блоке Исполнительная подсистема.

Для изменения активного варианта выполните один из следующих шагов:

  • Щелкните правой кнопкой мыши значок в блоке «Variant Subsystem» и выберите «Block Parameters (Subsystem)». В диалоговом окне параметров блока выберите активный вариант из Label mode active choice раскрывающийся список.

  • Щелкните правой кнопкой мыши значок в блоке «Variant Subsystem» и выберите «Label Mode Active Choice».

Примечание

Когда блок конфигурируемой подсистемы с маской преобразуется в блок вариационной подсистемы, Label mode active choice и все остальные параметры в диалоговом окне параметров блока отключены. Чтобы изменить активный вариант, щелкните правой кнопкой мыши значок в блоке «Variant Subsystem» и выберите «Label Mode Active Choice».

Программно преобразовать конфигурируемые блоки подсистем в исполнительные блоки подсистем

Конфигурируемые блоки подсистем в модели можно преобразовать в блоки подсистем исполнений программным способом с помощью convertToVariant способ.

При преобразовании конфигурируемой подсистемы в блок исполнительной подсистемы выбор блока конфигурируемой подсистемы изменяется на LabelModeActiveChoice в блоке Variant Subsystem.

Если выбор блока шаблона Конфигурируемая подсистема связан, то блок копируется в график Исполнительная подсистема, и копируемые блоки сохраняют свои связи. Если выбор блока шаблона Конфигурируемая подсистема (Configuration Subsystem) не связан, то блок копируется в график Подсистема исполнения (Variant Subsystem), а блок в библиотеке Конфигурируемая подсистема (Configuration Subsystem) связывается с ним.

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

  1. Откройте модель, содержащую блок конфигурируемой подсистемы.

  2. В командной строке введите find_system для поиска всех блоков конфигурируемой подсистемы в модели:

    find_system(bdroot, 'Regexp', 'on', 'LookUnderMasks', 'on','FollowLinks', 'on', 'Variants', 'AllVariants', 'TemplateBlock', '.')

    Ниже перечислены блоки конфигурируемой подсистемы, присутствующие в модели:

    {'mconfigsub/config_sub'}
    {'mconfigsub/nested config'}
  3. Поиск блоков шаблонов библиотеки из списка с помощью get_param команда.

    get_param('mconfigsub/nested config','TemplateBlock')
    ans =
        'mconfiglib/nested config'
    
    get_param('mconfigsub/config_sub','TemplateBlock')                                                                               
    ans =
        'mconfiglib/Subsystem/config_sub'
    
  4. Преобразование блоков шаблона библиотеки в блоки подсистемы исполнения с помощью convertToVariant способ:

    Simulink.VariantManager.convertToVariant('mconfiglib/nested config')
    
    Simulink.VariantManager.convertToVariant('mconfiglib/Subsystem/config_sub')

    Сведения об использовании этого метода см. в разделе convertToVariant.

  5. Сохраните библиотеки. Вы можете использовать save_system для сохранения библиотек.

  6. Закройте и снова откройте модель. Блоки конфигурируемой подсистемы в модели будут преобразованы в блоки исполнительной подсистемы.

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