我正在尝试在Volttron项目中配置bacnet委托代理,由于某种原因,当我启动委托代理时,我在volltron.log中收到此错误:
你能指导一下我是否在……
换句话说,进入代理配置的device_address是您的本地地址,以便bacnet驱动程序可以绑定到设备上的接口。
这是一个常见的错误。当您设置bacnet代理时,您实际上是在创建一个新的BACnet设备并将其放在网络上。然后,VOLTTRON平台BACnet驱动程序使用此设备与网络上的设备进行通信。
除了与之通信的端口之外,该设备与网络上的任何其他设备没有任何共同之处。
从BACnet代理文档:
的 DEVICE_ADDRESS 强> - 绑定到网络端口的地址,在运行VOLTTRON的计算机上进行BACnet通信。这是 的 不 强> 任何目标设备的地址。
http://volttron.readthedocs.io/en/develop/core_services/drivers/BACnet-Proxy-Agent.html
例如,如果您的VOLTTRON安装在IP为192.168.1.2的计算机上,您可以将其用于 的 DEVICE_ADDRESS 强> 在BACnet代理配置文件中设置。
它将与您在volttron / scripts / bacnet / BACpypes.ini中使用的“地址”设置相同,以使bacnet_scan.py脚本正常工作。
这是必要的,BACnet协议使用UDP进行所有通信,并且必须打开一个端口来监听响应。
的 您还必须在代理配置中将“object_id”设置更改回599。 强> 根据bacnet_scan的输出使用570009会导致与您尝试设置的设备发生冲突。在BACnet的说法中,这是设备ID。 BACnet网络上的所有设备ID必须是唯一的。
您希望与之通信的设备的地址用于MasterDriverAgent配置中特定设备的配置。
例如,使用MasterDriverAgent配置如下:
{ "agentid": "master_driver", "driver_config_list": [ "/home/volttron/volttron/examples/configurations/drivers/bacnet.config" ] }
您可以将目标设备地址放在bacnet.config中:
{ "driver_config": {"device_address": "192.168.1.9", "device_id": 570009}, "campus": "campus", "building": "building", "unit": "bacnet1", "driver_type": "bacnet", "registry_config":"/home/volttron/volttron/examples/configurations/drivers/bacnet.csv", "interval": 60, "timezone": "UTC" }