exponenta event banner

Конфигурируемая подсистема

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

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

  • Configurable Subsystem block

Описание

Примечание

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

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

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

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

Дополнительные сведения о исполнительной подсистеме см. в разделе Исполнительная подсистема, исполнительная модель.

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

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

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

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

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

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

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

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

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

  3. Создайте экземпляр блока «Конфигурируемая подсистема» в библиотеке.

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

  4. Откройте диалоговое окно «Блок конфигурируемой подсистемы», дважды щелкнув его. В диалоговом окне отображается список других блоков в библиотеке.

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

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

  7. Выберите «Выбор блока» в контекстном меню блока «Конфигурируемая подсистема».

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

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

  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 использует следующие правила для сопоставления портов библиотеки с портами блоков конфигурируемой подсистемы:

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

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

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

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

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

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

В этом примере порт a в блоке конфигурируемой подсистемы подключается к порту a выбранного блока библиотеки независимо от выбранного блока. Порт c в блоке Конфигурируемая подсистема (Configuration Subsystem), только если выбран библиотечный блок А. В противном случае он просто прекращается.

Примечание

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

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

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

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

  • Заменяет блок «Подсистема» блоком «Подсистема вариантов» с сохранением портов и соединений.

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

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

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

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

Дополнительные сведения о вариантах см. в разделе Исполнительная подсистема.

Порты

Вход

развернуть все

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

Зависимости

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

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

Продукция

развернуть все

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

Зависимости

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

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

Параметры

развернуть все

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

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

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

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

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

Типы данных

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | half[a] | integer[a] | single[a] | string[a]

Прямой проход

no

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

limited[a]

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

limited[a]

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

no

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

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

.

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

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