主要内容

视图之间的差异Stateflow消息、事件和数据

这个例子比较信息的行为、事件和数据在Stateflow®。

发送方图表

这个模型有三个发送方图表:DataSender,EventSender,MessageSender。每个发送方图有一个状态。入口动作的状态,图表数据赋值,发送一个函数调用的事件,或传达一个信息。

接收机的图表

对于每个发送者的图表,都有一个对应的接收机图表。每个接收机图表有一个状态图与状态A0,A1,A2,A3。隐式的事件后(3秒)触发器的过渡A0A1。数据、事件或消息从相应的发送方图表警卫之间的转换A1,A2,A3

输出范围

每个接收机图活动状态启用并连接到一个输出范围。范围显示状态是活跃在每个时间步。这个输出强调了输出数据之间的行为差异,事件和消息。

行为的数据

DataSender表分配一个值为1的输出数据作为一个输入连接DataReceiver图表。

DataReceiver在每一个时间步表执行一次。在模拟、状态A0是活跃的。在时间t = 3,从A0A1发生。在时间t = 4是否,图表测试等于1。这种情况是真实的,所以图转换A1A2。在时间t = 5,仍然等于1,所以图表转换A2A3。范围,你看到DataReceiver改变国家的三倍。

数据赋值后,它认为它的价值在整个模拟。因此,每一次DataReceiver评估条件(M = = 1),它转换到一个新的状态。

行为的事件

EventSender图表使用的命令发送(M)发送函数调用输出事件醒来EventReceiver图表。

EventReceiver图表执行只有当输入事件醒来的图表。在模拟、状态A0是活跃的。的过渡A0A1是基于绝对时间时序逻辑,是无效的时间吗t = 0A0保持活力和图表回到睡眠。因为EventSender发送事件只有一次,EventReceiver不会再醒来。范围,你看到EventReceiver没有转换的A0

事件不保持有效跨越时间的步骤,所以接收表只有一个机会来响应事件。当EventSender发送事件,EventReceiver还没有准备好应对。的机会EventReceiver过渡来响应事件。

行为的消息

MessageSender图表使用语法发送(M)通过输出消息的端口发送消息。进入输入消息队列的消息的MessageReceiver图表。消息在队列中等待,直到MessageReceiver评估它。

MessageReceiver在每一个时间步表执行一次。在模拟、状态A0是活跃的。在时间t = 3,从A0A1发生。在时间t = 4,图确定出现在队列中,所以需要转换吗A2。最后的时间步,表删除从队列中。在时间t = 5出现在队列中,没有消息,所以图表不过渡A3A2保持活跃的状态。范围,你看到MessageReceiver状态发生变化时,只有两次。

与事件,消息队列。收到图可以选择随时回复后发送。与数据,消息不会无限期地有效。消息被摧毁的最后一步。

相关的话题