更新现有模型以使用单元
这个例子展示了如何向现有模型添加单元。您可以看到如何:
使用增量工作流向模型中的组件添加单元
集成使用不同单位系统的组件
为总线对象的各个元素指定单元
排除单元不匹配问题
示例中的模型是一个燃料控制系统。控制器(燃料消耗率控制器)和植物(发动机气体动力学)模型的组成部分是非虚拟子系统。非虚拟子系统具有作为原子单位对待参数选择。在向控制器引入单元并连接信号之前,需要先向设备引入单元。您还可以为模型中的总线对象的各个元素指定单元。
开放的ex_units_fuelsys
模型的例子。
对于顶级模特来说允许单元系统配置参数决定了模型可以使用的单元系统。对于每个设备和控制器子系统,a单位系统配置块决定允许的单元系统。
组件 | 允许单元系统 |
---|---|
顶级模特 | 如果 |
燃料消耗率控制器子系统(控制器) | 所有 |
发动机气体动力学子系统(植物) | 所有 |
在植物子系统中,对信号的属性选项卡的轮廓尺寸方块对话框,设置单位参数设置为适合于所连接物理信号的值。
块 | 物理信号 | 单元参数设置 |
---|---|---|
1 | 发动机转速 | rad /秒 (弧度/秒) |
2 | 节气门角度 | 度 (度) |
3. | 燃料消耗率 | g / s (克/秒) |
在模型中显示端口和信号上的单元调试选项卡上,选择信息覆盖>口岸单位.
在植物子系统中,你可以看到单元在轮廓尺寸块和连接的信号。
导航回到顶级模型。要编译模型,请按Ctrl + D,它还执行单元一致性检查。
模型将显示一个警告,以指示存在不允许的单元节气门角度
信号。单击警告图标将显示到Model Advisor报告的链接,该报告提供了更多详细信息。
模型还在模型编辑窗口的底部显示警告。
在plant子系统中,您指定的单位度
(度)节气门角度
信号。但是,警告消息表明度数不在SI单位系统中。由允许单元系统配置参数,如果是顶级模型目前允许的唯一单元系统。要解决此警告,您有两个选项:
在plant子系统中,为
节气门角度
信号,如果系统支持单位。有关支持的单元系统及其包含的单元的更多信息,请参见允许单位.在顶部模型,改变允许单元系统配置参数以扩展允许的单元系统集。
的单位度
为节气门角度
信号是合适的。相反,为了解决该警告,扩展顶级模型的允许单元系统集。设置允许单元系统配置顶级型号的参数为所有
.要重新编译模型,请按Ctrl + D.
顶级模型不再显示警告。
现在您已经向工厂引入了单元并成功地解决了单元不一致的问题,您可以向控制器添加单元了。在燃料消耗率控制器子系统,设置单位参数的fuel_rate外港块千克/秒
(千克/秒)。
导航回到顶级模型。要重新编译,请按Ctrl + D.
顶部模型现在显示控制器和设备之间不匹配的单元的警告。要解决此错误,您可以:
显式地插入一个单位转换两个组件之间的块。
选择允许自动单元转换配置参数。
这两个选项以相同的方式转换单位。当您在一个大型系统模型中集成许多组件时,您可能会不允许自动转换而插入转换块。在这种情况下,手动插入转换块可以为您增加对模型中单元转换的控制程度。此外,使用转换块,您可以控制转换信号的数据类型。例如,当您为不动点精度建模时,这是有用的。
在本例中,启用Simulink®若要自动解决单元不匹配问题,请选择允许自动单元转换.要重新编译模型,请按Ctrl + D.
Simulink自动转换控制器和设备之间的单元。自动转换图标取代警告。
顶级模型包括一个仿真软件。公共汽车
对象命名EngSensors
它将各种传感器信号作为复合信号传递给控制器。使用类型编辑器向总线对象的各个元素添加单元建模选项卡,在设计,点击式编辑器.然后,在表或属性检查器窗格。
为EngSensors
总线对象,设置单位各元素参数。
信号 | 单元参数设置 |
---|---|
节气门 |
度 (度) |
速度 |
rad /秒 (弧度/秒) |
自我 |
V (伏) |
地图 |
酒吧 (酒吧) |
要重新编译模型,请按Ctrl + D.
该模型在总线对象的各个元素上显示单元。
您还可以在模型的接口视图中看到单元。在建模选项卡,在设计,点击模型接口.
的airflow_calc块在组件接口和组件内部显示总线对象的各个元素上的单元。
在增量地引入单元并解决不一致和不匹配问题之后,就可以模拟模型了。
为燃料
信号连接到作用域时,绘图窗口显示关联的单元千克/秒
作为一个y设在标签。
另请参阅
单位转换|单位系统配置|轮廓尺寸|在公共汽车元素|外港|公共汽车元素