Enum Class EmsPowerMode

java.lang.Object
java.lang.Enum<EmsPowerMode>
io.openems.edge.goodwe.common.enums.EmsPowerMode
All Implemented Interfaces:
OptionsEnum, Serializable, Comparable<EmsPowerMode>, Constable

public enum EmsPowerMode extends Enum<EmsPowerMode> implements OptionsEnum
See table 8-16 EMS Power Mode.

Note:

  • for low-priority energy sources, when the battery charging power is limited or the rated output power of the inverter is limited, the load shall be reduced first.
  • Xmax represents the upper limit of the power control value, and the actual power will be adjusted according to the working condition.
  • Xset represents the target value of power control, and the actual power must reach the set value.
  • Enum Constant Details

    • UNDEFINED

      public static final EmsPowerMode UNDEFINED
    • STOPPED

      public static final EmsPowerMode STOPPED
      Scenario: System shutdown.

      Stop working and turn to wait mode

    • AUTO

      public static final EmsPowerMode AUTO
      Scenario: Self-use.

      PBattery = PInv - Pmeter - Ppv (Discharge/Charge)

      The battery power is controlled by the meter power when the meter communication is normal.

    • CHARGE_PV

      public static final EmsPowerMode CHARGE_PV
      Scenario: Control the battery to keep charging.

      PBattery = Xmax + PV (Charge)

      Xmax is to allow the power to be taken from the grid, and PV power is preferred. When set to 0, only PV power is used. Charging power will be limited by charging current limit.

      Interpretation: Charge Battery from PV (high priority) or Grid (low priority); EmsPowerSet = negative ESS ActivePower (if possible because of PV).

      • Grid: low priority
      • PV: high priority
      • Battery: Charge Mode
      • The control object is 'Grid'
    • DISCHARGE_PV

      public static final EmsPowerMode DISCHARGE_PV
      Scenario: Control the battery to keep discharging.

      PBattery = Xmax (Discharge)

      Xmax is the allowable discharge power of the battery. When the power fed into the grid is limited, PV power will be used first.

      Interpretation: ESS ActivePower = PV power + EmsPowerSet (i.e. battery discharge); useful for surplus feed-to-grid.

      • PV: high priority
      • Battery: low priority
      • Grid: Energy Out Mode
      • The control object is 'Battery'
    • IMPORT_AC

      public static final EmsPowerMode IMPORT_AC
      Scenario: The inverter is used as a unit for power grid energy scheduling.

      PBattery = Xset + PV (Charge)

      Xset refers to the power purchased from the power grid. The power purchased from the grid is preferred. If the PV power is too large, the MPPT power will be limited. (grid side load is not considered)

      Interpretation: Charge Battery from Grid (high priority) or PV (low priority); EmsPowerSet = negative ESS ActivePower; as long as BMS_CHARGE_MAX_CURRENT is > 0, no AC-Power is exported; when BMS_CHARGE_MAX_CURRENT == 0, PV surplus feed in starts!

      • Grid: high priority
      • PV: low priority
      • Battery: Charge Mode
      • The control object is 'Grid'
    • EXPORT_AC

      public static final EmsPowerMode EXPORT_AC
      Scenario: The inverter is used as a unit for power grid energy scheduling.

      PBattery = Xset (Discharge)

      Xset is to sell power to the grid. PV power is preferred. When PV energy is insufficient, the battery will discharge. PV power will be limited by x. (grid side load is not considered)

      Interpretation: EmsPowerSet = positive ESS ActivePower. But PV will be limited, i.e. remaining power is not used to charge battery.

      • PV: high priority
      • Battery: low priority
      • Grid: Energy Out Mode
      • The control object is 'Grid'
    • CONSERVE

      public static final EmsPowerMode CONSERVE
      Scenario: Off-grid reservation mode.

      PBattery = PV (Charge)

      In on-grid mode, the battery is continuously charged, and only PV power (AC Couple model takes 10% of the rated power of the power grid) is used. The battery can only discharge in off-grid mode.

    • OFF_GRID

      public static final EmsPowerMode OFF_GRID
      Scenario: Off-Grid Mode.

      PBattery = Pbackup - Ppv (Charge/Discharge)

      Forced off-grid operation.

    • BATTERY_STANDBY

      public static final EmsPowerMode BATTERY_STANDBY
      Scenario: The inverter is used as a unit for power grid energy scheduling.

      PBattery = 0 (Standby)

      The battery does not charge and discharge

    • BUY_POWER

      public static final EmsPowerMode BUY_POWER
      Scenario: Regional energy management.

      PBattery = PInv - (Pmeter + Xset) - Ppv (Charge/Discharge)

      When the meter communication is normal, the power purchased from the power grid is controlled as Xset. When the PV power is too large, the MPPT power will be limited. When the load is too large, the battery will discharge.

      Interpretation: Control power at the point of common coupling.

      • Grid: high priority
      • PV: low priority
      • Battery: Energy In and Out Mode
      • The control object is 'Grid'
    • SELL_POWER

      public static final EmsPowerMode SELL_POWER
      Scenario: Regional energy management.

      PBattery = PInv - (Pmeter - Xset) - Ppv (Charge/Discharge)

      When the communication of electricity meter is normal, the power sold from the power grid is controlled as Xset, PV power is preferred, and the battery discharges when PV energy is insufficient.PV power will be limited by Xset.

      Interpretation: Control power at the point of common coupling.

      • PV: high priority
      • Battery: low priority
      • Grid: Energy Out Mode
      • The control object is 'Grid'
    • CHARGE_BAT

      public static final EmsPowerMode CHARGE_BAT
      Scenario: Force the battery to work at set power value.

      PBattery = Xset (Charge)

      Xset is the charging power of the battery. PV power is preferred. When PV power is insufficient, it will buy power from the power grid. The charging power is also affected by the charging current limit.

      Interpretation: Charge Battery from PV (high priority) or Grid (low priority); priorities are inverted compared to IMPORT_AC.

      • PV: high priority
      • Grid: low priority
      • Battery: Energy In Mode
      • The control object is 'Battery'
    • DISCHARGE_BAT

      public static final EmsPowerMode DISCHARGE_BAT
      Scenario: Force the battery to work at set power value.

      PBattery = Xset (Discharge)

      Xset is the discharge power of the battery, and the battery discharge has priority. If the PV power is too large, MPPT will be limited. Discharge power is also affected by discharge current limit.

      Interpretation: ???

      • PV: low priority
      • Battery: high priority
      • Grid: Energy In Mode
      • The control object is 'Battery'
  • Method Details

    • values

      public static EmsPowerMode[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static EmsPowerMode valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getValue

      public int getValue()
      Description copied from interface: OptionsEnum
      Gets this enums int representation.
      Specified by:
      getValue in interface OptionsEnum
      Returns:
      the int representation
    • getName

      public String getName()
      Description copied from interface: OptionsEnum
      Gets this enums String representation.
      Specified by:
      getName in interface OptionsEnum
      Returns:
      the String representation
    • getUndefined

      public OptionsEnum getUndefined()
      Description copied from interface: OptionsEnum
      Gets the enum that is used for 'UNDEFINED' values.
      Specified by:
      getUndefined in interface OptionsEnum
      Returns:
      the UNDEFINED enum