使用基于时间和基于事件的组件创建混合模型

这个例子Seexampletanking模型坦克排队填充。在该示例中,Simevents®组件模型基于事件的行为,而同时链接金宝app®组件模型基于时间的动态。

带Simevents和Simulink组件的坦克灌装模型金宝app

沟通Simevents.金宝app组件

没有选择门块和金宝appSimulink功能块,在离散事件过程中的坦克流动遵循它们的生成,排队,服务和终止。有关构建模型的Simevents组件的更多信息,请参阅创建一个离散事件模型。要了解更多有关编写相同模型的事件操作的信息,请参阅使用事件操作管理实体

坦克填充模型显示为两个简单的队列服务器型号

泵-Tank模型是表示时间驱动罐填充过程的Simulin金宝appk组件。当一个坦克满了时,它通过它生成一个SIMEVENTS消息击球块和消息遵循类似的生成,排队,服务和终止。徽章表示基于时间和基于事件的行为之间的转换。

坦克的到来实体服务器块触发泵油箱模型中的填充过程。当一个坦克满了,击球块标记的坦克填充生成一条消息。此消息在接口组件的处理器上到达此消息触发了金宝appSimulink功能块释放完整的坦克出发的选择门。

接下来,详细介绍模型的SimEvents金宝app和Simulink组件。

Simevents.模型的一部分

Simevents部件模拟了坦克的流动。

  • 实体生成器块产生坦克。

  • 实体队列块首先排列(FIFO)模式中排队每个罐。

  • 实体服务器块拨打电话纠结金宝appSimulink函数填充每个罐。几个坦克可以同时配送。

  • 实体服务器界面中的块处理由此生成的Simevents消息击球块并调用Simulink函数以启用金宝app选择门特定坦克的子系统。该街区还调用了Simulink函数来重新初始化金宝app积分商阻止下一个填充。

坦克灌装模型与选择门子系统。

金宝app模型的一部分

Simu金宝applink部件模拟填充池的时间驱动过程。

  • 此组件包含填充坦克的逻辑。

  • 每个坦克都有一个容量属性。连续时间部件模拟填充坦克的过程,由此建模积分商堵塞。当一个坦克充满它的容量时,选择门子系统释放坦克和坦克离开。

  • 此组件还包含Simulink功能金宝app纠结

  • 击球块检测到坦克填充过程的完成,并发送有关此事件的SimEvents消息。此消息在接口中处理,触发选择门和重新初始化的储罐释放积分商阻止下一个填充。

泵罐模型部分如果包括Simulink功能块,积分器和传感器的罐填充模型金宝app

模拟混合模型

跑过Seexampletanking模型。在第一个范围内,请遵守每个泵的填充过程。

显示每个泵的填充过程的范围块。

在第二个范围内,观察填充后的卡车数量。绘图显示存在15.卡车填充了他们的煤气罐后离开设施。

显示卡车在坦克满满之后展示汽车的范围块

基于事件和基于时间的模拟动态

在里面Seexampletanking模型,基于时间的水箱动态与坦克流系统的事件动态共存。当您运行模拟时,求解器和事件日历都扮演角色。在求解器的主要时间步骤后,模拟解决了代表罐填充系统的动态的常微分方程。解决基于事件的动态需要计划和处理事件,例如SimEvents事件日历上的服务完成和实体生成。因为模型使用可变步骤求解器,因为当在离散事件系统中发生事件时,求解器具有一个主要时间步长。

了解有关求解器的更多信息,请参阅用于离散事件系统的求解器。了解有关创建基于事件和基于时间的模型的更多信息,请参阅使用simevents和simulink金宝app

也可以看看

||

相关话题