主驾驶代理不调用modbus接口类

2024-06-26 13:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在尝试在VOLTTRON中实现一个MasterDriverAgent,它与本地网络中远程机器上的模拟pymodbus异步服务器进行通信。从VOLTTRON的记录来看,特工好像从来没打过电话modbus.py协议接口类。总线上的最后一条消息与可伸缩性测试相关,然后它就沉默了。在每个scrape间隔,它会显示一个带有'context':None的心跳信号

我用scripts/update_master_driver_config.py脚本更新了配置,但仍然在日志中得到关于旧样式配置不受支持的消息。你知道吗

这是我的主人_司机.代理人配置文件:

{
    "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,但我相信会发生通信,因为我在两台机器的输出上都得到了活动。但主驾驶却不是这样。你知道吗

我的下一步可能是尝试实现一个基本的测试代理,并在其中放置一个简单的pymodbus客户机,看看是否可以进行任何通信。或者..在VOLTTRON中有没有一个模拟设备已经过测试,可以与主驱动程序对话并发布到总线上?我想这可能有助于我解决问题。我很抱歉,如果我的问题太模糊,我尽量具体。你知道吗

如果你能帮我弄清楚这个问题,我将不胜感激。你知道吗


Tags: coredebugmasterconfig消息versiondrivermodbus
1条回答
网友
1楼 · 发布于 2024-06-26 13:23:18

不支持旧式配置的日志消息来自您与主驱动程序打包的配置。如果该配置有driver_config_list项,它将发出警告,通知您配置列表将不再加载。你知道吗

对于新的配置样式,您应该在安装主驱动程序时为其提供完全空的配置。我想你也可以省去配置,它也会做同样的事情。你知道吗

您缺少的步骤是需要将转换的配置加载到平台配置存储中。来自update_master_driver_config.py的输出目录可以用作install_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

相关问题 更多 >