这个例子展示了一个具有连续时间和离散事件部分的混合系统。离散事件部分用实体表示坦克,这些实体正在排队,需要被填满。每个坦克都有一个“容量”属性。连续时间部分用积分器模拟油箱的充装过程。当一个储罐被填满时,这个事件可以被一个Hit Crossing块检测到,它将生成一个与这个事件相对应的消息。生成的消息将触发服务器释放容器。
模型包括以下组件:
槽发电机:定期生成坦克,每个坦克有一个任意分配的容量属性。
等待队列:排队等候加油的队伍
填补这一罐:为坦克提供服务,并调用Simulink函数金宝appstartFilling
将容器的容量属性传递给模型的基于时间的部分。
罐灌装:模型的过程,填补每个油箱的能力
传感器:检测油箱中的灌装量何时达到容量,当此情况发生时,向模型的离散事件部分发送一条消息。传感器在基于时间的分段和基于偶的分段之间起着桥梁的作用。
处理器:接收从传感器生成的消息,并决定从服务器释放哪个tank。然后调用名为的Simulink函数金宝app释放
为特定的容器生成发布消息。
选择门:接收释放消息,作为响应,打开门,让特定的坦克通过。
配置演示:设置加油站的加油泵数量,打开/关闭动画。为了显示动画,请使用1到20之间的气泵号码。
SimEvents通过在需要的地方自动插入网关,自动处理跨时间和事件域的任何数据交换。这些位置在使用的模型中进行了注释E
。在该模型中,由于网关接收到来自模型时域部分的消息,所以在连接到Hit Crossing块的实体队列块的输入端口插入了一个网关。
范围块标记为“填充过程”和“填充后卡车离开”,显示了模拟的结果。
如果显示动画
复选框被选中配置演示时,会出现一个动画窗口,以显示演示程序。下面是四个燃气泵的动画截图: