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 myselfT
- 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.
-
-
Field Summary
-
Fields inherited from class io.openems.edge.bridge.modbus.api.element.AbstractModbusElement
abstractTask, onSetNextWriteCallbacks
-
-
Constructor Summary
Constructors Constructor Description AbstractModbusRegisterElement(OpenemsType type, int startAddress)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
_setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers)
E
byteOrder(java.nio.ByteOrder byteOrder)
Sets the Byte-Order.java.nio.ByteOrder
getByteOrder()
java.util.Optional<com.ghgande.j2mod.modbus.procimg.Register[]>
getNextWriteValue()
protected abstract E
self()
Gets an instance of the correct subclass of myself.void
setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers)
Sets the value of this Element from InputRegisters.protected void
setNextWriteValueRegisters(java.util.Optional<com.ghgande.j2mod.modbus.procimg.Register[]> writeValueOpt)
-
Methods inherited from class io.openems.edge.bridge.modbus.api.element.AbstractModbusElement
deactivate, debug, getModbusTask, getStartAddress, getType, invalidate, isDebug, isIgnored, onSetNextWrite, onUpdateCallback, setModbusTask, setValue, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.openems.edge.bridge.modbus.api.element.ModbusElement
_setNextWriteValue, deactivate, getLength, getStartAddress, getType, invalidate, isIgnored, onSetNextWrite, setModbusTask
-
Methods inherited from interface io.openems.edge.bridge.modbus.api.element.ModbusRegisterElement
getNextWriteValueAndReset, setNextWriteValue
-
-
-
-
Constructor Detail
-
AbstractModbusRegisterElement
public AbstractModbusRegisterElement(OpenemsType type, int startAddress)
-
-
Method Detail
-
self
protected abstract E self()
Gets an instance of the correct subclass of myself.- Returns:
- myself
-
setNextWriteValueRegisters
protected void setNextWriteValueRegisters(java.util.Optional<com.ghgande.j2mod.modbus.procimg.Register[]> writeValueOpt) throws OpenemsException
- Throws:
OpenemsException
-
getNextWriteValue
public java.util.Optional<com.ghgande.j2mod.modbus.procimg.Register[]> getNextWriteValue()
- Specified by:
getNextWriteValue
in interfaceModbusRegisterElement<E>
-
byteOrder
public final E byteOrder(java.nio.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 java.nio.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 interfaceModbusRegisterElement<E>
- Parameters:
registers
- the InputRegisters- Throws:
OpenemsException
- on error
-
_setInputRegisters
protected abstract void _setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers)
-
-