2016-07-05 6 views
0

Итак, ниже приведены мои конфигурации для volttron. У меня есть совместимый с bacnet VAV, на котором я сгенерировал конфигурацию csv, используя grab_bacnet. Проблема в том, что прокси-сервер bacnet, а также очистка всего метода в драйвере bacnet не могут получить что-либо с устройства.Устройство Bacnet не идентифицирует pointName

Это также означает, что в volttron.log нет ошибки, когда я запускаю прокси-агент bacnet и агент главного драйвера. Но я попробую тестовый агент, как показано ниже. Я получаю 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 

Это ошибка, которую я получаю, когда тестовый тест не работает.

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 питона скрипты/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-файла, чтобы мы могли видеть доступные имена точек.

EDIT

(мы на самом деле решить это раньше по телефону, но я добавлю его здесь для потомства.)

Проблема заключается в том, что вы не обеспечивают правильную комбинацию устройства ID и адрес. Адрес всегда является адресом фактического устройства, а не маршрутизатором, который может оказаться перед ним. Идентификатор устройства всегда является фактическим идентификатором устройства.

С выхода bacnet_scan вы должны использовать «5701: 37» для адреса и 990037 для идентификатора устройства.

Ключевая ошибка - это побочный эффект неправильной настройки этого параметра.

Идентификатор устройства недавно был добавлен как требование обеспечить в большинстве случаев, чтобы прокси-сервер BACnet мог установить маршрут к устройству.

+0

я понял, что адрес удаленной станции должен быть использован в качестве адреса устройства BACnet и он не был адрес маршрутизатора от ответа Кайла и решить мою проблему с коммуникацией устройства. Благодаря! –

+0

Добро пожаловать! –

0

Спасибо Кайл. В нашей конфигурации оборудования используется маршрутизатор BACnet (ID 570009) и контроллер VAV (ID 990037). С конфигурацией grab у нас должны быть оба файла регистровых точек с обозначенными именами имен Volttron.

Это grab_config из-теста колонки для .csv файл контроллера VAV (Как 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 вместо VAV устройства. Но мы до сих пор получить KeyError

**test_bacnet1.config**
{ "driver_config": {"device_address": "192.168.1.9", "device_id":"570009" },...

Смежные вопросы