主要内容

规则使用操作图表

一个操作点模型的状态的快照金宝app®在仿真模型在一个特定时间。对于一个Stateflow®图,一个操作点包括:

  • 活动图的状态

  • 本地数据值的图表

  • 值的图表输出数据

  • 在MATLAB环境下持久数据的值®功能和真值表块

有关更多信息,请参见在Stateflow使用操作点

您可以修改限制的值

一个操作点不包括这些元素的信息:

  • Machine-parented数据

  • 持久数据的定制的C代码

  • 持久数据在外部MATLAB代码

因此,您不能修改这些元素的值。

规则修改数据值

这些规则适用于当你修改数据值:

  • 你不能改变数据类型或大小。标量数据必须保持标量。向量和矩阵数据必须保持相同的维度。唯一的例外是Stateflow数据的毫升类型(见毫升数据类型详情)。

  • 对于枚举数据类型,您可以只选择类型定义的枚举值。对于其他数据类型,新值必须在指定的范围最低最大参数。

  • 使用集中定义矩阵的行和列的索引。

    假设您想要改变一个元素的值在一个21-by-12矩阵。修改第一行和第二列中的元素,类型:

    c.state_name.data_name.Value (1、2) = newValue;

活动规则修改状态

这些规则适用于您使用时setActive方法在独家(或)叶状态:

  • State-parented本地数据不重新启动。

  • 新活动状态的行为不执行任何条目。同样,以前活跃状态不执行任何退出操作。

    如果你想让这些国家的行为发生,你必须单独执行它们。例如,如果您的国家行动数据赋值,您必须显式地指定的值。

  • setActive方法试图维护状态的一致性:

    • 更新国家活动的父母、祖父母、兄弟姐妹

    • 重置时间计数器新活跃状态

    • 更新的状态值输出数据(只读)

    • 启用或禁用的函数调用子系统和仿真软件的功能结合金宝app

  • highlightActiveStates方法也执行当这些条件是正确的:

    • 模型是开放的。

    • 图表是可见的。

    • highlightActiveStates方法至少执行一次,而不是removeHighlighting方法。

限制连续时间图表

后加载操作一个连续时间的图表,你可以从零重新启动仿真时间。然而,您不能修改状态活动或任何数据值,因为一个连续时间的操作点表是只读的。有关更多信息,请参见连续时间建模Stateflow

没有一个操作点的局部加载

加载一个操作点时,完整的操作点作为一个变量在MATLAB基础工作空间。你不能执行一个操作点的局部加载图表对象的一个子集。

限制复制操作点值

使用克隆方法复制整个操作指向一个新的变量(见方法与操作的交互图)。你不能复制操作点值的子集,因为克隆方法只能在表级别。

假设你获得一个句柄使用这些命令的操作点图:

blockpath =“模型/图”;c = xFinal。get (modelOperatingPoint blockpath);

赋值语句等stateCopy = c.state,dataCopy = c.data,operatingPointCopy = c不工作。这些作业创建的副本对象处理,而不是操作点值。

相关的话题