AnyLogic系统动力学模型:每日8小时生产后停流的事件动作求助
AnyLogic系统动力学:每日8小时后停止生产流的实现方法
不用纠结onChange(),这个场景用时间事件+开关变量控制流速率更直接,步骤如下:
- 新建一个布尔型变量
isProductionRunning,初始值设为true,用来标记生产状态。 - 添加两个时间事件(Time Event):
- 第一个事件设置为每日重复触发,触发时间选模型的上班起始时间(比如模型时间0点),动作里写
isProductionRunning = true; - 第二个事件同样每日重复触发,触发时间设为上班起始时间+8小时(比如模型时间8点,注意匹配你的模型时间单位,分钟的话就是480),动作里写
isProductionRunning = false;
- 第一个事件设置为每日重复触发,触发时间选模型的上班起始时间(比如模型时间0点),动作里写
- 修改两个输入流的速率公式:
把原来的速率(比如你之前写的固定值或计算式)改成条件判断:- ApprovSaggina的速率:
isProductionRunning ? 你的原速率值 : 0 - ApprovBastoni的速率:
isProductionRunning ? 你的原速率值 : 0
- ApprovSaggina的速率:
这样每天到点就自动把流的速率切为0,相当于停止生产,到第二天上班时间再恢复。如果你的模型时间不是从0点开始,或者需要调整上下班的具体时间,直接改时间事件的触发参数就行,逻辑完全通用。
内容的提问来源于stack exchange,提问作者ali
相关产品推荐
相关产品推荐

