createInputDataset

Сгенерируйте объект набора данных для корневого уровня блоки Inport в модели

Синтаксис

[inports_dataset] = createInputDataset(model)

Описание

пример

[inports_dataset] = createInputDataset(model) генерирует объект Simulink.SimulationData.Dataset от корневого уровня блоки Inport в модели. Сигналы в сгенерированном наборе данных имеют свойства корневого импорта и соответствующих наземных значений в образцовом запуске и временах остановки. Можно создать timetable или объекты timeseries в течение времени и значения для сигналов, для которых вы хотите загрузить данные для моделирования. Другие сигналы используют наземные значения.

Примеры

свернуть все

Создайте набор данных с элементами для четырех корневых уровней блоки Inport в модели. Используйте тот набор данных в качестве основания для создания набора данных, чтобы загрузить данные сигнала в модель.

Откройте модель. Блок In1 выводит двойное, In2 и In3 каждый вывод невиртуальная шина и In4 выходные параметры int16.

mdl = 'ex_dataset_for_inports';
open_system(mdl)

Создайте объект Dataset для корневого уровня блоки Inport.

ds = createInputDataset(mdl)
Simulink.SimulationData.Dataset '' with 4 elements

                             Name  BlockPath 
                             ____  _________ 
    1  [1x1 timeseries]      In1   ''       
    2  [1x1 struct    ]      In2   ''       
    3  [1x1 struct    ]      In3   ''       
    4  [1x1 timeseries]      In4   ''       

  - Use braces { } to access, modify, or add elements using index.

Замените значение заполнителя для первого сигнала в Dataset с фактическими значениями сигналов, что вы хотите загрузить в модель.

ds{1} = ds{1}.delsample('Index',[1,2]);
ds{1} = ds{1}.addsample('time',[1 3 3 10]','data',[1 1 5 5]');

Исследуйте сигнал In2.

ds{2}
ans = 

  struct with fields:

    a: [1×1 timeseries]
    b: [1×1 timeseries]

Для In2 создайте данные для элементов шины a и b.

ds{2}.a = ds{2}.a.delsample('Index',[1,2]);
ds{2}.a = addsample(ds{2}.a,'time',[1:10]','data',[1:10]');
ds{2}.b = timeseries((1:10)',0.1:.1:1,'Name','sig2_b');

Для In3 задайте данные для элемента a шины и используйте наземные значения для элемента b.

ds{3}.a = timeseries((1:10)',0.1:.1:1,'Name','sig3_a');

Постройте график ds. Для получения дополнительной информации см. документацию Simulink.SimulationData.Dataset.plot.

plot(ds)

Установите Входной параметр конфигурации на ds.

set_param(mdl,'LoadExternalInput','on');
set_param(mdl,'ExternalInput','ds');

Совет

Также можно использовать инструмент Root Inport Mapper, чтобы установить Входной параметр. Для получения дополнительной информации смотрите Корень Карты Данные сигнала Inport.

Запустите моделирование. Блоки Inport используют данные сигнала, заданные в ds или наземных значениях для элементов, которые не имеют заданных данных сигнала.

sim(mdl)

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

свернуть все

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

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

свернуть все

Набор данных с элементом для каждого блока Inport корневого уровня, возвращенного как объект Simulink.SimulationData.Dataset.

Введенный в R2017a

Была ли эта тема полезной?