主要内容

通过接入总线信号Stateflow结构

一个Stateflow®结构中定义的数据类型金宝app仿真软件。公共汽车(金宝app模型)对象。使用状态流结构,你可以捆绑不同大小和类型的数据来创建:

  • 访问Simulink的输入和输出金宝app®总线信号从状态流图,真值表块,和MATLAB函数块。

  • 本地数据在状态流程图,真值表,图形函数,MATLAB®函数和方框。

  • statflow图形函数、真值表和MATLAB函数中的临时数据。

有关更多信息,请参见创建并指定Simulink。金宝app总线对象(金宝app模型)

状态流结构的例子

在本例中,状态流图通过使用结构接收总线输入信号inbus并从结构中输出总线信号outbus.输入信号来自Simulink总线创建器块金宝appCOUNTERBUSCreator,它捆绑了来自其他两个总线创建器块的信号。输出结构outbus连接到Simulink总线选金宝app择器块。这两个inbus而且outbus派生它们的类型金宝app仿真软件。公共汽车对象COUNTERBUS.有关此示例的详细信息,请参见在状态流程图中集成自定义结构

状态流结构数据类型的元素被调用字段.字段可以是单个信号、混合信号、向量和其他结构的任意组合子结构).每个字段都有自己的数据类型。数据类型不必与结构中任何其他字段的类型匹配。例如,在这个模型中,每一个结构inbus而且outbus有两个字段:

  • inputsignal是具有一个字段的子结构,输入

  • 限制是具有两个字段的子结构,upper_saturation_limit而且lower_saturation_limit

定义Stateflow结构

  1. 若要定义结构数据类型,请在基本工作空间中创建Simulink总线对象,如中所述金宝app创建并指定Simulink。金宝app总线对象(金宝app模型)

  2. 向图表中添加数据对象,如中所述添加状态流数据

    若要在真值表、图形函数和MATLAB函数中定义临时结构,请添加数据对象你的功能.有关更多信息,请参见通过模型管理器添加数据

  3. 设置范围属性。你的选择是:

    • 输入

    • 输出

    • 当地的

    • 参数

    • 数据存储内存

    • 临时(仅适用于使用C作为动作语言的图表)

  4. 设置类型属性。根据作用域的不同,Stateflow结构可以具有这些数据类型中的一种。

    类型 描述
    继承:与Simulink相同金宝app

    此选项仅适用于输入结构。输入结构从连接到它的模型中的Simulink总线信号继承其数据类型。金宝appSimu金宝applink总线信号必须是非虚拟总线。有关更多信息,请参见虚拟总线和非虚拟总线

    在基本工作空间中,指定金宝app仿真软件。公共汽车对象具有与连接到statflow输入结构的总线信号相同的属性。这些属性必须匹配:

    • 输入的数量、名称和类型

    • 样品时间

    • 复杂性

    • 抽样方式

    如果输入信号来自a总线的创造者块中,在“总线创建器”对话框中指定适当的总线对象输出数据类型字段。对象的属性时,Simulink将验证金宝app金宝app仿真软件。公共汽车对象在基本工作区中匹配Simulink总线信号的属性。金宝app

    总线:<对象名称>

    类型领域,取代<对象名称>的名称金宝app仿真软件。公共汽车对象,该对象定义状态流结构。

    对于输入或输出结构,您不需要在连接到statflow结构的Simulink模型中指定总线信号。金宝app如果指定了总线信号,则其属性必须与金宝app仿真软件。公共汽车对象,该对象定义状态流结构。

    <日期类型表达式>

    类型领域,取代<数据类型表达式>使用计算结果为数据类型的表达式。例如:

    • 的名称金宝app仿真软件。公共汽车对象,该对象定义状态流结构。

    • 对于作用域以外的结构输出,使用状态流类型操作符复制另一个结构的类型。有关更多信息,请参见通过调用类型Operator指定结构类型

例如,在sf_bus_demo模型,输入结构inbus以及输出结构outbus通过表单的类型规范派生它们的类型总线:COUNTERBUS

模型资源管理器显示数据对象在总线中的规范。

方法指定结构类型类型操作符

要指定结构类型,可以使用调用状态流的表达式类型操作符。该操作符将一个结构的类型设置为状态流图中另一个结构的类型。例如,在sf_bus_demo模型中,类型运算符表达式指定局部结构的类型counterbus_struct在输入结构方面inbus.方法定义了两个结构金宝app仿真软件。公共汽车对象COUNTERBUS.有关更多信息,请参见从其他数据对象派生数据类型

Model Explorer显示数据对象counterbus_struct的规范。

虚拟总线和非虚拟总线

金宝appSimulink模型支金宝app持虚拟总线和非虚拟总线。非虚拟总线从存储在连续内存中的数据结构读取它们的输入。虚拟总线从不连续的内存读取它们的输入。有关更多信息,请参见复合接口指南(金宝app模型)

状态流图只支持非虚拟总线。金宝app状态流输入结构可以接受虚拟总线信号并将其转换为非虚拟总线信号。状态流输入结构不能从虚拟总线信号继承属性。如果图表的输入是虚拟总线,则设置类型通过表单的类型规范来获取输入结构的属性总线:<对象名称>

调试结构

若要调试状态流结构,请打开“状态流断点和观察”窗口,并在模拟期间检查结构字段的值。若要在命令行中查看结构字段的值,请使用点表示法对结构进行索引。有关更多信息,请参见调试时检查和修改数据和消息

结构数据类型指南

  • 类定义每个结构金宝app仿真软件。公共汽车基本工作区中的对象。

  • 结构不能具有恒定的作用域。

  • 参数范围的结构必须是可调的。

另请参阅

(金宝app模型)

相关的话题