【问题标题】:How can I connect two agents?如何连接两个代理?
【发布时间】:2020-01-18 17:11:22
【问题描述】:

我对 Anylogic 很陌生,正在尝试在代理之间发送/接收信息,但不知道如何实现。请在附件中找到显示代理之间连接的图像。它还显示了代理和因变量1 之间的双向连接。

  • 开发此类图表需要更改哪些参数/设置?
  • 到目前为止,我已经尝试在代理中嵌入一个动态变量,然后在代理和因变量之间绘制一个连接器 - 但这样做会将代理图标替换为动态变量图标。

【问题讨论】:

  • 嗨,欢迎来到 SOF。听起来你最好再做一些 AnyLogic 教程,尤其是 SD 教程,但其他的也是如此。有示例模型向您展示代理通信。或者将您的问题改写为更具体。 “我怎样才能做这个图”不是一个好问题。另请查看stackoverflow.com/help/how-to-ask :-) 乐于助人
  • 谢谢。我的问题是,如果我定义了 2 个单一代理,我可以用连接器以图形方式将它们连接起来,并使用同一个连接器来传递消息。当我在两个代理之间绘制连接器时,它的两端都没有连接。在两个代理中放置一个端口,允许我连接代理,但在更高级别,代理默认符号被替换为端口。我不明白为什么在 Anylogic 中连接两个代理必须如此复杂。我要建模的是工厂控制系统; DCS 发送命令以打开/关闭冷却器,反之亦然。

标签: anylogic


【解决方案1】:

您不能以图形方式将代理与连接器连接起来(特殊情况除外)。

通常,您使用“代理链接”对象来建立代理连接并发送消息。简而言之,您可以执行以下操作:

  1. 将其拖入代理类型 1
  2. 将其设置为连接到代理类型 2
  3. 当它要求在类型 2 中创建相应的代理链接对象时,同意

现在,您可以使用代理链接对象连接代理。

请查看 AnyLogic 帮助和教程,有很多关于如何使用它们的信息。

【讨论】:

  • 使用端口收发消息一直失败。我的简单模型文件可以在此链接dropbox.com/sh/a7uhdqdo0byt3cv/AABhE7B4OwvmlRBw0I1JBA-ya?dl=0> 中找到,我想要完成的是,当 Chiller 温度与所需温度匹配时,会通过端口 A 向特定代理发送一条消息,然后导致状态更改。我错过了什么? Anylogic如何知道将消息发送到哪个端口(如果有多个端口连接到该端口)?
  • 您不通过端口发送消息,而是通过“代理链接”对象发送消息,请参阅上面的回复;-)。端口用于在不同的流程图之间发送代理(并且有些过时)。你可以用“代理链接”做你想做的事。请参阅帮助和教程以了解如何操作,这一切都为您提供:-)
猜你喜欢
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 2019-05-29
  • 1970-01-01
  • 1970-01-01
  • 2015-11-08
  • 2012-12-10
相关资源
最近更新 更多