Interface AcEnergyDatum

All Superinterfaces:
Datum, EnergyDatum
All Known Subinterfaces:
AcDcEnergyDatum

public interface AcEnergyDatum extends EnergyDatum
Standardized API for alternating current related energy datum to implement.

This API represents a single phase, either a direct phase measurement or an average or total measurement.

Version:
2.0
Author:
matt
  • Field Details

  • Method Details

    • getAcPhase

      default AcPhase getAcPhase()
      Get the phase measured by this datum.
      Returns:
      the phase, if known
    • getRealPower

      default Integer getRealPower()
      Get the instantaneous real power, in watts (W).

      This should return the same value as EnergyDatum.getWatts() but has this method to be explicit.

      Returns:
      the real power in watts, or null if not available
    • getApparentPower

      default Integer getApparentPower()
      Get the instantaneous apparent power, in volt-amperes (VA).
      Returns:
      the apparent power in volt-amperes, or null if not available
    • getReactivePower

      default Integer getReactivePower()
      Get the instantaneous reactive power, in reactive volt-amperes (var).
      Returns:
      the reactive power in reactive volt-amperes, or null if not available
    • getEffectivePowerFactor

      default Float getEffectivePowerFactor()
      Get the effective instantaneous power factor, as a value between -1 and 1. If the phase angle is positive (current leads voltage) this method returns a positive value. If the phase angle is negative (current lags voltage) this method returns a negative value.
      Returns:
      the effective power factor
    • getFrequency

      default Float getFrequency()
      Get the instantaneous frequency, in hertz (Hz).
      Returns:
      the frequency, or null if not known
    • getVoltage

      default Float getVoltage()
      Get the instantaneous neutral voltage.
      Returns:
      the volts, or null if not known
    • getVoltage

      default Float getVoltage(AcPhase phase)
      Get the instantaneous phase-to-neutral line voltage for a specific phase.
      Parameters:
      phase - the phase
      Returns:
      the volts, or null if not known
    • getCurrent

      default Float getCurrent()
      Get the instantaneous current, in amps.

      This method is equivalent to calling datum.getCurrent(datum.getPhase()).

      Returns:
      the amps, or null if not known
    • getCurrent

      default Float getCurrent(AcPhase phase)
      Get the instantaneous current, in amps, for a specific phase.
      Parameters:
      phase - the phase
      Returns:
      the phase
    • getNeutralCurrent

      default Float getNeutralCurrent()
      Get the instantaneous neutral current, in amps.
      Returns:
      the amps, or null if not known
    • getPhaseVoltage

      default Float getPhaseVoltage()
      Get the instantaneous phase-to-neutral line voltage.

      This metnod is equivalent to calling datum.getPhaseVoltage(datum.getPhase()).

      Returns:
      the volts, or null if not known
    • getLineVoltage

      default Float getLineVoltage()
      Get the instantaneous phase-to-phase line voltage.

      For the getAcPhase(), this value represents the difference between this phase and the next phase, in a, b, c order, with PhaseC wrapping around back to PhaseA. Thus the possible values represent:

      PhaseA
      Vab
      PhaseB
      Vbc
      PhaseC
      Vca

      This metnod is equivalent to calling datum.getLineVoltage(datum.getPhase()).

      Returns:
      the line voltage
      See Also:
    • getLineVoltage

      default Float getLineVoltage(AcPhase phase)
      Get the instantaneous phase-to-phase line voltage for a specific phase.
      Parameters:
      phase - the phase (first)
      Returns:
      the line voltage
    • getPowerFactor

      default Float getPowerFactor()
      Get the instantaneous power factor.
      Returns:
      the power factor, or null if not known