Создайте невиртуальные шины

Невиртуальная шина Simulink® походит на struct в коде С. К данным о шине пакета как структуры в сгенерированном коде C используйте невиртуальные шины.

Необходимо также использовать невиртуальные шины для:

  • Создайте массив шин.

  • Интерфейс с внешним кодом через S-функцию.

  • Имейте перекрестный блок MATLAB Function данных о шине или контуры графика Stateflow®.

  • Отобразите и регистрируйте шины с блоком Scope.

Чтобы создать невиртуальную шину, вы должны:

  • Задайте Simulink.Bus возразите как тип данных для шины. Установите Data type на Bus: <object name>, где <object name> Bus имя объекта.

  • Укажите, что выход блока является невиртуальной шиной. Выберите Output as nonvirtual bus или, для блоков Outport, Output as nonvirtual bus in parent model.

Все сигналы в невиртуальной шине должны иметь тот же шаг расчета. Для получения дополнительной информации смотрите, Изменяют Шаги расчета для Невиртуальных Шин.

Симулировать модель, которая содержит невиртуальные шины, Bus, на который ссылаются, объекты должны быть в базовом рабочем пространстве или словаре данных. Необходимо задать Bus возразите или используйте уже заданный Bus объект. Коллбэк модели может загрузить необходимый Bus объекты.

Способ создать невиртуальные шины отличается на основе местоположения шины:

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

Создайте невиртуальные шины с блоками создателя шины

В этом примере показано, как сконфигурировать блок Bus Creator, чтобы вывести невиртуальную шину.

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

Создайте объекты Simulink.Bus

Поскольку виртуальные шины в этой модели не заданы Bus объекты, необходимо создать Bus объекты, которые совпадают с иерархией шины. Если виртуальные шины были заданы Bus объекты, вы не должны были бы создавать Bus объекты.

Создать и сохранить Bus объекты для шин в модели, используйте Simulink.Bus.createObject функция. Когда вы задаете блок Bus Creator, который создает шину, которая содержит другие шины, эта функция создает Bus объекты для шины, созданной блоком и всеми вложенными шинами. Когда вы задаете имя файла, оно сохраняет Bus объекты в функции с тем именем.

busInfo = Simulink.Bus.createObject...
  ('NonvirtualBusCreationModel',...
  'NonvirtualBusCreationModel/Bus Creator1',...
  'NonvirtualBusCreationFunction');

В базовом рабочем пространстве Simulink создает два Bus объекты называют в честь соответствующих шин, TopBus и NestedBus. В текущей папке Simulink создает функцию с именем NonvirtualBusCreationFunction.m.

Видеть созданный Bus объекты, откройте Редактор Шины путем ввода:

buseditor

Задайте невиртуальную шину Выходные параметры

В модели дважды кликните блок Bus Creator1. В диалоговом окне, устанавливает тип Выходных данных на Bus: TopBus и выберите Output как невиртуальный флажок шины.

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

Выход блока Bus Creator1 является невиртуальной шиной, в то время как блок Bus Creator выход остается виртуальная шина.

Дважды кликните блок Bus Creator. В диалоговом окне Выходные данные набора вводят к Bus: NestedBus и выберите Output как невиртуальный флажок шины.

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

Создайте невиртуальную шину Выход для моделей, на которые ссылаются,

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

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

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

В модели, на которую ссылаются дважды кликните блок Outport. В диалоговом окне, на вкладке Signal Attributes, выбирают Output как невиртуальную шину в родительской модели, затем нажимают ОК.

Чтобы обновить стили линии, симулируйте модель снова.

Вход с блоком Outport остается виртуальная шина.

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

Преобразуйте виртуальную шину в невиртуальную шину

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

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

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

Чтобы преобразовать виртуальную шину выход в невиртуальную шину, добавьте блок To Nonvirtual Bus между блок Outport и блоком Model. Этот блок является предварительно сконфигурированной версией блока Signal Conversion, которому установили Выходной параметр на Nonvirtual bus.

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

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

Блоки

Объекты

Похожие темы