2017-05-02 3 views
1

ローカルネットワーク内のリモートマシン上のシミュレートされたpymodbus非同期サーバーと通信するVOLTTRONにMasterDriverAgentを実装しようとしています。 VOLTTRONログからは、エージェントがmodbus.pyインターフェースクラスを決して呼び出さないように見えます。バス上の最後のメッセージはスケーラビリティテストに関連しており、その後は静かになります。擦り切れ間隔ごとに、'context':NoneMasterDriverAgent.agentがmodbusインターフェイスクラスを呼び出さない

scripts/update_master_driver_config.pyスクリプトを使用して設定を更新しましたが、サポートされていない古いスタイル設定に関するログにそのメッセージが残っています。

は、ここに私のmaster_driver.agentの設定ファイルである:

{ 
    "agentid": "master_driver", 
    "driver_config_list": [ 
          "/home/volttron/volttron/services/core/MasterDriverAgent/master_driver/test_modbus_plant1.config", 
          "/home/volttron/volttron/services/core/MasterDriverAgent/master_driver/test_modbus_rt_ctrl_blk1.config" 
          ] 
} 

と私のデバイスの設定ファイル:

{ 
    "driver_config": {"device_address": "10.0.1.19", 
       "port": 1060, 
       "slave_id": 0}, 
    "plant": "plant1", 
    "unit": "device1", 
    "driver_type": "modbus", 
    "registry_config":"/home/volttron/volttron/volttron/drivers/plant1.csv", 
    "interval": 30, 
    "timezone": "UTC", 
    "heart_beat_point": "ESMMode" 
} 

私はまた、デバイスの設定ファイルで指定された場所にあるレジストリ設定ファイルを持っています。

ここに、デバッグモードでのVOLTTRONログの出力があります(私はリスナーエージェントのハートビートを省略しました)。

2017-05-01 21:57:51,830 (master_driveragent-3.1.1 9513) master_driver.agent WARNING: Master driver configured with old setting. This is no longer supported. 
2017-05-01 21:57:51,831 (master_driveragent-3.1.1 9513) master_driver.agent WARNING: Use the script "scripts/update_master_driver_config.py" to convert the configuration. 
2017-05-01 21:57:51,832 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.core DEBUG: address: ipc://@/home/volttron/.volttron/run/vip.socket 
2017-05-01 21:57:51,833 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.core DEBUG: identity: platform.driver 
2017-05-01 21:57:51,833 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.core DEBUG: agent_uuid: 12fb6f87-ec81-48be-819b-57d9e7a41bd6 
2017-05-01 21:57:51,834 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.core DEBUG: severkey: None 
2017-05-01 21:57:51,851() volttron.platform.auth INFO: authentication success: domain='vip', address='localhost:1000:1000:9513', mechanism='CURVE', credentials=['e1xxY8-YkuA1t46q2Vlmvw8gjuQcegB6fypwB4XeX24'], user_id='platform.driver' 
2017-05-01 21:57:51,857 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.core INFO: Connected to platform: router: 404e0ff7-6f6b-4913-a368-ac995444f1bd version: 1.0 identity: platform.driver 
2017-05-01 21:57:51,858 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.core DEBUG: Running onstart methods. 
2017-05-01 21:57:51,865 (listeneragent-3.2 9483) listener.agent DEBUG: Peer: 'pubsub', Sender: 'platform.driver':, Bus: u'', Topic: 'heartbeat/MasterDriverAgent/12fb6f87-ec81-48be-819b-57d9e7a41bd6', Headers: {'Date': '2017-05-02T04:57:51.859139+00:00', 'max_compatible_version': u'', 'min_compatible_version': '3.0'}, Message: {'status': 'GOOD', 'last_updated': '2017-05-02T04:57:51.835134+00:00', 'context': None} 
2017-05-01 21:57:51,871 (master_driveragent-3.1.1 9513) volttron.platform.vip.agent.subsystems.configstore DEBUG: Processing callbacks for affected files: {'config': 'NEW'} 
2017-05-01 21:57:51,871 (master_driveragent-3.1.1 9513) master_driver.agent INFO: maximum concurrently open sockets limited to 3276 (derived from system limits) 
2017-05-01 21:57:51,871 (master_driveragent-3.1.1 9513) master_driver.agent INFO: maximum concurrent driver publishes limited to 10000 
. 
. 
. 
2017-05-01 16:30:25,489 (listeneragent-3.2 7710) listener.agent DEBUG: Peer: 'pubsub', Sender: 'platform.driver':, Bus: u'', Topic: 'heartbeat/MasterDriverAgent/5cfc8abc-6e7d-42be-b7c1-d234bb3ea05f', Headers: {'Date': '2017-05-01T23:30:25.486351+00:00', 'max_compatible_version': u'', 'min_compatible_version': '3.0'}, Message: {'status': 'GOOD', 'last_updated': '2017-05-01T23:29:25.464609+00:00', 'context': None} 

私はここでドライバーフレームワークの大きな部分が欠けているように感じますが、今はしばらく壁に当たっています。私は通常、問題がログ内のエラーメッセージのどこにあるのかを知ることができますが、この場合は何も表示されません。

基本的なTCPサーバ/クライアントスクリプトを使用して、またpymodbusの非同期サーバ/クライアントスクリプトを使用して2台のマシン間で通信することができます(Unhanded error in Deferredがありますが、両方のマシンの出力.MasterDriverAgentではそうではありません)。

次のステップでは、基本的なテストエージェントを実装し、単純なpymodbusクライアントをその内部に配置して、通信が行われるかどうかを確認することがあります。または、VOLTTRON内にシミュレートされたデバイスがあり、MasterDriverAgentと会話してバスに公開することがテストされていますか?私はこれが私が問題を隔離するのに役立つかもしれないと思う。私の問題があまりにも漠然としている場合は謝罪し、できる限り具体的にしようとしました。

この問題についてどのような兆候が見えるかお気軽にお礼申し上げます。

答えて

0

古いスタイルの設定がサポートされていないためのログメッセージは、MasterDriverでパッケージ化している設定からのものです。その設定にdriver_config_listという項目がある場合は、設定のリストがもうロードされないことを知らせる警告が表示されます。

新しい設定スタイルでは、MasterDriverをインストールするときにMasterDriverを完全に空の状態にする必要があります。私はあなたも構成を外にすることができ、それは同じことをするだろうと思う。

欠落しているステップは、変換された構成をプラットフォーム構成ストアにロードする必要があることです。出力ディレクトリupdate_master_driver_config.pyinstall_master_driver_configs.pyの入力として使用できます。

http://volttron.readthedocs.io/en/develop/core_services/drivers/Driver-Configuration.html#converting-old-style-configuration

http://volttron.readthedocs.io/en/develop/core_services/drivers/Driver-Configuration.html#adding-device-configurations-to-the-configuration-store

関連する問題