Search in sources :

Example 1 with WriteSingleRegisterRequest

use of com.ghgande.j2mod.modbus.msg.WriteSingleRegisterRequest in project openems by OpenEMS.

the class ModbusBridge method writeSingleRegister.

private ModbusResponse writeSingleRegister(int modbusUnitId, int address, Register register) throws ModbusException, OpenemsModbusException {
    ModbusTransaction trans = getTransaction();
    WriteSingleRegisterRequest req = new WriteSingleRegisterRequest(address, register);
    req.setUnitID(modbusUnitId);
    trans.setRequest(req);
    try {
        trans.execute();
    } catch (ModbusException e) {
        // try again with new connection
        closeModbusConnection();
        trans = getTransaction();
        req = new WriteSingleRegisterRequest(address, register);
        req.setUnitID(modbusUnitId);
        trans.setRequest(req);
        trans.execute();
    }
    return trans.getResponse();
}
Also used : WriteSingleRegisterRequest(com.ghgande.j2mod.modbus.msg.WriteSingleRegisterRequest) ModbusTransaction(com.ghgande.j2mod.modbus.io.ModbusTransaction) ModbusException(com.ghgande.j2mod.modbus.ModbusException) OpenemsModbusException(io.openems.api.exception.OpenemsModbusException)

Aggregations

ModbusException (com.ghgande.j2mod.modbus.ModbusException)1 ModbusTransaction (com.ghgande.j2mod.modbus.io.ModbusTransaction)1 WriteSingleRegisterRequest (com.ghgande.j2mod.modbus.msg.WriteSingleRegisterRequest)1 OpenemsModbusException (io.openems.api.exception.OpenemsModbusException)1