Interface ModbusRegisterElement<T>
- All Superinterfaces:
ModbusElement<T>
- All Known Implementing Classes:
AbstractDoubleWordElement
,AbstractModbusRegisterElement
,AbstractQuadrupleWordElement
,AbstractWordElement
,BitsWordElement
,DummyRegisterElement
,FloatDoublewordElement
,FloatQuadruplewordElement
,SignedDoublewordElement
,SignedQuadruplewordElement
,SignedWordElement
,StringWordElement
,UnsignedDoublewordElement
,UnsignedQuadruplewordElement
,UnsignedWordElement
A ModbusRegisterElement represents one or more Modbus Registers.
-
Method Summary
Modifier and TypeMethodDescriptionOptional<com.ghgande.j2mod.modbus.procimg.Register[]>
Gets the next write value.default Optional<com.ghgande.j2mod.modbus.procimg.Register[]>
Gets the next write value and resets it.void
setInputRegisters
(com.ghgande.j2mod.modbus.procimg.InputRegister... registers) Sets the value of this Element from InputRegisters.default void
setNextWriteValue
(Optional<Object> valueOpt) Sets a value that should be written to the Modbus device.Methods inherited from interface io.openems.edge.bridge.modbus.api.element.ModbusElement
_setNextWriteValue, deactivate, getLength, getStartAddress, getType, invalidate, isIgnored, onSetNextWrite, setModbusTask
-
Method Details
-
setInputRegisters
void setInputRegisters(com.ghgande.j2mod.modbus.procimg.InputRegister... registers) throws OpenemsException Sets the value of this Element from InputRegisters.- Parameters:
registers
- the InputRegisters- Throws:
OpenemsException
- on error
-
setNextWriteValue
default void setNextWriteValue(Optional<Object> valueOpt) throws OpenemsException, IllegalArgumentException Sets a value that should be written to the Modbus device.- Parameters:
valueOpt
- the Optional value- Throws:
OpenemsException
- on errorIllegalArgumentException
- on error
-
getNextWriteValueAndReset
Gets the next write value and resets it.This method should be called once in every cycle on the TOPIC_CYCLE_EXECUTE_WRITE event. It makes sure, that the nextWriteValue gets initialized in every Cycle. If registers need to be written again in every cycle, next setNextWriteValue()-method needs to called on every Cycle.
- Returns:
- the next value as an Optional array of Registers
-
getNextWriteValue
Optional<com.ghgande.j2mod.modbus.procimg.Register[]> getNextWriteValue()Gets the next write value.- Returns:
- the next value as an Optional array of Registers
-