Main Content

使用根输入端口映射器工具映射数据

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

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

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

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

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

要使用根输入端口映射器工具,请执行下列操作:

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

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

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

  4. 对模型进行仿真。

  5. 保存根输入端口映射器场景。

模型

以下示例说明如何通过根输入端口映射器工具用数据来测试模型。此方法可用于执行由其他模型所引用的模型的独立测试。

该示例使用一个具有三个根级 Inport 模块的模型。两个 Inport 模块输出标量信号,另一个 Inport 模块输出总线数据。

model='ex_root_inport_mapping_example';
open_system(model)

创建信号数据

您可以将信号数据定义为 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);
    

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

将您创建的信号数据从工作区导入根输入端口映射器工具。然后,您可以使用该工具来可视化导入的数据。

  1. 打开根输入端口映射器工具。打开模型中一个 Inport 模块的“模块参数”对话框,然后点击连接输入

  2. 在根输入端口映射器工具中,选择来自工作区按钮。

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

    点击确定

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

  5. 您可以对信号进行可视化。在“根输入端口映射器”对话框工具栏中,点击信号 > 编辑 MAT 文件

  6. 在“选择链接的 MAT 文件”窗口中,选择保存有信号的 MAT 文件,然后点击确定

    将出现信号编辑器用户界面。您可以选择要绘制的信号。例如,要查看 signal_1 的图,请在“输入”窗格中展开场景数据集(在本例中为顶部节点 example_rim),然后展开 signal_1 条目。要绘制 signal_1(1,1,:) 的数据,请双击 signal_1 的隐藏图标。

  7. 通过点击 X 关闭信号编辑器用户界面。

将数据映射到输入端口

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

  1. 选择映射模式,以指定映射所使用的标准。在工具栏中,选择映射模式 > 信号名称

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

  2. 您可以指定映射选项。在工具栏中,选择选项 > 自动更新模型,这将在您完成映射后更新模型。编译模型会验证数据和 Inport 模块之间的信号维度和数据类型是否匹配。

  3. 映射数据。在“场景”窗格中,选择场景数据集。在工具栏中,点击检查映射就绪情况 > 所选场景

  4. 对话框显示映射的数据的结果。

    提示

    或者,在树区域中,右键点击并使用上下文菜单选择检查映射就绪情况

保存映射和数据

如果想重新使用已设置的映射和数据,可以将其另存为一个场景。在根输入端口映射器工具中,点击保存 > 另存为,并将该场景另存为 .mldatx 文件。

对模型进行仿真

  1. 在“场景”窗格中,选择场景数据集。

  2. 在工具栏中,点击应用于模型

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

  3. 对模型进行仿真。

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

相关主题