问题描述
我有一个系统,从 3 个来源开始,分别是小型、中型和大型。我想为 3 种不同类型的源做它,组合并通过延迟块。延迟块将与数据库引用链接,该数据库引用是一个由 2 列(来源、延迟时间)组成的表。因此,当源通过延迟块时,它会自动读取表格并为不同类型的源设置延迟时间。
我在 AnyLogic 帮助中看到了描述并按照说明操作。错误来自作为选择条件的延迟块。我把 source 等于 agent.name 但它一直给我一个错误,即名称无法解析或不是字段。
解决方法
生成代理的源不会自动存储到代理名称中。另外,我认为在 name
中没有 agent
字段这样的东西。您可以查看 API here。我认为你可以做什么:
- 在您的代理中创建一个属性,我们称之为
sourceName
- 在 Source
on at exit
操作中将源名称设置为agent.sourceName
属性 - 通过检查
agent.sourceName
的值来检查 Delay 块中该属性的值