Данные шины можно импортировать в порты ввода верхнего уровня, вручную указав данные в параметре конфигурации «Ввод» или используя инструмент «Сопоставление корневого ввода». Сведения об импорте данных шины с помощью инструмента «Сопоставление корневых входов» см. в разделе Импорт данных шины.
Можно импортировать данные шины (виртуальную, непровиртуальную или массив шин) в входной порт верхнего уровня, определенный объектом шины (см. Simulink.Bus). В блоке ввода верхнего уровня задайте для параметра Тип данных значение Bus и укажите имя объекта шины. Чтобы задать значения данных для сигналов шины, используйте структуру:
MATLAB
®timeseries объекты
MATLAB timetable объекты
Комбинация timeseries и timetable объекты
Для элементов шины, для которых поле в структуру не включено, используются значения грунта. Для использования значений основания можно использовать пустую матрицу.
Примечание
При указании timetable данные для загрузки, timetable должен содержать данные только для одного сигнала.
Структура timeseries или timetable (или оба) объекта должны соответствовать элементам шины с точки зрения:
Иерархия
Имя поля структуры, которое должно соответствовать имени элемента шины. ( name имущества timeseries объект не должен соответствовать имени элемента шины.)
Тип данных
Размеры
Сложность
Порядок полей структуры не обязательно должен соответствовать порядку элементов шины.
Структуру можно включить в качестве элемента Dataset объект. Структуру можно использовать в списке, разделенном запятыми. Можно указать пустую матрицу в списке, разделенном запятыми. Пустая матрица использует значения заземления для сигнала шины.
Например, для загрузки данных для входных портов in1 и in3и использовать значения земли для порта in2введите в поле Input (Ввод) следующее:
in1, [], in3
Можно инициализировать сигналы шины, в том числе с помощью частичной спецификации данных инициализации. Дополнительные сведения см. в разделе Определение начальных условий для элементов шины.
Дополнительные сведения об импорте массива данных шины в корневой блок Inport см. в разделе Импорт массива данных шин.
Данные сигнала, которые можно использовать для импорта и сопоставления с блоком ввода верхнего уровня с помощью средства отображения корневого ввода, могут включать данные шины. Этот инструмент нельзя использовать для отображения сигналов шины на блок включения или запуска верхнего уровня.
Порты ввода нельзя использовать для импорта шин во внешних режимах. Для импорта данных шины в режиме быстрого ускорения используйте Dataset формат.
Эта модель имеет два блока Inport, связанных с блоками Scope. Тип данных In1 блок наследуется (данные, не относящиеся к шине), и тип данных In2 блок определяется объектом шины BusObject. Модель имеет обратный вызов, который загружается BusObject и его суб-шина BusObject1.

BusObject объект шины имеет два элемента:
c
s1, которая является вложенной шиной, имеющей два элемента:
a
b
Откройте окно model.
Создание MATLAB timeseries объект для In1, для которого требуется импортировать данные, не относящиеся к шине.
Например:
t1 = (1:10)'; d1 = sin(t1); in1 = timeseries(d1,t1);
Создание структуры ввода, которая может состоять из MATLAB timeseries объекты или MATLAB timetable или сочетание этих типов объектов. Создать timeseries или timetable объект для каждого элемента листовой шины, для которого не требуется использовать базовые значения. В этом примере используются базовые значения для b элемент шины, поэтому он не нуждается в timeseries или timetable объект для этого элемента.
t2 = (1:5)'; d2 = cos(t2); in2.c = timeseries(d1,t1); in2.s1.a = timetable(seconds(t2),d2);
MATLAB timeseries создаваемые объекты должны соответствовать соответствующим элементам шины, как описано в разделе Импортированные требования к данным шины.
Создать Dataset объект и добавить in1 и in2 в набор данных.
ds = Simulink.SimulationData.Dataset; ds = ds.addElement(in1,'in1_signal'); ds = ds.addElement(in2,'in2_signal');
В окне «Параметры конфигурации» > «Импорт/экспорт данных» > «Параметры ввода» введите Dataset объект ds.

Моделирование модели. Блок «Область», подключенный к In2, показывает импортированные данные шины.

