我如何使用 Anylogic 中的进入和退出块来跨代理类型及其各自的流程图转移代理?
How do I use enter and exit blocks in Anylogic for transferring agents across agent types and their respective flow diagrams?
我目前正在研究电池交换站的仿真模型。
因此,在我的模型中,我已将充电器声明为具有自己的参数和流程图的代理类型,并且“主要”有 2 个流程图(总共 3 个)。
我有 2 组输入和输出块,其中一组用于将充满电的电池从“主流程图”发送到“充电器流程图”,另一组将放电电池从“充电器流程图”发送图”到“主流程图”。
我在主流程图中添加了 5 个充电器代理,名称为 Spot_1、Spot_2...,我想访问主模块和充电器的这些进出块。最初我试图仅在主图中访问它们,但没有成功(语法:Spot_1.enter.take(this))。然后我在“汽车”代理类型中构建了一个状态图,并尝试从那里访问这些块,但无法访问。
当前显示错误的语法:
main.Old_Battery_In.take(this);
main.Check_for_Availability.isBlocked() == false ;
main.Spot_1.New_Battery_In.take (this);
我还添加了一张包含状态图和代码的图像enter image description here
Old_Battery_In 是 main 中的一个输入块,
Check_for_Availability 是 main 中的保留块,
New_Battery_In 是充电器中的输入块
拜托,任何人都可以提出解决方案
为了能够从代理类型访问 main 中的块,您需要在 main 中拥有该类型的人口,即使是空的。将“Agent”元素从 Agent 面板拖放到 main 中,选择尝试访问 main 的类型并使其最初为空。之后,如果您再次 运行,main 应该可以访问了。
我目前正在研究电池交换站的仿真模型。
因此,在我的模型中,我已将充电器声明为具有自己的参数和流程图的代理类型,并且“主要”有 2 个流程图(总共 3 个)。
我有 2 组输入和输出块,其中一组用于将充满电的电池从“主流程图”发送到“充电器流程图”,另一组将放电电池从“充电器流程图”发送图”到“主流程图”。
我在主流程图中添加了 5 个充电器代理,名称为 Spot_1、Spot_2...,我想访问主模块和充电器的这些进出块。最初我试图仅在主图中访问它们,但没有成功(语法:Spot_1.enter.take(this))。然后我在“汽车”代理类型中构建了一个状态图,并尝试从那里访问这些块,但无法访问。
当前显示错误的语法:
main.Old_Battery_In.take(this);
main.Check_for_Availability.isBlocked() == false ;
main.Spot_1.New_Battery_In.take (this);
我还添加了一张包含状态图和代码的图像enter image description here
Old_Battery_In 是 main 中的一个输入块, Check_for_Availability 是 main 中的保留块, New_Battery_In 是充电器中的输入块
拜托,任何人都可以提出解决方案
为了能够从代理类型访问 main 中的块,您需要在 main 中拥有该类型的人口,即使是空的。将“Agent”元素从 Agent 面板拖放到 main 中,选择尝试访问 main 的类型并使其最初为空。之后,如果您再次 运行,main 应该可以访问了。