sunspec::models::model802

Struct Model802

source
pub struct Model802 {
Show 56 fields pub ah_rtg: u16, pub wh_rtg: u16, pub w_cha_rte_max: u16, pub w_dis_cha_rte_max: u16, pub dis_cha_rte: Option<u16>, pub so_c_max: Option<u16>, pub so_c_min: Option<u16>, pub soc_rsv_max: Option<u16>, pub so_c_rsv_min: Option<u16>, pub so_c: u16, pub do_d: Option<u16>, pub so_h: Option<u16>, pub n_cyc: Option<u32>, pub cha_st: Option<ChaSt>, pub loc_rem_ctl: LocRemCtl, pub hb: Option<u16>, pub ctrl_hb: Option<u16>, pub alm_rst: u16, pub typ: Typ, pub state: State, pub state_vnd: Option<u16>, pub warr_dt: Option<u32>, pub evt1: Evt1, pub evt2: Evt2, pub evt_vnd1: EvtVnd1, pub evt_vnd2: EvtVnd2, pub v: u16, pub v_max: Option<u16>, pub v_min: Option<u16>, pub cell_v_max: Option<u16>, pub cell_v_max_str: Option<u16>, pub cell_v_max_mod: Option<u16>, pub cell_v_min: Option<u16>, pub cell_v_min_str: Option<u16>, pub cell_v_min_mod: Option<u16>, pub cell_v_avg: Option<u16>, pub a: i16, pub a_cha_max: Option<u16>, pub a_dis_cha_max: Option<u16>, pub w: i16, pub req_inv_state: Option<ReqInvState>, pub req_w: Option<i16>, pub set_op: SetOp, pub set_inv_state: SetInvState, pub ah_rtg_sf: i16, pub wh_rtg_sf: i16, pub w_cha_dis_cha_max_sf: i16, pub dis_cha_rte_sf: Option<i16>, pub so_c_sf: i16, pub do_d_sf: Option<i16>, pub so_h_sf: Option<i16>, pub v_sf: i16, pub cell_v_sf: i16, pub a_sf: i16, pub a_max_sf: i16, pub w_sf: Option<i16>,
}
Expand description

Battery Base Model

Fields§

§ah_rtg: u16

Nameplate Charge Capacity

Nameplate charge capacity in amp-hours.

§wh_rtg: u16

Nameplate Energy Capacity

Nameplate energy capacity in DC watt-hours.

§w_cha_rte_max: u16

Nameplate Max Charge Rate

Maximum rate of energy transfer into the storage device in DC watts.

§w_dis_cha_rte_max: u16

Nameplate Max Discharge Rate

Maximum rate of energy transfer out of the storage device in DC watts.

§dis_cha_rte: Option<u16>

Self Discharge Rate

Self discharge rate. Percentage of capacity (WHRtg) discharged per day.

§so_c_max: Option<u16>

Nameplate Max SoC

Manufacturer maximum state of charge, expressed as a percentage.

§so_c_min: Option<u16>

Nameplate Min SoC

Manufacturer minimum state of charge, expressed as a percentage.

§soc_rsv_max: Option<u16>

Max Reserve Percent

Setpoint for maximum reserve for storage as a percentage of the nominal maximum storage.

§so_c_rsv_min: Option<u16>

Min Reserve Percent

Setpoint for minimum reserve for storage as a percentage of the nominal maximum storage.

§so_c: u16

State of Charge

State of charge, expressed as a percentage.

Notes: Measurement.

§do_d: Option<u16>

Depth of Discharge

Depth of discharge, expressed as a percentage.

Notes: Measurement.

§so_h: Option<u16>

State of Health

Percentage of battery life remaining.

§n_cyc: Option<u32>

Cycle Count

Number of cycles executed in the battery.

§cha_st: Option<ChaSt>

Charge Status

Charge status of storage device. Enumeration.

§loc_rem_ctl: LocRemCtl

Control Mode

Battery control mode. Enumeration.

Notes: Maps to DRCC.LocRemCtl in IEC 61850.

§hb: Option<u16>

Battery Heartbeat

Value is incremented every second with periodic resets to zero.

§ctrl_hb: Option<u16>

Controller Heartbeat

Value is incremented every second with periodic resets to zero.

§alm_rst: u16

