Упростите интерфейсы шины

Чтобы упростить подсистему и интерфейсы модели, можно использовать In Bus Element и блоки Out Bus Element как вводы и выводы. Можно использовать эти блоки вместо Inport с блоками Bus Selector для входных параметров и Outport с блоками Bus Creator для выходных параметров. Например, эта модель использует Inport, Bus Selector, Bus Creator и блоки Outport.

Вот эквивалентная модель, которая использует блокировки порта элемента шины.

Блокировки порта элемента шины:

  • Уменьшайте сложность сигнальной линии и помеху в блок-схеме.

  • Облегчите изменять интерфейс инкрементно.

  • Предоставьте доступ к элементу шины ближе на грани использования, избежав использования настройки блока Bus Selector и Goto.

Рассмотрите использование портов элемента шины для моделей с сигналами шины, что вы ожидаете изменяться часто во время процесса разработки моделей.

Совет

Чтобы осуществить рефакторинг интерфейс подсистемы, который использует Inport, Bus Selector, Bus Creator и блоки Outport, чтобы использовать In Bus Element и блоки Out Bus Element, можно использовать Редактор Simulink® строки меню. Операции преобразования поддерживаются только, когда сигнальные линии или блоки не имеют никакой дополнительной спецификации. Для получения дополнительной информации смотрите, Преобразуют Модели, чтобы Использовать Порты Элемента Шины.

Блокировки порта элемента шины имеют эти ограничения:

  • Выходная шина Out Bus Element является виртуальной шиной.

  • Проигнорированы объекты шины, сопоставленные с сигналами, используемыми с блокировками порта элемента шины.

  • Вы не можете задать базовые спецификации блока Inport или Outport, такие как размер слова.

Соедините шиной порты элемента

Упрощенный интерфейс включает порты элемента шины создания. Используйте блоки In Bus Element, чтобы выбрать элементы из сигнала шины, который питается подсистему. Для сигналов нешины (включая массивы шин), которые питают подсистему, блок In Bus Element может передать (если никакие сигналы не выбраны) через значение входного сигнала для использования в подсистеме.

Используйте блоки Out Bus Element, чтобы объединить сигналы подсистемы в виртуальную шину, чтобы вывести от подсистемы.

Можно использовать блокировки порта элемента шины с виртуальными шинами. Для невиртуальных сигналов шины, массивов шин и сигналов нешины, применяются эти ограничения:

  • Для массива сигналов шины и сигналов нешины, блокировки порта элемента шины могут только пройти через целый сигнал, вместо того, чтобы выбрать отдельные элементы сигнала.

  • Блок Out Bus Element выводит сигнал виртуальной шины от подсистемы.

Блок In Bus Element имеет тип блока Inport. Блок Out Bus Element имеет тип блока Outport. Блокировки порта элемента шины поддерживают наследованные рабочие процессы. Можно использовать диалоговое окно Block Parameters блокировки порта элемента шины, чтобы задать атрибуты элемента шины, такие как тип данных или размерности.

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

Блокировки порта элемента шины имеют эти ограничения:

  • Выходная шина Out Bus Element является виртуальной шиной.

  • Проигнорированы объекты шины, сопоставленные с сигналами, используемыми с блокировками порта элемента шины.

  • Вы не можете задать базовые спецификации блока Inport или Outport, такие как размер слова.

Примечание

Если вы сохраняете модель, содержащую блокировки порта элемента шины к версии Simulink ранее, чем R2017a, Simulink преобразует модель, чтобы использовать подсистему, которая содержит Bus Selector и блоки Bus Creator, как соответствующие.

Создайте порты элемента шины

Для новой подсистемы создание портов элемента шины включает добавляющие блоки In Bus Element, чтобы выбрать входные сигналы подсистемы и блоки Out Bus Element, чтобы создать виртуальные выходные сигналы шины для подсистемы. Для примеров, показывающих рабочий процесс для добавления портов элемента шины, см. документацию In Bus Element.

Примечание

Блок In Bus Element имеет два различных имени, в зависимости от Библиотеки Simulink, в которой это появляется. Функциональность обоих блоков является тем же самым.

  • В библиотеке Sources и библиотеке Ports & Subsystems — In Bus Element

  • В библиотеке Signal Routing — Bus Element In

Блок Out Bus Element имеет два различных имени, в зависимости от Библиотеки Simulink, в которой это появляется. Функциональность обоих блоков является тем же самым.

  • В библиотеке Sinks и библиотеке Ports & Subsystems — Out Bus Element

  • В библиотеке Signal Routing — Bus Element Out

Добавьте в блоках элемента шины

Чтобы добавить блок In Bus Element, вы можете:

  • Перетащите блок из Браузера Библиотеки. Это действие добавляет порт или добавляет новый элемент, если порт с тем же именем существует.

  • Используйте быструю вставку. Это действие добавляет порт.

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

  • В списке диалоговых окон Block Parameters входных сигналов выберите сигнал и нажатие кнопки.

Совет

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

Чтобы выбрать сигнал из входного порта, используйте один из этих подходов. Чтобы выбрать несколько сигналов из сигнала входной шины, создайте несколько блоков In Bus Element, один для каждого выбранного сигнала.

  • Используя диалоговое окно Block Parameters, выберите из сигналов, которые находятся в шине, соединенной с этим портом. Сигналы, перечисленные в черном цвете, уже выбраны и используются в подсистеме, и сигналы серого цвета доступны, но уже не используются. Сигналы красного цвета не доступны в сигнале входной шины. Например, сигналы a и b уже выбраны, сигнал c доступен для выбора, и сигнал d не доступен.

    После того, как вы выберете сигналы, щелкнуть

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

    Если вы удаляете b (часть элемента текста значков блока), то вы получаете список сигналов, что можно выбрать.

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

