2016-07-05 85 views
0

所以下面是我对伏特的配置。我有一个兼容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 

任何人都可以指导我这个问题?

回答

1

看起来这里有两个问题。

首先它看起来像设备没有响应。这可能是由于配置问题test_bacnet1.config。

您在第一时间用来抓取配置的命令行是什么?

其次是代理中使用的点名称与CSV文件中点的名称之间似乎不匹配。

请发布您的CSV文件的内容,以便我们可以看到可用的点名称。

编辑

(实际上,我们解决了这个早期的手机,但我会在这里它为后人。)

的问题是,你没有提供的设备的正确组合ID和地址。地址始终是实际设备的地址,而不是可能恰好坐在它前面的路由器。设备ID始终是实际的设备ID。

从bacnet_scan的输出中,您可以使用“5701:37”作为地址,使用990037作为设备ID。

关键的错误是不正确地设置它的副作用。

最近添加了设备ID作为要求,以确保在大多数情况下BACnet代理可以建立到设备的路由。

+0

我明白了远程站的地址有可能被用来作为BACnet设备地址,它是不是从凯尔的响应路由器地址,它解决了我的问题,设备的通信。谢谢! –

+0

不客气! –

0

谢谢凯尔。我们的硬件配置使用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" },...