本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

指定 Stateflow 图的属性

图属性可用于指定 Stateflow® 图如何与 Simulink® 模型对接。您可以在 Property Inspector、Model Explorer 或 Chart 属性对话框中指定图属性。

  • Property Inspector

    1. 要打开 Property Inspector,请在 Modeling 选项卡中,选择 Property Inspector

    2. 在图中点击。

    3. 在 Property Inspector 中,编辑图属性。

  • Model Explorer

    1. 要打开 Model Explorer,请在 Modeling 选项卡中,选择 Model Explorer

    2. Model Hierarchy 窗格中,选择图。

    3. Chart 窗格中,编辑图属性。

  • Chart 属性对话框

    1. 右键点击图。

    2. 选择 Properties

    3. 编辑图属性。

Stateflow 图属性

您可以在以下位置设置下列图属性:

  • Property Inspector 的主部分和 Advanced 部分。

  • Model Explorer 或 Chart 属性对话框中的 General 选项卡。

Name

图的名称(只读)。点击图名称超链接时,图将在 Stateflow Editor 中打开。

Machine

Simulink 子系统的名称(只读)。点击状态机名称超链接时,将打开 Machine 属性对话框。此属性在 Property Inspector 中不可用。

Action Language

定义图中状态和转移动作语法的动作语言。选项包括:

  • MATLAB

  • C

默认值为 “MATLAB”。有关详细信息,请参阅使用 MATLAB 和 C 作为动作语言语法时的差异

State Machine Type

要实现的状态机语义的类型。选项包括:

  • Classic

  • Mealy

  • Moore

Classic 图提供完整的 Stateflow 语义。Mealy 和 Moore 图使用这些语义的子集。默认值为 “Classic”。有关详细信息,请参阅Mealy 和 Moore 状态机概述

Update Method

仿真更新或唤醒 Simulink 模型中 Stateflow 图时所用的方法。

设置说明
Inherited

来自 Simulink 模型的输入决定图在仿真过程中何时唤醒(默认值)。

如果您为图定义输入事件,则Stateflow 图由其触发端口上的信号显式触发,该信号源自连接的 Simulink 模块。您可以将此触发输入事件设置为响应 Simulink 信号而发生。Simulink 信号可以是 “Rising”、“Falling” 或 “Either”(上升和下降),或者是响应 “Function Call”。有关详细信息,请参阅通过发送输入事件激活 Stateflow 图

如果不定义输入事件,Stateflow 图将从 Stateflow 模型隐式继承触发器。这些隐式事件是为图提供输入的 Stateflow 信号的离散或连续采样时间。如果您定义了数据输入,图将以其中最快的数据输入的速率唤醒。如果没有为图定义任何数据输入,图将按照其父级子系统的执行行为所定义的方式唤醒。

Discrete

Simulink 模型以固定时间间隔生成隐式事件,以您在 Sample Time 图属性中指定的速率唤醒 Stateflow 图。Simulink 模型中的其他模块可以具有不同的采样时间。

ContinuousStateflow 图仅在主时间步内更新其状态,尽管它在主时间步和子时间步内都会计算输出和局部连续变量。图可以记录过零,这样,只要状态发生变化,Simulink 模型就可以对 Stateflow 图进行采样。Stateflow 图计算局部连续变量的导数。有关详细信息,请参阅Continuous-Time Modeling in Stateflow

Sample Time

在仿真期间 Stateflow 图唤醒的时间间隔。采样时间可以是任何非零数字。采样时间的单位与 Simulink 仿真时间相同。Simulink 模型中的其他模块可以具有不同的采样时间。仅当您将图属性 Update method 设置为 “Discrete” 时,此选项才可用。

Enable Zero-Crossing Detection

指定启用过零检测(默认值)。仅当您将图属性 Update method 设置为 “Continuous” 时,此选项才可用。请参阅Disable Zero-Crossing Detection

Enable C-Bit Operations

指定运算符 &^|~ 在动作语句中执行按位运算(默认值)。如果清除此复选框:

  • &|~ 执行逻辑运算。

  • ^ 执行幂运算。

此选项仅在使用 C 语言作为动作语言的图中可用。有关详细信息,请参阅支持的 Stateflow 图数据运算

User Specified State/Transition Execution Order

指定图使用并行状态和转移的显式排序(默认值)。您可以确定图执行并行状态和测试来自源的转移的顺序。此选项仅在使用 C 语言作为动作语言的图中可用。有关详细信息,请参阅并行状态的执行顺序 and 计算转移.

Export Chart Level Functions

将在图的根级别定义的函数的作用域扩展到模型的其他部分。此选项使 Simulink Caller 模块能够使用限定表示法 chartName.functionName 调用本地层次结构中的 Stateflow 函数。有关详细信息,请参阅Export Stateflow Functions for Reuse

Treat Exported Functions as Globally Visible

使整个模型中的 Stateflow 和 Simulink Caller 模块都能调用从 Stateflow 导出的函数,而无需使用限定表示法。仅当您选择图属性 Export Chart Level Functions 时,此选项才可用。有关详细信息,请参阅Export Stateflow Functions for Reuse

Use Strong Data Typing with Simulink I/O

使图能够直接与来自 Simulink 模型的信号对接(默认值)。图只接受其数据类型与对应的 Stateflow 数据对象的类型相匹配的输入信号。否则,会出现类型不匹配错误。此选项仅在使用 C 语言作为动作语言的图中可用。有关详细信息,请参阅Simulink 输入和输出的强数据类型指定

注意

