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 функция для получения указателя на блок.

Присвойте указатель на блок для 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 Creator блоки

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

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

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

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

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

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

The '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. Описание

The '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