访问总线信号,以通过Stateflow的结构

一个Stateflow的®结构是一种数据类型,你从定义万博1manbetxSimulink.Bus宾语。用Stateflow的结构,你可以捆绑不同的尺寸和类型来创建的数据:

  • 输入和输出的访问的Simulink万博1manbetx®从Stateflow图,真值表块,和总线信号MATLAB功能块。

  • 在Stateflow图本地数据,真值表,图形功能,MATLAB®功能和包装盒。

  • 在Stateflow的图形功能,真值表和MATLAB功能的临时数据。

例如,在模型sf_bus_demo中,状态流图表,通过使用结构接收的总线输入信号inbus并输出从该结构的总线信号outbus。输入信号来自的Simulink万博1manbetx公交车造物主COUNTERBUSCreator,其从两个其它束信号公交车造物主块。输出结构outbus连接到Simulink的万博1manbetx总线选择块。都inbusoutbus从获得他们的类型万博1manbetxSimulink.Bus宾语COUNTERBUS

一个状态流结构数据类型的元素被称为领域。字段可以是单个信号,多路复用的信号,载体和其它结构(也称为子)的任何组合。每个领域都有自己的数据类型。数据类型不必在结构相匹配的任何其他字段的类型。例如,在模型sfbus_demo,每个结构inbusoutbus有两个字段:

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

  • 范围是两个字段的子结构,upper_saturation_limitlower_saturation_limit

限定Stateflow的结构

  1. 为了定义结构数据类型,创建在基座工作区中的Simulink的总线对象,如在万博1manbetx创建和指定Simulink.Bus对象万博1manbetx(万博1manbetxSIMULINK)。

  2. 一个数据对象添加到图表,如在添加Stateflow的数据

    以限定在真值表,图形函数,和MATLAB函数临时的结构,添加的数据对象给你的函数。欲了解更多信息,请参阅添加数据通过模型浏览器

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

    • 输入

    • 产量

    • 本地

    • 参数

    • 临时

  4. 设置类型属性结构。根据其范围,一个Stateflow的结构可以拥有这些数据类型之一。

    类型 描述
    继承:同Simulink中万博1manbetx

    此选项仅适用于输入结构。输入结构继承了Simulink的总线信号的数据类型,在你的模型连接到它。万博1manbetxSimu万博1manbetxlink的总线信号必须是一个非虚拟总线。欲了解更多信息,请参阅虚拟和非虚巴士

    在底座的工作区,指定一个万博1manbetxSimulink.Bus具有相同属性的总线信号,连接到状态流输入结构对象。这些属性必须匹配:

    • 编号,名称,以及输入型

    • 尺寸

    • 采样时间

    • 复杂

    • 采样模式

    如果输入信号来自公交车造物主块,在总线创建者对话框中,指定一个适当的总线对象输出数据类型领域。当您指定总线对象,Simulink中验证的,该特性万博1manbetx万博1manbetxSimulink.Bus在基础工作区对象匹配的Simulink总线信号的属性。万博1manbetx

    总线:<对象名>

    在里面类型现场,更换<对象名>用的名字万博1manbetxSimulink.Bus对象定义Stateflow的结构。

    输入或输出结构,你不需要在你的Simulink模型指定总线信号连接到Stateflow的结构。万博1manbetx如果您指定一个总线信号,其性能必须匹配万博1manbetxSimulink.Bus对象定义Stateflow的结构。

    <日期型表达>

    在里面类型现场,更换<数据类型表达式>用计算结果为数据类型的表达式。例如:

例如,在sfbus_demo模型,输入结构inbus和输出结构outbus通过以下形式的类型规范导出它们的类型公交:COUNTERBUS

通过调用指定结构类型类型操作者

要指定结构类型,您可以使用呼叫Stateflow的表达式类型运营商。这个操作者设定一个结构与另一个结构的状态流图表中的类型的类型。例如,在sf_bus_demo模型中,类型操作者表达式指定的局部结构的类型counterbus_struct在输入结构方面inbus。这两种结构。从所定义的万博1manbetxSimulink.Bus宾语COUNTERBUS。欲了解更多信息,请参阅从其他数据对象导出数据类型

虚拟和非虚巴士

万博1manbetxSimuli万博1manbetxnk模型支持虚拟和非虚拟总线。非虚拟总线从存储在连续的存储器中的数据结构读取其输入。虚拟总线读不连续的内存的投入。欲了解更多信息,请参阅复合信号的类型(万博1manbetxSIMULINK)。

Stateflow图仅支持非虚拟总万博1manbetx线。Stateflow的输入结构可以接受虚拟总线信号,并将其转换成非虚总线信号。状态流输入结构不能从虚拟总线信号继承属性。如果输入到图是一个虚拟总线,设置类型通过以下形式的类型规范的输入结构的属性总线:<对象名>

调试结构

要调试Stateflow的结构,打开Stateflow的断点和观察窗和模拟过程中检查结构字段的值。到在命令行查看结构字段的值,使用点表示法来索引到的结构。欲了解更多信息,请参阅检查和修改数据和消息在调试指数子结构和字段

对于结构化数据类型的指南

  • 限定从每个结构万博1manbetxSimulink.Bus对象在底座的工作区。

  • 结构不能有一个恒定的范围。

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

  • 数据数组对象不能包含结构。

  • 你不能定义Stateflow的机械结构。欲了解更多信息,请参阅Stateflow的对象概述

也可以看看

相关的例子

更多关于