主要内容

添加Stateflow数据

当您想要存储在特定的状态流级别上可见的值时®层次结构,添加数据到你的图表。在模拟模型时,图表数据对象在模拟期间保留其值。

在状态流图中定义的数据可以被图中的多个状态流对象所看到,包括状态、转换、MATLAB®函数和真值表。要确定状态或转换中使用的数据,请右键单击状态或转换并选择探索。关联菜单列出状态或转换中所有已解析符号的名称和范围。从关联菜单中选择符号将在模型资源管理器中显示其属性。从关联菜单中选择输出事件将打开Simulink金宝app®与事件关联的子系统或状态流图。

请注意

在状态流图中,状态流数据对Simulink函数不可用。金宝app

您可以使用“符号”窗格、“状态流编辑器”菜单或“模型资源管理器”向状态流图添加数据。

通过符号窗格添加数据

  1. 建模选项卡,在设计数据中,选择符号面板

  2. 单击创建数据图标

  3. 在新数据的行中,在类型,点击图标,选择:

    • 输入数据

    • 本地数据

    • 输出数据

    • 常数

    • 数据存储内存

    • 参数

    • 短暂的

    .有关数据类型的详细信息,请参阅Stateflow数据属性

  4. 编辑数据的名称。

  5. 有关输入和输出数据,请单击港口字段并选择端口号。

  6. 要为数据指定属性,请打开属性检查器。在“符号”窗格中,右键单击该符号的行并选择探索

使用Stateflow编辑菜单

  1. 在Simulink模型中的状态流图中,选择与您想要添金宝app加的数据范围相对应的菜单选项。

    范围 菜单选项
    输入

    建模选项卡,在设计数据中,选择数据输入

    输出

    建模选项卡,在设计数据中,选择数据输出

    当地的

    建模选项卡,在设计数据中,选择当地的

    常数

    建模选项卡,在设计数据中,选择常数

    参数

    建模选项卡,在设计数据中,选择参数

    数据存储内存

    建模选项卡,在设计数据中,选择数据存储

  2. 在“数据”对话框中指定数据属性。有关更多信息,请参见Stateflow数据属性

通过模型管理器添加数据

要在Simulink模型的状态流图中添加函数或状态父数据,请使用模型资源管理器:金宝app

  1. 建模选项卡,在设计数据中,选择模型浏览器

  2. 模型层次结构窗格中,选择要使新数据可见的状态流层次结构中的对象。选择的对象将成为新数据的父对象。

  3. 在模型资源管理器工具条中,选择“添加数据”按钮。或者,在模型资源管理器菜单中选择添加>数据。具有默认定义的新数据将出现在内容窗格中的。

  4. 数据窗格中,指定数据的属性。有关更多信息,请参见Stateflow数据属性

在图表中使用数据的最佳实践

避免继承输出数据属性金宝app

statflow输出数据不应该继承输出信号的属性,因为值从Simulink块传播回来,并且可能是不可预测的。金宝app

限制使用以计算机为父的数据

避免使用以计算机为父的数据。以计算机为父的数据是在Stateflow层次结构的最高级别定义的数据。模型中存在以计算机为父的数据会阻止重用生成的代码和其他代码优化。此类数据也与许多Simulink和Stateflow功能不兼容。金宝app

例如,以下特性不支持机器父数据:金宝app

  • 枚举数据

  • 金宝app仿真软件的功能

  • 图表操作点

  • 隐式改变事件

  • 未使用数据的检测

  • 参数绑定到金宝app仿真软件。参数对象在基本工作区中

  • 模型引用(请参见模型参考需求和限制(金宝app模型)

  • 在嵌入式编码器生成的代码中使用代码替换库®。有关更多信息,请参见可以从Simulink模型中替换的代码金宝app(嵌入式编码)

  • 代码生成的金宝app仿真软件PLC编码器™软件

  • 分析金宝app仿真软件设计校验™软件

要使模型中的其他图表和块可以访问statflow数据,请使用数据存储内存。有关详细信息,请参见从图表中访问数据存储内存

相关话题