主要内容

创建带有基于时间和基于事件组件的混合模型

这个例子建模混合系统-油箱填充显示坦克在排队等待加油。在示例中,是SimEvents®组件建模基于事件的行为,而Simulink金宝app®组件对基于时间的动态进行建模。

装有SimEvents和Simulink组件的油箱填充模型金宝app

之间的通信SimEvents金宝app组件

没有选择门模块和金宝app仿真软件的功能在离散事件过程中,储罐的生成、排队、服务和终止都是离散事件过程中储罐的流程。有关构建模型的SimEvents组件的更多信息,请参见创建离散事件模型.要了解关于为相同模型编写事件操作的更多信息,请参见使用事件操作管理实体

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

泵罐模型是Simulink组件,表示时间驱动的罐灌装过程金宝app。当容器满时,它通过打穿越块和消息遵循类似的生成、排队、服务和终止流。徽章表示基于时间的行为和基于事件的行为之间的转换。

一辆坦克到达实体服务器在泵-罐模型中,阻塞触发充液过程。当油箱满了,打穿越块标记为Tank Full生成一条消息。当此消息到达接口组件中的Processor时,将触发金宝app仿真软件的功能在加满油的油箱离开时释放选择门。

接下来,详细介绍了模型的SimEvent金宝apps和Simulink组件。

SimEvents模型的一部分

sievents部分模拟坦克的流动。

  • 实体发电机Block生成坦克。

  • 实体队列以先进先出(FIFO)模式阻塞队列每个坦克。

  • 实体服务器块调用startFilling金宝appSimulink功能,以填补每个坦克。几个油箱可以同时使用。

  • 实体服务器块处理SimEvents消息打穿越块并调用Simulink函数来启用金宝app选择门子系统为一个特定的坦克。块还调用Simulink函数来重新初始化金宝app积分器块为下一个填充。

带有选择门子系统的油箱填充模型。

金宝app模型的一部分

Simu金宝applink部分对时间驱动的加油过程进行建模。

  • 该组件包含填充容器的逻辑。

  • 每个水箱有一个能力属性。连续时间部分模拟了加满油箱的过程,用积分器块。当一个罐子装满它的容量时选择门子系统释放燃料箱,燃料箱离开。

  • 该组件还包含Simulink函数金宝appstartFilling

  • 打穿越块检测储罐填充过程的完成,并发送关于此事件的SimEvents消息。在Interface中处理此消息,该接口触发Selection Gate释放坦克并重新初始化积分器块为下一个填充。

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

模拟混合模型

运行建模混合系统-油箱填充的例子。在第一个范围内,观察每个泵的充注过程。

显示每个泵的灌装过程的范围块。

在第二个范围内,观察装满后离开的卡车数量。情节显示有15卡车在装满汽油后离开了工厂。

范围块显示卡车离开设施后,他们的油箱是满的

仿真中的基于事件和基于时间的动力学

建模混合系统-油箱填充例如,基于时间的罐体充液动力学与基于事件的罐体流动系统动力学共存。当您运行模拟时,求解器和事件日历都起作用。在求解器的主要时间步骤上,仿真求解了表示油箱充液系统动力学的常微分方程。解决基于事件的动态需要在SimEvents事件日历上调度和处理事件,比如服务完成和实体生成。由于模型使用了一个变步长求解器,当事件在离散事件系统中发生时,求解器有一个主要的时间步长。

要了解更多关于求解器的信息,请参见离散事件系统的求解器.要了解关于创建基于事件和基于时间的模型的更多信息,请参见使用sievents和Simulink金宝app

另请参阅

||

相关的话题