将集束驱动的模型转换为使用无集束的外部输入
这个示例展示了如何将使用Signal Editor块作为输入的集束模型转换为具有根输入端口的无集束模型。该示例将来自线束模型的Signal Editor块的mat文件中的数据用于无线束模型。该示例从集束模型中移除Signal Editor块,并添加根输入端口以创建无集束模型。然后,mat文件中的数据被映射到模型的根输入端口。
打开示例模型
对于本例,打开并修改模型sldemo_autotrans
从自动变速器控制器建模.
移除信号编辑器块
用两个输入端口替换名为机动gui的信号编辑器块。
删除名为机动gui的信号编辑器块。
从金宝appSimulink/常用块库,拖两个导入块到模型中。
将输入端口连接到先前连接到信号编辑器块的线路上。
重命名输入端口。命名与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据变量名与输入端口名匹配。选择此选项:
单击块名称单选按钮。
单击选项按钮并选择更新模型.这将验证映射。
单击地图按钮。
在编译数据时,Simulink根据以下标准评估输入金宝app端口,以确定兼容性问题。这种兼容性的状态由表的颜色绿色、橙色或红色反映。用诊断消息标记警告和错误。如果选项>更新模型选项未选中,根导入映射器通过评估这些块参数和分配的信号来确定兼容性状态:
数据类型—Double, single, enum, ....
复杂性-真实或复杂
维-信号尺寸vs端口尺寸
最后确定模型的输入
检查映射兼容性的结果。在场景数据集列表中单击场景数据集“Passing_Maneuver”。如需准备模拟,请单击模拟评分.此操作将映射变量应用到配置参数数据导入导出>外部输入文本框中。如果此文本框有内容,则会覆盖该文本框。
模拟模型
应用更改后,您现在可以模拟模型并查看结果。运行模型。要查看模拟的结果,双击作用域块PlotResults.