Package io.openems.edge.ess.cluster
Class EssClusterImpl
- java.lang.Object
-
- io.openems.edge.common.component.AbstractOpenemsComponent
-
- io.openems.edge.ess.cluster.EssClusterImpl
-
- All Implemented Interfaces:
OpenemsComponent
,ModbusSlave
,AsymmetricEss
,ManagedAsymmetricEss
,ManagedSymmetricEss
,MetaEss
,SymmetricEss
,EssCluster
public class EssClusterImpl extends AbstractOpenemsComponent implements EssCluster, ManagedAsymmetricEss, AsymmetricEss, ManagedSymmetricEss, SymmetricEss, MetaEss, OpenemsComponent, ModbusSlave
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.AsymmetricEss
AsymmetricEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.cluster.EssCluster
EssCluster.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.ManagedAsymmetricEss
ManagedAsymmetricEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.ManagedSymmetricEss
ManagedSymmetricEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.common.component.OpenemsComponent
OpenemsComponent.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.SymmetricEss
SymmetricEss.ChannelId
-
-
Constructor Summary
Constructors Constructor Description EssClusterImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addEss(ManagedSymmetricEss ess)
void
applyPower(int activePower, int reactivePower)
Apply the calculated Power.void
applyPower(int activePowerL1, int reactivePowerL1, int activePowerL2, int reactivePowerL2, int activePowerL3, int reactivePowerL3)
Apply the calculated Power.protected void
deactivate()
Handles @Deactivate of implementations.java.lang.String[]
getEssIds()
Get the Component-IDs of energy storage systems that are handled by this MetaEss.ModbusSlaveTable
getModbusSlaveTable(AccessMode accessMode)
Gets the Modbus-Slave-Table for this OpenEMS-Component.Power
getPower()
Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.int
getPowerPrecision()
Gets the smallest positive power that can be set (in W, VA or var).protected void
removeEss(ManagedSymmetricEss ess)
-
Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, activate, activate, addChannel, addChannels, addChannels, alias, channels, getComponentContext, id, isEnabled, logDebug, logError, logInfo, logWarn, modified, 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.ess.api.AsymmetricEss
_setActivePowerL1, _setActivePowerL1, _setActivePowerL2, _setActivePowerL2, _setActivePowerL3, _setActivePowerL3, _setReactivePowerL1, _setReactivePowerL1, _setReactivePowerL2, _setReactivePowerL2, _setReactivePowerL3, _setReactivePowerL3, getActivePowerL1, getActivePowerL1Channel, getActivePowerL2, getActivePowerL2Channel, getActivePowerL3, getActivePowerL3Channel, getReactivePowerL1, getReactivePowerL1Channel, getReactivePowerL2, getReactivePowerL2Channel, getReactivePowerL3, getReactivePowerL3Channel
-
Methods inherited from interface io.openems.edge.ess.api.ManagedAsymmetricEss
_setDebugSetActivePowerL1, _setDebugSetActivePowerL1, _setDebugSetActivePowerL2, _setDebugSetActivePowerL2, _setDebugSetActivePowerL3, _setDebugSetActivePowerL3, _setDebugSetReactivePowerL1, _setDebugSetReactivePowerL1, _setDebugSetReactivePowerL2, _setDebugSetReactivePowerL2, _setDebugSetReactivePowerL3, _setDebugSetReactivePowerL3, getDebugSetActivePowerL1, getDebugSetActivePowerL1Channel, getDebugSetActivePowerL2, getDebugSetActivePowerL2Channel, getDebugSetActivePowerL3, getDebugSetActivePowerL3Channel, getDebugSetReactivePowerL1, getDebugSetReactivePowerL1Channel, getDebugSetReactivePowerL2, getDebugSetReactivePowerL2Channel, getDebugSetReactivePowerL3, getDebugSetReactivePowerL3Channel, getSetActivePowerL1EqualsChannel, getSetActivePowerL1GreaterOrEqualsChannel, getSetActivePowerL1LessOrEqualsChannel, getSetActivePowerL2EqualsChannel, getSetActivePowerL2GreaterOrEqualsChannel, getSetActivePowerL2LessOrEqualsChannel, getSetActivePowerL3EqualsChannel, getSetActivePowerL3GreaterOrEqualsChannel, getSetActivePowerL3LessOrEqualsChannel, getSetReactivePowerL1EqualsChannel, getSetReactivePowerL1GreaterOrEqualsChannel, getSetReactivePowerL1LessOrEqualsChannel, getSetReactivePowerL2EqualsChannel, getSetReactivePowerL2GreaterOrEqualsChannel, getSetReactivePowerL2LessOrEqualsChannel, getSetReactivePowerL3EqualsChannel, getSetReactivePowerL3GreaterOrEqualsChannel, getSetReactivePowerL3LessOrEqualsChannel, setSetActivePowerL1Equals, setSetActivePowerL1GreaterOrEquals, setSetActivePowerL1LessOrEquals, setSetActivePowerL2Equals, setSetActivePowerL2GreaterOrEquals, setSetActivePowerL2LessOrEquals, setSetActivePowerL3Equals, setSetActivePowerL3GreaterOrEquals, setSetActivePowerL3LessOrEquals, setSetReactivePowerL1Equals, setSetReactivePowerL1GreaterOrEquals, setSetReactivePowerL1LessOrEquals, setSetReactivePowerL2Equals, setSetReactivePowerL2GreaterOrEquals, setSetReactivePowerL2LessOrEquals, setSetReactivePowerL3Equals, setSetReactivePowerL3GreaterOrEquals, setSetReactivePowerL3LessOrEquals
-
Methods inherited from interface io.openems.edge.ess.api.ManagedSymmetricEss
_setAllowedChargePower, _setAllowedChargePower, _setAllowedDischargePower, _setAllowedDischargePower, _setApplyPowerFailed, _setDebugSetActivePower, _setDebugSetActivePower, _setDebugSetReactivePower, _setDebugSetReactivePower, addPowerConstraint, addPowerConstraintAndValidate, createPowerConstraint, getAllowedChargePower, getAllowedChargePowerChannel, getAllowedDischargePower, getAllowedDischargePowerChannel, getApplyPowerFailed, getApplyPowerFailedChannel, getDebugSetActivePower, getDebugSetActivePowerChannel, getDebugSetReactivePower, getDebugSetReactivePowerChannel, getSetActivePowerEqualsChannel, getSetActivePowerEqualsWithPidChannel, getSetActivePowerGreaterOrEqualsChannel, getSetActivePowerLessOrEqualsChannel, getSetReactivePowerEqualsChannel, getSetReactivePowerGreaterOrEqualsChannel, getSetReactivePowerLessOrEqualsChannel, getStaticConstraints, isManaged, setActivePowerEquals, setActivePowerEqualsWithPid, setActivePowerGreaterOrEquals, setActivePowerLessOrEquals, setReactivePowerEquals, setReactivePowerGreaterOrEquals, setReactivePowerLessOrEquals
-
Methods inherited from interface io.openems.edge.common.component.OpenemsComponent
_channel, _getChannelAs, alias, channel, channel, channels, debugLog, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, serviceFactoryPid, servicePid
-
Methods inherited from interface io.openems.edge.ess.api.SymmetricEss
_setActiveChargeEnergy, _setActiveChargeEnergy, _setActiveDischargeEnergy, _setActiveDischargeEnergy, _setActivePower, _setActivePower, _setCapacity, _setCapacity, _setGridMode, _setMaxApparentPower, _setMaxApparentPower, _setMaxCellTemperature, _setMaxCellTemperature, _setMaxCellVoltage, _setMaxCellVoltage, _setMinCellTemperature, _setMinCellTemperature, _setMinCellVoltage, _setMinCellVoltage, _setReactivePower, _setReactivePower, _setSoc, _setSoc, getActiveChargeEnergy, getActiveChargeEnergyChannel, getActiveDischargeEnergy, getActiveDischargeEnergyChannel, getActivePower, getActivePowerChannel, getCapacity, getCapacityChannel, getGridMode, getGridModeChannel, getMaxApparentPower, getMaxApparentPowerChannel, getMaxCellTemperature, getMaxCellTemperatureChannel, getMaxCellVoltage, getMaxCellVoltageChannel, getMinCellTemperature, getMinCellTemperatureChannel, getMinCellVoltage, getMinCellVoltageChannel, getReactivePower, getReactivePowerChannel, getSoc, getSocChannel
-
-
-
-
Method Detail
-
addEss
protected void addEss(ManagedSymmetricEss ess)
-
removeEss
protected void removeEss(ManagedSymmetricEss ess)
-
deactivate
protected void deactivate()
Description copied from class:AbstractOpenemsComponent
Handles @Deactivate of implementations. Prints log output.- Overrides:
deactivate
in classAbstractOpenemsComponent
-
applyPower
public void applyPower(int activePower, int reactivePower) throws OpenemsException
Description copied from interface:ManagedSymmetricEss
Apply the calculated Power.Careful: do not adjust activePower and reactivePower in this method, e.g. setting it to zero on error. The purpose of this method is solely to apply the calculated power to the ESS. If you need to constrain the allowed power, add Constraints using the
ManagedSymmetricEss.getStaticConstraints()
method.- Specified by:
applyPower
in interfaceManagedAsymmetricEss
- Specified by:
applyPower
in interfaceManagedSymmetricEss
- Parameters:
activePower
- the active power in [W]reactivePower
- the reactive power in [var]- Throws:
OpenemsException
-
applyPower
public void applyPower(int activePowerL1, int reactivePowerL1, int activePowerL2, int reactivePowerL2, int activePowerL3, int reactivePowerL3) throws OpenemsException
Description copied from interface:ManagedAsymmetricEss
Apply the calculated Power.- Specified by:
applyPower
in interfaceManagedAsymmetricEss
- Parameters:
activePowerL1
- the active power set-point for L1reactivePowerL1
- the reactive power set-point for L1activePowerL2
- the active power set-point for L2reactivePowerL2
- the reactive power set-point for L2activePowerL3
- the active power set-point for L3reactivePowerL3
- the reactive power set-point for L3- Throws:
OpenemsException
-
getPowerPrecision
public int getPowerPrecision()
Description copied from interface:ManagedSymmetricEss
Gets the smallest positive power that can be set (in W, VA or var). Example:- FENECON Commercial 40 allows setting of power in 100 W steps. It should return 100.
- KACO blueplanet gridsave 50 allows setting of power in 0.1 % of 52 VA. It should return 52 (= 52000 * 0.001)
- Specified by:
getPowerPrecision
in interfaceManagedSymmetricEss
- Returns:
- the power precision
-
getEssIds
public java.lang.String[] getEssIds()
Description copied from interface:MetaEss
Get the Component-IDs of energy storage systems that are handled by this MetaEss.
-
getPower
public Power getPower()
Description copied from interface:ManagedSymmetricEss
Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.- Specified by:
getPower
in interfaceManagedSymmetricEss
- Returns:
- the Power instance
-
getModbusSlaveTable
public ModbusSlaveTable getModbusSlaveTable(AccessMode accessMode)
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
-
-