主要内容

定义接口的模型组件

定义一个模型组件的接口,比如仿真软件金宝app®子系统,子系统参考,或模型参考,是一个关键的第一步之前,其他人可以使用它。

  • 达成一个接口有助于确定如何将一个大系统的功能分解成组件。

  • 在你定义组件之间的接口,你可以并行开发的组件。如果接口保持稳定,那么很容易将这些组件集成到一个更大的系统。

  • 改变组件之间的接口是昂贵的。改变一个接口需要改变至少两个组件(源和汇)和任何测试。这也使得所有这些组件不兼容以前的版本与当前和未来的版本。

改变一个接口更容易如果组件是存储在配置管理。您可以跟踪配置兼容组件的版本,以防止不相容的组件组合。

请注意

这个话题集中在为建模与仿真设计接口。为代码生成和部署,配置一个接口:

确定组件边界

基础组件的边界上的边界对应的实际系统。这条指导原则是特别有用,当模型包含:

  • 物理(植物和环境)和控制系统

  • 算法运行速度不同

  • 一个系统,你想重用多次

如果你想添加传感器或其他组件为你精心制作的模型,创建组件来表示它们。您可以配置这些组件通过信号直接通过或执行单位转换延迟或名称。

简化接口和公共汽车

为了简化接口,信号和消息分组到公交车。公交车简化模型子系统和接口,让您把多个信号或消息和一个港口。他们减少复杂性和杂乱的框图和更容易变化增量的接口。例如,如果您必须添加或删除元素从一个组件接口,修改一个总线可以比添加或删除接口简单。逻辑组或定义的属性部分的接口,使用多个总线端口。

公共汽车非常适合的组件有许多输入和输出信号和不使用所有可用的信号。公交车只有所需的数据传递给每个组件的输入和输出。如果您定义的总线接口的金宝appSimulink.Bus对象,需要数据为整个总线的接口。

从输入总线访问一个元素,使用一个在公共汽车元素块。创建一个输出总线使用公共汽车元素块。有关更多信息,请参见简化模型子系统和接口总线端口元素

如何实现公交车在一个接口取决于您的需求。

要求 总线实现
提供基于名称的匹配元素在界面和简化行之间路由 使用虚拟巴士。而nonvirtual公交车也满足这个建模需求,虚拟公共汽车提供一种更简单的解决方案。有关更多信息,请参见复合界面指南
使健壮的组件与定义的接口的集成

使用金宝appSimulink.Bus对象定义属性虚拟总线的接口。使用一个公共汽车元素和严格的命名约定公共汽车对象。

公共汽车对象在版本控制之下,拯救他们在数据字典中,函数,脚本,或垫文件。

在生成的代码复制结构类型 使用nonvirtual巴士来描述结构化数据类型中的一个元素的接口。
信号或参数打包成对应的结构结构体类型定义外部C代码定义 导入作为一个类型公共汽车对象和使用对象为公交车和MATLAB作为数据类型®结构。要创建对象,可以使用金宝appSimulink.importExternalCTypes函数。

分区界面数据

明确控制的范围与全球和nonglobal参数数据的组件。

  • 全局参数——在汽车世界的一种常见方法是完全独立的参数存储从模型存储。来自数据库模型的参数标定数据,和所使用的特定的校准文件配置的一部分。校准数据作为全局数据,和基MATLAB工作区。你可以迁移的基础空间数据的数据字典更多的控制。

  • Nonglobal参数,结合组件存储自己的参数数据参数名称冲突的风险。如果你不使用的命名惯例为参数或独特的参数名称和定义的列表,然后两个组件可以使用一个参数名称相同的,但不同的含义。

存储本地参数数据:

  • 数据分割成每个组件参考字典。

  • 对于引用的模型,您可以使用工作空间模型。

  • 使用参数文件(。m.mat个人)和回调模型模型(例如,金宝app预加载功能)。

    您还可以使用项目快捷方式自动加载所需的数据。

  • 使用或不使用面具工作区面具的初始化函数。

  • 对于子系统,可以控制子系统的数据使用的范围允许分层解析参数的子系统块。

配置数据接口

显式配置设计的属性界面,数据类型和数字等复杂性,防止建模错误和简化组件集成。您可以配置组件的接口开发的内部算法之前,在这种情况下,组件包含无关的街区。在您创建对应的块组件接口,使用:

  • 模型数据编辑器配置的设计属性块。

    打开模型数据编辑器,在建模仿真软件将来发布的选项金宝app卡,单击模型数据编辑器。在港口/外港模型数据编辑器的选项卡,每一行对应一个输入或输出块和列对应的属性可以设置为块。

  • 界面显示的角度查看完整的组件接口和微量元素的接口使用分内部块算法。

    打开界面显示的角度来看,在建模选项卡,设计画廊,点击模型接口。有关更多信息,请参见跟踪连接使用界面显示

默认情况下,改变观点模型数据编辑器设置为列表设计设计,配置对应的列属性。使用列显式配置的设计属性界面。例如,指定为每个块的最小和最大值最小值马克斯列。

此外,您可以指定一组可重用的组件接口的设计属性而不是单独指定每个属性。

  • 使用金宝appSimulink.ValueType对象分配或验证属性的一个信号基于特定于应用程序的值类型,如风速、轮胎压力、温度或水。

  • 使用金宝appSimulink.Bus对象分配或验证的每个元素的属性一辆公共汽车。

显示输入和输出模块子系统的选择变化范围按钮。或者,看来只有根级别的输入和输出模块的模型不包括子系统内部的块。

相关的话题