0

以下は、ボルトトロンの私の構成です。私は、grab_bacnet を使用して構成 csv を生成した、bacnet 互換の VAV をアタッチしています。問題は、bacnet プロキシと、bacnet ドライバーのすべてのメソッドのスクレイピングがデバイスから何も取得できないことです。

これは、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

これは、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 scripts/bacnet/bacnet_scan.py --ini scripts/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

誰でもこの問題について私を案内できますか?

4

2 に答える 2

0

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

これらは、VAV コントローラ csv ファイルのgrab_config out-test 列です (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" },...

于 2016-07-06T18:45:46.143 に答える