Class TStorage2Obj
Unit
Declaration
type TStorage2Obj = class(TPCElement)
Description
this is a GUID compliant to RFC 4122, v4
Hierarchy
- TObject
 - TNamedObject
 - TDSSObject
 - TDSSCktElement
 - TPCElement
 - TStorage2Obj
 
Overview
Fields
Methods
![]()  | 
procedure GetTerminalCurrents(Curr: pComplexArray); OVERRIDE; | 
![]()  | 
constructor Create(ParClass: TDSSClass; const SourceName: String); | 
![]()  | 
destructor Destroy; OVERRIDE; | 
![]()  | 
procedure PropertySideEffects(Idx: Integer; previousIntVal: Integer = 0); override; | 
![]()  | 
procedure MakeLike(OtherPtr: Pointer); override; | 
![]()  | 
procedure Set_ConductorClosed(Index: Integer; Value: Boolean); OVERRIDE; | 
![]()  | 
procedure RecalcElementData(); OVERRIDE; | 
![]()  | 
procedure CalcYPrim(); OVERRIDE; | 
![]()  | 
function InjCurrents(): Integer; OVERRIDE; | 
![]()  | 
function NumVariables: Integer; OVERRIDE; | 
![]()  | 
procedure GetAllVariables(States: pDoubleArray); OVERRIDE; | 
![]()  | 
function Get_Variable(i: Integer): Double; OVERRIDE; | 
![]()  | 
procedure Set_Variable(i: Integer; Value: Double); OVERRIDE; | 
![]()  | 
function VariableName(i: Integer): String; OVERRIDE; | 
![]()  | 
procedure Set_Maxkvar(const Value: Double); | 
![]()  | 
procedure Set_Maxkvarneg(const Value: Double); | 
![]()  | 
procedure SetNominalStorageOutput(); | 
![]()  | 
procedure Randomize(Opt: Integer); | 
![]()  | 
procedure ResetRegisters; | 
![]()  | 
procedure TakeSample(); | 
![]()  | 
procedure InitStateVars(); OVERRIDE; | 
![]()  | 
procedure IntegrateStates(); OVERRIDE; | 
![]()  | 
procedure InitHarmonics(); OVERRIDE; | 
![]()  | 
procedure MakePosSequence(); OVERRIDE; | 
![]()  | 
function UsingCIMDynamics(): Boolean; | 
Properties
![]()  | 
property kW: Double READ Get_kW WRITE Set_kW; | 
![]()  | 
property kWDesired: Double READ Get_kWDesired; | 
![]()  | 
property PresentkW: Double READ Get_PresentkW; | 
![]()  | 
property Presentkvar: Double READ Get_Presentkvar; | 
![]()  | 
property PresentkV: Double READ Get_PresentkV; | 
![]()  | 
property PowerFactor: Double READ PFNominal WRITE Set_PowerFactor; | 
![]()  | 
property kVARating: Double READ StorageVars.FkVARating WRITE Set_kVARating; | 
![]()  | 
property kvarLimit: Double READ StorageVars.Fkvarlimit WRITE Set_Maxkvar; | 
![]()  | 
property kvarLimitneg: Double READ StorageVars.Fkvarlimitneg WRITE Set_Maxkvarneg; | 
![]()  | 
property StorageState: Integer READ FState WRITE Set_StorageState; | 
![]()  | 
property kWTotalLosses: Double READ Get_kWTotalLosses; | 
![]()  | 
property kWIdlingLosses: Double READ Get_kWIdlingLosses; | 
![]()  | 
property kWInverterLosses: Double READ Get_InverterLosses; | 
![]()  | 
property kWChDchLosses: Double READ Get_kWChDchLosses; | 
![]()  | 
property DCkW: Double READ Get_DCkW; | 
![]()  | 
property MinModelVoltagePU: Double READ VminPu; | 
Description
Fields
![]()  | 
StateDesired: Integer; | 
![]()  | 
StorageVars: TStorage2Vars; | 
| 
 Stores desired state (before any change due to kWh limits or %CutIn/%CutOut  | |
![]()  | 
AVRMode: Boolean; | 
![]()  | 
VBase: Double; | 
| 
 boolean indicating whether under AVR mode from ExpControl (or InvControl, but that does not seem to be implemented yet)  | |
![]()  | 
Vmaxpu: Double; | 
| 
 Base volts suitable for computing currents  | |
![]()  | 
Vminpu: Double; | 
![]()  | 
Connection: Integer; | 
![]()  | 
DailyShapeObj: TLoadShapeObj; | 
| 
 0 = line-neutral; 1=Delta  | |
![]()  | 
DutyShapeObj: TLoadShapeObj; | 
| 
 Daily Storage element Shape for this load  | |
![]()  | 
YearlyShapeObj: TLoadShapeObj; | 
| 
 Shape for this Storage element  | |
![]()  | 
pctkWOut: Double; | 
| 
 Shape for this Storage element  | |
![]()  | 
pctkWIn: Double; | 
| 
 percent of kW rated output currently dispatched  | |
![]()  | 
pctReserve: Double; | 
![]()  | 
DispatchMode: Integer; | 
![]()  | 
pctIdlekW: Double; | 
![]()  | 
kvarRequested: Double; | 
![]()  | 
kWRequested: Double; | 
![]()  | 
kWOutIdling: Double; | 
![]()  | 
pctIdlekvar: Double; | 
![]()  | 
pctChargeEff: Double; | 
![]()  | 
pctDischargeEff: Double; | 
![]()  | 
DischargeTrigger: Double; | 
![]()  | 
ChargeTrigger: Double; | 
![]()  | 
ChargeTime: Double; | 
![]()  | 
kWhBeforeUpdate: Double; | 
![]()  | 
CurrentkvarLimit: Double; | 
![]()  | 
CurrentkvarLimitNeg: Double; | 
![]()  | 
CutOutkWAC: Double; | 
![]()  | 
CutInkWAC: Double; | 
| 
 CutInkW reflected to the AC side of the inverter  | |
![]()  | 
InverterCurveObj: TXYCurveObj; | 
| 
 CutOutkW reflected to the AC side of the inverter Inverter efficiency curve  | |
![]()  | 
FVWStateRequested: Boolean; | 
![]()  | 
StorageClass: Integer; | 
| 
 TEST Flag indicating if VW function has requested a specific state in last control iteration  | |
![]()  | 
VoltageModel: Integer; | 
![]()  | 
PFNominal: Double; | 
| 
 Variation with voltage  | |
![]()  | 
Registers: array[1..NumStorage2Registers] of Double; | 
![]()  | 
Derivatives: array[1..NumStorage2Registers] of Double; | 
![]()  | 
VWMode: Boolean; | 
| 
 Variables for InvControl's Volt-Watt function  | |
![]()  | 
VVMode: Boolean; | 
| 
 boolean indicating if under volt-watt control mode from InvControl (not ExpControl)  | |
![]()  | 
DRCMode: Boolean; | 
| 
 boolean indicating if under volt-var mode from InvControl  | |
![]()  | 
WPMode: Boolean; | 
| 
 boolean indicating if under DRC mode from InvControl  | |
![]()  | 
WVMode: Boolean; | 
| 
 boolean indicating if under watt-pf mode from InvControl  | |
![]()  | 
InverterON: Boolean; | 
| 
 boolean indicating if under watt-var mode from InvControl  | |
![]()  | 
varMode: Integer; | 
![]()  | 
VarFollowInverter: LongBool; | 
Methods
![]()  | 
procedure GetTerminalCurrents(Curr: pComplexArray); OVERRIDE; | 
![]()  | 
constructor Create(ParClass: TDSSClass; const SourceName: String); | 
![]()  | 
destructor Destroy; OVERRIDE; | 
![]()  | 
procedure PropertySideEffects(Idx: Integer; previousIntVal: Integer = 0); override; | 
![]()  | 
procedure MakeLike(OtherPtr: Pointer); override; | 
![]()  | 
procedure Set_ConductorClosed(Index: Integer; Value: Boolean); OVERRIDE; | 
![]()  | 
procedure RecalcElementData(); OVERRIDE; | 
![]()  | 
procedure CalcYPrim(); OVERRIDE; | 
![]()  | 
function InjCurrents(): Integer; OVERRIDE; | 
![]()  | 
function NumVariables: Integer; OVERRIDE; | 
![]()  | 
procedure GetAllVariables(States: pDoubleArray); OVERRIDE; | 
![]()  | 
function Get_Variable(i: Integer): Double; OVERRIDE; | 
![]()  | 
procedure Set_Variable(i: Integer; Value: Double); OVERRIDE; | 
![]()  | 
function VariableName(i: Integer): String; OVERRIDE; | 
![]()  | 
procedure Set_Maxkvar(const Value: Double); | 
![]()  | 
procedure Set_Maxkvarneg(const Value: Double); | 
![]()  | 
procedure SetNominalStorageOutput(); | 
![]()  | 
procedure Randomize(Opt: Integer); | 
![]()  | 
procedure ResetRegisters; | 
| 
 0 = reset to 1.0; 1 = Gaussian around mean and std Dev ; // 2 = uniform  | |
![]()  | 
procedure TakeSample(); | 
![]()  | 
procedure InitStateVars(); OVERRIDE; | 
| 
 Support for Dynamics Mode  | |
![]()  | 
procedure IntegrateStates(); OVERRIDE; | 
![]()  | 
procedure InitHarmonics(); OVERRIDE; | 
| 
 Support for Harmonics Mode  | |
![]()  | 
procedure MakePosSequence(); OVERRIDE; | 
![]()  | 
function UsingCIMDynamics(): Boolean; | 
Properties
![]()  | 
property kW: Double READ Get_kW WRITE Set_kW; | 
| 
 Make a positive Sequence Model  | |
![]()  | 
property kWDesired: Double READ Get_kWDesired; | 
![]()  | 
property PresentkW: Double READ Get_PresentkW; | 
![]()  | 
property Presentkvar: Double READ Get_Presentkvar; | 
| 
 Present kW at inverter output  | |
![]()  | 
property PresentkV: Double READ Get_PresentkV; | 
| 
 Present kvar at inverter output  | |
![]()  | 
property PowerFactor: Double READ PFNominal WRITE Set_PowerFactor; | 
![]()  | 
property kVARating: Double READ StorageVars.FkVARating WRITE Set_kVARating; | 
![]()  | 
property kvarLimit: Double READ StorageVars.Fkvarlimit WRITE Set_Maxkvar; | 
![]()  | 
property kvarLimitneg: Double READ StorageVars.Fkvarlimitneg WRITE Set_Maxkvarneg; | 
![]()  | 
property StorageState: Integer READ FState WRITE Set_StorageState; | 
![]()  | 
property kWTotalLosses: Double READ Get_kWTotalLosses; | 
![]()  | 
property kWIdlingLosses: Double READ Get_kWIdlingLosses; | 
![]()  | 
property kWInverterLosses: Double READ Get_InverterLosses; | 
![]()  | 
property kWChDchLosses: Double READ Get_kWChDchLosses; | 
![]()  | 
property DCkW: Double READ Get_DCkW; | 
![]()  | 
property MinModelVoltagePU: Double READ VminPu; | 
Generated by PasDoc 0.16.0.

