MasterDriverAgent.agent не вызывает интерфейсный класс Modbus

Мы пытаемся внедрить MasterDriverAgent в VOLTTRON, который взаимодействует с симулированным асинхронным сервером pymodbus на удаленном компьютере в локальной сети. Из журнала VOLTTRON похоже, что агент никогда не вызывает интерфейсный класс modbus.py. Последнее сообщение на шине относится к тесту масштабируемости, а затем отключается. На каждом интервале очистки он отображает сердцебиение с 'context':None

Я обновил конфиг с 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 (хотя я получаю Unhanded error in DeferredЯ полагаю, что происходит общение, так как я получаю активность на выходе обеих машин. Не так с MasterDriverAgent).

Моим следующим шагом может быть попытка реализовать базовый тестовый агент и поместить в него простой клиент pymodbus и посмотреть, смогу ли я получить какую-либо связь. Или... есть ли смоделированное устройство в VOLTTRON, которое было протестировано для связи с MasterDriverAgent и публикации на шине? Я думаю, что это может помочь мне изолировать проблему. Я извиняюсь, если моя проблема слишком расплывчата, я старался быть как можно более конкретным.

Если бы вы могли помочь пролить свет на эту проблему, я был бы признателен.

1 ответ

Сообщение журнала для неподдерживаемых конфигураций старого стиля поступает из конфигурации, которую вы упаковываете с MasterDriver. Если эта конфигурация имеет driver_config_list пункт, который выдаст предупреждение, что список конфигураций больше не будет загружаться.

Для нового стиля конфигурации вы должны предоставить MasterDriver полностью пустую конфигурацию при установке. Я думаю, что вы также можете оставить конфигурацию вне, и она будет делать то же самое.

Шаг, который вам не хватает, заключается в том, что преобразованные конфигурации необходимо загрузить в хранилище конфигурации платформы. Выходной каталог из update_master_driver_config.py может быть использован как вход для install_master_driver_configs.py,

http://volttron.readthedocs.io/en/develop/core_services/drivers/Driver-Configuration.html

http://volttron.readthedocs.io/en/develop/core_services/drivers/Driver-Configuration.html

Другие вопросы по тегам