主要内容

通过接入总线信号Stateflow结构

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

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

  • 局部数据状态流图,真值表,图形函数,MATLAB®函数和方框。

  • 临时数据在状态流图形函数,真值表,和MATLAB函数。

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

状态流结构的例子

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

调用Stateflow结构数据类型的元素字段.字段可以是单个信号、混合信号、向量和其他结构(也称为子结构)。每个字段都有自己的数据类型。数据类型不必与结构中任何其他字段的类型匹配。例如,在这个模型中,每一个结构inbusoutbus有两个字段:

  • inputsignal是一个有一个场的子结构,输入

  • 限制是一个有两个场的子结构,upper_saturation_limitlower_saturation_limit

定义Stateflow结构

  1. 要定义结构数据类型,请在基本工作区中创建一个Simulink总线对象,如金宝app创建和指定Simulink。金宝app总线对象(金宝app模型)

  2. 将数据对象添加到图表中,如添加statflow数据

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

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

    • 输入

    • 输出

    • 当地的

    • 参数

    • 数据存储内存

    • 临时(仅在使用C作为操作语言的图表中)

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

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

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

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

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

    • 样品时间

    • 复杂性

    • 抽样方式

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

    总线:<对象名称>

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

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

    <日期类型表达式>

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

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

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

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

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

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

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

模型资源管理器显示了数据对象counterbus_struct的规范。

虚拟和非虚拟总线

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

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

调试结构

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

结构数据类型指南

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

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

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

另请参阅

(金宝app模型)

相关的话题