【问题标题】:Same resource from resource pool for subsequent process来自资源池的相同资源用于后续流程
【发布时间】:2021-08-26 20:21:03
【问题描述】:

有一个过程,盒子进入工位(i),操作员和机器用于SETUP,然后盒子移动到(ii)只使用机器的地方。

有 1 - 操作员,但有 2 - 机器。 有 2 个输送系统。

如何确保盒子在站 (ii) 中使用与站 (i) 相同的机器资源 **或者 确保机器从站 (i) 到 (ii) 不断被扣押

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    重新占用相同的资源 - 当盒子占用资源时,设置一个变量等于被占用的资源。在资源池中可以看到“on capture”,有self、unit、agent。代理人是做扣押的人,单位是被扣押的人。对于第二站,在资源部分,选中“自定义资源条件”。尝试类似 agent.unitSeized == unit;其中 unitSeized 是您设置的变量。请参阅帮助菜单。您可能需要稍微了解一下这种情况发生的位置,确切的语法。

    为了保持资源被占用,我不会使用站点。没有选择使用内置站资源获取资源并稍后释放它。我会在传送带上使用一个位置,然后手动处理所有事情。也就是说,传达给该 POC,然后您的流程图中的下一个块可能会被抓住。然后,您可以延迟处理、添加传送带以到达传送带 2 上的下一个 POC、延迟处理、释放资源。这种方法也适用于您的第一种情况。如果您路由到不同的位置,然后发送到延迟或其他常规流程块以获得您想要的行为,您可以拥有更多的控制权。如果您采用这种方法,您可以添加决定块,以便通过输入参数涵盖您的两种情况。

    【讨论】:

    • 方法一:如何在 On Seize 中引用代理(访问代理/框中定义的变量)。我试过agent.unitSeized = unit....但是有错误无法解析变量。我没有正确地这样做
    • 您的代理类是否有一个名为“unitSeized”的变量?您将需要创建一个自定义代理,然后向其中添加一个变量(如果您还没有这样做的话)。然后,使用该代理类型,而不是 AnyLogic 的通用代理。
    • 是的,我已经创建了自定义代理,并定义了一个变量 pf 类型的 ResourcePool
    • 类型不应该是ResourcePool,而是池中单元的类型。 ResourcePool On seize函数有两个参数:unitagent。所以应该是agent.unitSeized = unit
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2012-09-19
    • 2021-07-25
    • 2010-10-16
    • 2014-01-18
    • 2021-07-20
    • 1970-01-01
    • 2020-09-22
    相关资源
    最近更新 更多