当前位置: 首页 > 知识库问答 >
问题:

如何将代理存储在一个块中直到tronsporter可以移动它们?

袁安志
2023-03-14

我是一个新的AnyLogic用户,所以希望这是一个简单的问题。我想用一个块来表示要在程序集中使用的项目的存储区域,我使用的是延迟时间为0的延迟块,但也许队列块会更合适?我已经建立了一个模型,在这个模型中,每X秒一辆“卡车”到达,如果延迟块包含的元素少于指定容量,就调用inject函数重新填充该块。这种方法是可行的,但似乎代理是通过延迟块的输出端口流动的,因此不计入其容量(这对我来说是有意义的...)导致我的源块在系统未准备好时继续创建代理。我的延迟块后面是一个“传送器移动”块,它似乎立即得到所有延迟块的输出。在我的模型中只有两个transporter,我不确定为什么transporter块一次可以接受两个以上的代理。我设置了我的运输车队有2个能力,但这并没有解决问题。

任何建议都会有帮助!也许需要一种不同的方法。我的目标是在工厂的入口有一个基本上无限的零件池,但只有当下游工序能够把它们拉进来时才创建代理。提前道谢!

共有1个答案

皇甫文乐
2023-03-14

欢迎使用SOF:)

最好在此处使用“等待”块:

让你的卡车把东西倒进“等待”,每当他们到达。您的下游块现在可以在它们准备好时使用MyWaitBlock.free(SomeAgent来拉出它们想要从中拉出的任意多个代理。

PS:也请查看如何在SOF上提出好的问题,你的问题很长,通过一些截图更容易理解:)-->https://stackoverflow.com/help/how-to-ask

 类似资料: