主要内容

使用Simulink指定总线属性。金宝app总线对象数据类型

总线可以与金宝app仿真软件。公共汽车对象,该对象指定了Simulink . xml中的属性金宝app®用于验证总线。公共汽车对象对于虚拟总线是可选的,但对于非虚拟总线是必需的。

一个公共汽车对象仅指定总线的体系结构属性,以区别于其包含的信号的值。例如,公共汽车对象可以指定总线中元素的数量、这些元素的顺序、元素是否嵌套以及如何嵌套,以及组成信号的数据类型;但不是信号值。

一个公共汽车object类似于C语言中的结构定义:它定义总线的成员,但不创建总线。一个公共汽车对象也类似于电缆连接器。连接器定义了所有引脚及其配置,并控制可以连接到它的电线类型。同样,一个公共汽车对象定义关联总线必须具有的信号的配置和属性。

金宝app仿真软件。公共汽车Object Workflow

使用公共汽车模型中的对象涉及执行这些任务,在许多情况下是迭代的。

决定是否使用Simulink。金宝app总线对象

你必须使用公共汽车这些建模配置的对象:

  • Nonvirtual公交车

  • Stateflow®带有总线输入或输出的图表

  • s函数或遗留代码工具接口与外部代码

你可以关联公共汽车具有多个块的对象。一些块要求您指定公共汽车如果块具有总线输入或输出,则对象。有关更多信息,请参见Bus-Capable块

当一个公共汽车对象控制块的信号输入或输出,则该信号必须是具有该对象指定的属性的总线。任何方差都会导致错误。

如果你使用总线的创造者总线元件块参数指定总线属性,所有从总线下游的块继承相同的属性。

你可以使用总线的创造者块参数来定义虚拟总线并执行有限的错误检查。要在总线上执行彻底的错误检查,请关联公共汽车对象使用该总线。使用公共汽车当您希望创建可重用和可共享的模型组件时,使用对象来检查总线的错误非常重要。

为了更容易地跟踪模型和为总线生成的代码之间的对应关系,可以使用非虚拟总线。为非虚拟总线生成的代码生成一个结构。非虚拟总线可能导致某些总线的多个副本。

确定如何管理Simulink。金宝app总线对象

你可以存钱公共汽车这些位置的对象:

  • 数据字典

  • 函数

  • MAT-file

  • 数据库或其他外部文件

如果你不存钱公共汽车对象,然后当您重新打开使用公共汽车对象时,您需要重新创建公共汽车对象。

不同的公共汽车对象存储位置提供了不同的优势。

位置 使用注意事项

数据字典

用于大型模型组件化。

当您从基本工作空间保存到数据字典时,您将获得模型使用的所有变量,而不仅仅是公共汽车对象。

在保存到数据字典之前,请阅读迁移到数据字典前的注意事项

函数

当你想使用MATLAB时使用for®用于可追溯性和模型差异。

MAT-file

使用更快公共汽车对象保存和加载。

数据库或其他外部文件

用于将总线接口信息与存储在外部数据源中的设计文档进行比较。

创建并指定Simulink。金宝app总线对象

创建或编辑公共汽车对象进行交互时,使用公共汽车编辑器模型浏览器公共汽车使用这些工具创建的对象最初存储在基本工作区或数据字典中。要可视化总线层次结构和访问功能(如导入和导出),请使用公共汽车编辑器.当有多种类型的对象要更新时,请使用模型浏览器.的模型浏览器允许您更新其他类型的对象,例如金宝app仿真软件。参数对象。

创建和编辑公共汽车对象,参见以编程方式创建总线对象公共汽车对象最初存储在基本工作区、数据字典或函数中。

在创建一个公共汽车对象并指定其属性,则可以将其与需要使用该对象提供的总线定义的任何块相关联。若要将块与总线关联,请在“块参数”对话框中设置输出数据类型数据类型总线:<对象名称>和替换<对象名称>公共汽车对象名称。

您可以指定公共汽车对象定义之前或之后,将其作为块的数据类型公共汽车对象。但是,在模拟模型之前,请使用公共汽车对象和相应的总线必须具有相同数量的总线元素,且顺序相同。中的每个元素公共汽车对象和相应总线中的对象必须具有相同的数据类型和维度。

在模型开发期间,您可以修改总线以匹配公共汽车对象或修改公共汽车对象来匹配总线。

如果您不想更改公共汽车对象,您可以:

  • 创建一个公共汽车对象,该对象与总线的更改匹配,并使用新的公共汽车对象获取更改后的总线连接到的块。

  • 恢复总线更改,以便总线继续与相关的总线匹配公共汽车对象。

保存模型。金宝app总线对象

为了节省公共汽车对象存储在基本工作空间中,您可以使用任何MATLAB技术来保存基本工作空间的内容。但是,生成的文件包含基本工作区中的所有内容,而不仅仅是公共汽车对象。

你可以存钱公共汽车物体在不同的位置。

位置 文件创建方法 文件内容

数据字典

看到迁移模型以使用Simulink数据字典金宝app 公共汽车对象和模型使用的其他基本工作区变量

函数

使用公共汽车编辑器金宝appSimulink.Bus.save函数。 公共汽车对象

垫文件

使用公共汽车编辑器 公共汽车对象

数据库或其他外部文件

使用金宝appSimulink.importExternalCTypes函数、脚本或C代码结构上的数据库工具箱™功能(结构体)定义。为了准备集成现有的算法C代码进行模拟(例如,通过使用遗留代码工具),您可以根据结构类型在定义中打包信号或参数数据。

公共汽车对象

当你修改保存公共汽车对象时,必须重新保存它们以保留更改。

映射模型金宝app。总线对象来Models

在你模拟一个模型之前,所有的公共汽车它使用的对象必须加载到基本工作区或模型使用的数据字典中。为了实现模型之间的自动化和一致性,需要映射公共汽车对象到模型是很重要的。

  • 通过确定所有的公共汽车模型需要的对象,您可以确保在模型执行之前加载这些对象。

  • 通过识别所有使用a的模型公共汽车对象时,可以确保更改为公共汽车类的任何模型都不会引起意外的更改公共汽车对象。

以确保必要的公共汽车在模型执行之前加载对象,考虑:

  • 项目-自动加载或运行定义的文件公共汽车通过将文件配置为在打开项目时运行。详细信息请参见项目管理

  • 数据字典-存储公共汽车具有变量的对象和用于一个或多个模型的其他对象。

    分享公共汽车对象,您可以将每个模型链接到一个字典,并创建一个公共引用字典来存储对象。有关示例,请参见使用引用字典的分区字典数据

  • 数据库——在外部数据源(如数据库)中捕获映射信息。

  • 模型回调-加载或运行定义的文件公共汽车对象通过使用模型回调,例如PreLoadFcn.有关更多信息,请参见模型的回调

    如果一个模型只用了几个公共汽车对象时,考虑复制公共汽车对象代码直接放入回调中,而不是加载文件。例如,开放模型ex_bus_tutorial_nonvirtual并检查回调。

去找公共汽车对象在开放模型中使用,请参见查找使用特定变量的块

提示

使用严格和标准的命名约定对映射非常有帮助公共汽车对象使用。例如,考虑执行器控制功能所需的模型和数据。命名模型致动器以及输入和输出端口Actuator_bus_in而且Actuator_bus_out,分别使之间的连接公共汽车对象和模型清晰。

注意,如果将一个模型的输出直接提供给另一个模型,这种方法可能会导致问题。在这种情况下,命名不匹配将导致错误。

另请参阅

工具

对象

相关的话题