主要内容

本页采用了机器翻译。点击此处可查看英文原文。

使用 MATLAB 语言定义和更新输入端口数据

您可以创建根级输入端口,并使用 MATLAB® 语言来定义输入数据,以及在不重新构建模型的情况下更新输入数据。

必需文件

该过程具有以下文件依赖关系:

  • slrt_ex_osc_inport — 一个阻尼振荡器,其输入数据来自输入端口 In1,并将多路复用的输出发送至输出端口 Out1。要打开此模型,请在 MATLAB 命令行窗口中输入:

    openExample('slrealtime/SlrtStimulateRootInportByUsingMATLABLanguageExample');
    open_system('slrt_ex_osc_inport');
  • slrt_ex_inport_square.mat— 一个配置为输出方波的 Signal Generator 模块的一秒钟输出。要加载这些数据,请在 MATLAB 命令行窗口中输入:

    load('slrt_ex_inport_square.mat');
  • slrt_ex_inport_sawtooth.mat — 配置为输出锯齿波的 Signal Generator 模块的一秒输出。要加载这些数据,请在 MATLAB 命令行窗口中输入:

    load('slrt_ex_inport_sawtooth.mat');

在开始此操作之前,请切换到一个工作文件夹。

将输入端口映射为方波

此过程用于映射输入端口。

  1. 打开 slrt_ex_osc_inport

    openExample('slrealtime/SlrtStimulateRootInportByUsingMATLABLanguageExample');
    model = 'slrt_ex_osc_inport';
    open_system(model);
    myFolder = fullfile(userpath,'temp');
    save_system(model,[myFolder '/slrt_ex_osc_inport.slx']);
  2. 加载 slrt_ex_inport_square.mat,然后将 square 赋值给一个临时工作区变量。

    load('slrt_ex_inport_square.mat');
    waveform = square;
  3. 打开 slrt_ex_osc_inport/In1

    inport = [model '/In1'];
    load_system(inport);

  4. 关闭输入端口数据插值。

    set_param(inport,'Interpolate','off');
  5. 设置外部输入变量。

    set_param(model,'ExternalInput','waveform');
  6. 加载外部输入数据。

    set_param(model,'LoadExternalInput','on');
  7. 现在,您可以构建、下载并运行该实时应用程序了。

    slbuild(model);
    tg = slrealtime('TargetPC1');
    load(tg,model);
    start(tg);
  8. 在仿真数据检查器中查看信号。

    Simulink.sdi.view;

更新输入端口以使用锯齿波

您可以更新输入端口数据,以使用其他数据文件,而无需重新构建实时应用程序。slrt_ex_osc_inport.mldatx 文件必须位于工作文件夹中。

  1. 加载 slrt_ex_inport_sawtooth.mat,然后将 sawtooth 赋值给您在“根输入端口映射器”中使用过的临时变量。

    load('slrt_ex_inport_sawtooth.mat');
    waveform = sawtooth;
  2. 创建一个应用程序对象。

    app_object = slrealtime.Application('slrt_ex_osc_inport');
  3. 更新应用程序对象。

    updateRootLevelInportData(app_object);
  4. 将更新后的对象下载到目标计算机并运行它。

    tg = slrealtime;
    load(tg, 'slrt_ex_osc_inport');
    start(tg);
  5. 在仿真数据检查器中查看信号。

    Simulink.sdi.view;

另请参阅

|

主题