Упростите подсистему и интерфейсы модели с шинами

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

Например, эта модель содержит подсистемы, где каждый интерфейс подсистемы имеет несколько портов.

Each subsystem has multiple input and output ports.

Эта эквивалентная модель использует шины и имеет один порт на интерфейс подсистемы.

Each subsystem has one input port and one output port.

Для шин в интерфейсах используйте In Bus Element и блоки Out Bus Element вместо Inport и блоки Bus Selector для входных параметров и Outport и блоки Bus Creator для выходных параметров. In Bus Element и блоки Out Bus Element поддерживают многоскоростные виртуальные шины и не требуют Simulink.Bus объекты в интерфейсах модели, в отличие от Inport и блоков Outport. Они также обеспечивают более чистые интерфейсы шины.

Например, эта модель использует Inport, Bus Selector, Bus Creator и блоки Outport.

Bus Selector and Bus Creator blocks modify the input bus.

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

In Bus Element and Out Bus Element blocks make the block diagram easier to parse.

В интерфейсе вы хотите обновиться, линии и блоки не должны иметь технических требований не по умолчанию, которые могли вызвать конфликты. Например, линию между блоком Bus Creator и блоком Outport нельзя назвать или отметить для логгирования сигнала. Точно так же, в то время как можно задать Simulink.Bus тип данных Object для выходного порта, вы не должны задавать тип данных не по умолчанию для элемента выходного порта, такого как TopBus1.NestedBus1.

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

Объедините несколько портов подсистемы в один порт

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

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

Перетащите рамку выделения вокруг сигнальных линий между этими двумя подсистемами. От строки меню, которая появляется, нажмите Create Bus.

Simulink заменяет блоки Inport и Outport в источнике и целевых подсистемах с В Элементе Шины и блоках Элемента Шины.

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

Simulink добавляет блок Bus Creator перед первой подсистемой и заменяет Inport блоки в первой подсистеме с В блоках Элемента Шины.

Перетащите рамку выделения вокруг сигнальных линий между блоками second subsystem и Scope. От строки меню, которая появляется, нажмите Create Bus.

Simulink заменяет блоки Выходного порта во второй подсистеме с Элементом Шины, блокирует и добавляет блок Селектора Шины после второй подсистемы.

Получившаяся модель использует виртуальные шины в интерфейсах подсистемы.

Упростите интерфейсы шины в подсистемах и моделях

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

Откройте модель в качестве примера, которая содержит подсистему, которая изменяет иерархию входной шины с помощью блоков Создателя Селектора и Шины Шины. Подсистема использует блоки Inport и Outport для ввода и вывода.

Скомпилируйте модель, чтобы обновить стили линии, которые можно использовать, чтобы визуально идентифицировать шины. В Панели инструментов Simulink, на вкладке Modeling, нажимают Update Model или Run.

Откройте подсистему.

Преобразовывать Inport и Bus Selector блокируется к В блоках Элемента Шины:

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

  2. В строке меню, которая появляется, когда вы делаете паузу по замещающему знаку, нажмите Bus Ports.

Можно так же преобразовать В блоке Селектора Элемента и Шины Шины.

Преобразовывать Создателя Выходного порта и Шины блокируется, чтобы Соединить шиной блоки Элемента:

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

  2. В строке меню, которая появляется, когда вы делаете паузу по замещающему знаку, нажмите Bus Ports.

Можно так же преобразовать Элемент Шины и блоки Создателя Шины.

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

Можно поменять имя шины и ее элементов путем двойного клика по меткам блока и редактирования их.

Чтобы легко идентифицировать элементы того же вложенного входа шины или входа шины, задайте цвета блока.

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

  2. Выберите элемент или лучшую шину.

  3. Задайте цвет фона с выпадающим меню цвета Набора.

Используйте шины в интерфейсах модели

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

Если вы используете шину в качестве входа к или выхода из модели, на которую ссылаются:

  • Только невиртуальная шина может содержать элементы сигнала переменного размера.

  • Для генерации кода можно только сконфигурировать I/O arguments step method стиль класса C++ взаимодействует через интерфейс для модели, на которую ссылаются, при использовании невиртуальной шины или при использовании Default стиль интерфейса класса C++.

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

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

|

Похожие темы