Class BatteryFeneconCommercialImpl
java.lang.Object
io.openems.edge.common.component.AbstractOpenemsComponent
io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
io.openems.edge.battery.fenecon.commercial.BatteryFeneconCommercialImpl
- All Implemented Interfaces:
Battery
,BatteryFeneconCommercial
,ModbusComponent
,OpenemsComponent
,ModbusSlave
,StartStoppable
,org.osgi.service.event.EventHandler
public class BatteryFeneconCommercialImpl
extends AbstractOpenemsModbusComponent
implements BatteryFeneconCommercial, Battery, ModbusComponent, OpenemsComponent, org.osgi.service.event.EventHandler, ModbusSlave, StartStoppable
-
Nested Class Summary
Nested classes/interfaces inherited from class io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
AbstractOpenemsModbusComponent.BitConverter, AbstractOpenemsModbusComponent.ChannelMapper<ELEMENT extends ModbusElement>
Nested classes/interfaces inherited from interface io.openems.edge.battery.api.Battery
Battery.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.battery.fenecon.commercial.BatteryFeneconCommercial
BatteryFeneconCommercial.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.bridge.modbus.api.ModbusComponent
ModbusComponent.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.common.component.OpenemsComponent
OpenemsComponent.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.common.startstop.StartStoppable
StartStoppable.ChannelId
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final ElementToChannelConverter
Generates serial number converter helper to read master and battery module serial numbers.protected static final ElementToChannelConverter
Converts master and sub master versions. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Handles @Deactivate of implementations.debugLog()
Gets some output that is suitable for a continuous Debug log.protected ModbusProtocol
Defines the Modbus protocol.getModbusSlaveTable
(AccessMode accessMode) Gets the Modbus-Slave-Table for this OpenEMS-Component.Gets the target Start/Stop mode from config or StartStop-Channel.void
handleEvent
(org.osgi.service.event.Event event) protected void
setModbus
(BridgeModbus modbus) Set the Modbus bridge.void
setStartStop
(StartStop value) Starts or stops the device or service represented by this OpenEMS Component.protected void
Update Number of towers,modules and cells; called on onChange event.protected void
SoC to be set maximum(100) or minimum(0) based on discharge and charge current of the battery.Methods inherited from class io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
activate, activate, activate, getBridgeModbus, getModbusProtocol, getUnitId, m, m, m, m, m, m, modified, modified, retryModbusCommunication, unsetModbus
Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, addChannel, addChannels, addChannels, alias, channels, getComponentContext, id, isEnabled, logDebug, logError, logInfo, logWarn, removeChannel
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.openems.edge.battery.api.Battery
_setCapacity, _setCapacity, _setChargeMaxCurrent, _setChargeMaxCurrent, _setChargeMaxVoltage, _setChargeMaxVoltage, _setCurrent, _setCurrent, _setDischargeMaxCurrent, _setDischargeMaxCurrent, _setDischargeMinVoltage, _setDischargeMinVoltage, _setMaxCellTemperature, _setMaxCellTemperature, _setMaxCellVoltage, _setMaxCellVoltage, _setMinCellTemperature, _setMinCellTemperature, _setMinCellVoltage, _setMinCellVoltage, _setSoc, _setSoc, _setSoh, _setSoh, _setVoltage, _setVoltage, getCapacity, getCapacityChannel, getChargeMaxCurrent, getChargeMaxCurrentChannel, getChargeMaxVoltage, getChargeMaxVoltageChannel, getCurrent, getCurrentChannel, getDischargeMaxCurrent, getDischargeMaxCurrentChannel, getDischargeMinVoltage, getDischargeMinVoltageChannel, getMaxCellTemperature, getMaxCellTemperatureChannel, getMaxCellVoltage, getMaxCellVoltageChannel, getMinCellTemperature, getMinCellTemperatureChannel, getMinCellVoltage, getMinCellVoltageChannel, getSoc, getSocChannel, getSoh, getSohChannel, getVoltage, getVoltageChannel
Methods inherited from interface io.openems.edge.battery.fenecon.commercial.BatteryFeneconCommercial
_setMasterBmsStarted, _setMaxStartAttempts, _setMaxStopAttempts, getMasterStarted, getMasterStartedChannel, getMaxStartAttempts, getMaxStartAttemptsChannel, getMaxStopAttempts, getMaxStopAttemptsChannel
Methods inherited from interface io.openems.edge.bridge.modbus.api.ModbusComponent
_setModbusCommunicationFailed, getModbusCommunicationFailed, getModbusCommunicationFailedChannel, retryModbusCommunication
Methods inherited from interface io.openems.edge.common.component.OpenemsComponent
_channel, _getChannelAs, alias, channel, channel, channels, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, serviceFactoryPid, servicePid
Methods inherited from interface io.openems.edge.common.startstop.StartStoppable
_setStartStop, getStartStop, getStartStopChannel, isStarted, isStopped, start, stop
-
Field Details
-
VERSION_CONVERTER
Converts master and sub master versions. e.g.input: "012001SM05" --> MASTER_MCU_HARDWARE_VERSION, "100201MS50" -
SERIAL_NUMBER_CONVERTER
Generates serial number converter helper to read master and battery module serial numbers. e.g. input: "17005740232238EMSD0W0000" --> MASTER_SERIAL_NUMBER, "00000WSDEM38222340570017"
-
-
Constructor Details
-
BatteryFeneconCommercialImpl
public BatteryFeneconCommercialImpl()
-
-
Method Details
-
setModbus
Description copied from class:AbstractOpenemsModbusComponent
Set the Modbus bridge. Should be called by @Reference- Overrides:
setModbus
in classAbstractOpenemsModbusComponent
- Parameters:
modbus
- the BridgeModbus Reference
-
deactivate
protected void deactivate()Description copied from class:AbstractOpenemsComponent
Handles @Deactivate of implementations. Prints log output.- Overrides:
deactivate
in classAbstractOpenemsModbusComponent
-
defineModbusProtocol
Description copied from class:AbstractOpenemsModbusComponent
Defines the Modbus protocol.- Specified by:
defineModbusProtocol
in classAbstractOpenemsModbusComponent
- Returns:
- the ModbusProtocol
- Throws:
OpenemsException
- on error
-
updateNumberOfTowersAndModulesAndCells
protected void updateNumberOfTowersAndModulesAndCells()Update Number of towers,modules and cells; called on onChange event.Recalculate the number of towers, modules and cells. Unfortunately the battery may report too small wrong values in the beginning, so we need to recalculate on every change.
-
updateSoc
protected void updateSoc()SoC to be set maximum(100) or minimum(0) based on discharge and charge current of the battery. -
debugLog
Description copied from interface:OpenemsComponent
Gets some output that is suitable for a continuous Debug log. Returns 'null' by default which causes no output.- Specified by:
debugLog
in interfaceOpenemsComponent
- Returns:
- the debug log output
-
getModbusSlaveTable
Description copied from interface:ModbusSlave
Gets the Modbus-Slave-Table for this OpenEMS-Component.- Specified by:
getModbusSlaveTable
in interfaceModbusSlave
- Parameters:
accessMode
- filters the Modbus-Records that should be shown- Returns:
- the Modbus-Slave-Table
-
handleEvent
public void handleEvent(org.osgi.service.event.Event event) - Specified by:
handleEvent
in interfaceorg.osgi.service.event.EventHandler
-
setStartStop
Description copied from interface:StartStoppable
Starts or stops the device or service represented by this OpenEMS Component.- Specified by:
setStartStop
in interfaceStartStoppable
- Parameters:
value
- targetStartStop
state
-
getStartStopTarget
Description copied from interface:BatteryFeneconCommercial
Gets the target Start/Stop mode from config or StartStop-Channel.- Specified by:
getStartStopTarget
in interfaceBatteryFeneconCommercial
- Returns:
StartStop
-