Simulink.Bus.createObject

Создайте Simulink.Bus object s из структур MATLAB или блоков

Описание

пример

busInfo = Simulink.Bus.createObject(model,blocks) создает Simulink.Bus объекты для заданных блоков и возвращают информацию о созданном Bus объекты. Они Bus объекты создаются в базовом рабочем пространстве или, при наличии, словарь данных, используемый моделью.

busInfo = Simulink.Bus.createObject(struct) создает Bus объекты от структуры, которая может содержать MATLAB® timeseries, MATLAB timetable, и matlab.io.datastore.SimulationDatastore объекты или числовая структура. Они Bus объекты создаются в базовом рабочем пространстве или, при наличии, словарь данных, используемый моделью.

пример

busInfo = Simulink.Bus.createObject(___,file) сохраняет Bus объекты в функции, которая задает свойства объектов в массиве ячеек массивов ячеек, затем создают Bus объекты путем вызова Simulink.Bus.cellToObject.

пример

busInfo = Simulink.Bus.createObject(___,file,format) сохраняет Bus объекты в функции с заданным форматом. Функция может задать свойства объектов с помощью массивов ячеек или массивов.

busInfo = Simulink.Bus.createObject(___,file,format,scope) создает Bus объекты в словаре данных заданы scope.

Примеры

свернуть все

Откройте модель в качестве примера.

open_system('BusObjectCreationModel')

Создайте Bus объект, который соответствует шине, созданной блоком Bus Creator.

busInfo = Simulink.Bus.createObject('BusObjectCreationModel',...
    'BusObjectCreationModel/Bus Creator');

Создайте Bus объекты от двух блоков Создателя Шины и сохраняют Bus определение объекта в функции.

Откройте модель в качестве примера.

open_system('BusObjectCreationModel');

Присвойте указатель блока для блока Bus Creator к переменной с getSimulinkBlockHandle функция.

bc = getSimulinkBlockHandle('BusObjectCreationModel/Bus Creator');

В качестве альтернативы можно выбрать блок Bus Creator в модели, затем используют gcbh функция, чтобы получить ее указатель блока.

Присвойте указатель блока для блока Bus Creator1 к переменной.

bc1 = getSimulinkBlockHandle('BusObjectCreationModel/Bus Creator1');

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

busInfo = Simulink.Bus.createObject('BusObjectCreationModel',...
    [bc bc1], 'BusObjectFunction');

Поскольку эти блоки Создателя Шины создают иерархию шины, указывая, что только блок Bus Creator1 создает оба Bus объекты в Рабочей области и в функции.

Сравните BusObjectFunction против функции, созданной этой командой.

topBusInfo = Simulink.Bus.createObject('BusObjectCreationModel',...
    bc1, 'BusObjectFunctionFromHierarchy');

Для функции, которая отформатирована, чтобы быть легче читать, задайте функциональный формат как object.

topBusInfo1 = Simulink.Bus.createObject('BusObjectCreationModel',...
    bc1, 'BusObjectFunctionFormatted','object');

Входные параметры

свернуть все

Имя модели или указатель в виде вектора символов.

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

Эта функция может создать Bus объекты от этих блоков:

  • Блоки Bus Creator

  • Подсистема блоки Inport

  • Подсистема блоки Outport

Если вы задаете блок, сопоставленный с иерархией шины, функция также создает Bus объекты для всех вложенных шин в иерархии.

Структура объектов или числовая структура в виде структуры, которая может содержать MATLAB timeseries, MATLAB timetable, и matlab.io.datastore.SimulationDatastore объекты или числовая структура.

Имя функции, сгенерированной в виде вектора символов. Имя файла должно быть уникальным.

Формат функции, сгенерированной в виде любого 'cell' или 'object'. 'cell' формат более компактен, но 'object' формат легче считать.

'cell' формат сохраняет Bus определения объектов в массиве ячеек массивов ячеек и создают Bus объекты путем вызова Simulink.Bus.cellToObject. Каждый зависимый массив ячеек представляет Bus возразите и содержит эти свойства:

  1. Соедините шиной имя

  2. Заголовочный файл

  3. Описание

  4. Осциллограф данных

  5. Выравнивание

  6. Сохраните размерности элемента

  7. Элементы

Поле элементов является массивом ячеек, который содержит эту информацию для каждого Simulink.BusElement объекты, что Bus ссылки на объект:

  1. Имя элемента

  2. Размерности

  3. Тип данных

  4. Шаг расчета — массив ячеек содержит это поле, когда шаг расчета не наследован. Ненаследованный шаг расчета вызывает ошибку во время компиляции модели. Для получения дополнительной информации смотрите, что Simulink.BusElement object s больше не поддерживает свойство SampleTime.

  5. Сложность

  6. Режим Dimensions

  7. Минимум

  8. Максимум

  9. Модули

  10. Описание

'object' формат сохраняет Bus определения объектов как массивы. Функция использует индексацию массива, чтобы получить доступ к элементам массива и записи через точку, чтобы присвоить значения свойств. Для получения дополнительной информации смотрите Индексацию массива и доступ к Значениям свойств.

Словарь данных в виде Simulink.data.Dictionary объект. Прежде чем вы будете использовать этот аргумент, будете представлять словарь Simulink.data.Dictionary объект при помощи, например, Simulink.data.dictionary.create или Simulink.data.dictionary.open функция.

Если scope пусто, функция использует базовое рабочее пространство MATLAB в качестве источника Bus объекты.

Выходные аргументы

свернуть все

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

  • block — Указатель блока

  • busName — Имя Bus объект сопоставлен с блоком

Советы

Если вы задаете имя модели, модель должна скомпилировать успешно, прежде чем вы будете использовать Simulink.Bus.createObject команда.

Вопросы совместимости

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

Ошибки, запускающиеся в R2020b

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