Alarm Reset

Used to reset any latched alarms. 1 = Reset.

Notes: Battery should reset to 0 when reset is complete.

§typ: Typ

Battery Type

Type of battery. Enumeration.

Notes: Maps to DBAT.BatTyp in 61850.

§state: State

State of the Battery Bank

State of the battery bank. Enumeration.

Notes: Must be reconciled with State in IEC 61850.

§state_vnd: Option<u16>

Vendor Battery Bank State

Vendor specific battery bank state. Enumeration.

§warr_dt: Option<u32>

Warranty Date

Date the device warranty expires.

Notes: Number of days since 1/1/2000.

§evt1: Evt1

Battery Event 1 Bitfield

Alarms and warnings. Bit flags.

§evt2: Evt2

Battery Event 2 Bitfield

Alarms and warnings. Bit flags.

Notes: Reserved for future use.

§evt_vnd1: EvtVnd1

Vendor Event Bitfield 1

Vendor defined events.

§evt_vnd2: EvtVnd2

Vendor Event Bitfield 2

Vendor defined events.

§v: u16

External Battery Voltage

DC Bus Voltage.

Notes: Maps to ZBAT.V in IEC 61850.

§v_max: Option<u16>

Max Battery Voltage

Instantaneous maximum battery voltage.

Notes: If not implemented, must implement AChaMax and ADisChaMax.

§v_min: Option<u16>

Min Battery Voltage

Instantaneous minimum battery voltage.

Notes: If not implemented, must implement AChaMax and ADisChaMax.

§cell_v_max: Option<u16>

Max Cell Voltage

Maximum voltage for all cells in the bank.

Notes: Measurement.

§cell_v_max_str: Option<u16>

Max Cell Voltage String

String containing the cell with maximum voltage.

§cell_v_max_mod: Option<u16>

Max Cell Voltage Module

Module containing the cell with maximum voltage.

§cell_v_min: Option<u16>

Min Cell Voltage

Minimum voltage for all cells in the bank.

Notes: Measurement.

§cell_v_min_str: Option<u16>

Min Cell Voltage String

String containing the cell with minimum voltage.

§cell_v_min_mod: Option<u16>

Min Cell Voltage Module

Module containing the cell with minimum voltage.

§cell_v_avg: Option<u16>

Average Cell Voltage

Average cell voltage for all cells in the bank.

Notes: Calculation based on measurements.

§a: i16

Total DC Current

Total DC current flowing to/from the battery bank.

Notes: Measurement.

§a_cha_max: Option<u16>

Max Charge Current

Instantaneous maximum DC charge current.

Notes: Calculation which is always unsigned (i.e. magnitude only). If not implemented, must implement VMax and VMin.

§a_dis_cha_max: Option<u16>

Max Discharge Current

Instantaneous maximum DC discharge current.

Notes: Calculation which is always unsigned (i.e. magnitude only). If not implemented, must implement VMax and VMin.

§w: i16

Total Power

Total power flowing to/from the battery bank.

Notes: Measurement.

§req_inv_state: Option<ReqInvState>

Inverter State Request

Request from battery to start or stop the inverter. Enumeration.

Notes: Used in special states such as manual battery charging.

§req_w: Option<i16>

Battery Power Request

AC Power requested by battery.

Notes: Used in special states such as string balancing.

§set_op: SetOp

Set Operation

Instruct the battery bank to perform an operation such as connecting. Enumeration.

§set_inv_state: SetInvState

Set Inverter State

Set the current state of the inverter.

Notes: Information needed by battery for some operations.

§ah_rtg_sf: i16

Scale factor for charge capacity.

§wh_rtg_sf: i16

Scale factor for energy capacity.

§w_cha_dis_cha_max_sf: i16

Scale factor for maximum charge and discharge rate.

§dis_cha_rte_sf: Option<i16>

Scale factor for self discharge rate.

§so_c_sf: i16

Scale factor for state of charge values.

§do_d_sf: Option<i16>

Scale factor for depth of discharge.

§so_h_sf: Option<i16>

Scale factor for state of health.

§v_sf: i16

Scale factor for DC bus voltage.

§cell_v_sf: i16

Scale factor for cell voltage.

§a_sf: i16

Scale factor for DC current.

§a_max_sf: i16

