主要内容

混合动力系统建模-油箱填充

描述

这个例子展示了一个混合系统,包含连续时间和离散事件部分。离散事件部分对由实体表示的坦克建模,这些坦克正在排队,需要被填满。每个坦克都有一个“容量”属性。连续时间部分用积分器模拟了注满一个油箱的过程。当一个坦克被装满时,这个事件可以被Hit Crossing块检测到,它将生成与这个事件对应的消息。生成的消息将触发服务器释放坦克。

模型结构

该模型包含以下组件:

  • 槽发电机:定期生成坦克,每个坦克具有任意分配的Capacity属性。

  • 等待队列:对等待加满的坦克进行排队

  • 填补这一罐:服务坦克和调用Simulink函数startFilling将坦克的容量属性传递给模型的基于时间的部分。

  • 罐灌装:模拟每个油箱装满的过程

  • 传感器:当油箱中所填的量达到容量时检测,当这种情况发生时,发送一个消息到模型的离散事件部分。传感器在基于时间的分段和基于偶的分段之间起着桥梁作用。

  • 处理器:接收传感器产生的消息,并决定从服务器释放哪个坦克。然后调用Simulink函数释放为特定的坦克生成释放消息。

  • 选择门:接收释放消息,作为回应,打开门让特定的坦克通过。

  • 配置演示:设置加油站的油泵数量,并打开/关闭动画。要显示动画,请使用1到20之间的气泵编号。

时间域和事件域之间的域交叉

SimEvents通过在需要的地方自动插入网关,自动处理跨时间和事件域的任何数据交换。这些位置在模型中使用E.在这个模型中,一个网关被插入到连接到Hit Crossing块的Entity Queue块的输入端口,因为它从模型的时域部分接收到一个消息。

结果

标记为“填充过程”和“填充后离开的卡车”的Scope块显示了模拟的结果。

如果显示动画的复选框配置演示,将出现一个动画窗口,用于可视化演示。下面是四个气泵的动画截图:

另请参阅

||

相关的话题

Baidu
map