Можно задать цвет фона для блокировок порта элемента шины, с помощью диалогового окна Block Parameters опция Set color. Это действие выбирает цвет блоков, сопоставленных с выбранными элементами, или со всеми блоками, если вы не выбираете элементы. Можно поменять имя порта с помощью диалогового окна Block Parameters.

Добавьте блоки элемента шины

Чтобы вывести несколько сигналов от подсистемы как сигнал шины, создайте несколько блоков Out Bus Element, один для каждого сигнала, что вы хотите включать в шину. Чтобы добавить блок Out Bus Element, вы можете:

  • Перетащите блок из Браузера Библиотеки. Это действие добавляет порт или добавляет новый элемент, если порт с тем же именем существует.

  • Используйте быструю вставку. Это действие добавляет порт.

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

  • В диалоговом окне Block Parameters щелкнуть. Чтобы изменить название сигнала, дважды кликните имя сигнала в структурном виде или в блок-схеме и отредактируйте текст значков.

Если блок Out Bus Element создает A сигнала, затем другой блок Out Bus Element для того же порта не может задать A сигнала (или дочерний элемент A сигнала) как элемент.

Добавить вложенную шину, в диалоговом окне Block Parameters, нажатии кнопки. Чтобы удалить блоки, сопоставленные с выбранными элементами, щелкнуть.

Можно переупорядочить элементы шины путем перетаскивания сигнала в списке сигналов в диалоговом окне Block Parameters.

Можно задать цвет фона для блокировок порта элемента шины, с помощью диалогового окна Block Parameters опция Set color. Это действие выбирает цвет блоков, сопоставленных с выбранными элементами, или всех блоков, если вы не выбираете элементы.

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

Можно осуществить рефакторинг интерфейс подсистемы, который использует Inport, Bus Selector, Bus Creator и блоки Outport, чтобы использовать блоки Out Bus Element и In Bus Element. Операции преобразования поддерживаются только, когда сигнальные линии или блоки не имеют никакой дополнительной спецификации, включая логгирование сигнала. Вы можете:

  • Преобразуйте Inport и блоки Bus Selector в подсистеме с блоками In Bus Element.

  • Преобразуйте Outport и блоки Bus Creator в подсистеме с блоками Out Bus Element.

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

Для примеров, которые показывают, как преобразовать модели, чтобы использовать порты элемента шины, см. slexBusExample.

Преобразуйте блоки селектора шины подсистемы

Можно преобразовать подсистему, которая использует блоки Bus Selector, чтобы использовать блоки In Bus Element вместо этого.

  1. Кликните по блоку Bus Selector, который соединяется с блоком Inport.

  2. От строки меню выберите Bus Element Ports.

    Конвертированная подсистема использует блоки In Bus Element.

Можно сделать подобное преобразование для нескольких слоев блоков Bus Selector.

  1. Выполните преобразование на блоке Bus Selector, который соединяется с блоком Inport.

  2. Преобразуйте второй блок Bus Selector.

    Примечание

    Это действие не доступно, если выходной сигнал блока Bus Creator имеет ветвь.

Преобразуйте блоки создателя шины подсистемы

Можно преобразовать подсистему, которая использует блоки Bus Creator, чтобы использовать блоки Out Bus Element вместо этого.

  1. Кликните по блоку Bus Creator, который соединяется с блоком Outport.

  2. От строки меню выберите Bus Element Ports.

    Конвертированная подсистема использует блоки Out Bus Element.

Можно сделать подобное преобразование для нескольких слоев блоков Bus Creator.

  1. Выполните преобразование на блоке Bus Creator, который соединяется с блоком Outport.

  2. Преобразуйте второй блок Bus Creator.

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

Можно преобразовать сигналы между подсистемами, чтобы использовать блоки Out Bus Element и In Bus Element.

Примечание

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

  • Не выполняйте преобразование.

  • Измените модель так, чтобы она работала правильно с недавно созданными виртуальными шинами.

  1. Выполните выбор пунктирной рамки сигналов то подключение две подсистемы.

  2. От строки меню выберите Create Bus.

    Преобразование создает блоки Out Bus Element в исходной подсистеме и блоки In Bus Element в целевой подсистеме.

    В конвертированной модели существует один сигнал шины между подсистемами и BasicSrc и BasicDst подсистемы используют In Bus Element и блоки Out Bus Element , соответственно.

Если вход подсистемы непосредственно не соединяется с другой подсистемой, можно преобразовать вход подсистемы. Если вы преобразовываете вход подсистемы, Simulink вставляет блок Bus Creator, чтобы обеспечить возможность соединения, и подсистема использует блоки In Bus Element.

  1. Выполните выбор пунктирной рамки входных сигналов подсистемы.

  2. От строки меню выберите Create Bus.

Конвертированная модель использует блоки Bus Creator во входных параметрах подсистемы и блоки Bus Selector для подсистемы выходные параметры. Конвертированная подсистема (Subsystem3) содержит блоки Out Bus Element и In Bus Element.

Смотрите также

Блоки

Похожие темы