Чтобы создать объект шины и его элементы в интерактивном режиме, используйте Редактор Шины Simulink®. Шина возражает, что вы создаете с Редактором Шины, хранятся в базовом рабочем пространстве MATLAB®. Чтобы моделировать блок, который использует объект шины, объект шины должен быть в базовом рабочем пространстве или в словаре данных. Чтобы сохранить определения объектов шины, чтобы сопоставить с моделями, экспортируйте объекты шины от базового рабочего пространства в файл кода MATLAB или MAT-файл (см., Сохраняют и Объекты Шины Импорта).
Можно задать объект шины быть типом данных блока или прежде или после определения объекта шины. Однако, прежде чем вы моделируете модель, объект шины и соответствующий сигнал шины должны иметь то же количество элементов шины в том же порядке. Кроме того, каждый элемент шины в объекте шины и в соответствующем сигнале в модели должен иметь те же атрибуты.
Во время разработки моделей можно изменить сигналы шины совпадать с объектами шины или изменить объекты шины совпадать с шинами.
Этим примером является простая модель, которая идет через основы определения объекта шины и использования. Для примеров, которые показывают определения объектов шины для моделей, которые требуют объектов шины, смотрите Использование Невиртуальные Шины с блоком MATLAB function и sldemo_mdlref_bus
.
Откройте Редактор Шины с помощью одного из этих подходов, в зависимости от задачи моделирования.
Моделирование задачи | Подход |
---|---|
Создайте модель |
В Редакторе Simulink выберите Edit> Bus Editor. |
Создайте объекты шины за пределами образцового контекста |
В командной строке MATLAB введите |
Исследуйте и обновите модель |
В Model Explorer, в диалоговом окне объекта шины, нажимают кнопку Launch Bus Editor. |
Предположим, что ваша модель имеет две шины с одной шиной, вложенной в другой шине.
Этот пример показывает, как создать объекты шины, соответствующие control
и сигналам шины main
. Чтобы завершить определение объектов шины и использовать те объекты, также выполните шаги в этих примерах:
Откройте модель ex_bus_object_tutorial.slx
.
В Редакторе Simulink выберите Edit> Bus Editor.
В Редакторе Шины выберите File> Add Bus.
Это действие создает объект шины с именем по умолчанию и свойствами. Объект появляется в панели Hierarchy, и ее свойства появляются в панели Dialog.
Задайте имя для объекта шины, с помощью свойства Name. Чтобы облегчить, чтобы видеть, как объект шины используется в модели, используйте имя, которое отражает сигнал шины, сопоставленный с объектом шины. Сигнал шины, который комбинирует входные параметры клапана, называют control
, поэтому, назовите объект CONTROL
шины.
Можно предоставить документацию об объекте шины при помощи свойства Description. Введите Combines two valve signals
.
Нажмите Apply.
Создайте второй объект шины. В панели Hierarchy выберите объект шины CONTROL
, и на панели инструментов нажимают кнопку Add Bus ().
В панели Dialog, набор Name к MAIN
и Description к Defines a bus object for a bus that contains three signals, including the control bus signal
.
Нажмите Apply.
Панель Hierarchy отображает объекты шины в алфавитном порядке.
Не закрывайтесь MATLAB, не экспортируя шину возражает против файла кода MATLAB или MAT-файла. В противном случае вы теряете определения объектов шины.
Чтобы задать объекты элемента шины для объектов шины, выполните шаги в, Создают Элементы Шины для Объекта Шины.
Этот пример основывается на объектах шины, в которых вы создали, Создают Объекты Шины. Пример показывает, как задать объекты элемента шины для CONTROL
и объекты шины MAIN
для модели ex_bus_object_tutorial.slx
.
В этом примере имя для элемента шины и соответствующих сигналов отличается, чтобы попытаться подсветить, что они - отличные сущности. Если вы изменяете значение по умолчанию для диагностики Element name mismatch к ошибке, то имя сигнала и соответствующее имя элемента шины должны соответствовать точно, чтобы работать на всех платформах.
Кроме того, блоки Создателя Шины в этой модели используют настройку по умолчанию для параметров блоков Override bus signal names from inputs. Настройка по умолчанию On
распространяет имена сигнала сигналов в модели, не имен элементов шины в объекте шины.
Чтобы завершить определение объектов шины и использовать те объекты, также выполните шаги в этих примерах:
В Редакторе Шины панель Hierarchy выберите объект шины CONTROL
.
Выберите File > Add/Insert BusElement.
Новый элемент шины с именем по умолчанию и свойствами создается в объекте шины CONTROL
. Элемент шины появляется в панели Hierarchy ниже объекта шины CONTROL
.
В панели Dialog, набор Name к VALVE1
, чтобы отразить имя главного сигнала в шине.
Для блока Constant
откройте диалоговое окно Block Parameters и выберите вкладку Signal Attributes.
В Редакторе Шины панель Dialog, свойство DataType набора к double
, чтобы совпадать с установкой параметров блоков Output data type для блока Constant
. Используйте настройку по умолчанию для других свойств объектов элемента шины.
Нажмите Apply.
Создайте второй объект элемента шины, который соответствует сигналу элемента шины valve2
. В панели Hierarchy выберите элемент шины VALVE1
, возражают и нажимают кнопку Add/Insert Bus Element ().
Определите имя объекта шины к VALVE2
.
Для блока Constant1
откройте диалоговое окно Block Parameters и выберите вкладку Signal Attributes.
Output data type является int8
.
В Редакторе Шины панель Dialog, для объекта элемента шины VALVE2
, установила свойство DataType на int8
. Используйте настройку по умолчанию для других свойств объектов элемента шины.
Нажмите Apply.
Создайте объект элемента шины для сигнала элемента шины secondary
шины main
. В панели Hierarchy выберите шину MAIN
, возражают и нажимают кнопку Add/Insert Bus Element.
Установите свойство Name на SECONDARY
и свойство Data type к int32
, совпадая с типом данных выходного сигнала блока In1
. Нажмите Apply.
Создайте объект элемента шины для сигнала элемента шины primary
шины main
. В панели Hierarchy выберите элемент шины SECONDARY
, возражают и нажимают кнопку Add/Insert Bus Element.
Установите свойство Name на PRIMARY
и свойство Data type к boolean
, совпадая с типом данных выходного сигнала блока In2
. Нажмите Apply.
Чтобы задать элемент шины возражают для шины управления, которая является третьим элементом шины главной шины, выполните шаги в Определениях объектов Шины Вложенного множества.
Любой сигнал в шине может быть другой шиной, которая может в свою очередь содержать зависимые шины на любую глубину. Описание вложенных шин с объектами шины требует вложения определения объектов шины, которые предоставляют объекты.
Каждый объект шины задает тип данных, свойства которого заданы объектом. Чтобы вложить одно определение объекта шины в другом, присвойте элементу шины одного объекта шины тип данных, который задан другим объектом шины. Объект элемента шины представляет вложенную шину. Объект шины, который задает тип данных объекта элемента шины, задает вложенные элементы шины.
Тип данных, заданный объектом шины, называется типом шины. Вложенные шины путем присвоения типов шины элементам позволяют тому же определению шины использоваться удобно в нескольких контекстах без нежелательных взаимодействий.
Этот пример основывается на объектах шины и элементах шины, в которых вы создали для модели ex_bus_object_tutorial.slx
, Создают Объекты Шины и Создают Элементы Шины для Объекта Шины.
В Редакторе Шины панель Hierarchy выберите элемент шины PRIMARY
, возражают и нажимают кнопку Add/Insert Bus Element.
В панели Dialog, набор свойство Name к VALVES_BUS
.
Для свойства Data type используйте шаблон Bus: <object name>
, заменяя <object name>
на CONTROL
, который является именем объекта шины для шины control
.
Нажмите Apply.
Если вы расширяете объект элемента шины VALVES_BUS
, вы видите два объекта элемента шины для объекта шины CONTROL
, VALVE1
и VALVE2
.
Вы закончили задавать объекты шины для этого примера. Рассмотрите экспорт объектов шины к файлу кода MATLAB. В Редакторе Шины выберите File> Export to File. В диалоговом окне Export укажите, что имя файла для шины возражает MAT-файлу.
Чтобы использовать объекты шины создать невиртуальные шины, выполните шаги в Объектах Шины Использования Создать Невиртуальные Шины.
Можно вложить объект шины в стольких различных объектах шины, сколько желаемый, и так много раз в той же шине возражают как желаемый. Можно вложить объекты шины на любую глубину, но вы не можете задать круговую структуру прямо или косвенно вложением объект шины в себе.
Если вы задаете круговую структуру, Редактор Шины отправляет предупреждение и устанавливает тип данных элемента, который завершил бы цикл к double
. Нажмите OK, чтобы закрыть предупреждение и продолжить использовать редактор.
Шины в модели ex_bus_object_tutorial
, которую вы задали в Создать примере Объектов Шины и его связанных примерах, являются виртуальными шинами. Использовать шину возражает, что вы задали в тех примерах, чтобы изменить виртуальные шины на невиртуальные шины:
Откройте диалоговое окно параметров блоков Создателя Шины. Установите Output data type на Bus: CONTROL
и выберите Output as nonvirtual bus.
Можно использовать объект шины задать тип данных для блока, не указывая, что шина является невиртуальной шиной. Необходимо задать объект шины для невиртуальной шины, но это является дополнительным для виртуальной шины.
Откройте диалоговое окно Bus Creator1
Block Parameters. Установите Output data type на Bus: MAIN
и выберите Output as nonvirtual bus.
Добавьте другой блок Outport после блока Bus Creator1
и соедините его с сигналом main
.
Откройте диалоговое окно Out3
Block Parameters. Во вкладке Signal Attributes, устанавливает Data type на Bus: MAIN
и выбирать Output as nonvirtual bus in parent model.
Модель ex_bus_object_tutorial_using_objects.slx
использует объекты шины, которые вы задали. Когда вы моделируете модель, вы видите, что шины являются теперь невиртуальными.
Для другого примера определения объектов шины и использования невиртуальных шин в модели, смотрите Использование Невиртуальные Шины с блоком MATLAB function.
Если блок MATLAB function выводит структуру, то необходимо использовать объект шины задать шину вывод. В модели ex_bus_object_matlab_func
блок MATLAB function включает код MATLAB, который создает структуру. Вот модель после симуляции.
Чтобы видеть определение структуры, дважды кликните блок MATLAB function.
Откройте Редактор Шины и расширьте определение объекта шины, которое представляет структуру.
Чтобы видеть, как объект шины используется, чтобы задать шину, вывод для функции MATLAB, в редакторе MATLAB, нажимает Edit Data и затем нажимает y
. Вывод Type задан как объект function_bus
.