没有识别的Bacnet设备pointname
所以下面是我对伏特的配置。我有一个兼容bacnet的VAV,我使用grab_bacnet生成了配置csv。问题是,bacnet代理以及在bacnet驱动程序中的所有擦除方法都无法从设备中获取任何内容。没有识别的Bacnet设备pointname
这也是要注意,当我启动bacnet委托代理和主驱动程序代理时,没有在volttron.log中显示的错误。 但我尝试测试代理,如下所示我得到一个keyError告诉我,要么是要去一个错误的设备或bacnet根本无法识别设备。
**Configurations**
*Master Driver*
{
"agentid": "master_driver",
"driver_config_list: ["absolute/path/to/test_bacnet1.config"]
}
**test_bacnet1.config**
{
"driver_config": {"device_address": "192.168.1.9",
"device_id":"990037" },
"campus": "campus",
"building": "building",
"unit": "bacnet1",
"driver_type": "bacnet",
"registry_config":"absolute/path/to/csv.csv",
"interval": 60,
"timezone": "UTC"
}
*BACNET PROXY CONFIGURATIONS*
"device_address": "192.168.1.5/24" #MY Laptop IP address
这是我在testagent运行时得到的错误。
ERROR: Failed to scrape campus/building/bacnet1:
RuntimeError('Device communication aborted: noResponse')
其次通过执行器我TestAgent我拨打电话这样的:
topic2 = 'campus/building/bacnet1/dmp_pos_1'
PLATFORM_ACTUATOR = 'platform.actuator'
PLATFORM_BACNET = 'platform.bacnet_proxy'
REQUEST_NEW_SCHEDULE = 'request_new_schedule'
@Core.periodic(3)
def publish_heartbeat(self):
_log.info('Agent Starting')
result = self.vip.rpc.call(
PLATFORM_ACTUATOR, # Target agent
'get_point', # Method
topic2 # point
).get(timeout=10)
_log.info('RESULT:'+str(result)
的volttron给我的错误: RemoteError:volttron.platform.jsonrpc.RemoteError(“KeyError异常('dmpr_pos_1 “)“)
EDIT 1个 Python脚本/的BACnet/bacnet_scan.py --ini脚本/的BACnet/BACpypes.ini
Device Address = <Address 192.168.1.9>
Device Id = 570009
maxAPDULengthAccepted = 480
segmentationSupported = segmentedBoth
vendorID = 24
Device Address = <RemoteStation 5701:37>
Device Id = 990037
maxAPDULengthAccepted = 480
segmentationSupported = segmentedBoth
vendorID = 24
在那之后我跑这样的grab_bacnet:
python scripts/bacnet/grab_bacnet_config.py 990037 --ini scripts/bacnet/BACpypes.ini --out-file bac3.csv
其中值之一是这样的csv文件:
Reference Point Name Volttron Point Name Units Unit Details BACnet Object Type Property Writable Index Write Priority Notes
flow_sp_1 flow_sp_1 cubicFeetPerMinute analogValue presentValue FALSE 5 Airflow Setpoint
dmpr_pos_1 dmpr_pos_1 UNKNOWN UNIT ENUM VALUE: 4109 analogValue presentValue FALSE 8 Damper Position
任何人都可以指导我这个问题?
看起来这里有两个问题。
首先它看起来像设备没有响应。这可能是由于配置问题test_bacnet1.config。
您在第一时间用来抓取配置的命令行是什么?
其次是代理中使用的点名称与CSV文件中点的名称之间似乎不匹配。
请发布您的CSV文件的内容,以便我们可以看到可用的点名称。
编辑
(实际上,我们解决了这个早期的手机,但我会在这里它为后人。)
的问题是,你没有提供的设备的正确组合ID和地址。地址始终是实际设备的地址,而不是可能恰好坐在它前面的路由器。设备ID始终是实际的设备ID。
从bacnet_scan的输出中,您可以使用“5701:37”作为地址,使用990037作为设备ID。
关键的错误是不正确地设置它的副作用。
最近添加了设备ID作为要求,以确保在大多数情况下BACnet代理可以建立到设备的路由。
谢谢凯尔。我们的硬件配置使用BACnet路由器(ID 570009)和VAV控制器(ID 990037)。通过抓取配置,我们必须同时拥有指定的伏特点名称和注册点文件。
这些都是grab_config出测试柱的VAV控制器csv文件(如Priyank提到我们得到了大约75个寄存器点,但我们显示了我们正在试图修改flow_sp_1和dmpr_pos_1两点):
Reference Point Name Volttron Point Name Units Unit Details BACnet Object Type Property Writable Index Write Priority Notes
flow_sp_1 flow_sp_1 cubicFeetPerMinute analogValue presentValue FALSE 5 Airflow Setpoint
dmpr_pos_1 dmpr_pos_1 UNKNOWN UNIT ENUM VALUE: 4109 analogValue presentValue FALSE 8 Damper Position
我们不确定这是否是一个grab_config问题。这些是设备的原始点列表。
Name Value Type ObjectID DeviceID Object Name COVIncrement
Airflow Setpoint 2000.0cfm BAV AV:5 DEV:990037 flow_sp_1 1
Damper Position 100.0 %Open BAV AV:8 DEV:990037 dmpr_pos_1 2
似乎Volttron(或grab_config)使用对象名称。
如果您能指导我们找出错误,我们将不胜感激。 我们还使用BACnet路由器ID而不是VAV设备IS修改了配置文件。 但我们仍然得到KeyError异常
**test_bacnet1.config**
{ "driver_config": {"device_address": "192.168.1.9", "device_id":"570009" },...
我明白了远程站的地址有可能被用来作为BACnet设备地址,它是不是从凯尔的响应路由器地址,它解决了我的问题,设备的通信。谢谢! –
不客气! –