0
私はJamodを使用してModbusデバイスから値を取得しています。正常な値で正常に動作します。私はレジスタから負の値を取得しようとすると、いくつかのランダムな値を生成します。JAMODを使用して負の値を取得する方法
コード:
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;
}
助けてください。おかげさまで