【问题标题】:How to block an assembler component in AnyLogic?如何阻止 AnyLogic 中的汇编器组件?
【发布时间】:2017-03-22 07:32:42
【问题描述】:

我有一个在我的网络中充当同步点的汇编器。它接收两个不同的对象,并且在此块的“OnEnterDelay”事件中,我希望仅当我在输入对象中有特定值时才开始构建输出对象。

我管理了检查,但如果此条件不匹配,我不知道如何丢弃输入,我尝试仅从输入队列中删除代理,但它似乎不起作用

SupplierInfo supplierInfo = (SupplierInfo)self.queueGet(2, 0);

if (!supplierInfo.getStatus())
{
    self.queue1.removeFirst();
    self.queue2.removeFirst();
}

【问题讨论】:

  • 您是否检查过“On Enter Delay”动作发生时队列中是否有元素。汇编程序块在生成输出时会消耗输入,因此它可能已经消耗了队列中的产品。

标签: anylogic


【解决方案1】:

也许您需要将丢弃的对象发送到某个地方。您可以将输入对象连接到接收器,然后使用:
enter.take(self.queue1.removeFirst)

如果这不起作用,您可以在汇编器之前创建检查并在它们进入汇编器之前将其删除。

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 2017-02-11
    • 2016-10-07
    • 1970-01-01
    • 2010-11-24
    • 2021-08-14
    • 2018-09-14
    • 2011-01-10
    • 2020-08-02
    相关资源
    最近更新 更多