2
Jamodを使用してModbusレジスタからデータを取得しようとしています。 IEEE浮動小数点形式のデータが必要です。jamod apiを使用してmodbusレジスタから浮動小数点値を取得
private float getData (String address, int count) {
float sum = 0.0f;
request = new ReadMultipleRegistersRequest(Integer.parseInt(address), count);
response = new ReadMultipleRegistersResponse();
request.setUnitID(1);
response.setUnitID(1);
request.setHeadless();
try {
response = (ReadMultipleRegistersResponse) execute(connection, holdingRequest);
for (int i=0; i<registerCount; i++) {
sum = sum + response.getRegisterValue(i);
}
System.out.println("Sum: " + sum);
} catch (Exception e) {
e.printStackTrace();
}
return sum;
}
private ModbusResponse execute(SerialConnection connection, ModbusRequest request) {
try {
transaction = new ModbusSerialTransaction(connection);
transaction.setRequest(request);
transaction.execute();
return transaction.getResponse();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
しかし、私はいくつかのランダムな値を取得するたびに:私は、次のコードを試してみました。私はオンラインで検索し、これがlinkであることを発見しました。私はリンクに解決策を試みたが、私はjava.lang.ArrayIndexOutOfBoundsException: 4
を得ている。どんな助けもありがとう。