使用TCP MODBUS在HYPERSIM和VOLTTRON之间进行协同仿真

时间:2020-09-14 02:48:43

标签: python-2.7 raspberry-pi modbus modbus-tcp volttron

我试图将控制设定点从HYPERSIM发送到Raspberry Pi,并使用TCP MODBUS通信协议在VOLTTRON平台中使用modbus驱动程序读取它。我可以使用常规python脚本读取发送到HOLDING寄存器的数据。但是,在尝试通读VOLTTRON时,出现错误消息“ 没有足够的数据可解析” 我已经附加了我的modbus驱动程序配置,注册表配置和显示错误的屏幕截图。

try {
    // TODO: Add Json object in Body "myJSON"
    // TODO: Add Certificate "abc.p12" and password "123456".
    String request = WCFGlobalVariables.getApiUrl();
    URL url = new URL(request);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(WCFGlobalVariables.getProxyName(), WCFGlobalVariables.getProxyPort())));
    conn.setDoOutput(true);
    conn.setInstanceFollowRedirects(false);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    conn.setRequestProperty("charset", "utf-8");
    conn.setUseCaches(false);
    try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {

    }
} catch (Exception ex) {
    log.error(ex.getLocalizedMessage());
}

192.168.10.201是运行HYPERSIM的OPAL-RT的IP地址。

我怀疑该错误与我设置注册表配置的方式有关,但我不确定。

#modbus config
{
    "driver_config": {"device_address": "192.168.10.201","port":502, "slave_id": 1},
    "driver_type": "modbus",
    "registry_config":"config://registry_configs/test_modbus.csv",
    "interval": 20,
    "timezone": "UTC",
    "campus": "my_campus",
    "building": "my_building",
    "heart_beat_period":"heartbeat",
    "publish_breadth_first_all": false,
    "publish_depth_first": false,
    "publish_breadth_first": false
}

eRROR enter image description here

有人可以帮助我调试此错误吗?从更大的角度来看,我很想将VOLTTRON用作具有建筑负载和DER的设施的监督控制器。谢谢。

0 个答案:

没有答案