主要内容

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

这个示例展示了如何将使用Signal Editor块作为输入的集束模型转换为具有根输入端口的无集束模型。该示例将来自线束模型的Signal Editor块的mat文件中的数据用于无线束模型。该示例从集束模型中移除Signal Editor块,并添加根输入端口以创建无集束模型。然后,mat文件中的数据被映射到模型的根输入端口。

打开示例模型

对于本例,打开并修改模型sldemo_autotrans自动变速器控制器建模

移除信号编辑器块

用两个输入端口替换名为机动gui的信号编辑器块。

  1. 删除名为机动gui的信号编辑器块。

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

  3. 将输入端口连接到先前连接到信号编辑器块的线路上。

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

将模型另存为slexAutotransRootInportsExample1.slx或使用slexAutotransRootInportsExample.slx

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

设置无控制输入

现在模型是无控制的,从信号编辑器块以前使用的mat文件设置输入。

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

将信号映射到根输入

根导入映射器工具打开。

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

选择映射模式

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

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

  • 块名称—根据变量名映射到对应的根输入端口,对应的块名。

  • 信号的名字—通过变量名映射到对应的根输入端口,并匹配信号名。

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

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

选定的mat文件具有与线束信号Throttle和Brake同名的变量的输入数据,以及与变量名称匹配的输入端口。给定输入数据和模型输入端口的条件集,映射标准的最佳选择是块名称.使用这个标准,Simulink尝试将输入数金宝app据变量名与输入端口名匹配。选择此选项:

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

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

  3. 单击地图按钮。

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

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

  • 复杂性-真实或复杂

  • -信号尺寸vs端口尺寸

最后确定模型的输入

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

模拟模型

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

相关的例子

更多关于