Configurable Subsystem

Представление любого блока, выбранного из пользовательской библиотеки блоков

  • Библиотека:
  • Simulink/Порты и подсистемы

  • Configurable Subsystem block

Описание

Примечание

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

  • Можно смешивать Model блоки и блоки Subsystem как варианты выбора.

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

Для получения дополнительной информации о преобразовании Configurable Subsystem блока в блок Variant Subsystem, смотрите Преобразование Конфигурируемой Подсистемы в Подсистему Исполнителей.

Для получения дополнительной информации о Подсистеме вариантов смотрите Подсистема вариантов, Модель вариантов.

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

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

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

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

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

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

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

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

  2. Сохраните библиотеку.

  3. Создайте образец Configurable Subsystem блока в библиотеке.

    Для этого перетащите копию блока Configurable Subsystem из библиотеки Simulink Ports & Subsystems в библиотеку, созданную на предыдущем шаге.

  4. Отобразить диалоговое окно Configurable Subsystem блока можно дважды щелкнув по нему мышью. В диалоговом окне отображается список других блоков библиотеки.

  5. В разделе List of block choices в диалоговом окне выберите блоки, которые представляют различные строения создаваемых конфигурируемых подсистем.

  6. Чтобы применить изменения и закрыть диалоговое окно, нажмите кнопку OK.

  7. Выберите Block Choice из контекстного меню блока Configurable Subsystem.

    В контекстном меню отображается подменю с перечнем блоков, которые может представлять подсистема.

  8. Выберите блок, который должна представлять подсистема по умолчанию.

  9. Сохраните библиотеку.

    Примечание

    Если вы добавляете или удаляете блоки из библиотеки, необходимо воссоздать все блоки Configurable Subsystem, которые используют библиотеку.

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

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

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

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

  • Преобразуйте конфигурируемую подсистему в альтернативную. Щелкните правой кнопкой мыши конфигурируемую подсистему и выберите Subsystem and Model Reference > Convert Subsystem to > Variant Subsystem.

  • Удалите библиотечный блок из основной конфигурируемой библиотеки подсистем, добавьте библиотечного блока обратно в главную конфигурируемую библиотеку подсистем, а затем сбросьте библиотеку основной конфигурируемой подсистемы.

Создание образца конфигурируемой подсистемы

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

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

  2. Перетащите копию шаблона в модель.

  3. Выберите «Выбор блока» из контекстного меню этого Configurable Subsystem образца.

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

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

Установка параметров блоков образца

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

curr_choice = get_param('mymod/myconfigsys', 'BlockChoice');
curr_choice = ['mymod/myconfigsys/' curr_choice];
set_param(curr_choice, 'MaskValues', ...);

Отображение портов ввода-вывода

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

  • Сопоставьте каждый уникально названный входной/выходной порт в библиотеке с отдельным входным/выходным портом с тем же именем в блоке Configurable Subsystem.

  • Сопоставьте все одинаково именованные входные/выходные порты в библиотеке с теми же входными/выходными портами в блоке Configurable Subsystem.

  • Завершает любой входной/выходной порт, не используемый выбранным в данный момент библиотечным блоком, блоком Terminator/Ground.

Это отображение позволяет пользователю изменять библиотечный блок, представленный блоком Configurable Subsystem, без необходимости переплетать соединения с блоком Configurable Subsystem.

Например, предположим, что библиотека содержит два блока A и B и этот блок A имеет маркированные входные порты a, b, и c и выход порт, маркированный d и этот блок B имеет маркированные входные порты a и b и выход порт, маркированный e.

Блок Configurable Subsystem, основанный на этой библиотеке, будет иметь три входных порта, маркированных a, b, и c, соответственно, и два выходных порта, маркированных d и e.

В этом примере порт a на блоке Configurable Subsystem соединяется с портом a выбранного библиотечного блока независимо от того, какой блок выбран. Портовые c на Configurable Subsystem блоках функционирует только, если выбран библиотечный блок A. В противном случае это просто прекращается.

Примечание

Блок Configurable Subsystem не предоставляет порты, которые соответствуют портам не-ввода/вывода, таким как триггер и разрешающие порты в триггерных и включенных подсистемах. Таким образом, вы не можете использовать Configurable Subsystem блок непосредственно, чтобы представлять блоки, которые имеют такие порты. Вы можете сделать это косвенно, однако, путем переноса таких блоков в блоки подсистем, которые имеют входные или выходные порты, подключенные к портам не-ввода/вывода.

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

Щелкните правой кнопкой мыши конфигурируемую подсистему и выберите Subsystems and Model Reference > Convert Subsystem To > Variant Subsystem.

Во время преобразования Simulink выполняет следующие операции:

  • Заменяет Subsystem блок на Variant Subsystem блок, сохраняя порты и соединения.

  • Добавляет исходную подсистему как вариант выбора в блоке Variant Subsystem.

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

  • Сохраняет ссылки на библиотеки. Для связанных подсистем Simulink добавляет связанную подсистему как вариант выбора.

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

Смотрите Variant Subsystem для получения дополнительной информации о вариантах выбора.

Порты

Вход

расширить все

Входной сигнал в Configurable Subsystem. Блок, который представляет Configurable Subsystem, определяет поддерживаемые типы данных и размерности входного сигнала.

Зависимости

Количество входа портов зависит от блоков в библиотеке, которую представляет Configurable Subsystem. Для получения дополнительной информации смотрите Отображение портов ввода-вывода.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Выход

расширить все

Выходной сигнал от Configurable Subsystem. Блок, который представляет Configurable Subsystem, определяет типы выходных данных и размерности.

Зависимости

Количество выхода портов зависит от блоков в библиотеке, которую представляет Configurable Subsystem. Для получения дополнительной информации смотрите Отображение портов ввода-вывода.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Параметры

расширить все

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

Программное использование

Параметры блоков: MemberBlocks
Тип: массив ячеек из векторов символов
Значения: массив ячеек из имен блоков как векторов символов
По умолчанию: {''}

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

Характеристики блоков

Типы данных

Булев[a] | шина[a] | double[a] | перечисленные[a] | фиксированную точку[a] | половину[a] | целое число[a] | сингл[a] | строка[a]

Прямое сквозное соединение

no

Многомерные сигналы

ограниченный[a]

Сигналы переменного размера

ограниченный[a]

Обнаружение пересечения нулем

no

[a] Фактический тип данных или поддержка возможностей зависит от реализации блоков.

Расширенные возможности

.

Генерация HDL-кода
Сгенерируйте Verilog и VHDL код для FPGA и ASIC проектов с использованием HDL- Coder™.

Представлено до R2006a