规则使用操作图表
一个操作点模型的状态的快照金宝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
不工作。这些作业创建的副本对象处理,而不是操作点值。