人在仿真软件万博1manbetx

万博1manbetxSimulink &基于模型的设计

消息:Stateflow收到邮件

随着我们的设备变得越来越小,系统被嵌入到所有东西中,对系统间通信的正确建模就变得越来越有必要。让我们举一个简单的例子:想象一个智能恒温器,它与分布在大楼各处的几个温度传感器无线连接。这些传感器以100赫兹的频率报告数据。然而,为了节省成本,恒温器中的控制器只能以1hz的频率运行。如果我们想要捕获和分析从传感器接收到的所有温度数据(而不是向下采样),我们如何在Simulink和statflow中建模呢?万博1manbetx

传入的!

答案是,在R2015b,是消息

分布式传感器恒温器模型

状态流图之间的新线样式表明该连接是一个消息,一个全新的对象类型。像事件一样,它们是“发送的”,转换和状态动作可以通过它们的接收来保护。但与事件不同的是,它们不会中断发送图的执行,也不会触发接收图的立即唤醒。它们还携带您指定的类型的数据。

消息属性

消息扩展了statflow的语义,允许您轻松地对分布式和多速率系统进行建模,就像我们示例中的那样。发送图表将温度数据打包到消息中,并以100hz的频率发送。消息在接收图上排队,接收图可以决定是否以FIFO、LIFO或自定义优先级顺序将消息从队列中取出。

发图

处理队列

接收图中处理整个队列的方法以for-loop设计模式开始,如下所示:

几乎

但还需要增加一项。当接收图从队列中取出一条消息时,该消息通常会一直停留到时间步长的剩余时间。因此,在上面的模式中,只有在第一次通过循环时才会读取新消息——所有其他迭代都将一直读取相同的消息。

因此,要丢弃你已经读过的消息,为了能够读取队列中的下一个消息,你可以将该消息转发到“trash message”输出:

正确的

现在轮到你了

看看我们在R2015b中使用消息的一些例子,比如sf_msg_traffic_lightsf_msg_priority_queue_server,然后在下面的评论中告诉我们您计划如何使用消息对应用程序建模。

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。