Class AbstractDoubleWordElement<E,T>
java.lang.Object
io.openems.edge.bridge.modbus.api.element.AbstractModbusElement<T>
io.openems.edge.bridge.modbus.api.element.AbstractModbusRegisterElement<E,T>
io.openems.edge.bridge.modbus.api.element.AbstractDoubleWordElement<E,T>
- Type Parameters:
E
- the subclass of myselfT
- the target OpenemsType
- All Implemented Interfaces:
ModbusElement<T>
,ModbusRegisterElement<T>
- Direct Known Subclasses:
FloatDoublewordElement
,SignedDoublewordElement
,UnsignedDoublewordElement
A DoubleWordElement has a size of two Modbus Registers or 32 bit.
-
Field Summary
Fields inherited from class io.openems.edge.bridge.modbus.api.element.AbstractModbusElement
abstractTask, onSetNextWriteCallbacks
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
_setInputRegisters
(com.ghgande.j2mod.modbus.procimg.InputRegister... registers) final void
_setNextWriteValue
(Optional<T> valueOpt) Sets a value that should be written to the Modbus device.protected abstract T
fromByteBuffer
(ByteBuffer buff) Converts a 4-byte ByteBuffer to the the current OpenemsType.final int
Number of Registers or Coils.protected abstract E
self()
Gets an instance of the correct subclass of myself.protected abstract ByteBuffer
toByteBuffer
(ByteBuffer buff, T value) Converts the current OpenemsType to a 4-byte ByteBuffer.final E
Sets the Word-Order.Methods inherited from class io.openems.edge.bridge.modbus.api.element.AbstractModbusRegisterElement
byteOrder, getByteOrder, getNextWriteValue, setInputRegisters, setNextWriteValueRegisters
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
deactivate, getStartAddress, getType, invalidate, isIgnored, onSetNextWrite, setModbusTask
Methods inherited from interface io.openems.edge.bridge.modbus.api.element.ModbusRegisterElement
getNextWriteValueAndReset, setNextWriteValue
-
Constructor Details
-
AbstractDoubleWordElement
-
-
Method Details
-
self
Gets an instance of the correct subclass of myself.- Specified by:
self
in classAbstractModbusRegisterElement<E,
T> - Returns:
- myself
-
getLength
public final int getLength()Description copied from interface:ModbusElement
Number of Registers or Coils.- Returns:
- the number of Registers or Coils
-
_setInputRegisters
protected final void _setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers) - Specified by:
_setInputRegisters
in classAbstractModbusRegisterElement<E,
T>
-
fromByteBuffer
Converts a 4-byte ByteBuffer to the the current OpenemsType.- Parameters:
buff
- the ByteBuffer- Returns:
- an instance of the given OpenemsType
-
_setNextWriteValue
Description copied from interface:ModbusElement
Sets a value that should be written to the Modbus device.- Parameters:
valueOpt
- the Optional value- Throws:
OpenemsException
- on error
-
toByteBuffer
Converts the current OpenemsType to a 4-byte ByteBuffer.- Parameters:
buff
- the target ByteBuffervalue
- an instance of the given OpenemsType- Returns:
- the ByteBuffer
-
wordOrder
Sets the Word-Order. Default is "MSWLSW" - "Most Significant Word; Least Significant Word". See http://www.simplymodbus.ca/FAQ.htm#Order.- Parameters:
wordOrder
- the new Word-Order- Returns:
- myself
-