下面是我的伏特控管配置。我有一个与bacnet兼容的VAV,我使用grab_bacnet生成了配置csv。问题是bacnet代理以及bacnet驱动程序中的所有方法都无法从设备中获得任何信息。
这也是要注意的是,当我启动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)伏特森给了我一个错误: RemoteError:volttron.platform.jsonrpc.RemoteError("KeyError('dmpr_pos_1')")
编辑1 python脚本/bacnet/bacnet_can.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有人能在这个问题上指导我吗?
发布于 2016-07-06 00:34:58
看起来这里有两个问题。
首先,看上去该设备根本没有响应。这可能是由于配置问题test_bacnet1.config造成的。
您最初用于获取配置的命令行是什么?
第二,在代理中使用的点名与CSV文件中点的名称似乎不匹配。
请张贴你的CSV文件的内脏,以便我们可以看到可用的点名。
编辑
(我们实际上已经在电话中解决了这个问题,但我会在这里为后人加上这个问题。)
问题是,您没有提供设备ID和地址的正确组合。该地址始终是实际设备的地址,而不是碰巧坐在它前面的路由器。设备ID始终是实际的设备ID。
在bacnet_scan的输出中,地址使用"5701:37“,设备ID使用990037。
关键错误是设置错误的副作用。
最近添加了设备ID,以确保在大多数情况下BACnet代理可以建立到设备的路由。
发布于 2016-07-06 18:45:46
谢谢凯尔。我们的硬件配置使用BACnet路由器(ID 570009)和变风量控制器(ID 990037)。有了抓取配置,我们必须有两个注册点文件,与指定的Volttron名称。
这些是VAV控制器csv文件的grab_config外测试列(正如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设备来修改配置文件。但我们还是得到了keyError
**test_bacnet1.config**
`{ "driver_config": {"device_address": "192.168.1.9", "device_id":"570009" },...`https://stackoverflow.com/questions/38214065
复制相似问题