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

如何将AnyLogic代理从一个空间移动到另一个空间?

聂风史
2023-03-14

在我的AnyLogic模型中,容器代理在主代理中移动到不同的位置。

Main包含位于特定位置的多个块代理实例。Block包含一台多桥桥式起重机,该起重机应能捡起集装箱并将其运至当地仓库。

当容器被放置在块的起重机范围内的吸引器处时,块内的一个进程被调用。此进程包含入口、移动起重机和出口块。在移动起重机块中,在抓取步骤中,AnyLogic给我以下错误:

Exception during discrete event execution
root.blocks[0].moveContainerIn.seize:
The agent root.containers[0] and the crane com.anylogic.engine.markup.OverheadCrane@50b7349f have different spaces
    at com.anylogic.engine.Engine.error(Unknown Source)
    at com.anylogic.engine.Agent.error(Unknown Source)
    at com.anylogic.engine.Utilities.error(Unknown Source)
    at com.anylogic.libraries.material_handling.MHLBlock_xjal.error(Unknown Source)
    at com.anylogic.libraries.material_handling.SeizeCrane.j(Unknown Source)
    at com.anylogic.libraries.material_handling.SeizeCrane.k(Unknown Source)
    at com.anylogic.libraries.material_handling.SeizeCrane.getHookDestinationPoint(Unknown Source)
    at com.anylogic.libraries.material_handling.SeizeCrane.a(Unknown Source)
    at com.anylogic.libraries.material_handling.SeizeCrane.a(Unknown Source)
    at com.anylogic.libraries.material_handling.SeizeCrane$1.onEnter(Unknown Source)
    at com.anylogic.libraries.processmodeling.Delay.b(Unknown Source)
    at com.anylogic.libraries.processmodeling.Delay.b(Unknown Source)
    at com.anylogic.libraries.processmodeling.Delay$9.onEnter(Unknown Source)
    at com.anylogic.libraries.processmodeling.InputBlock$1.b(Unknown Source)
    at com.anylogic.libraries.processmodeling.InPort.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.InPort.receiveImmediately(Unknown Source)
    at com.anylogic.libraries.processmodeling.InputBlock$1.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.forwardReadyEntityNotification(Unknown Source)
    at com.anylogic.libraries.processmodeling.InputBlock$1.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock$2.a(Unknown Source)
    at com.anylogic.libraries.processmodeling.OutputBlock$2.action(Unknown Source)
    at com.anylogic.libraries.processmodeling.AsynchronousExecutor_xjal$a.execute(Unknown Source)
    at com.anylogic.engine.LibraryEventHandler$b.execute(Unknown Source)
    at com.anylogic.engine.Engine.c(Unknown Source)
    at com.anylogic.engine.Engine.hi(Unknown Source)
    at com.anylogic.engine.Engine.f(Unknown Source)
    at com.anylogic.engine.Engine$b.run(Unknown Source)

所有块代理都位于main中的不同坐标处。它们各自有自己的坐标参考/原点。(块中的位置(0,0)与main中的位置(0,0)不同。)这就是错误消息中术语“空格”的含义吗?

有没有办法将代理从一个空间移动到另一个空间?

我是否应该从一个空间中删除(接收)代理,然后在另一个空间中创建一个新的代理?

共有1个答案

楚宏胜
2023-03-14

最简单的方法是使用Main中的EnterExit块和您的代理类型,并以这种方式跨不同的空间发送代理。在“输入属性”中,在代理类型中指定一个位置,这将使到达的代理“切换”到新空间。

如果您不使用流程建模块,则需要调用set环境(),然后使用setloc(...)在其新环境中定义代理位置

 类似资料:
  • 问题内容: 我有一个属于表空间 报告 的分区表。我想将其移至表空间 记录 。 一种可能性是删除表并在新表空间中重新创建它,但这对我来说不是一个选择,因为表中有数据需要在移动后幸存。 我首先使用以下命令检查分区是否真正属于表空间报告: 然后我只是尝试: 但这给了我错误ORA-145111``无法对已分区的对象执行操作’‘。 然后我发现我可以使用以下方法移动单个分区: 但是由于该表有60个分区(基于日

  • 谁能帮助我如何创建一个新的代理人,并将其链接到旧的,以治愈人民? 多谢!

  • 如何从代理中引用Main 我有一个由1个代理组成的资源池,在Main中移动项目。在那里,使用过程建模库对过程进行建模。代理既不进入也不退出流程模型,而是无限期地运行<现在,我想向我的代理添加一个状态图,在该状态图中,我想测试代理是否主要到达某个队列块。然而,我不能从我经纪人的状态图中引用Main。“get\u Main()”和“Main”都不起作用,因为我也没有带Main的箭头(我在参考模型上看到

  • 我一直在设计一个基于Swing的桌面RPG程序,以促进带有GUI控制元素的基于文本的角色扮演。 为了促进这一点,每个正在运行的客户端都会获得一个带有所有重要JFrames的主桌面(托管客户端上的“GM Desktop”和远程客户端上的“Player Desktop”)。此外,GM和Players都可以为角色打开“透视桌面”,为他们提供一个单独的JDesktopPane,其中包含提供该角色视角的“角

  • 假设所有具有分区的前导和副本的节点都崩溃,并且节点不可恢复。 如何选举另一位Kafka经纪人作为该分区的领导人?(我对数据丢失感到满意) 我尝试了“kafka preferred replica election.sh”和“kafka reassign partitions.sh”,但没有成功。 设置: 两个节点kafka集群,代理ID为10和11。 具有副本因子1和分区1的主题测试。Broker