exponenta event banner

Simulink. Bus.createObject

Создание объектов Simulink.Bus из блоков или структур 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(struct,file,format,scope) создает Bus объекты в словаре данных, указанные scope.

Примеры

свернуть все

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

open_system('BusObjectCreationModel')

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

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

Создать Bus объекты из двух блоков Bus Creator и сохраните 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 Creator создают иерархию шин, задание только блока Bus Creator1 создает оба Bus в рабочей области и в функции.

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

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

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

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

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

свернуть все

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

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

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

  • Блоки создания шины

  • Блоки ввода подсистемы

  • Блоки вывода подсистемы

При указании блока, связанного с иерархией шин, функция также создает 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. Элементы

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

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

  2. Размеры

  3. Тип данных

  4. Время выборки - массив ячеек содержит это поле, когда время выборки не наследуется. Отсутствие наследования времени выборки приводит к ошибке во время компиляции модели. Для получения дополнительной информации см. раздел Объекты Simulink.BusElement, которые больше не поддерживают свойство SampleTime.

  5. Сложность

  6. Режим «Размеры»

  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