2016-07-05 2 views
0

다음은 볼트 트론에 대한 나의 구성입니다. 나는 grab_bacnet을 사용하여 config csv를 생성 한 bacnet 호환 VAV를 첨부했습니다. 문제는 bacnet 프록시에서 bacnet 드라이버의 모든 메소드를 긁어 내면 장치에서 아무 것도 얻을 수 없다는 것입니다.Bacnet 장치가 pointName을 식별하지 않음

이는 또한 bacnet 프록시 에이전트 및 마스터 드라이버 에이전트를 시작할 때 volttron.log에 오류가 표시되지 않는다는 점에 유의하십시오. 하지만 아래에 표시된 테스트 에이전트를 사용하면 요청이 잘못된 장치로 보내지거나 bacnet에서 장치를 전혀 식별 할 수 없다는 keyError가 발생합니다.

**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에 내가 전화 같이합니다 RemoteError : volttron.platform.jsonrpc.RemoteError ("KeyError를 ('dmpr_pos_1

  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 나에게 오류를 제공 ') ")

EDIT 1 파이썬 스크립트/백넷/bacnet_scan.py --ini 스크립트/백넷/BACpypes.ini

값 중 하나가 csv 파일이 같다

python scripts/bacnet/grab_bacnet_config.py 990037 --ini scripts/bacnet/BACpypes.ini --out-file bac3.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 

사람이 문제에 나를 인도 할 수 그 후

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를 실행?

답변

1

여기에는 두 가지 문제가있는 것처럼 보입니다.

처음에는 장치가 단순히 응답하지 않는 것처럼 보입니다. 이는 구성. 제점 test_bacnet1.config로 인해 발생할 수 있습니다.

처음에 구성을 가져 오는 데 사용한 명령 줄은 무엇입니까?

두 번째는 상담원에서 사용한 점 이름과 CSV 파일의 점 이름 사이에 불일치가있는 것입니다.

사용 가능한 포인트 이름을 볼 수 있도록 CSV 파일의 내용을 게시하십시오.

편집

(우리는 실제로 전화에 이전을 해결하지만 후대를 위해 여기를 추가 할 것입니다.)

문제는 당신이 장치의 올바른 조합을 제공하지 않는 것입니다 ID와 주소. 주소는 항상 실제 장치의 주소이며 그 앞에 앉아있을 수있는 라우터는 아닙니다. 장치 ID는 항상 실제 장치 ID입니다.

bacnet_scan의 출력에서 ​​주소에 "5701 : 37"을, 장치 ID에 990037을 사용합니다.

키 오류는이를 잘못 설정하면 발생하는 부작용입니다.

대부분의 경우 BACnet 프록시가 장치에 대한 경로를 설정할 수 있도록 장치 ID가 최근에 추가되었습니다.

+0

를 얻을 나는 원격 스테이션 주소가 백넷 장치 주소로 사용한다는 것을 이해하고는 카일의 반응에서 라우터 주소 아니었다 그것은 장치 통신과 내 문제를 해결했다. 감사! –

+0

오신 것을 환영합니다! –

0

감사합니다. 카일. 우리의 하드웨어 구성은 BACnet 라우터 (ID 570009)와 VAV 컨트롤러 (ID 990037)를 사용합니다. grab config를 사용하면 지정된 Volttron Point Names와 함께 두 개의 등록 포인트 파일을 가져야합니다.

이는 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)은 개체 이름을 사용합니다.

Google에서 실수를 발견 할 수 있으면 감사드립니다. 또한 VAV 장치 IS 대신 BACnet 라우터 ID를 사용하여 구성 파일을 수정했습니다. 하지만 우리는 여전히 KeyError를

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

관련 문제