主要内容

使用队列事件操作对储罐进行建模

这个例子展示了如何使用Entity Queue块事件动作、一个Simulink Function块和一个Entity Gate块来建金宝app模一个容量有限的瓶子存储系统。

此示例使用实体生成器、实体队列、实体服务器和实体终结者块为一个重量容量有限的瓶子存储系统的装配线建模。实体生成器块表示瓶子的到达。每个瓶子都有一个加仑属性,取值范围为010,来表示它所携带的液体量。实体队列块表示容量有限的存储。实体服务器块表示瓶子离开工厂之前的处理过程。

通过使用Simulink功能块和实体门块部署流体存储控制系统,允许瓶子进入存储系统,只要总存储加仑量小于金宝app50加仑。这个量对应于存储设备所能支持的最大允许重量。金宝app假设瓶子的重量可以忽略不计。Entity Gate块有两种状态:open和closed。Simu金宝applink Function块监控存储中的液体量,并控制Entity Gate块的状态。

使用队列事件操作构造流体存储控制系统

构建流体存储控制系统的目标是允许瓶子进入队列的存储,只要总存储加仑量不超过50加仑。

构建流体存储控制系统:

  • 与函金宝app数签名一起使用的是Simulink函数块check_capacity(价值、方向)来控制Entity Gate块。当块发送带有值的消息时1,启用门打开,允许容器进入存储。否则,当块发送带有值的消息时0,大门仍然关闭。

  • 在实体队列块中,在项行动退出操作字段,check_capacity (entity.gallons, 1)check_capacity (entity.gallons, 1)将容器加仑值发送到Simulink函数块。金宝app第二个输入check_capacity (~ ~)函数值1当一个实体进入队列时-1当实体退出队列时。

  • 在Simuli金宝appnk函数块中,MATLAB函数块创建控制门的逻辑。该块接受三个输入。

  1. v价值是多少每加仑属性,用于输入或退出该块的每个实体。

  2. 方向以价值1-1指示实体是否进入或退出该块。

  3. myLimit为液体容器的容量,单位为加仑。

  • MATLAB函数块有两个输出。

  1. y需要的值1当有足够的存储空间时,打开大门,然后0否则。

  2. t为储存液体的加仑数。

  • MATLAB函数块包含如下打开和关闭门的逻辑。

函数[y, t] = fcn (v d myLimit)%初始化表示总数的持久变量total储存液体的加仑数。持续的总计%初始化变量total。如果Isempty (total) total = 0;结束加减进出所携带的加仑数%的实体。如果实体进入存储,D为1,否则为-1。Total = Total + d*v;%更新存储中的总加仑数。t =总;%将总数与myLimit比较。容器最多可以有10个%加仑液体。如果总> (myLimit-10)把门关上。y = 0;其他的打开门,允许容器进入。y = 1;结束结束

模拟模型并评审结果

模拟模型。观察液体贮存的容器数量。

同时,观察整个模拟过程中存储的液体量,不超过50加仑。

另请参阅

|

相关的话题