Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

使用 Root Inport Mapper 工具映射数据

使用 Root Inport Mapper 工具将信号和总线数据导入、可视化并映射到根级输入端口。

根级输入端口映射能满足大多数建模要求,并能保持模型灵活性(有关支持的信号数据,请参阅Create Signal Data for Root Inport Mapping)。

  • 使用工作区中的信号测试您的模型,并在不修改模型的情况下将其用作更大环境中的引用模型。无需断开输入端口连接并将信号连接到源,即可在您的模型中测试信号。

  • 使用 Root Inport Mapper 工具根据导入并映射到根级输入端口的信号数据更新 Input 参数。

  • 以可视方式检查信号数据,而无需将所有信号数据加载到 MATLAB® 内存中。

要使用 Root Inport Mapper 工具,请执行下列操作:

  1. 在 MATLAB 工作区中创建信号数据。

  2. 对于 Simulink® 模型,从工作区导入数据。您可以以可视方式呈现所导入的数据。

  3. 将数据映射到根级输入端口。

  4. 对模型进行仿真。

  5. 保存 Root Inport Mapper 方案。

模型

此模型有三个根级 Inport 模块。其中两个 Inport 模块输出标量信号,另一个 Inport 模块输出总线数据。打开模型

以下示例说明如何通过 Root Inport Mapper 工具用数据来测试模型。此方法可用于执行由其他模型所引用的模型的独立测试。

创建信号数据

您可以将信号数据定义为 MATLAB timeseries 对象。

  1. 定义信号数据的时间值。

    sampleTime = 0.01;
    endTime = 10;
    numberOfSamples = endTime * 1/sampleTime +1;
    timeVector = (0:numberOfSamples) * sampleTime;
  2. 为两个标量信号创建数据。将数据变量命名为与对应信号匹配的名称,这样可以更轻松地将数据映射到信号。

    signal_1 = timeseries(sin(timeVector)*10,timeVector);
    signal_2 = timeseries(rand(size(timeVector)),timeVector);
  3. 为总线创建信号。

    busSignal.busElement_1 = timeseries(cos(timeVector)*2,timeVector);
    busSignal.busElement_2 = timeseries(randn(size(timeVector)),timeVector);
    
  4. Bus_1 Inport 模块的输出数据类型创建总线对象。您可以根据您定义的总线信号创建总线对象。使用总线对象来处理跨模型引用边界的总线信号。

    busInfo = Simulink.Bus.createObject(busSignal);
    

导入和可视化工作区信号数据

将您创建的信号数据从工作区导入 Root Inport Mapper 工具。然后,您可以使用该工具来可视化导入的数据。

  1. 打开 Root Inport Mapper 工具。打开模型中一个 Inport 模块的 Block Parameters 对话框,然后点击 Connect Input

  2. 在 Root Inport Mapper 工具中,选择 From Workspace 按钮。

  3. 在 Import 对话框中,指定用于保存信号的 MAT 文件。

  4. 要清除数据变量,请点击 Name 复选框。然后,点击 busSignalsignal_1signal_2 信号的复选框。

    虽然在此示例中您选择了所有信号,但是您可以选择部分信号。

  5. 您可以对信号进行可视化。在 Root Inport Mapper 对话框工具栏中,点击 Signals > Edit MAT-File

  6. 在 Select Linked MAT-file 窗口中,选择保存有信号的 MAT 文件,然后点击 OK

    将出现 Signal Editor 用户界面。您可以选择要绘制的信号。例如,要查看 signal_1 的图,请在 Navigation 窗格中展开方案数据集(在本例中为顶部节点 ex_rootinportmappingexample),然后展开 signal_1 条目。选中 signal_1(1,1,:) 的复选框来绘制数据。

  7. 点击 Close 按钮关闭 Signal Editor 用户界面。

将数据映射到输入端口

导入数据后,您需要选择映射哪些数据以用于特定的 Inport 模块。

  1. 选择映射模式,以指定映射所使用的标准。在工具栏中,选择 Signal Name 选项按钮。

    此模型中的信号具有名称,因此基于信号名称的映射非常清楚地反映了哪些数据将传送到 Inport 模块。

  2. 您可以指定映射选项。在工具栏中,选择 Options。选择 Update Model,它会在您进行映射后更新模型。编译模型会验证数据和 Inport 模块之间的信号维度和数据类型是否匹配。

  3. 映射数据。在 Navigation 窗格中,选择方案数据集。在工具栏中,点击 Map to Model。对话框将显示映射的数据。

保存映射和数据

如果想重新使用已设置的映射和数据,可以将其另存为一个方案。在 Root Inport Mapper 工具中,点击 Save > Save As,并将该方案另存为 .mldatx 文件。

对模型进行仿真

  1. 在 Navigation 窗格中,选择方案数据集。

  2. 在工具栏中,点击 Mark for Simulation

    现在,该模型已设置为使用您映射到根级 Inport 模块的工作区信号数据进行仿真。

  3. 对模型进行仿真。

    此模型包含一个 Dashboard 模块,该模块显示在仿真过程中用于 signal_1 的数据。下图与您将数据可视化为数据导入过程一部分时的绘图相匹配。

相关主题