为了向后兼容,提供了 Use Strong Data Typing with Simulink I/O 图属性。清除此复选框可能会产生不可预测的结果,因此不推荐这样做。

Execute (Enter) Chart at Initialization

指定图在时间 0 处初始化其状态配置,而不是在输入事件第一次发生时初始化其状态配置。有关详细信息,请参阅初始化时的图执行

Initialize Outputs Every Time Chart Wakes Up

指定图在每次唤醒时(而不仅仅是在时间 0 处)重置其输出值。无论何时触发 Stateflow 图,无论是由函数调用、边沿触发器还是时钟计时单元触发,都会重置输出值。如果为输出数据对象设置初始值,则输出将重置为该值。否则,输出重置为零。选择此选项可以:

  • 确保在每次 Stateflow 图执行时已定义所有输出。

  • 防止输出锁存(沿用之前执行中计算的输出值)。

  • 为所有图输出提供有意义的初始值。

有关详细信息,请参阅Initial Value

Enable Super Step Semantics

指定图可以在每个时间步中进行多次转移,直到达到稳定状态。当您将图属性 Update method 设置为 “Continuous” 时,此选项不可用。有关详细信息,请参阅Super Step Semantics

Maximum Iterations in Each Super Step

指定图在每个时间步内可以进行的最大转移次数。Stateflow 图在超时间步期间必定会发生一次转移,因此您所指定的值 N 代表额外转移的最大数量(共计 N+1 个)。仅当您选择图属性 Enable Super Step Semantics 时,此选项才可用。有关详细信息,请参阅Maximum Number of Iterations

Behavior After Too Many Iterations

指定图在达到一个时间步内的最大转移次数后的行为。

设置Description
Proceed继续执行 Stateflow 图到下一时间步。
Throw Error停止仿真并显示一条错误消息。此设置仅适用于仿真。在生成的代码中,总是会继续执行 Stateflow 图。

仅当您选择图属性 Enable Super Step Semantics 时,此选项才可用。

Support Variable-Size Arrays

指定图在仿真时支持输入和输出数据维度可变。请参阅Declare Variable-Size Inputs and Outputs

Saturate on Integer Overflow

指定在生成代码中对整数溢出做饱和处理。请参阅Handle Integer Overflow for Chart Data

States When Enabling

指定在函数调用输入事件重新启用图时状态的行为。选项包括:

  • Held

  • Reset

请参阅Control States in Charts Enabled by Function-Call Input Events

Create Output for Monitoring

指定图产生激活状态输出。启用此选项后,您可以选择以下活动类型之一以进行输出:

  • Child activity

  • Leaf state activity

请参阅Monitor State Activity Through Active State Data

定点属性

您可以在以下位置设置图的定点属性:

  • Property Inspector 的 Fixed Point Properties 部分。

  • Model Explorer 或 Chart 属性对话框中的 Fixed Point Properties 选项卡。

定点属性仅在使用 MATLAB® 作为动作语言的图中可用。

Treat These Inherited Simulink Signal Types as fi Objects

指定图是否将继承的定点和整数信号视为 Fixed-Point Designer™ fi 对象。

设置Description
Fixed-point图将所有定点输入视为 fi 对象(默认值)。
Fixed-point & Integer图将所有定点输入和整数输入视为 fi 对象。

MATLAB Chart fimath

指定图的默认属性。

设置Description
Same as MATLAB 使用与 MATLAB 中当前默认 fimath 对象相同的 fimath 属性。
Specify Other

自行指定默认 fimath 对象。您可以:

  • 在编辑框内构造 fimath 对象。

  • 在 MATLAB 或模型工作区中创建一个 fimath 对象,并在编辑框中输入其变量名称。

有关详细信息,请参阅MATLAB 中的定点基础知识 (Fixed-Point Designer)。

其他属性

您可以在以下位置设置图的其他属性:

  • Property Inspector 的 Info 选项卡。

  • Model Explorer 或 Chart 属性对话框中的 Documentation 选项卡。

Description

图的说明。您可以输入简短的说明和注释。

Document Link

图的在线文档链接。您可以输入 Web URL 地址或者能以合适的在线格式(例如 HTML 文件或 MATLAB 命令行窗口中的文本)显示文档的 MATLAB 命令。点击 Document link 超链接时,Stateflow 会计算该链接并显示该文档。

状态机属性

Stateflow 状态机表示模型中的所有 Stateflow 模块(包括所有 chartsstate transition tablestruth tables)。您可以在 Machine 属性对话框中指定状态机属性。

  1. 为模型中的任何图打开 Model Explorer 或 Chart 属性对话框。

  2. Machine 图属性字段中,点击状态机名称链接。

  3. 在 Machine 属性对话框中,编辑 Stateflow 状态机的属性。

Simulink Model

定义此 Stateflow 状态机的 Simulink 模型的名称(只读)。保存模型时,可以更改模型名称。

Creation Date

此 Stateflow 状态机的创建日期(只读)。

Creator

创建此 Stateflow 状态机的人员的名称。

Modified

注释文本,用于记录对定义此 Stateflow 状态机的 Simulink 模型的修改。

Version

注释文本,用于记录定义此 Stateflow 状态机的 Simulink 模型的版本。

Description

Stateflow 状态机的说明。您可以输入简短的说明和注释。

Document Link

Stateflow 状态机的在线文档链接。您可以输入 Web URL 地址或者能以合适的在线格式(例如 HTML 文件或 MATLAB 命令行窗口中的文本)显示文档的 MATLAB 命令。点击 Document link 超链接时,Stateflow 会计算该链接并显示该文档。

相关主题