Определение количества MATLAB timeseries объекты и тип данных, сложность и размеры, необходимые для создания структуры timeseries объекты из шины, используйте следующие методы:
Simulink.Bus.getNumLeafBusElements
Simulink.Bus.getLeafBusElements
Например, для объекта шины BusObject:
num_el = BusObject.getNumLeafBusElements
num_el =
3el_list = BusObject.getLeafBusElements
el_list =
3x1 BusElement array with properties:
Min
Max
DimensionsMode
SampleTime
Description
Units
Name
DataType
Complexity
Dimensionsel_list(1).Dimensions
ans =
1
Если есть timeseries определенные объекты, их можно использовать для создания структуры timeseries на основе объекта шины. Используйте функция. Например, если определено Simulink.SimulationData.createStructOfTimeseriestimeseries объекты ts1, ts2, и ts3, и у вас есть объект автобуса MyBusObject, можно использовать эту команду для создания структуры timeseries объекты:
input = Simulink.SimulationData.createStructOfTimeseries(... 'MyBusObject',{ts1,ts2,ts3});
Количество timeseries объекты в массиве ячеек должны соответствовать количеству конечных элементов в объекте шины. Тип данных, размеры и сложность каждого timeseries объект должен соответствовать атрибутам соответствующего конечного узла объекта шины.
Для импорта (загрузки) массива данных шин с использованием корневого блока Inport используйте массив структур MATLAB timeseries объекты.
Примечание
Для импорта данных для массива шин нельзя использовать блоки «Включить», «Триггер», «Из рабочей области» или «Из файла».
В последующем прогоне моделирования можно использовать записанные данные для массива сигналов шин, полученных при предыдущем моделировании, в качестве закругленного ввода в корневой Inport-порт. Записанные данные являются полной спецификацией данных для блока Inport.
При построении массива структур MATLAB timeseries для полного указания импортируемых данных:
Укажите поля структуры в том же порядке, что и сигналы в сигналах шины.
Не включайте в структуру больше полей, чем сигналов в шине.
Для конечных полей точно соответствуют типу данных, размерам и сложности соответствующего сигнала в шине.
Чтобы задать частичные данные для массива шин, создайте массив структур MATLAB с MATLAB timeseries объекты в конечных узлах.
Структура, создаваемая для указания частичных данных, должна соответствовать следующим правилам:
Можно опустить поля, включая конечные узлы и ветви. Также можно опустить размеры. Если поле не указано, Simulink ® использует значение основания для этого поля.
Для вложенных узлов шины задайте размер каждого поля равным или меньшим, чем размер соответствующего узла массива шин.
В этом примере показано, как можно указать частичные данные для импорта с помощью корневого блока Inport, тип данных которого определен как объект шины. MyBus. Можно открыть модель (ex_partial_loading_aob_model) и код MATLAB, определяющий импортируемые данные (ex_partial_loading_aob_data.m).
При моделировании ex_partial_loading_aob_model, вы видите:

input
Блок ввода использует MyBus объект шины как его тип данных.

MyBus массив шин включает MyBus(1) и MyBus(2). Размер порта устанавливается равным 2, чтобы отразить две шины в массиве шин, и параметр Output as nonvirtual bus включен.
Вот элементы массива автобусов, который включает в себя MyBus(1) и MyBus(2). Цветовая подсветка показывает узлы массива шин, для которых импортируются данные.

Вот код MATLAB, который определяет данные для импорта. Цвет, выделяющий код, соответствует цвету соответствующего узла в массиве шин. Чтобы просмотреть код, используемый в этой модели, откройте файл кода MATLAB ex_partial_loading_aob_data.m.

В коде, определяющем данные импорта:
timeseries объект MyBusValue указывает данные для выделенных узлов.
timeseries объект BT для MyBus(2), потому что BT является конечным узлом, он должен точно соответствовать размерам, типу данных и сложности соответствующего элемента шины.
Структура определяет данные для Y(2). Можно пропустить первую и последнюю вложенные шины Y (то есть Y(1) и Y(3)).
В этом примере указываются данные для Y(2); можно пропустить первую и последнюю вложенные шины Y (то есть Y(1) и Y(3)).
После определения MyBusValue для данных импорта задайте для параметра «Параметры конфигурации» > «Импорт/экспорт данных» > «Ввод» значение MyBusValue.
