Class AbstractModbusRegisterElement<E,T>

java.lang.Object
io.openems.edge.bridge.modbus.api.element.AbstractModbusElement<T>
io.openems.edge.bridge.modbus.api.element.AbstractModbusRegisterElement<E,T>
Type Parameters:
E - the subclass of myself
T - the target OpenemsType
All Implemented Interfaces:
ModbusElement<T>, ModbusRegisterElement<T>
Direct Known Subclasses:
AbstractDoubleWordElement, AbstractQuadrupleWordElement, AbstractWordElement, StringWordElement

public abstract class AbstractModbusRegisterElement<E,T> extends AbstractModbusElement<T> implements ModbusRegisterElement<T>
A ModbusRegisterElement represents one or more Modbus Registers.
  • Constructor Details

    • AbstractModbusRegisterElement

      public AbstractModbusRegisterElement(OpenemsType type, int startAddress)
  • Method Details

    • self

      protected abstract E self()
      Gets an instance of the correct subclass of myself.
      Returns:
      myself
    • setNextWriteValueRegisters

      protected void setNextWriteValueRegisters(Optional<com.ghgande.j2mod.modbus.procimg.Register[]> writeValueOpt) throws OpenemsException
      Throws:
      OpenemsException
    • getNextWriteValue

      public Optional<com.ghgande.j2mod.modbus.procimg.Register[]> getNextWriteValue()
      Description copied from interface: ModbusRegisterElement
      Gets the next write value.
      Specified by:
      getNextWriteValue in interface ModbusRegisterElement<E>
      Returns:
      the next value as an Optional array of Registers
    • byteOrder

      public final E byteOrder(ByteOrder byteOrder)
      Sets the Byte-Order. Default is "BIG_ENDIAN". See http://www.simplymodbus.ca/FAQ.htm#Order.
      Parameters:
      byteOrder - the ByteOrder
      Returns:
      myself
    • getByteOrder

      public ByteOrder getByteOrder()
    • setInputRegisters

      public void setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers) throws OpenemsException
      Description copied from interface: ModbusRegisterElement
      Sets the value of this Element from InputRegisters.
      Specified by:
      setInputRegisters in interface ModbusRegisterElement<E>
      Parameters:
      registers - the InputRegisters
      Throws:
      OpenemsException - on error
    • _setInputRegisters

      protected abstract void _setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers)