主要内容

将集束驱动的模型转换为使用无集束的外部输入

这个例子展示了如何将使用Signal Builder块作为输入的集束模型转换为具有根导入的无集束模型。该示例从控制模型收集数据,并将其存储在无控制模型的mat文件中。在存储数据之后,该示例将从控制模型中删除Signal Builder块,并添加根导入以创建无控制模型。然后,mat文件中的数据被映射到模型的根导入。

将线束数据保存到mat文件

在将模型转换为无约束之前,收集约束中的测试用例。

对于本例,您将修改模型sldemo_autotrans自动变速器控制器建模的例子。

打开示例模型。在MATLAB命令窗口中,键入sldemo_autotrans

导出信号构建块组

从“信号生成器”窗口导出定义“信号生成器”块信号组的数据到mat文件。导出格式为Simulink.SimulationData的Signal Builder信号数据。金宝app数据集,到mat文件,打开信号生成器窗口并选择文件>出口数据>对MAT-File.在对话框中,输入mat文件的名称,以包含要导出的数据和组的编号。在本例中,文件名为slexAutotransRootInportPassingManeuver.mat通过机动组的组号为1。

移除信号构建块

移除名为机动gui的信号构建器块,并用两个导入替换它。

  1. 删除名为机动gui的信号构建器块。

  2. 金宝appSimulink/常用块库中,将两个导入块拖到模型中。

  3. 将输入端口连接到先前连接到Signal Builder块的线路上。

  4. 重命名导入端口。命名与Throttle线连接的输入端口节气门.命名连接到BrakeTorque线的输入端口刹车

将模型另存为slexAutotransRootInportsExample1.slx或者举个例子slexAutotransRootInportsExample.slx

本例的其余步骤使用该模型slexAutotransRootInportsExample.slx.如果您使用不同的名称保存模型,请在后续步骤中使用您的模型名称。

设置无控制输入

现在模型是不受控制的,设置已经保存的输入(参见“将控制数据保存到MAT-Files”)。

在Modeling选项卡中,选择Model Settings。在“数据导入/导出”窗格中,单击连接输入按钮。

将信号映射到根输入

根导入映射器工具打开。

该示例使用该工具从mat文件设置模型输入,并基于映射算法将这些输入映射到输入端口。要选择包含输入数据的mat文件,请单击从MAT-File“根导入映射器”工具栏上的按钮。当链接对话框出现时,单击Browse按钮。在浏览器中,选择前面保存的mat文件。

选择映射模式

当您选择mat文件时slexAutotransRootInportPassingManeuver.mat,确定要将输入数据发送到的根输入端口。金宝appSimulink根据以下五个标准之一匹配输入数据和输入端口:

  • 港顺序—按照文件中出现的顺序映射到相应的端口号。

  • 块名称—根据变量名映射到对应的根导入,并使用匹配的块名。

  • 信号的名字-通过变量名映射到对应的根输入,并使用匹配的信号名。

  • 块路径—通过BlockPath参数映射到对应的根导入和匹配的块路径。

  • 自定义-地图使用MATLAB函数。

在本例的前面,您将输入数据保存到与线束信号Throttle和Brake同名的变量中,并添加了名称与变量匹配的输入端口。给定输入数据和模型输入端口的条件集,映射标准的最佳选择是块名称.使用这个标准,Simulink尝试将输入数金宝app据变量名与输入端口名匹配。选择此选项:

  1. 单击块名称单选按钮。

  2. 单击选项按钮并选择更新模型.这将验证映射。

  3. 单击地图按钮。

在编译数据时,Simulink根据以下标准评估导入金宝app,以确定兼容性问题。这种兼容性的状态由表的颜色绿色、橙色或红色反映。用诊断消息标记警告和错误。如果选项>更新模型选项未选中,根导入映射器通过评估这些块参数和分配的信号来确定兼容性状态:

  • 数据类型—Double, single, enum, ....

  • 复杂性-真实或复杂

  • -信号尺寸vs端口尺寸

最后确定模型的输入

检查映射兼容性的结果。在场景数据集列表中单击场景数据集“PassingManeuver”。如需准备模拟,请单击模拟评分.此操作将映射变量应用到配置参数数据导入导出>外部输入文本框中。如果此文本框有内容,则会覆盖该文本框。

模拟模型

应用更改后,您现在可以模拟模型并查看结果。运行模型。要查看模拟的结果,双击作用域块PlotResults