我正在尝试在Volttron Project中配置bacnet代理,由于某种原因,当我启动代理时,我在volltron.log中收到此错误:您能指导我配置文件是否做错了什么?对于设备的IP地址,我在配置文件中尝试了三种变体:IP地址/ 24IP地址IP地址:端口(47808)其中是设备的IP地址。不幸的是,这些都不起作用。以下是各种文件的说明:=========================== VOLTTRON LOG ===================== ============2016-06-28 13:55:31,888 (bacnet_proxyagent-0.1 7777) <stderr>ERROR: socket.error: [Errno 99] Cannot assign requested address================================================== =========================================================================== ="agentid": "bacnet_proxy",#Maximum APDU legnth accepted#This setting determines the largest APDU accepted by the Volttron BACnet virtual device. #Valid options are 50, 128, 206, 480, 1024 (default), and 1476 "max_apdu_length": 480, #ID of the Device object of the virtual bacnet device. #Defaults to 599 "object_id": 570009, #Name of the bacnet network object #Defaults to "Volttron BACnet driver" #"object_name": "Volttron BACnet driver", #Vendor ID of the virtual bacnet device. #Defaults to 15 "vendor_id": 24, #Required, use this network interface for the virtual device. "device_address": "192.168.1.9"我运行了volttron / scripts / bacnet / bacnet_scan.py,结果如下:Device Address = <Address 192.168.1.9>Device Id = 570009maxAPDULengthAccepted = 480segmentationSupported = segmentedBothvendorID = 24Device Address = <RemoteStation 5701:37>Device Id = 990037maxAPDULengthAccepted = 480segmentationSupported = segmentedBoth vendorID = 24 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 这是一个常见的错误。实际上,设置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的计算机上,则可以将其用于BACnet代理配置文件中的device_address设置。该值将与您在volttron / scripts / bacnet / BACpypes.ini中使用的“地址”设置相同,以使bacnet_scan.py脚本正常工作。这是必需的,因为BACnet协议将UDP用于所有通信,并且必须打开端口以侦听响应。您还必须在代理的配置中将“ object_id”设置更改回599。基于使用570009的bacnet_scan的输出,将导致与您尝试设置的设备发生冲突。用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"}关于python - VOLTTRON失败的Bacnet代理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38086466/ (adsbygoogle = window.adsbygoogle || []).push({}); 10-09 21:18