DSS C-API and dss.hpp
DSS C-API and dss.hpp expose a customized and extended implementation of OpenDSS to C and C++.
|
Public Types | |
typedef StorageController::Properties | Properties |
typedef StorageController | BatchElementClass |
typedef StorageController::StorageControllerDischargemode | StorageControllerDischargemode |
typedef StorageController::StorageControllerChargemode | StorageControllerChargemode |
Public Member Functions | |
StorageControllerBatch (APIUtil *util) | |
Create a batch of all StorageController elements. | |
StorageControllerBatch (APIUtil *util, int32_t prop_idx, int32_t prop_value) | |
Create a batch of all StorageController elements that match an integer property value. | |
StorageControllerBatch (APIUtil *util, const char *regexp) | |
Create a batch of all StorageController elements that match a regular expression. | |
StorageControllerBatch & | begin_edit () |
StorageControllerBatch & | end_edit (int32_t num_edits=1) |
strings | Element () |
Full object name of the circuit element, typically a line or transformer, which the control is monitoring. More... | |
StorageControllerBatch & | Element (dss::obj::DSSObj &value) |
StorageControllerBatch & | Element (const string &value) |
std::vector< dss::obj::DSSObj > | Element_obj () |
Full object name of the circuit element, typically a line or transformer, which the control is monitoring. More... | |
StorageControllerBatch & | Element_obj (dss::obj::DSSObj &value) |
BatchInt32ArrayProxy | Terminal () |
Number of the terminal of the circuit element to which the StorageController2 control is connected. More... | |
StorageControllerBatch & | Terminal (int32_t value) |
template<typename T > | |
StorageControllerBatch & | Terminal (T &value) |
template<typename T > | |
StorageControllerBatch & | Terminal (typename T::iterator it_begin, typename T::iterator it_end) |
BatchInt32ArrayProxy | MonPhase () |
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases. More... | |
StorageControllerBatch & | MonPhase (string &value) |
StorageControllerBatch & | MonPhase (int32_t value) |
StorageControllerBatch & | MonPhase (MonitoredPhase value) |
StorageControllerBatch & | MonPhase (strings &value) |
StorageControllerBatch & | MonPhase (std::vector< int32_t > &value) |
StorageControllerBatch & | MonPhase (std::vector< MonitoredPhase > &value) |
strings | MonPhase_str () |
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases. More... | |
StorageControllerBatch & | MonPhase_str (string &value) |
StorageControllerBatch & | MonPhase_str (strings &value) |
BatchFloat64ArrayProxy | kWTarget () |
kW/kamps target for Discharging. More... | |
StorageControllerBatch & | kWTarget (double value) |
template<typename T > | |
StorageControllerBatch & | kWTarget (T &value) |
template<typename T > | |
StorageControllerBatch & | kWTarget (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWTargetLow () |
kW/kamps target for Charging. More... | |
StorageControllerBatch & | kWTargetLow (double value) |
template<typename T > | |
StorageControllerBatch & | kWTargetLow (T &value) |
template<typename T > | |
StorageControllerBatch & | kWTargetLow (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | pctkWBand () |
Bandwidth (% of Target kW/kamps) of the dead band around the kW/kamps target value. More... | |
StorageControllerBatch & | pctkWBand (double value) |
template<typename T > | |
StorageControllerBatch & | pctkWBand (T &value) |
template<typename T > | |
StorageControllerBatch & | pctkWBand (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWBand () |
Alternative way of specifying the bandwidth. More... | |
StorageControllerBatch & | kWBand (double value) |
template<typename T > | |
StorageControllerBatch & | kWBand (T &value) |
template<typename T > | |
StorageControllerBatch & | kWBand (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | pctkWBandLow () |
Bandwidth (% of kWTargetLow) of the dead band around the kW/kamps low target value. More... | |
StorageControllerBatch & | pctkWBandLow (double value) |
template<typename T > | |
StorageControllerBatch & | pctkWBandLow (T &value) |
template<typename T > | |
StorageControllerBatch & | pctkWBandLow (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWBandLow () |
Alternative way of specifying the bandwidth. More... | |
StorageControllerBatch & | kWBandLow (double value) |
template<typename T > | |
StorageControllerBatch & | kWBandLow (T &value) |
template<typename T > | |
StorageControllerBatch & | kWBandLow (typename T::iterator it_begin, typename T::iterator it_end) |
std::vector< strings > | ElementList () |
Array list of Storage elements to be controlled. More... | |
StorageControllerBatch & | ElementList (strings &value) |
std::vector< VectorXd > | Weights () |
Array of proportional weights corresponding to each Storage element in the ElementList. More... | |
StorageControllerBatch & | Weights (VectorXd &value) |
BatchInt32ArrayProxy | ModeDischarge () |
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller. More... | |
StorageControllerBatch & | ModeDischarge (string &value) |
StorageControllerBatch & | ModeDischarge (int32_t value) |
StorageControllerBatch & | ModeDischarge (StorageController::StorageControllerDischargemode value) |
StorageControllerBatch & | ModeDischarge (strings &value) |
StorageControllerBatch & | ModeDischarge (std::vector< int32_t > &value) |
StorageControllerBatch & | ModeDischarge (std::vector< StorageController::StorageControllerDischargemode > &value) |
strings | ModeDischarge_str () |
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller. More... | |
StorageControllerBatch & | ModeDischarge_str (string &value) |
StorageControllerBatch & | ModeDischarge_str (strings &value) |
BatchInt32ArrayProxy | ModeCharge () |
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller. More... | |
StorageControllerBatch & | ModeCharge (string &value) |
StorageControllerBatch & | ModeCharge (int32_t value) |
StorageControllerBatch & | ModeCharge (StorageController::StorageControllerChargemode value) |
StorageControllerBatch & | ModeCharge (strings &value) |
StorageControllerBatch & | ModeCharge (std::vector< int32_t > &value) |
StorageControllerBatch & | ModeCharge (std::vector< StorageController::StorageControllerChargemode > &value) |
strings | ModeCharge_str () |
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller. More... | |
StorageControllerBatch & | ModeCharge_str (string &value) |
StorageControllerBatch & | ModeCharge_str (strings &value) |
BatchFloat64ArrayProxy | TimeDischargeTrigger () |
Default time of day (hr) for initiating Discharging of the fleet. More... | |
StorageControllerBatch & | TimeDischargeTrigger (double value) |
template<typename T > | |
StorageControllerBatch & | TimeDischargeTrigger (T &value) |
template<typename T > | |
StorageControllerBatch & | TimeDischargeTrigger (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | TimeChargeTrigger () |
Default time of day (hr) for initiating charging in Time control mode. More... | |
StorageControllerBatch & | TimeChargeTrigger (double value) |
template<typename T > | |
StorageControllerBatch & | TimeChargeTrigger (T &value) |
template<typename T > | |
StorageControllerBatch & | TimeChargeTrigger (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | pctRatekW () |
Sets the kW discharge rate in % of rated capacity for each element of the fleet. More... | |
StorageControllerBatch & | pctRatekW (double value) |
template<typename T > | |
StorageControllerBatch & | pctRatekW (T &value) |
template<typename T > | |
StorageControllerBatch & | pctRatekW (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | pctRateCharge () |
Sets the kW charging rate in % of rated capacity for each element of the fleet. More... | |
StorageControllerBatch & | pctRateCharge (double value) |
template<typename T > | |
StorageControllerBatch & | pctRateCharge (T &value) |
template<typename T > | |
StorageControllerBatch & | pctRateCharge (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | pctReserve () |
Use this property to change the % reserve for each Storage element under control of this controller. More... | |
StorageControllerBatch & | pctReserve (double value) |
template<typename T > | |
StorageControllerBatch & | pctReserve (T &value) |
template<typename T > | |
StorageControllerBatch & | pctReserve (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWhTotal () |
(Read only). More... | |
StorageControllerBatch & | kWhTotal (double value) |
template<typename T > | |
StorageControllerBatch & | kWhTotal (T &value) |
template<typename T > | |
StorageControllerBatch & | kWhTotal (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWTotal () |
(Read only). More... | |
StorageControllerBatch & | kWTotal (double value) |
template<typename T > | |
StorageControllerBatch & | kWTotal (T &value) |
template<typename T > | |
StorageControllerBatch & | kWTotal (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWhActual () |
(Read only). More... | |
StorageControllerBatch & | kWhActual (double value) |
template<typename T > | |
StorageControllerBatch & | kWhActual (T &value) |
template<typename T > | |
StorageControllerBatch & | kWhActual (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWActual () |
(Read only). More... | |
StorageControllerBatch & | kWActual (double value) |
template<typename T > | |
StorageControllerBatch & | kWActual (T &value) |
template<typename T > | |
StorageControllerBatch & | kWActual (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWneed () |
(Read only). More... | |
StorageControllerBatch & | kWneed (double value) |
template<typename T > | |
StorageControllerBatch & | kWneed (T &value) |
template<typename T > | |
StorageControllerBatch & | kWneed (typename T::iterator it_begin, typename T::iterator it_end) |
strings | Yearly () |
Dispatch loadshape object, If any, for Yearly solution Mode. More... | |
StorageControllerBatch & | Yearly (dss::obj::LoadShape &value) |
StorageControllerBatch & | Yearly (const string &value) |
std::vector< dss::obj::LoadShape > | Yearly_obj () |
Dispatch loadshape object, If any, for Yearly solution Mode. More... | |
StorageControllerBatch & | Yearly_obj (dss::obj::LoadShape &value) |
strings | Daily () |
Dispatch loadshape object, If any, for Daily solution mode. More... | |
StorageControllerBatch & | Daily (dss::obj::LoadShape &value) |
StorageControllerBatch & | Daily (const string &value) |
std::vector< dss::obj::LoadShape > | Daily_obj () |
Dispatch loadshape object, If any, for Daily solution mode. More... | |
StorageControllerBatch & | Daily_obj (dss::obj::LoadShape &value) |
strings | Duty () |
Dispatch loadshape object, If any, for Dutycycle solution mode. More... | |
StorageControllerBatch & | Duty (dss::obj::LoadShape &value) |
StorageControllerBatch & | Duty (const string &value) |
std::vector< dss::obj::LoadShape > | Duty_obj () |
Dispatch loadshape object, If any, for Dutycycle solution mode. More... | |
StorageControllerBatch & | Duty_obj (dss::obj::LoadShape &value) |
bools | EventLog () |
{Yes/True | No/False} Default is No. More... | |
StorageControllerBatch & | EventLog (bool value) |
StorageControllerBatch & | EventLog (bools &value) |
BatchInt32ArrayProxy | InhibitTime () |
Hours (integer) to inhibit Discharging after going into Charge mode. More... | |
StorageControllerBatch & | InhibitTime (int32_t value) |
template<typename T > | |
StorageControllerBatch & | InhibitTime (T &value) |
template<typename T > | |
StorageControllerBatch & | InhibitTime (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | Tup () |
Duration, hrs, of upramp part for SCHEDULE mode. More... | |
StorageControllerBatch & | Tup (double value) |
template<typename T > | |
StorageControllerBatch & | Tup (T &value) |
template<typename T > | |
StorageControllerBatch & | Tup (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | TFlat () |
Duration, hrs, of flat part for SCHEDULE mode. More... | |
StorageControllerBatch & | TFlat (double value) |
template<typename T > | |
StorageControllerBatch & | TFlat (T &value) |
template<typename T > | |
StorageControllerBatch & | TFlat (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | Tdn () |
Duration, hrs, of downramp part for SCHEDULE mode. More... | |
StorageControllerBatch & | Tdn (double value) |
template<typename T > | |
StorageControllerBatch & | Tdn (T &value) |
template<typename T > | |
StorageControllerBatch & | Tdn (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | kWThreshold () |
Threshold, kW, for Follow mode. More... | |
StorageControllerBatch & | kWThreshold (double value) |
template<typename T > | |
StorageControllerBatch & | kWThreshold (T &value) |
template<typename T > | |
StorageControllerBatch & | kWThreshold (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | DispFactor () |
Defaults to 1 (disabled). More... | |
StorageControllerBatch & | DispFactor (double value) |
template<typename T > | |
StorageControllerBatch & | DispFactor (T &value) |
template<typename T > | |
StorageControllerBatch & | DispFactor (typename T::iterator it_begin, typename T::iterator it_end) |
BatchFloat64ArrayProxy | ResetLevel () |
The level of charge required for allowing the storage to discharge again after reaching the reserve storage level. More... | |
StorageControllerBatch & | ResetLevel (double value) |
template<typename T > | |
StorageControllerBatch & | ResetLevel (T &value) |
template<typename T > | |
StorageControllerBatch & | ResetLevel (typename T::iterator it_begin, typename T::iterator it_end) |
BatchInt32ArrayProxy | Seasons () |
With this property the user can specify the number of targets to be used by the controller using the list given at "SeasonTargets"/"SeasonTargetsLow", which can be used to dynamically adjust the storage controller during a QSTS simulation. More... | |
StorageControllerBatch & | Seasons (int32_t value) |
template<typename T > | |
StorageControllerBatch & | Seasons (T &value) |
template<typename T > | |
StorageControllerBatch & | Seasons (typename T::iterator it_begin, typename T::iterator it_end) |
std::vector< VectorXd > | SeasonTargets () |
An array of doubles specifying the targets to be used during a QSTS simulation. More... | |
StorageControllerBatch & | SeasonTargets (VectorXd &value) |
std::vector< VectorXd > | SeasonTargetsLow () |
An array of doubles specifying the targets to be used during a QSTS simulation. More... | |
StorageControllerBatch & | SeasonTargetsLow (VectorXd &value) |
BatchFloat64ArrayProxy | basefreq () |
Base Frequency for ratings. More... | |
StorageControllerBatch & | basefreq (double value) |
template<typename T > | |
StorageControllerBatch & | basefreq (T &value) |
template<typename T > | |
StorageControllerBatch & | basefreq (typename T::iterator it_begin, typename T::iterator it_end) |
bools | enabled () |
{Yes|No or True|False} Indicates whether this element is enabled. More... | |
StorageControllerBatch & | enabled (bool value) |
StorageControllerBatch & | enabled (bools &value) |
StorageControllerBatch & | like (const string &value) |
Make like another object, e.g. More... | |
StorageControllerBatch & | like (const char *value) |
Make like another object, e.g. More... | |
Public Member Functions inherited from dss::obj::DSSBatch | |
DSSBatch (APIUtil *util, int32_t cls_idx) | |
Create a batch of all elements in the DSS class. | |
DSSBatch (APIUtil *util, int32_t cls_idx, int32_t prop_idx, int32_t prop_value) | |
Create a batch of all elements that match an integer property value. | |
DSSBatch (APIUtil *util, int32_t cls_idx, const char *regexp) | |
Create a batch of all elements that match a regular expression. | |
DSSBatch (APIUtil *util) | |
Create an uninitialized batch instance. | |
strings | name () |
Additional Inherited Members | |
Public Attributes inherited from dss::obj::DSSBatch | |
APIUtil * | api_util |
void ** | pointer |
int32_t | count [2] |
Protected Member Functions inherited from dss::obj::DSSBatch | |
void | check_for_error () |
bools | get_batch_bool (int32_t index) |
std::vector< complex > | get_batch_complex (int32_t index) |
template<typename T = VectorXd> | |
std::vector< T > | get_batch_valarray (int32_t index) |
void | set_batch_complex_for_each (int32_t index, std::vector< complex > &values) |
template<typename T > | |
void | set_batch_val (int32_t index, const T &value) |
template<typename T = VectorXd> | |
T | get_batch_val (int32_t index) |
template<typename T > | |
void | set_batch_val_for_each (int32_t index, typename T::iterator v, typename T::iterator v_end) |
Static Protected Member Functions inherited from dss::obj::DSSBatch | |
template<typename T = VectorXd> | |
static T | get_batch_val (int32_t index, DSSBatch &batch) |
|
inline |
Base Frequency for ratings.
DSS property name: basefreq, DSS property index: 38
|
inline |
Dispatch loadshape object, If any, for Daily solution mode.
DSS property name: Daily, DSS property index: 25
|
inline |
Dispatch loadshape object, If any, for Daily solution mode.
DSS property name: Daily, DSS property index: 25
|
inline |
Defaults to 1 (disabled).
Set to any value between 0 and 1 to enable this parameter.
Use this parameter to reduce the amount of power requested by the controller in each control iteration. It can be useful when maximum control iterations are exceeded due to numerical instability such as fleet being set to charging and idling in subsequent control iterations (check the Eventlog).
DSS property name: DispFactor, DSS property index: 33
|
inline |
Dispatch loadshape object, If any, for Dutycycle solution mode.
DSS property name: Duty, DSS property index: 26
|
inline |
Dispatch loadshape object, If any, for Dutycycle solution mode.
DSS property name: Duty, DSS property index: 26
|
inline |
Full object name of the circuit element, typically a line or transformer, which the control is monitoring.
There is no default; Must be specified.
DSS property name: Element, DSS property index: 1
|
inline |
Full object name of the circuit element, typically a line or transformer, which the control is monitoring.
There is no default; Must be specified.
DSS property name: Element, DSS property index: 1
|
inline |
|
inline |
{Yes|No or True|False} Indicates whether this element is enabled.
DSS property name: enabled, DSS property index: 39
|
inline |
{Yes/True | No/False} Default is No.
Log control actions to Eventlog.
DSS property name: EventLog, DSS property index: 27
|
inline |
Hours (integer) to inhibit Discharging after going into Charge mode.
Default is 5.
DSS property name: InhibitTime, DSS property index: 28
|
inline |
(Read only).
Actual kW output of all controlled Storage elements.
DSS property name: kWActual, DSS property index: 22
|
inline |
Alternative way of specifying the bandwidth.
(kW/kamps) of the dead band around the kW/kamps target value. Default is 2% of kWTarget (+/-1%).No dispatch changes are attempted if the power in the monitored terminal stays within this band.
DSS property name: kWBand, DSS property index: 7
|
inline |
Alternative way of specifying the bandwidth.
(kW/kamps) of the dead band around the kW/kamps low target value. Default is 2% of kWTargetLow (+/-1%).No charging is attempted if the power in the monitored terminal stays within this band.
DSS property name: kWBandLow, DSS property index: 9
|
inline |
(Read only).
Actual kWh stored of all controlled Storage elements.
DSS property name: kWhActual, DSS property index: 21
|
inline |
|
inline |
(Read only).
KW needed to meet target.
DSS property name: kWneed, DSS property index: 23
|
inline |
kW/kamps target for Discharging.
The Storage element fleet is dispatched to try to hold the power/current in band at least until the Storage is depleted. The selection of power or current depends on the Discharge mode (PeakShave->kW, I-PeakShave->kamps).
DSS property name: kWTarget, DSS property index: 4
|
inline |
kW/kamps target for Charging.
The Storage element fleet is dispatched to try to hold the power/current in band at least until the Storage is fully charged. The selection of power or current depends on the charge mode (PeakShavelow->kW, I-PeakShavelow->kamps).
DSS property name: kWTargetLow, DSS property index: 5
|
inline |
Threshold, kW, for Follow mode.
kW has to be above this value for the Storage element to be dispatched on. Defaults to 75% of the kWTarget value. Must reset this property after setting kWTarget if you want a different value.
DSS property name: kWThreshold, DSS property index: 32
|
inline |
(Read only).
Total rated kW power capacity of Storage elements controlled by this controller.
DSS property name: kWTotal, DSS property index: 20
|
inline |
Make like another object, e.g.
:
New Capacitor.C2 like=c1 ...
DSS property name: like, DSS property index: 40
|
inline |
Make like another object, e.g.
:
New Capacitor.C2 like=c1 ...
DSS property name: like, DSS property index: 40
|
inline |
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller.
In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is charged when the loadshape value is negative.
In Time mode, the Storage charging FUNCTION is triggered at the specified RateCharge at the specified charge trigger time in fractional hours.
In PeakShaveLow mode, the charging operation will charge the Storage fleet when the power at amonitored element is below a specified KW target (kWTarget_low). The Storage will charge as much power as necessary to keep the power within the deadband around kWTarget_low.
In I-PeakShaveLow mode, the charging operation will charge the Storage fleet when the current (Amps) at amonitored element is below a specified amps target (kWTarget_low). The Storage will charge as much power as necessary to keep the amps within the deadband around kWTarget_low. When this control mode is active, the property kWTarget_low will be expressed in k-amps and all the other parameters will be adjusted to match the amps (current) control criteria.
DSS property name: ModeCharge, DSS property index: 13
|
inline |
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller.
In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is charged when the loadshape value is negative.
In Time mode, the Storage charging FUNCTION is triggered at the specified RateCharge at the specified charge trigger time in fractional hours.
In PeakShaveLow mode, the charging operation will charge the Storage fleet when the power at amonitored element is below a specified KW target (kWTarget_low). The Storage will charge as much power as necessary to keep the power within the deadband around kWTarget_low.
In I-PeakShaveLow mode, the charging operation will charge the Storage fleet when the current (Amps) at amonitored element is below a specified amps target (kWTarget_low). The Storage will charge as much power as necessary to keep the amps within the deadband around kWTarget_low. When this control mode is active, the property kWTarget_low will be expressed in k-amps and all the other parameters will be adjusted to match the amps (current) control criteria.
DSS property name: ModeCharge, DSS property index: 13
|
inline |
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller.
In PeakShave mode (Default), the control attempts to discharge Storage to keep power in the monitored element below the kWTarget.
In Follow mode, the control is triggered by time and resets the kWTarget value to the present monitored element power. It then attempts to discharge Storage to keep power in the monitored element below the new kWTarget. See TimeDischargeTrigger.
In Support mode, the control operates oppositely of PeakShave mode: Storage is discharged to keep kW power output up near the target.
In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is discharged when the loadshape value is positive.
In Time mode, the Storage discharge is turned on at the specified RatekW at the specified discharge trigger time in fractional hours.
In Schedule mode, the Tup, TFlat, and Tdn properties specify the up ramp duration, flat duration, and down ramp duration for the schedule. The schedule start time is set by TimeDischargeTrigger and the rate of discharge for the flat part is determined by RatekW.
In I-PeakShave mode, the control attempts to discharge Storage to keep current in the monitored element below the target given in k-amps (thousands of amps), when this control mode is active, the property kWTarget will be expressed in k-amps.
DSS property name: ModeDischarge, DSS property index: 12
|
inline |
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller.
In PeakShave mode (Default), the control attempts to discharge Storage to keep power in the monitored element below the kWTarget.
In Follow mode, the control is triggered by time and resets the kWTarget value to the present monitored element power. It then attempts to discharge Storage to keep power in the monitored element below the new kWTarget. See TimeDischargeTrigger.
In Support mode, the control operates oppositely of PeakShave mode: Storage is discharged to keep kW power output up near the target.
In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is discharged when the loadshape value is positive.
In Time mode, the Storage discharge is turned on at the specified RatekW at the specified discharge trigger time in fractional hours.
In Schedule mode, the Tup, TFlat, and Tdn properties specify the up ramp duration, flat duration, and down ramp duration for the schedule. The schedule start time is set by TimeDischargeTrigger and the rate of discharge for the flat part is determined by RatekW.
In I-PeakShave mode, the control attempts to discharge Storage to keep current in the monitored element below the target given in k-amps (thousands of amps), when this control mode is active, the property kWTarget will be expressed in k-amps.
DSS property name: ModeDischarge, DSS property index: 12
|
inline |
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Default=MAX. Must be less than the number of phases. Used in PeakShave, Follow, Support and I-PeakShave discharging modes and in PeakShaveLow, I-PeakShaveLow charging modes. For modes based on active power measurements, the value used by the control is the monitored one multiplied by the number of phases of the monitored element.
DSS property name: MonPhase, DSS property index: 3
|
inline |
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Default=MAX. Must be less than the number of phases. Used in PeakShave, Follow, Support and I-PeakShave discharging modes and in PeakShaveLow, I-PeakShaveLow charging modes. For modes based on active power measurements, the value used by the control is the monitored one multiplied by the number of phases of the monitored element.
DSS property name: MonPhase, DSS property index: 3
|
inline |
Bandwidth (% of Target kW/kamps) of the dead band around the kW/kamps target value.
Default is 2% (+/-1%).No dispatch changes are attempted if the power in the monitored terminal stays within this band.
DSS property name: kWBand, DSS property index: 6
|
inline |
Bandwidth (% of kWTargetLow) of the dead band around the kW/kamps low target value.
Default is 2% (+/-1%).No charging is attempted if the power in the monitored terminal stays within this band.
DSS property name: kWBandLow, DSS property index: 8
|
inline |
Sets the kW charging rate in % of rated capacity for each element of the fleet.
Applies to TIME control mode and anytime charging mode is entered due to a time trigger.
DSS property name: RateCharge, DSS property index: 17
|
inline |
Sets the kW discharge rate in % of rated capacity for each element of the fleet.
Applies to TIME control mode, SCHEDULE mode, or anytime discharging is triggered by time.
DSS property name: RatekW, DSS property index: 16
|
inline |
Use this property to change the % reserve for each Storage element under control of this controller.
This might be used, for example, to allow deeper discharges of Storage or in case of emergency operation to use the remainder of the Storage element.
DSS property name: Reserve, DSS property index: 18
|
inline |
The level of charge required for allowing the storage to discharge again after reaching the reserve storage level.
After reaching this level, the storage control will not allow the storage device to discharge, forcing the storage to charge. Once the storage reaches thislevel, the storage will be able to discharge again. This value is a number between 0.2 and 1
DSS property name: ResetLevel, DSS property index: 34
|
inline |
With this property the user can specify the number of targets to be used by the controller using the list given at "SeasonTargets"/"SeasonTargetsLow", which can be used to dynamically adjust the storage controller during a QSTS simulation.
The default value is 1. This property needs to be defined before defining SeasonTargets/SeasonTargetsLow.
DSS property name: Seasons, DSS property index: 35
|
inline |
An array of doubles specifying the targets to be used during a QSTS simulation.
These targets will take effect only if SeasonRating=true. The number of targets cannot exceed the number of seasons defined at the SeasonSignal.The difference between the targets defined at SeasonTargets and SeasonTargetsLow is that SeasonTargets applies to discharging modes, while SeasonTargetsLow applies to charging modes.
DSS property name: SeasonTargets, DSS property index: 36
|
inline |
An array of doubles specifying the targets to be used during a QSTS simulation.
These targets will take effect only if SeasonRating=true. The number of targets cannot exceed the number of seasons defined at the SeasonSignal.The difference between the targets defined at SeasonTargets and SeasonTargetsLow is that SeasonTargets applies to discharging modes, while SeasonTargetsLow applies to charging modes.
DSS property name: SeasonTargetsLow, DSS property index: 37
|
inline |
Duration, hrs, of downramp part for SCHEDULE mode.
Default is 0.25.
DSS property name: Tdn, DSS property index: 31
|
inline |
Number of the terminal of the circuit element to which the StorageController2 control is connected.
1 or 2, typically. Default is 1. Make sure to select the proper direction on the power for the respective dispatch mode.
DSS property name: Terminal, DSS property index: 2
|
inline |
Duration, hrs, of flat part for SCHEDULE mode.
Default is 2.0.
DSS property name: TFlat, DSS property index: 30
|
inline |
Default time of day (hr) for initiating charging in Time control mode.
Set this to a negative value to ignore. Default is 2.0. (0200).When this value is >0 the Storage fleet is set to charging at this time regardless of other control criteria to make sure Storage is topped off for the next discharge cycle.
DSS property name: TimeChargeTrigger, DSS property index: 15
|
inline |
Default time of day (hr) for initiating Discharging of the fleet.
During Follow or Time mode discharging is triggered at a fixed time each day at this hour. If Follow mode, Storage will be discharged to attempt to hold the load at or below the power level at the time of triggering. In Time mode, the discharge is based on the RatekW property value. Set this to a negative value to ignore. Default is 12.0 for Follow mode; otherwise it is -1 (ignored).
DSS property name: TimeDischargeTrigger, DSS property index: 14
|
inline |
Duration, hrs, of upramp part for SCHEDULE mode.
Default is 0.25.
DSS property name: Tup, DSS property index: 29
|
inline |
|
inline |
Dispatch loadshape object, If any, for Yearly solution Mode.
DSS property name: Yearly, DSS property index: 24
|
inline |
Dispatch loadshape object, If any, for Yearly solution Mode.
DSS property name: Yearly, DSS property index: 24