Skip to main content

ChargingSchedulePeriod

Struct ChargingSchedulePeriod 

Source
pub struct ChargingSchedulePeriod {
Show 22 fields pub custom_data: Option<CustomData>, pub discharge_limit: Option<f64>, pub discharge_limit_l2: Option<f64>, pub discharge_limit_l3: Option<f64>, pub evse_sleep: Option<bool>, pub limit: Option<f64>, pub limit_l2: Option<f64>, pub limit_l3: Option<f64>, pub number_phases: Option<i64>, pub operation_mode: Option<OperationModeEnum>, pub phase_to_use: Option<i64>, pub preconditioning_request: Option<bool>, pub setpoint: Option<f64>, pub setpoint_reactive: Option<f64>, pub setpoint_reactive_l2: Option<f64>, pub setpoint_reactive_l3: Option<f64>, pub setpoint_l2: Option<f64>, pub setpoint_l3: Option<f64>, pub start_period: i64, pub v2x_baseline: Option<f64>, pub v2x_freq_watt_curve: Option<Vec<V2XFreqWattPoint, 20usize>>, pub v2x_signal_watt_curve: Option<Vec<V2XSignalWattPoint, 20usize>>,
}
Expand description

Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only startPeriod, limit, limit_L2, limit_L3 are relevant.

Fields§

§custom_data: Option<CustomData>§discharge_limit: Option<f64>

(2.1) Limit in chargingRateUnit that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with setpoint, which can be positive and negative. + For AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.

§discharge_limit_l2: Option<f64>

(2.1) Limit in chargingRateUnit on phase L2 that the EV is allowed to discharge with.

§discharge_limit_l3: Option<f64>

(2.1) Limit in chargingRateUnit on phase L3 that the EV is allowed to discharge with.

§evse_sleep: Option<bool>

(2.1) If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.

§limit: Option<f64>

Optional only when not required by the operationMode, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. + Charging rate limit during the schedule period, in the applicable chargingRateUnit. This SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit. When using chargingRateUnit = W, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.

§limit_l2: Option<f64>

(2.1) Charging rate limit on phase L2 in the applicable chargingRateUnit.

§limit_l3: Option<f64>

(2.1) Charging rate limit on phase L3 in the applicable chargingRateUnit.

§number_phases: Option<i64>

The number of phases that can be used for charging. + For a DC EVSE this field should be omitted. + For an AC EVSE a default value of numberPhases = 3 will be assumed if the field is absent.

§operation_mode: Option<OperationModeEnum>§phase_to_use: Option<i64>

Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.

§preconditioning_request: Option<bool>

(2.1) If true, the EV should attempt to keep the BMS preconditioned for this time interval.

§setpoint: Option<f64>

(2.1) Setpoint in chargingRateUnit that the EV should follow as close as possible. Use negative values for discharging. + When a limit and/or dischargeLimit are given the overshoot when following setpoint must remain within these values. This field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.

§setpoint_reactive: Option<f64>

(2.1) Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. + This field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.

§setpoint_reactive_l2: Option<f64>

(2.1) Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow on phase L2 as closely as possible.

§setpoint_reactive_l3: Option<f64>

(2.1) Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow on phase L3 as closely as possible.

§setpoint_l2: Option<f64>

(2.1) Setpoint in chargingRateUnit that the EV should follow on phase L2 as close as possible.

§setpoint_l3: Option<f64>

(2.1) Setpoint in chargingRateUnit that the EV should follow on phase L3 as close as possible.

§start_period: i64

Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.

§v2x_baseline: Option<f64>

(2.1) Power value that, when present, is used as a baseline on top of which values from v2xFreqWattCurve and v2xSignalWattCurve are added.

§v2x_freq_watt_curve: Option<Vec<V2XFreqWattPoint, 20usize>>§v2x_signal_watt_curve: Option<Vec<V2XSignalWattPoint, 20usize>>

Trait Implementations§

Source§

impl Clone for ChargingSchedulePeriod

Source§

fn clone(&self) -> ChargingSchedulePeriod

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChargingSchedulePeriod

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ChargingSchedulePeriod

Source§

fn eq(&self, other: &ChargingSchedulePeriod) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ChargingSchedulePeriod

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.