2016-07-05 22 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 

これは、テストエージェントが実行されていないときに発生するエラーです。

  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を私はこのような呼び出しが作るアクチュエータを通して私のTestAgent上の第二

ERROR: Failed to scrape campus/building/bacnet1: 
RuntimeError('Device communication aborted: noResponse') 

「) ")

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走っ:値のいずれかが、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 

誰もがこの問題で私を導くことができるの?

答えて

1

ここには2つの問題があるようです。

まず、デバイスが単に応答していないように見えます。これは、構成上の問題test_bacnet1.configが原因である可能性があります。

最初に設定を取得するために使用したコマンドラインは何ですか?

第2に、エージェントで使用したポイント名と、CSVファイル内のポイント名との間に不一致があるようです。

利用可能なポイント名が表示されるように、CSVファイルの内容を投稿してください。

EDIT

(私たちは、実際に電話で以前に解決されますが、私は後世のためにそれをここに追加します。)

問題は、あなたは、デバイスの正しい組み合わせを提供していないということですIDと住所。アドレスは常に実際のデバイスのアドレスであり、ルータの前に座っている可能性があります。デバイスIDは常に実際のデバイスIDです。

bacnet_scanの出力からは、アドレスに「5701:37」、デバイスIDに990037を使用します。

キーエラーはこれを誤って設定した場合の副作用です。

ほとんどの場合、BACnetプロキシがデバイスへのルートを確立できるように、デバイスIDが最近追加されました。

+0

を取得し、私は、遠隔局のアドレスはBACnetのデバイスアドレスとして使用する必要があることを理解し、それはカイルの応答からルータアドレスではなかった、それは、デバイスの通信と私の問題を解決しました。ありがとう! –

+0

あなたは大歓迎です! –

0

ありがとうございます。私たちのハードウェア構成は、BACnetルータ(ID 570009)とVAVコントローラ(ID 990037)を使用しています。グラブ設定では、指定されたVolttron Point Namesを持つレジスタポイントファイルを両方持っている必要があります。

これらは、VAVコントローラのcsvファイルのgrab_configアウトテスト列です(Priyankたちは約75個のレジスタ・ポイントを持って述べたように、私たちは、私たちがflow_sp_1とdmpr_pos_1を変更しようとしている2つのポイントを示すされている):

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)はオブジェクト名を使用します。

間違いを見つけるために私たちを教えていただけたら幸いです。 VAVデバイスISの代わりにBACnetルータIDを使用して設定ファイルを変更しました。 しかし、我々はまだKeyError例外

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

関連する問題