Задайте и обновите данные Inport

Можно создать входные порты корневого уровня и использовать Корневой Картопостроитель Inport, чтобы задать входные данные. Можно обновить входные данные, не восстанавливая модель при помощи MATLAB® язык.

Необходимые файлы

Эта процедура имеет эти зависимости от файла:

  • slrt_ex_osc_inport — Ослабленный генератор, который берет его входные данные из входного порта In1 и отправляет его мультиплексированный выход в выходной порт Out1. Чтобы открыть эту модель, в командном окне MATLAB, введите:

    open_system(fullfile(matlabroot, 'toolbox', 'slrealtime', ...
    'examples', 'slrt_ex_osc_inport'))
  • slrt_ex_inport_square.mat— Одна секунда выхода от блока Signal Generator, который сконфигурирован, чтобы вывести прямоугольную волну. Чтобы загрузить эти данные, в командном окне MATLAB, введите:

    load(fullfile(matlabroot, 'toolbox', 'slrealtime', ...
    'examples', 'slrt_ex_inport_square.mat'))
  • slrt_ex_inport_sawtooth.mat — Одна секунда выхода от блока Signal Generator, который сконфигурирован, чтобы вывести пилообразную волну. Чтобы загрузить эти данные, в командном окне MATLAB, введите:

    load(fullfile(matlabroot, 'toolbox', 'slrealtime', ...
    'examples', 'slrt_ex_inport_sawtooth.mat'))

Прежде, чем запустить эту процедуру, перейдите к рабочей папке.

Сопоставьте Inport, чтобы использовать прямоугольную волну

Эта процедура использует Корневой Картопостроитель Inport.

Открытая модель slrt_ex_osc_inport и сохраните копию в рабочую папку.

Загрузите slrt_ex_inport_square.mat и присвойте square к временной переменной рабочей области для использования с Корневым Картопостроителем Inport.

waveform = square;

Дважды кликните входной порт In1.

Очистите Interpolate data, и затем нажмите Connect Input.

Этот пример принимает решение не интерполировать данные, потому что временные шаги в наборе данных идентичны шагу расчета в модели. Если модель должна была быть запущена с различным шагом расчета, рассмотреть, разрешить ли интерполяцию.

В Корневом Картопостроителе Inport нажмите From Workspace и выберите переменную waveform. Очистите другие переменные.

В текстовом поле Save to введите имя, такое как ex_slrt_inport_waveform_osc.mat, и затем нажмите OK.

Выберите карту к опции модели Port order и, в меню Options, выберите Update Model.

Нажмите Map to Model.

Чтобы обновить модель с сопоставленными входными данными, выберите сценарий waveform, и затем нажмите Mark for Simulation.

Image of slrt_ex_osc_inport model and square wave

Нажмите Save.

Сохраните сценарий под именем, таким как slrt_ex_inport_waveform_scenario.mldatx.

Закройте корневой картопостроитель Inport. В In1 диалоговое окно параметров блоков, нажмите OK.

Чтобы отобразить вывод блока Mux с Инспектором Данных моделирования, щелкните правой кнопкой по выходному сигналу и выберите Log Selected Signals.

Можно теперь сохранить, создать, загрузить и выполнить приложение реального времени. Отобразите вывод при помощи Инспектора Данных моделирования.

Image of slrt_ex_osc model and square wave in the SDI

Обновите Inport, чтобы использовать пилообразную волну

Можно обновить данные об импорте, чтобы использовать различный файл данных, не восстанавливая приложение реального времени. slrt_ex_osc_inport.mldatx файл должен быть в рабочей папке.

Загрузите slrt_ex_inport_sawtooth.mat, и затем присвойте sawtooth к временной переменной, которую вы использовали с Корневым Картопостроителем Inport.

load(docpath(fullfile(docroot, 'toolbox', 'slrealtime', ...
'examples', 'slrt_ex_inport_sawtooth.mat')));
waveform = sawtooth;

Создайте объект приложения.

app_object = slrealtime.Application('slrt_ex_osc_inport');

Обновите объект приложения.

updateRootLevelInportData(app_object);

Загрузите обновленный объект к целевому компьютеру и выполните его.

tg = slrealtime;
load(tg, 'slrt_ex_osc_inport');
start(tg);

Отобразите вывод при помощи Инспектора Данных моделирования.

Image of slrt_ex_osc_inport model and saw wave in the SDI

Похожие темы