在由function-call input event启用的图表中,可以通过设置启用图表时的状态属性来控制状态的行为。根据此属性的值,当输入事件重新启用图表时,状态要么保持其最新值,要么恢复为初始值。要修改属性,请执行以下操作:
1 打开“Chart properties”对话框。
2 将“States When Enabling ”属性设置为以下选项之一。
设置 | 描述 |
---|---|
Held | 保持状态最新的值。 |
Reset | 恢复到状态的初始值。 |
Inherit | 从父子系统继承设置。 |
对于新图表,默认设置为“Held”。
当父级是Model Root时的行为
如果图表的父级是Model Root,则将“States When Enabling”设置为“Inherit ”相当于将属性设置为“Held”。当函数调用输入事件重新启用图表时,图表会保留其状态的最新值。例如,在此模型中,Caller图表使用事件E来唤醒并执行Callee图表。
Caller 包含了两个状态, A 和 B。
当你将E绑定到A时:
进入A可启用Callee图表。
退出A将禁用Callee图表。
重新进入A可重新使能Callee图表。
每次执行Callee图时,输出数据y都会递增1。
此表列出了模型的关键行为。
时间间隔 | Caller | Callee |
---|---|---|
t = 0 to t = 10 | 状态A处于活动状态并启用Callee。 | 状态A通过递增y来执行。 |
t = 10 to t = 20 | 状态B处于活动状态并禁用Callee。 | 状态A不执行。 |
t = 20 to t = 30 | 状态A处于活动状态,可重新启用Callee。 | 状态A通过递增y来执行。 |
t = 30 to t = 40 | 状态B处于活动状态并禁用Callee | 状态A不执行。 |
t = 40 to t = 50 | 状态A处于活动状态,可重新启用Callee。 | 状态A通过递增y来执行。 |
设置Inherit或 Held状态
在Callee的图表属性对话框中,“States When Enabling”为“Inherit”。由于此图表的父级是模型根,因此行为与“States When Enabling”时相同。在模拟过程中,当函数调用输入事件在t=20和t=40时重新启用图表时,输出y保持其最新值。
启用属性重置时设置状态
将Callee的启用状态属性更改为Reset。在模拟过程中,当函数调用输入事件在t=20和t=40时重新启用图表时,y恢复到其初始值零。