我试图将控制设定点从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
}
有人可以帮助我调试此错误吗?从更大的角度来看,我很想将VOLTTRON用作具有建筑负载和DER的设施的监督控制器。谢谢。