Scale factor for instantaneous DC charge/discharge current.

§w_sf: Option<i16>

Scale factor for AC power request.

Implementations§

source§

impl Model802

source

pub const AH_RTG: PointDef<Self, u16> = _

source

pub const WH_RTG: PointDef<Self, u16> = _

source

pub const W_CHA_RTE_MAX: PointDef<Self, u16> = _

source

pub const W_DIS_CHA_RTE_MAX: PointDef<Self, u16> = _

source

pub const DIS_CHA_RTE: PointDef<Self, Option<u16>> = _

source

pub const SO_C_MAX: PointDef<Self, Option<u16>> = _

source

pub const SO_C_MIN: PointDef<Self, Option<u16>> = _

source

pub const SOC_RSV_MAX: PointDef<Self, Option<u16>> = _

source

pub const SO_C_RSV_MIN: PointDef<Self, Option<u16>> = _

source

pub const SO_C: PointDef<Self, u16> = _

source

pub const DO_D: PointDef<Self, Option<u16>> = _

source

pub const SO_H: PointDef<Self, Option<u16>> = _

source

pub const N_CYC: PointDef<Self, Option<u32>> = _

source

pub const CHA_ST: PointDef<Self, Option<ChaSt>> = _

source

pub const LOC_REM_CTL: PointDef<Self, LocRemCtl> = _

source

pub const HB: PointDef<Self, Option<u16>> = _

source

pub const CTRL_HB: PointDef<Self, Option<u16>> = _

source

pub const ALM_RST: PointDef<Self, u16> = _

source

pub const TYP: PointDef<Self, Typ> = _

source

pub const STATE: PointDef<Self, State> = _

source

pub const STATE_VND: PointDef<Self, Option<u16>> = _

source

pub const WARR_DT: PointDef<Self, Option<u32>> = _

source

pub const EVT1: PointDef<Self, Evt1> = _

source

pub const EVT2: PointDef<Self, Evt2> = _

source

pub const EVT_VND1: PointDef<Self, EvtVnd1> = _

source

pub const EVT_VND2: PointDef<Self, EvtVnd2> = _

source

pub const V: PointDef<Self, u16> = _

source

pub const V_MAX: PointDef<Self, Option<u16>> = _

source

pub const V_MIN: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_MAX: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_MAX_STR: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_MAX_MOD: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_MIN: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_MIN_STR: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_MIN_MOD: PointDef<Self, Option<u16>> = _

source

pub const CELL_V_AVG: PointDef<Self, Option<u16>> = _

source

pub const A: PointDef<Self, i16> = _

source

pub const A_CHA_MAX: PointDef<Self, Option<u16>> = _

source

pub const A_DIS_CHA_MAX: PointDef<Self, Option<u16>> = _

source

pub const W: PointDef<Self, i16> = _

source

pub const REQ_INV_STATE: PointDef<Self, Option<ReqInvState>> = _

source

pub const REQ_W: PointDef<Self, Option<i16>> = _

source

pub const SET_OP: PointDef<Self, SetOp> = _

source

pub const SET_INV_STATE: PointDef<Self, SetInvState> = _

source

pub const AH_RTG_SF: PointDef<Self, i16> = _

source

pub const WH_RTG_SF: PointDef<Self, i16> = _

source

pub const W_CHA_DIS_CHA_MAX_SF: PointDef<Self, i16> = _

source

pub const DIS_CHA_RTE_SF: PointDef<Self, Option<i16>> = _

source

pub const SO_C_SF: PointDef<Self, i16> = _

source

pub const DO_D_SF: PointDef<Self, Option<i16>> = _

source

pub const SO_H_SF: PointDef<Self, Option<i16>> = _

source

pub const V_SF: PointDef<Self, i16> = _

source

pub const CELL_V_SF: PointDef<Self, i16> = _

source

pub const A_SF: PointDef<Self, i16> = _

source

pub const A_MAX_SF: PointDef<Self, i16> = _

source

pub const W_SF: PointDef<Self, Option<i16>> = _

Trait Implementations§

source§

impl Debug for Model802

source§

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

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

impl Model for Model802

source§

const ID: u16 = 802u16

Model ID
source§

fn from_data(data: &[u16]) -> Result<Self, ReadModelError>

Parse model points from a given u16 slice

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> 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.