You are on page 1of 62

OpenDSSTypeLibraryDocumentation

August18,2015
Version7.6.4.65

Enumerations
enumMonitorModes
dssVI=0,MonitorrecordsVoltageandCurrentattheterminal(Default
dssPower=1,MonitorrecordskW,kvarorkVA,anglevalues,etc.attheterminaltowhichitis
connected.
dssSequence=16,Reportsthemonitoredquantitiesassequencequantities
dssMagnitude=32,ReportsthemonitoredquantitiesinMagnitudeOnly
dssPosOnly=64,ReportsthePositiveSeqonlyoravgofallphases
dssTaps=2,FormonitoringRegulatorandTransformertaps
dssStates=3FormonitoringStateVariables(forPCElementsonly

enumSolveModes
dssSnapShot=0,Solveasinglesnapshotpowerflow
dssDutyCycle=6,SolvefollowingDutyCycleloadshapes
dssDirect=7,Solvedirect(forcedadmittancemodel
dssDaily=1,SolvefollowingDailyloadshapes
dssMonte1=3,MonteCarloMode1
dssMonte2=10,MonteCarloMode2
dssMonte3=11,MonteCarloMode3
dssFaultStudy=9,Faultstudyatallbuses
dssYearly=2,SolvefollowingYearlyloadshapes
dssMonteFault=8,MontecarloFaultStudy
dssPeakDay=5,SolvesforPeakDayusingDailyloadcurve
dssLD1=4,LoaddurationMode1
dssLD2=12,LoadDurationMode2
dssAutoAdd=13,Autoaddgeneratorsorcapacitors
dssHarmonic=15,(noHelpstringavailable)
dssDynamic=14(noHelpstringavailable)

enumOptions
dssPowerFlow=1,PowerFlowloadmodeloption
dssAdmittance=2,Admittanceloadmodeloption
dssNormalSolve=0,SolutionalgorithmoptionNormalsolutionmode
dssNewtonSolve=1,SolutionalgorithmoptionNewtonsolution
dssStatic=0,ControlModeoptionStatic
dssEvent=1,ControlModeOptionEventdrivensolutionmode
dssTime=2,ControlmodeoptionTimedrivenmode
dssMultiphase=0,Circuitmodelismultiphase(default
dssPositiveSeq=1,Circuitmodelispositivesequencemodelonly
dssGaussian=1,Randommode=Gaussian
dssUniform=2,Randommode=Uniform
dssLogNormal=3,RandomMode=Lognormal
dssAddGen=1,AddgeneratorsinAutoAddmode(AddType
dssAddCap=2,AddcapacitorsinAutoAddmode(Addtype
dssControlOFF=1ControlModeOFF=1

enumCapControlModes
dssCapControlVoltage=1,voltagecontrol,ONandOFFsettingsonthePTsecondarybase
dssCapControlKVAR=2,kVARcontrol,ONandOFFsettingsonPT/CTbase
dssCapControlCurrent=0,Currentcontrol,ONandOFFsettingsonCTsecondary
dssCapControlPF=4,ONandOFFsettingsarepowerfactor,negativeforleading
dssCapControlTime=3Timecontrol,ONandOFFsettingsaresecondsfrommidnight

enumActionCodes
dssActionNone=0,Noaction
dssActionOpen=1,Openaswitch
dssActionClose=2,Closeaswitch
dssActionReset=3,Resettotheshelfstate(unlocked,closedforaswitch
dssActionLock=4,Lockaswitch,prventingbothmanualandautomaticoperation
dssActionUnlock=5,Unlockaswitch,permittingbothmanualandautomaticoperation
dssActionTapUp=6,Movearegulatortapup
dssActionTapDown=7Movearegulatortapdown

enumLoadStatus
dssLoadVariable=0,(noHelpstringavailable)
2

dssLoadFixed=1,(noHelpstringavailable)
dssLoadExempt=2(noHelpstringavailable)

enumLoadModels
dssLoadConstPQ=1,(noHelpstringavailable)
dssLoadConstZ=2,(noHelpstringavailable)
dssLoadMotor=3,(noHelpstringavailable)
dssLoadCVR=4,(noHelpstringavailable)
dssLoadConstI=5,(noHelpstringavailable)
dssLoadConstPFixedQ=6,(noHelpstringavailable)
dssLoadConstPFixedX=7,(noHelpstringavailable)
dssLoadZIPV=8(noHelpstringavailable)

enumLineUnits
dssLineUnitsNone=0,Nolinelengthunit.
dssLineUnitsMiles=1,Linelengthunitsinmiles.
dssLineUnitskFt=2,Linelengthunitsareinthousandfeet.
dssLineUnitskm=3,Linelengthunitsarekm.
dssLineUnitsmeter=4,Linelengthunitsaremeters.
dssLineUnitsft=5,Lineunitsinfeet.
dssLineUnitsinch=6,Linelengthunitsareinches.
dssLineUnitscm=7,Lineunitsarecm.
dssLineUnitsmm=8,Linelengthunitsaremm.
dssLineUnitsMaxnum=9Maximumnumberoflineunitsconstants.

Interfaces
TextInterface
Command [out,retval]Type:BSTR*Command;[Property(get)];
'value=Command' InputcommandstringfortheDSS.
Command [in]Type:BSTRCommand;[Property(put)];
'Command=value' InputcommandstringfortheDSS.
Result [out,retval]Type:BSTR*Result;[Property(get)];
'value=Result' Resultstringforthelastcommand.

DSSPropertyInterface
Name [out,retval]Type:BSTR*Name;[Property(get)];
'value=Name' NameofProperty
Description [out,retval]Type:BSTR*Description;[Property(get)];
'value=Description' Descriptionoftheproperty.
Val [out,retval]Type:BSTR*Value;[Property(get)];
'value=Val' (noHelpstringavailable)
Val [in]Type:BSTRValue;[Property(put)];
'Val=value' (noHelpstringavailable)

CktElementInterface
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' FullNameofActiveCircuitElement
NumTerminals [out,retval]Type:long*Value;[Property(get)];
'value=NumTerminals' NumberofTerminalsthisCircuitElement
NumConductors [out,retval]Type:long*Value;[Property(get)];
'value=NumConductors' NumberofConductorsperTerminal
NumPhases [out,retval]Type:long*Value;[Property(get)];
'value=NumPhases' NumberofPhases
BusNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=BusNames' Variantarrayofstrings.GetBusdefinitionstowhicheachterminalis
connected.0basedarray.
BusNames [in]Type:VARIANTValue;[Property(put)];
'BusNames=value' Variantarrayofstrings.SetBusdefinitionsforeachterminalisconnected.
Properties [in]Type:VARIANTIndx,[out,retval]Type:IDSSProperty**Value;[Property

(get)];
'value=Properties' CollectionofPropertiesforthisCircuitElement(0basedindex,ifnumeric
Voltages [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Voltages' Complexarrayofvoltagesatterminals
Currents [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Currents' Complexarrayofcurrentsintoeachconductorofeachterminal
Powers [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Powers' Complexarrayofpowersintoeachconductorofeachterminal
Losses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Losses' Totallossesintheelement:twoelementcomplexarray
PhaseLosses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=PhaseLosses' Complexarrayoflossesbyphase
SeqVoltages [out,retval]Type:VARIANT*Value;[Property(get)];
'value=SeqVoltages' Doublearrayofsymmetricalcomponentvoltagesateach3phase
terminal
SeqCurrents [out,retval]Type:VARIANT*Value;[Property(get)];
'value=SeqCurrents' Doublearrayofsymmetricalcomponentcurrentsintoeach3phase
terminal
SeqPowers [out,retval]Type:VARIANT*Value;[Property(get)];
'value=SeqPowers' Doublearrayofsequencepowersintoeach3phaseteminal
Enabled [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=Enabled' Booleanindicatingthatelementiscurrentlyinthecircuit.
Enabled [in]Type:VARIANT_BOOLValue;[Property(put)];
'Enabled=value' Booleanindicatingthatelementiscurrentlyinthecircuit.
NormalAmps [out,retval]Type:double*Value;[Property(get)];
'value=NormalAmps' NormalampereratingforPDElements
NormalAmps [in]Type:doubleValue;[Property(put)];
'NormalAmps=value' Normalampererating
EmergAmps [out,retval]Type:double*Value;[Property(get)];
'value=EmergAmps' EmergencyAmpereRatingforPDelements
EmergAmps [in]Type:doubleValue;[Property(put)];
'EmergAmps=value' EmergencyAmpereRating
Open [in]Type:longTerm,[in]Type:longPhs;[Method];
'Open(arglist)' Openthespecifiedterminalandphase,ifnonzero.Elseallconductorsat
terminal.
Close [in]Type:longTerm,[in]Type:longPhs;[Method];
'Close(arglist)' Closethespecifiedterminalandphase,ifnonzero.Elseallconductorsat
terminal.
IsOpen [in]Type:longTerm,[in]Type:longPhs,[out,retval]Type:VARIANT_BOOL*Value;

[Method];
'IsOpen(arglist)' Booleanindicatingifthespecifiedterminaland,optionally,phaseisopen.
NumProperties [out,retval]Type:long*Value;[Property(get)];
'value=NumProperties' NumberofPropertiesthisCircuitElement.
AllPropertyNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllPropertyNames' Variantarraycontainingallpropertynamesoftheactivedevice.
Residuals [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Residuals' Residualcurrentsforeachterminal:(mag,angle
Yprim [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Yprim' YPrimmatrix,columnorder,complexnumbers(paired
DisplayName [out,retval]Type:BSTR*Value;[Property(get)];
'value=DisplayName' Displaynameoftheobject(notnecessarilyunique
DisplayName [in]Type:BSTRValue;[Property(put)];
'DisplayName=value' Displaynameoftheobject(notnecessarilyunique
Handle [out,retval]Type:long*Value;[Property(get)];
'value=Handle' Pointertothisobject
GUID [out,retval]Type:BSTR*Value;[Property(get)];
'value=GUID' globallyuniqueidentifierforthisobject
HasSwitchControl [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=HasSwitchControl' ThiselementhasaSwtControlattached.
HasVoltControl [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=HasVoltControl' ThiselementhasaCapControlorRegControlattached.
EnergyMeter [out,retval]Type:BSTR*Value;[Property(get)];
'value=EnergyMeter' NameoftheEnergyMeterthiselementisassignedto.
Controller [in]Type:longidx,[out,retval]Type:BSTR*Value;[Property(get)];
'value=Controller' Fullnameoftheithcontrollerattachedtothiselement.Ex:str=Controller
(2
CplxSeqVoltages [out,retval]Type:VARIANT*Value;[Property(get)];
'value=CplxSeqVoltages' ComplexdoublearrayofSequenceVoltageforallterminalsofactive
circuitelement.
CplxSeqCurrents [out,retval]Type:VARIANT*Value;[Property(get)];
'value=CplxSeqCurrents' ComplexdoublearrayofSequenceCurrentsforallconductorsofall
terminalsofactivecircuitelement.
AllVariableNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllVariableNames' Variantarrayofstringslistingallthepublishedvariablenames,ifa
PCElement.Otherwise,nullstring.
AllVariableValues [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllVariableValues' Variantarrayofdoubles.Valuesofstatevariablesofactiveelement
ifPCelement.

Variable [in]Type:BSTRMyVarName,[out]Type:long*Code,[out,retval]Type:double*
Value;[Property(get)];
'value=Variable' ForPCElement,getthevalueofavariablebyname.IfCode>0Thenno
variablebythisnameornotaPCelement.
Variablei [in]Type:longIdx,[out]Type:long*Code,[out,retval]Type:double*Value;
[Property(get)];
'value=Variablei' ForPCElement,getthevalueofavariablebyintegerindex.
NodeOrder [out,retval]Type:VARIANT*Value;[Property(get)];
'value=NodeOrder' Variantarrayofintegercontainingthenodenumbers(representing
phases,forexample
HasOCPDevice [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=HasOCPDevice' Trueifarecloser,relay,orfusecontrollingthiscktelement.OCP=
OvercurrentProtection
NumControls [out,retval]Type:long*Value;[Property(get)];
'value=NumControls' Numberofcontrolsconnectedtothisdevice.Usetodeterminevalid
rangeforindexintoControllerarray.
OCPDevIndex [out,retval]Type:long*Value;[Property(get)];
'value=OCPDevIndex' IndexintoControllerlistofOCPDevicecontrollingthisCktElement
OCPDevType [out,retval]Type:long*Value;[Property(get)];
'value=OCPDevType' 0=None;1=Fuse;2=Recloser;3=Relay;TypeofOCPcontrollerdevice
CurrentsMagAng [out,retval]Type:VARIANT*Value;[Property(get)];
'value=CurrentsMagAng' Currentsinmagnitude,angleformatasavariantarrayofdoubles.
VoltagesMagAng [out,retval]Type:VARIANT*Value;[Property(get)];
'value=VoltagesMagAng' Voltagesateachconductorinmagnitude,angleformasvariant
arrayofdoubles.

ErrorInterface
Number [out,retval]Type:long*Number;[Property(get)];
'value=Number' ErrorNumber
Description [out,retval]Type:BSTR*Description;[Property(get)];
'value=Description' Descriptionoferrorforlastoperation

CircuitInterface
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Nameoftheactivecircuit.
NumCktElements [out,retval]Type:long*Value;[Property(get)];
'value=NumCktElements' NumberofCktElementsinthecircuit.

NumBuses [out,retval]Type:long*Value;[Property(get)];
'value=NumBuses' TotalnumberofBusesinthecircuit.
NumNodes [out,retval]Type:long*Value;[Property(get)];
'value=NumNodes' Totalnumberofnodesinthecircuit.
Buses [in]Type:VARIANTIndex,[out,retval]Type:IBus**Value;[Property(get)];
'value=Buses' CollectionofBusesinthecircuit.Indexmaybestringorintegerindex(0based
CktElements [in]Type:VARIANTIdx,[out,retval]Type:ICktElement**Value;[Property
(get)];
'value=CktElements' CollectionofCktElementsinCircuit
Losses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Losses' Totallossesinactivecircuit,complexnumber(twoelementarrayofdouble
LineLosses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=LineLosses' Complextotallinelossesinthecircuit
SubstationLosses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=SubstationLosses' Complexlossesinalltransformersdesignatedtosubstations.
TotalPower [out,retval]Type:VARIANT*Value;[Property(get)];
'value=TotalPower' Totalpower,wattsdeliveredtothecircuit
AllBusVolts [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllBusVolts' Complexarrayofallbus,nodevoltagesfrommostrecentsolution
AllBusVmag [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllBusVmag' Arrayofmagnitudes(doubles
AllElementNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllElementNames' VaiantarrayofstringscontainingFullNameofallelements.
ActiveElement [out,retval]Type:ICktElement**Value;[Property(get)];
'value=ActiveElement' Returnaninterfacetotheactivecircuitelement
Disable [in]Type:BSTRName;[Method];
'Disable(arglist)' Disableacircuitelementbyname(removesfromcircuitbutleavein
database
Enable [in]Type:BSTRName;[Method];
'Enable(arglist)' Activate(enable
Solution [out,retval]Type:ISolution**Value;[Property(get)];
'value=Solution' ReturnaninterfacetotheSolutionobject.
ActiveBus [out,retval]Type:IBus**Value;[Property(get)];
'value=ActiveBus' Returnaninterfacetotheactivebus.
FirstPCElement [out,retval]Type:long*Value;[Method];
'FirstPCElement(arglist)' SetsthefirstPowerConversion(PC
NextPCElement [out,retval]Type:long*Value;[Method];
'NextPCElement(arglist)' GetsnextPCElement.Returns0ifnomore.
FirstPDElement [out,retval]Type:long*Value;[Method];

'FirstPDElement(arglist)' SetsthefirstPowerDelivery(PD
NextPDElement [out,retval]Type:long*Value;[Method];
'NextPDElement(arglist)' GetsnextPDElement.Returns0ifnomore.
AllBusNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllBusNames' Arrayofstringscontainingnamesofallbusesincircuit(see
AllNodeNames
AllElementLosses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllElementLosses' Arrayoftotallosses(complex
Sample [void;[Method];
'Sample(arglist)' ForceallMetersandMonitorstotakeasample.
SaveSample [void;[Method];
'SaveSample(arglist)' Forceallmetersandmonitorstosavetheircurrentbuffers.
Monitors [out,retval]Type:IMonitors**Value;[Property(get)];
'value=Monitors' ReturnsinterfacetoMonitorscollection.
Meters [out,retval]Type:IMeters**Value;[Property(get)];
'value=Meters' ReturnsinterfacetoMeters(EnergyMeter
Generators [out,retval]Type:IGenerators**Value;[Property(get)];
'value=Generators' ReturnsaGeneratorsObjectinterface
Settings [out,retval]Type:ISettings**Value;[Property(get)];
'value=Settings' ReturnsinterfacetoSettingsinterface.
Lines [out,retval]Type:ILines**Value;[Property(get)];
'value=Lines' ReturnsInterfacetoLinescollection.
SetActiveElement [in]Type:BSTRFullName,[out,retval]Type:long*Value;[Method];
'SetActiveElement(arglist)' SetstheActiveCircuitElementusingthefullobjectname(e.g.\i0
Capacity [in]Type:doubleStart,[in]Type:doubleIncrement,[out,retval]Type:double*
Value;[Method];
'Capacity(arglist)' (noHelpstringavailable)
SetActiveBus [in]Type:BSTRBusName,[out,retval]Type:long*Value;[Method];
'SetActiveBus(arglist)' SetsActivebusbyname.Ignoresnodelist.Returnsbusindex(zero
based
SetActiveBusi [in]Type:longBusIndex,[out,retval]Type:long*Value;[Method];
'SetActiveBusi(arglist)' SetsActiveBusbyIntegervalue.0basedindexcompatiblewith
SetActiveBusreturnvalueandAllBusNamesindexing.Returns0ifOK.
AllBusVmagPu [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllBusVmagPu' DoubleArrayofallbusvoltages(eachnode
AllNodeNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNodeNames' Variantarrayofstringscontainingfullnameofeachnodeinsystemin
sameorderasreturnedbyAllBusVolts,etc.
SystemY [out,retval]Type:VARIANT*Value;[Property(get)];

'value=SystemY' SystemYmatrix(afterasolutionhasbeenperformed
CtrlQueue [out,retval]Type:ICtrlQueue**Value;[Property(get)];
'value=CtrlQueue' InterfacetothemainControlQueue
AllBusDistances [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllBusDistances' ReturnsdistancefromeachbustoparentEnergyMeter.Corresponds
tosequenceinAllBusNames.
AllNodeDistances [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNodeDistances' ReturnsanarrayofdistancesfromparentEnergyMeterforeach
Node.CorrespondstoAllBusVMagsequence.
AllNodeVmagByPhase [in]Type:longPhase,[out,retval]Type:VARIANT*Value;[Property
(get)];
'value=AllNodeVmagByPhase' ReturnsArrayofdoublesrepresentvoltagemagnitudesfor
nodesonthespecifiedphase.
AllNodeVmagPUByPhase [in]Type:longPhase,[out,retval]Type:VARIANT*Value;
[Property(get)];
'value=AllNodeVmagPUByPhase' Returnsarrayofperunitvoltagemagnitudesforeachnode
byphase
AllNodeDistancesByPhase [in]Type:longPhase,[out,retval]Type:VARIANT*Value;
[Property(get)];
'value=AllNodeDistancesByPhase' Returnsanarrayofdoublesrepresentingthedistancesto
parentEnergyMeter.SequenceofarraycorrespondstoothernodeByPhaseproperties.
AllNodeNamesByPhase [in]Type:longPhase,[out,retval]Type:VARIANT*Value;[Property
(get)];
'value=AllNodeNamesByPhase' ReturnvariantarrayofstringsofthenodenamesfortheBy
Phasecriteria.SequencecorrespondstootherByPhaseproperties.
Loads [out,retval]Type:ILoads**Value;[Property(get)];
'value=Loads' ReturnsinterfacetoLoadelementinterface
FirstElement [out,retval]Type:long*Value;[Method];
'FirstElement(arglist)' SetsFirstelementofactiveclasstobetheActiveelementintheactive
circuit.Returns0ifnone.
NextElement [out,retval]Type:long*Value;[Method];
'NextElement(arglist)' Setsthenextelementoftheactiveclasstobetheactiveelementinthe
activecircuit.Returns0ifnomoreelements.
SetActiveClass [in]Type:BSTRClassName,[out,retval]Type:long*Value;[Method];
'SetActiveClass(arglist)' Setstheactiveclassbyname.UseFirstElement,NextElementto
iteratethroughtheclass.Returns1iffails.
ActiveDSSElement [out,retval]Type:IDSSElement**Value;[Property(get)];
'value=ActiveDSSElement' ReturnsInterfacetotheActiveDSSobject,whichcouldbeeithera
circuitelementorageneralDSSelement.

10

ActiveCktElement [out,retval]Type:ICktElement**Value;[Property(get)];
'value=ActiveCktElement' ReturnsinterfacetotheActiveCircuitelement(sameas
ActiveElement
ActiveClass [out,retval]Type:IActiveClass**Value;[Property(get)];
'value=ActiveClass' Returnsinterfacetoactiveclass.
Transformers [out,retval]Type:ITransformers**Value;[Property(get)];
'value=Transformers' ReturnsinterfacetoTransformerscollection
SwtControls [out,retval]Type:ISwtControls**Value;[Property(get)];
'value=SwtControls' ReturnsinterfacetoSwtControlscollection.
CapControls [out,retval]Type:ICapControls**Value;[Property(get)];
'value=CapControls' ReturnsinterfacetoCapControlscollection
RegControls [out,retval]Type:IRegControls**Value;[Property(get)];
'value=RegControls' ReturnsinterfacttoRegControlscollection
Capacitors [out,retval]Type:ICapacitors**Value;[Property(get)];
'value=Capacitors' Interfacetotheactivecircuit'sCapacitorscollection.
Topology [out,retval]Type:ITopology**Value;[Property(get)];
'value=Topology' Interfacetotheactivecircuit'stopologyobject.
Sensors [out,retval]Type:ISensors**Value;[Property(get)];
'value=Sensors' InterfacetoSensorsintheActiveCircuit.
UpdateStorage [void;[Method];
'UpdateStorage(arglist)' Forcesupdatetoallstorageclasses.Typicallydoneafterasolution.
Doneautomaticallyinintrinsicsolutionmodes.
ParentPDElement [out,retval]Type:long*Value;[Property(get)];
'value=ParentPDElement' SetsParentPDelement,ifany,tobetheactivecircuitelementand
returnsindex>0;Returns0ifitfailsornotapplicable.
XYCurves [out,retval]Type:IXYCurves**Value;[Property(get)];
'value=XYCurves' InterfacetoXYCurvesinactivecircuit.
PDElements [out,retval]Type:IPDElements**Value;[Property(get)];
'value=PDElements' InterfacetoPDElementscollection
Reclosers [out,retval]Type:IReclosers**Value;[Property(get)];
'value=Reclosers' (noHelpstringavailable)
Relays [out,retval]Type:IRelays**Value;[Property(get)];
'value=Relays' (noHelpstringavailable)
LoadShapes [out,retval]Type:ILoadShapes**Value;[Property(get)];
'value=LoadShapes' InterfacetoOpenDSSLoadshapescurrentlydefined.
Fuses [out,retval]Type:Fuses**Value;[Property(get)];
'value=Fuses' ReturninterfacetoFuses
Isources [out,retval]Type:IISources**Value;[Property(get)];
'value=Isources' InterfacetoISOURCEdevices

11

YNodeVarray [out,retval]Type:VARIANT*Value;[Property(get)];
'value=YNodeVarray' ComplexarrayofactualnodevoltagesinsameorderasSystemY
matrix.
EndOfTimeStepUpdate [void;[Method];
'EndOfTimeStepUpdate(arglist)' CallsEndOfTimeStepCleanupinSolutionAlgs
DSSim_Coms [out,retval]Type:IDSSimComs**Value;[Property(get)];
'value=DSSim_Coms' (noHelpstringavailable)
YNodeOrder [out,retval]Type:VARIANT*Value;[Property(get)];
'value=YNodeOrder' Variantarrayofstringscontainingthenamesofthenodesinthesame
orderastheYmatrix
YCurrents [out,retval]Type:VARIANT*Value;[Property(get)];
'value=YCurrents' Variantarrayofdoublescontainingcomplexinjectioncurrentsforthe
presentsolution.Isisthe\i0
PVSystems [out,retval]Type:IPVSystems**Value;[Property(get)];
'value=PVSystems' InterfacetoPVSystemscollection

BusInterface
Name [out,retval]Type:BSTR*Name;[Property(get)];
'value=Name' NameofBus
NumNodes [out,retval]Type:long*NumNodes;[Property(get)];
'value=NumNodes' NumberofNodesthisbus.
Voltages [out,retval]Type:VARIANT*Voltages;[Property(get)];
'value=Voltages' Complexarrayofvoltagesatthisbus.
SeqVoltages [out,retval]Type:VARIANT*SeqVoltages;[Property(get)];
'value=SeqVoltages' DoubleArrayofsequencevoltagesatthisbus.
Nodes [out,retval]Type:VARIANT*Nodes;[Property(get)];
'value=Nodes' IntegerArrayofNodeNumbersdefinedatthebusinsameorderasthe
voltages.
Voc [out,retval]Type:VARIANT*Voc;[Property(get)];
'value=Voc' Opencircuitvoltage;Complexarray.
Isc [out,retval]Type:VARIANT*Isc;[Property(get)];
'value=Isc' Shortcircuitcurrentsatbus;ComplexArray.
puVoltages [out,retval]Type:VARIANT*Value;[Property(get)];
'value=puVoltages' ComplexArrayofpuvoltagesatthebus.
kVBase [out,retval]Type:double*Value;[Property(get)];
'value=kVBase' BasevoltageatbusinkV
ZscMatrix [out,retval]Type:VARIANT*Value;[Property(get)];
'value=ZscMatrix' ComplexarrayofZscmatrixatbus.Columnbycolumn.

12

Zsc1 [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Zsc1' ComplexPositiveSequenceshortcircuitimpedanceatbus..
Zsc0 [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Zsc0' ComplexZeroSequenceshortcircuitimpedanceatbus.
ZscRefresh [out,retval]Type:VARIANT_BOOL*Value;[Method];
'ZscRefresh(arglist)' RecomputesZscforactivebusforpresentcircuitconfiguration.
YscMatrix [out,retval]Type:VARIANT*Value;[Property(get)];
'value=YscMatrix' ComplexarrayofYscmatrixatbus.Columnbycolumn.
Coorddefined [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=Coorddefined' False=0elseTrue.Indicateswhetheracoordinatehasbeendefinedfor
thisbus
x [out,retval]Type:double*Value;[Property(get)];
'value=x' XCoordinateforbus(double
x [in]Type:doubleValue;[Property(put)];
'x=value' XCoordinateforbus(double
y [out,retval]Type:double*Value;[Property(get)];
'value=y' Ycoordinateforbus(double
y [in]Type:doubleValue;[Property(put)];
'y=value' Ycoordinateforbus(double
Distance [out,retval]Type:double*Value;[Property(get)];
'value=Distance' Distancefromenergymeter(ifnonzero
GetUniqueNodeNumber [in]Type:longStartNumber,[out,retval]Type:long*Value;
[Method];
'GetUniqueNodeNumber(arglist)' Returnsauniquenodenumberattheactivebustoavoid
nodecollisionsandaddsittothenodelistforthebus.
CplxSeqVoltages [out,retval]Type:VARIANT*Value;[Property(get)];
'value=CplxSeqVoltages' ComplexDoublearrayofSequenceVoltages(0,1,2
Lambda [out,retval]Type:double*Value;[Property(get)];
'value=Lambda' Accumulatedfailureratedownstreamfromthisbus;faultsperyear
N_interrupts [out,retval]Type:double*Value;[Property(get)];
'value=N_interrupts' Numberofinterruptionsthisbusperyear
Int_Duration [out,retval]Type:double*Value;[Property(get)];
'value=Int_Duration' Averageinterruptionduration,hr.
Cust_Interrupts [out,retval]Type:double*Value;[Property(get)];
'value=Cust_Interrupts' Annualnumberofcustomerinterruptionsfromthisbus
Cust_Duration [out,retval]Type:double*Value;[Property(get)];
'value=Cust_Duration' Accumulatedcustomeroutagedurations
N_Customers [out,retval]Type:long*Value;[Property(get)];
'value=N_Customers' Totalnumbersofcustomersserveddownlinefromthisbus

13

VLL [out,retval]Type:VARIANT*Value;[Property(get)];
'value=VLL' For2and3phasebuses,returnsvariantarrayofcomplexnumbersrepresetinLL
voltagesinvolts.Returns1.0for1phasebus.Ifmorethan3phases,returnsonlyfirst3.
puVLL [out,retval]Type:VARIANT*Value;[Property(get)];
'value=puVLL' ReturnsComplexarrayofpuLLvoltagesfor2and3phasebuses.Returns1.0
for1phasebus.Ifmorethan3phases,returnsonly3phases.
VMagAngle [out,retval]Type:VARIANT*Value;[Property(get)];
'value=VMagAngle' VariantArrayofdoublescontainingvoltagesinMagnitude(VLN
puVmagAngle [out,retval]Type:VARIANT*Value;[Property(get)];
'value=puVmagAngle' Variantarrayofdoublescontainigvoltagemagnitude,anglepairsin
perunit
TotalMiles [out,retval]Type:double*Value;[Property(get)];
'value=TotalMiles' Totallengthoflinedownlinefromthisbus,inmiles.Forreclosersiting
algorithm.
SectionID [out,retval]Type:long*Value;[Property(get)];
'value=SectionID' IntegerIDofthefeedersectioninwhichthisbusislocated.

DSSInterface
NumCircuits [out,retval]Type:long*Value;[Property(get)];
'value=NumCircuits' NumberofCircuitscurrentlydefined
Circuits [in]Type:VARIANTIdx,[out,retval]Type:ICircuit**Value;[Property(get)];
'value=Circuits' CollectionofCircuitobjects
ActiveCircuit [out,retval]Type:ICircuit**Value;[Property(get)];
'value=ActiveCircuit' Returnsinterfacetotheactivecircuit.
Text [out,retval]Type:IText**Value;[Property(get)];
'value=Text' ReturnstheDSSText(commandresult
Error [out,retval]Type:IError**Value;[Property(get)];
'value=Error' ReturnsErrorinterface.
NewCircuit [in]Type:BSTRName,[out,retval]Type:ICircuit**Value;[Method];
'NewCircuit(arglist)' Makeanewcircuitandreturninterfacetoactivecircuit.
ClearAll [void;[Method];
'ClearAll(arglist)' Clearsallcircuitdefinitions.
ShowPanel [void;[Method];
'ShowPanel(arglist)' ShowsnonMDIchildformoftheMainDSSEditForm
Start [in]Type:longcode,[out,retval]Type:VARIANT_BOOL*Value;[Method];
'Start(arglist)' ValidatetheuserandstarttheDSS.ReturnsTRUEifsuccessful.
Version [out,retval]Type:BSTR*Value;[Property(get)];
'value=Version' GetversionstringfortheDSS.

14

DSSProgress [out,retval]Type:IDSSProgress**Value;[Property(get)];
'value=DSSProgress' GetsinterfacetotheDSSProgressMeter
Classes [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Classes' ListofDSSintrinsicclasses(namesoftheclasses
UserClasses [out,retval]Type:VARIANT*Value;[Property(get)];
'value=UserClasses' Listofuserdefinedclasses
NumClasses [out,retval]Type:long*Value;[Property(get)];
'value=NumClasses' NumberofDSSintrinsicclasses
NumUserClasses [out,retval]Type:long*Value;[Property(get)];
'value=NumUserClasses' Numberofuserdefinedclasses
DataPath [out,retval]Type:BSTR*Value;[Property(get)];
'value=DataPath' DSSDataFilePath.Defaultpathforreports,etc.fromDSS
DataPath [in]Type:BSTRValue;[Property(put)];
'DataPath=value' DSSDataFilePath.Defaultpathforreports,etc.fromDSS
Reset [void;[Method];
'Reset(arglist)' ResetsDSSInitializationforrestarts,etcfromapplets
AllowForms [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=AllowForms' DefaultisTRUE.UsethistosettoFALSE;CannotresettoTRUE;
AllowForms [in]Type:VARIANT_BOOLValue;[Property(put)];
'AllowForms=value' DefaultisTRUE.UsethistosettoFALSE;CannotresettoTRUE;
DefaultEditor [out,retval]Type:BSTR*Value;[Property(get)];
'value=DefaultEditor' Returnsthepathnameforthedefaulttexteditor.
ActiveClass [out,retval]Type:IActiveClass**Value;[Property(get)];
'value=ActiveClass' Returnsinterfacetotheactiveclass.
SetActiveClass [in]Type:BSTRClassName,[out,retval]Type:long*Value;[Method];
'SetActiveClass(arglist)' SetstheActiveDSSClassforusewithActiveClassinterface.Sameas
SetActiveClassinCircuitinterface.
Executive [out,retval]Type:IDSS_Executive**Value;[Property(get)];
'value=Executive' InterfacetoDSSExecutivecommandsandoptions
Events [out,retval]Type:IDSSEvents**Value;[Property(get)];
'value=Events' InterfacetotheDSSEvents
CmathLib [out,retval]Type:ICmathLib**Value;[Property(get)];
'value=CmathLib' Returnsaninterfacetothecomplexmathlibrary.
Parser [out,retval]Type:IParser**Value;[Property(get)];
'value=Parser' ReturnsinterfacetotheOpenDSSParserlibraryforusebyuserwritten
programs.
DSSim_Coms [out,retval]Type:IDSSimComs**Value;[Property(get)];
'value=DSSim_Coms' (noHelpstringavailable)

15

SolutionInterface
Solve [void;[Method];
'Solve(arglist)' Executesolutionforpresentsolutionmode.
Mode [out,retval]Type:long*Mode;[Property(get)];
'value=Mode' Setpresentsolutionmode(byatextcodeseeDSSHelp
Mode [in]Type:longMode;[Property(put)];
'Mode=value' Setpresentsolutionmode(byatextcodeseeDSSHelp
Frequency [out,retval]Type:double*Frequency;[Property(get)];
'value=Frequency' SettheFrequencyfornextsolution
Frequency [in]Type:doubleFrequency;[Property(put)];
'Frequency=value' SettheFrequencyfornextsolution
Hour [out,retval]Type:long*Hour;[Property(get)];
'value=Hour' SetHourfortimeseriessolutions.
Hour [in]Type:longHour;[Property(put)];
'Hour=value' SetHourfortimeseriessolutions.
Seconds [out,retval]Type:double*Seconds;[Property(get)];
'value=Seconds' Secondsfromtopofthehour.
Seconds [in]Type:doubleSeconds;[Property(put)];
'Seconds=value' Secondsfromtopofthehour.
StepSize [out,retval]Type:double*StepSize;[Property(get)];
'value=StepSize' Timestepsizeinsec
StepSize [in]Type:doubleStepSize;[Property(put)];
'StepSize=value' Timestepsizeinsec
Year [out,retval]Type:long*Year;[Property(get)];
'value=Year' Setyearforplanningstudies
Year [in]Type:longYear;[Property(put)];
'Year=value' Setyearforplanningstudies
LoadMult [out,retval]Type:double*LoadMult;[Property(get)];
'value=LoadMult' Defaultloadmultiplierappliedtoallnonfixedloads
LoadMult [in]Type:doubleLoadMult;[Property(put)];
'LoadMult=value' Defaultloadmultiplierappliedtoallnonfixedloads
Iterations [out,retval]Type:long*Iterations;[Property(get)];
'value=Iterations' Numberofiterationstakenforlastsolution.(SameasTotalIterations
MaxIterations [out,retval]Type:long*MaxIterations;[Property(get)];
'value=MaxIterations' Maxallowableiterations.
MaxIterations [in]Type:longMaxIterations;[Property(put)];
'MaxIterations=value' Maxallowableiterations.
Tolerance [out,retval]Type:double*Tolerance;[Property(get)];

16

'value=Tolerance' Solutionconvergencetolerance.
Tolerance [in]Type:doubleTolerance;[Property(put)];
'Tolerance=value' Solutionconvergencetolerance.
Number [out,retval]Type:long*Number;[Property(get)];
'value=Number' NumberofsolutionstoperformforMonteCarloandtimeseriessimulations
Number [in]Type:longNumber;[Property(put)];
'Number=value' NumberofsolutionstoperformforMonteCarloandtimeseriessimulations
Random [out,retval]Type:long*Random;[Property(get)];
'value=Random' Randomizationmodeforrandomvariables\i0
Random [in]Type:longRandom;[Property(put)];
'Random=value' Randomizationmodeforrandomvariables\i0
ModeID [out,retval]Type:BSTR*Value;[Property(get)];
'value=ModeID' ID(text
LoadModel [out,retval]Type:long*Value;[Property(get)];
'value=LoadModel' LoadModel:dssPowerFlow(default
LoadModel [in]Type:longValue;[Property(put)];
'LoadModel=value' LoadModel:dssPowerFlow(default
LDCurve [out,retval]Type:BSTR*Value;[Property(get)];
'value=LDCurve' LoadDurationCurvenameforLDmodes
LDCurve [in]Type:BSTRValue;[Property(put)];
'LDCurve=value' LoadDurationCurvenameforLDmodes
pctGrowth [out,retval]Type:double*Value;[Property(get)];
'value=pctGrowth' Percentdefaultannualloadgrowthrate
pctGrowth [in]Type:doubleValue;[Property(put)];
'pctGrowth=value' Percentdefaultannualloadgrowthrate
AddType [out,retval]Type:long*Value;[Property(get)];
'value=AddType' TypeofdevicetoaddinAutoAddMode:dssGen(Default
AddType [in]Type:longValue;[Property(put)];
'AddType=value' TypeofdevicetoaddinAutoAddMode:dssGen(Default
GenkW [out,retval]Type:double*Value;[Property(get)];
'value=GenkW' GeneratorkWforAutoAddmode
GenkW [in]Type:doubleValue;[Property(put)];
'GenkW=value' GeneratorkWforAutoAddmode
GenPF [out,retval]Type:double*Value;[Property(get)];
'value=GenPF' PFforgeneratorsinAutoAddmode
GenPF [in]Type:doubleValue;[Property(put)];
'GenPF=value' PFforgeneratorsinAutoAddmode
Capkvar [out,retval]Type:double*Value;[Property(get)];
'value=Capkvar' CapacitorkvarforaddingcapacitorsinAutoAddmode

17

Capkvar [in]Type:doubleValue;[Property(put)];
'Capkvar=value' CapacitorkvarforaddingcapacitorsinAutoAddmode
Algorithm [out,retval]Type:long*Value;[Property(get)];
'value=Algorithm' BaseSolutionalgorithm:dssNormalSolve|dssNewtonSolve
Algorithm [in]Type:longValue;[Property(put)];
'Algorithm=value' BaseSolutionalgorithm:dssNormalSolve|dssNewtonSolve
ControlMode [out,retval]Type:long*Value;[Property(get)];
'value=ControlMode' dssStatic*|dssEvent|dssTimeModesforcontroldevices
ControlMode [in]Type:longValue;[Property(put)];
'ControlMode=value' dssStatic*|dssEvent|dssTimeModesforcontroldevices
GenMult [out,retval]Type:double*Value;[Property(get)];
'value=GenMult' DefaultMultiplierappliedtogenerators(likeLoadMult
GenMult [in]Type:doubleValue;[Property(put)];
'GenMult=value' DefaultMultiplierappliedtogenerators(likeLoadMult
DefaultDaily [out,retval]Type:BSTR*Value;[Property(get)];
'value=DefaultDaily' Defaultdailyloadshape(defaultsto\i0
DefaultDaily [in]Type:BSTRValue;[Property(put)];
'DefaultDaily=value' Defaultdailyloadshape(defaultsto\i0
DefaultYearly [out,retval]Type:BSTR*Value;[Property(get)];
'value=DefaultYearly' DefaultYearlyloadshape(defaultsto\i0
DefaultYearly [in]Type:BSTRValue;[Property(put)];
'DefaultYearly=value' DefaultYearlyloadshape(defaultsto\i0
EventLog [out,retval]Type:VARIANT*Value;[Property(get)];
'value=EventLog' ArrayofstringscontainingtheEventLog
dblHour [out,retval]Type:double*Value;[Property(get)];
'value=dblHour' Hourasadouble,includingfractionalpart
dblHour [in]Type:doubleValue;[Property(put)];
'dblHour=value' Hourasadouble,includingfractionalpart
StepsizeMin [in]Type:doubleParam1;[Property(put)];
'StepsizeMin=value' SetStepsizeinminutes
StepsizeHr [in]Type:doubleParam1;[Property(put)];
'StepsizeHr=value' SetStepsizeinHr
ControlIterations [out,retval]Type:long*Value;[Property(get)];
'value=ControlIterations' Valueofthecontroliterationcounter
ControlIterations [in]Type:longValue;[Property(put)];
'ControlIterations=value' Valueofthecontroliterationcounter
MaxControlIterations [out,retval]Type:long*Value;[Property(get)];
'value=MaxControlIterations' Maximumallowablecontroliterations
MaxControlIterations [in]Type:longValue;[Property(put)];

18

'MaxControlIterations=value' Maximumallowablecontroliterations
Sample_DoControlActions [void;[Method];
'Sample_DoControlActions(arglist)' Samplecontrolsandthenprocessthecontrolqueuefor
presentcontrolmodeanddispatchcontrolactions
CheckFaultStatus [void;[Method];
'CheckFaultStatus(arglist)' Executesstatuscheckonallfaultobjectsdefinedinthecircuit.
SolveSnap [void;[Method];
'SolveSnap(arglist)' ExecutethesnapshotpowerflowroutineintheDSSthatsolvesatthe
presentstatewithcontrolactions
SolveDirect [void;[Method];
'SolveDirect(arglist)' ExecutesadirectsolutionfromthesystemYmatrix,ignoring
compensationcurrentsofloads,generators(includesYprimonly
SolvePflow [void;[Method];
'SolvePflow(arglist)' Solvesusingpresentpowerflowmethod.Iterativesolutionratherthan
directsolution.
SolveNoControl [void;[Method];
'SolveNoControl(arglist)' SimilartoSolveSnapexceptnocontrolactionsarecheckedor
executed
SolvePlusControl [void;[Method];
'SolvePlusControl(arglist)' Executesapowerflowsolution(SolveNoControl
InitSnap [void;[Method];
'InitSnap(arglist)' Initializessomevariablesforsnapshotpowerflow.SolveSnapdoesthis
automatically.
CheckControls [void;[Method];
'CheckControls(arglist)' ThenormalprocessforsamplingandexecutingControlActionsand
FaultStatusandrebuildsYifnecessary.
SampleControlDevices [void;[Method];
'SampleControlDevices(arglist)' Executesasamplingofallintrinsiccontroldevices,which
pushcontrolactionsontothecontrolqueue.
DoControlActions [void;[Method];
'DoControlActions(arglist)' Popscontrolactionsoffthecontrolqueueanddispatchestothe
propercontrolelement
BuildYMatrix [in]Type:longBuildOption,[in]Type:longAllocateVI;[Method];
'BuildYMatrix(arglist)' ForcebuildingoftheSystemYmatrix
SystemYChanged [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=SystemYChanged' FlagthatindicatesifelementsoftheSystemYhavebeenchanged
byrecentactivity.
Converged [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=Converged' Flagtoindicatewhetherthecircuitsolutionconverged

19

Converged [in]Type:VARIANT_BOOLValue;[Property(put)];
'Converged=value' Flagtoindicatewhetherthecircuitsolutionconverged
Totaliterations [out,retval]Type:long*Value;[Property(get)];
'value=Totaliterations' Totaliterationsincludingcontroliterationsformostrecentsolution.
MostIterationsDone [out,retval]Type:long*Value;[Property(get)];
'value=MostIterationsDone' Maxnumberofiterationsrequiredtoconvergeatanycontrol
iterationofthemostrecentsolution.
ControlActionsDone [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=ControlActionsDone' Flagindicatingthecontrolactionsaredone.
ControlActionsDone [in]Type:VARIANT_BOOLValue;[Property(put)];
'ControlActionsDone=value' (noHelpstringavailable)
FinishTimeStep [void;[Method];
'FinishTimeStep(arglist)' CallCleanup,samplemonitors,andincrementtimeatendoftime
step.
Cleanup [void;[Method];
'Cleanup(arglist)' Updatestorage,invcontrol,etcatendoftimestep

MonitorsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' ArrayofallMonitorNames
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsthefirstMonitoractive.Returns0ifnomonitors.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' Setsnextmonitoractive.Returns0ifnomore.
Reset [void;[Method];
'Reset(arglist)' ResetsactiveMonitorobject.
ResetAll [void;[Method];
'ResetAll(arglist)' ResetsallMonitorObjects
Sample [void;[Method];
'Sample(arglist)' CausesactiveMonitortotakeasample.
Save [void;[Method];
'Save(arglist)' Causesactivemonitortosaveitscurrentsamplebuffertoitsmonitorstream.
ThenyoucanaccesstheBytestreamorchanneldata.Moststandardsolutionmodesdothis
automatically.
Show [void;[Method];
'Show(arglist)' Convertsmonitorfiletotextanddisplayswithtexteditor
FileName [out,retval]Type:BSTR*Value;[Property(get)];
'value=FileName' NameofCSVfileassociatedwithactiveMonitor.

20

Mode [out,retval]Type:long*Value;[Property(get)];
'value=Mode' SetMonitormode(bitmaskintegerseeDSSHelp
Mode [in]Type:longValue;[Property(put)];
'Mode=value' SetMonitormode(bitmaskintegerseeDSSHelp
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' SetstheactiveMonitorobjectbyname
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetstheactiveMonitorobjectbyname
ByteStream [out,retval]Type:VARIANT*Value;[Property(get)];
'value=ByteStream' ByteArraycontainingmonitorstreamvalues.Makesurea\i0
SampleCount [out,retval]Type:long*Value;[Property(get)];
'value=SampleCount' NumberofSamplesinMonitoratPresent
SampleAll [void;[Method];
'SampleAll(arglist)' CausesallMonitorstotakeasampleofthepresentstate
SaveAll [void;[Method];
'SaveAll(arglist)' SaveallMonitorbufferstotheirrespectivefilestreams.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofMonitors
Process [void;[Method];
'Process(arglist)' Postprocessmonitorsamplestakensofar,e.g.,Pstformode=4
ProcessAll [void;[Method];
'ProcessAll(arglist)' Allmonitorspostprocessthedatatakensofar.
FileVersion [out,retval]Type:long*Value;[Property(get)];
'value=FileVersion' MonitorFileVersion(integer
RecordSize [out,retval]Type:long*Value;[Property(get)];
'value=RecordSize' SizeofeachrecordinByteStream(Integer
Header [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Header' Headerstring;VariantarrayofstringscontainingChannelnames
dblHour [out,retval]Type:VARIANT*Value;[Property(get)];
'value=dblHour' Variantarrayofdoublescontaingintimevalueinhoursfortimesampled
monitorvalues;Emptyiffrequencysampledvaluesforharmonicssolution(seedblFreq
dblFreq [out,retval]Type:VARIANT*Value;[Property(get)];
'value=dblFreq' Variantarrayofdoublescontainingfrequencyvaluesforharmonicsmode
solutions;Emptyfortimemodesolutions(usedblHour
Channel [in]Type:longIndex,[out,retval]Type:VARIANT*Value;[Property(get)];
'value=Channel' Variantarrayofdoublesforthespecifiedchannel(usage:MyArray=
DSSMonitor.Channel(i
NumChannels [out,retval]Type:long*Value;[Property(get)];
'value=NumChannels' NumberofChannelsintheactiveMonitor

21

Element [out,retval]Type:BSTR*Value;[Property(get)];
'value=Element' Fullobjectnameofelementbeingmonitored.
Element [in]Type:BSTRValue;[Property(put)];
'Element=value' Fullobjectnameofelementbeingmonitored.
Terminal [out,retval]Type:long*Value;[Property(get)];
'value=Terminal' Terminalnumberofelementbeingmonitored
Terminal [in]Type:longValue;[Property(put)];
'Terminal=value' Terminalnumberofelementbeingmonitored.

MetersInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' ArrayofallenergyMeternames
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetthefirstenergyMeteractive.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsthenextenergyMeteractive.Returns0ifnomore.
RegisterNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RegisterNames' Arrayofstringscontainingthenamesoftheregisters.
RegisterValues [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RegisterValues' ArrayofallthevaluescontainedintheMeterregistersfortheactive
Meter.
Reset [void;[Method];
'Reset(arglist)' ResetsregistersofactiveMeter.
ResetAll [void;[Method];
'ResetAll(arglist)' ResetsregistersofallMeterobjects.
Sample [void;[Method];
'Sample(arglist)' ForcesactiveMetertotakeasample.
Save [void;[Method];
'Save(arglist)' Savesmeterregistervalues.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Get/Settheactivemetername.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' Setametertobeactivebyname.
Totals [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Totals' Totalsofallregistersofallmeters
Peakcurrent [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Peakcurrent' ArrayofdoublestosetvaluesofPeakCurrentproperty
Peakcurrent [in]Type:VARIANTValue;[Property(put)];

22

'Peakcurrent=value' ArrayofdoublestosetvaluesofPeakCurrentproperty
CalcCurrent [out,retval]Type:VARIANT*Value;[Property(get)];
'value=CalcCurrent' SetthemagnitudeoftherealpartoftheCalculatedCurrent(normally
determinedbysolution
CalcCurrent [in]Type:VARIANTValue;[Property(put)];
'CalcCurrent=value' SetthemagnitudeoftherealpartoftheCalculatedCurrent(normally
determinedbysolution
AllocFactors [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllocFactors' Arrayofdoubles:setthephaseallocationfactorsfortheactivemeter.
AllocFactors [in]Type:VARIANTValue;[Property(put)];
'AllocFactors=value' Arrayofdoubles:setthephaseallocationfactorsfortheactivemeter.
MeteredElement [out,retval]Type:BSTR*Value;[Property(get)];
'value=MeteredElement' SetNameofmeteredelement
MeteredElement [in]Type:BSTRValue;[Property(put)];
'MeteredElement=value' SetNameofmeteredelement
MeteredTerminal [out,retval]Type:long*Value;[Property(get)];
'value=MeteredTerminal' setNumberofMeteredTerminal
MeteredTerminal [in]Type:longValue;[Property(put)];
'MeteredTerminal=value' setNumberofMeteredTerminal
DIFilesAreOpen [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=DIFilesAreOpen' GlobalFlagintheDSStoindicateifDemandInterval(DI
SampleAll [void;[Method];
'SampleAll(arglist)' CausesallEnergyMeterobjectstotakeasampleatthepresenttime
SaveAll [void;[Method];
'SaveAll(arglist)' SaveAllEnergyMeterobjects
OpenAllDIFiles [void;[Method];
'OpenAllDIFiles(arglist)' OpenDemandInterval(DI
CloseAllDIFiles [void;[Method];
'CloseAllDIFiles(arglist)' CloseAllDemandIntervalFiles(Necessaryattheendofarun
CountEndElements [out,retval]Type:long*Value;[Property(get)];
'value=CountEndElements' Numberofzoneendelementsintheactivemeterzone.
AllEndElements [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllEndElements' Variantarrayofnamesofallzoneendelements.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofEnergyMetersintheActiveCircuit
AllBranchesInZone [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllBranchesInZone' Widestringlistofallbranchesinzoneoftheactiveenergymeter
object.
CountBranches [out,retval]Type:long*Value;[Property(get)];

23

'value=CountBranches' NumberofbranchesinActiveenergymeterzone.(Sameas
sequencelistsize
SAIFI [out,retval]Type:double*Value;[Property(get)];
'value=SAIFI' ReturnsSAIFIforthismeter'sZone.ExecuteReliabilityCalcmethodfirst.
SequenceIndex [out,retval]Type:long*Value;[Property(get)];
'value=SequenceIndex' Get/setIndexintoMeter'sSequenceListthatcontainsbranchpointers
inlexicalorder.Earlierindexguaranteedtobeuplinefromlaterindex.SetsPDelementactive.
SequenceIndex [in]Type:longValue;[Property(put)];
'SequenceIndex=value' Get/setIndexintoMeter'sSequenceListthatcontainsbranchpointers
inlexicalorder.Earlierindexguaranteedtobeuplinefromlaterindex.SetsPDelementactive.
SAIFIKW [out,retval]Type:double*Value;[Property(get)];
'value=SAIFIKW' SAIFIbasedonkWratherthannumberofcustomers.Getafterreliability
calcs.
DoReliabilityCalc [in]Type:VARIANT_BOOLAssumeRestoration;[Method];
'DoReliabilityCalc(arglist)' CalculateSAIFI,etc.
SeqListSize [out,retval]Type:long*Value;[Property(get)];
'value=SeqListSize' SizeofSequenceList
TotalCustomers [out,retval]Type:long*Value;[Property(get)];
'value=TotalCustomers' TotalNumberofcustomersinthiszone(downlinefromthe
EnergyMeter
SAIDI [out,retval]Type:double*Value;[Property(get)];
'value=SAIDI' SAIDIforthismeter'szone.ExecuteDoReliabilityCalcfirst.
CustInterrupts [out,retval]Type:double*Value;[Property(get)];
'value=CustInterrupts' TotalcustomerinterruptionsforthisMeterzonebasedonreliability
calcs.

GeneratorsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' ArrayofnamesofallGeneratorobjects.
RegisterNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RegisterNames' ArrayofNamesofallgeneratorenergymeterregisters
RegisterValues [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RegisterValues' Arrayofvalusingeneratorenergymeterregisters.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsfirstGeneratortobeactive.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsnextGeneratortobeactive.Returns0ifnomore.
ForcedON [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];

24

'value=ForcedON' IndicateswhetherthegeneratorisforcedONregardlesofotherdispatch
criteria.
ForcedON [in]Type:VARIANT_BOOLValue;[Property(put)];
'ForcedON=value' IndicateswhetherthegeneratorisforcedONregardlesofotherdispatch
criteria.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Setsageneratoractivebyname.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' Setsageneratoractivebyname.
kV [out,retval]Type:double*Value;[Property(get)];
'value=kV' Voltagebasefortheactivegenerator,kV
kV [in]Type:doubleValue;[Property(put)];
'kV=value' Voltagebasefortheactivegenerator,kV
kW [out,retval]Type:double*Value;[Property(get)];
'value=kW' kWoutputfortheactivegenerator.kvarisupdatedforcurrentpowerfactor.
kW [in]Type:doubleValue;[Property(put)];
'kW=value' kWoutputfortheactivegenerator.kvarisupdatedforcurrentpowerfactor
kvar [out,retval]Type:double*Value;[Property(get)];
'value=kvar' kvaroutputfortheactivegenerator.UpdatespowerfactorbasedonpresentkW
value.
kvar [in]Type:doubleValue;[Property(put)];
'kvar=value' kvaroutputfortheactivegenerator.Updatespowerfactorbasedonpresent
kW.
PF [out,retval]Type:double*Value;[Property(get)];
'value=PF' Powerfactor(pos.=producingvars
PF [in]Type:doubleValue;[Property(put)];
'PF=value' Powerfactor(pos.=producingvars
Phases [out,retval]Type:long*Value;[Property(get)];
'value=Phases' Numberofphases
Phases [in]Type:longValue;[Property(put)];
'Phases=value' Numberofphases
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofGeneratorObjectsinActiveCircuit
idx [out,retval]Type:long*Value;[Property(get)];
'value=idx' Get/SetactiveGeneratorbyindexintogeneratorslist.1..Count
idx [in]Type:longValue;[Property(put)];
'idx=value' Get/SetactiveGeneratorbyindexintogeneratorslist.1..Count

25

DSSProgressInterface
PctProgress [in]Type:longParam1;[Property(put)];
'PctProgress=value' Percentprogresstoindicate[0..100]
Caption [in]Type:BSTRParam1;[Property(put)];
'Caption=value' CaptiontoappearonthebottomoftheDSSProgressform.
Show [void;[Method];
'Show(arglist)' Showsprogressformwithnullcaptionandprogresssettozero.
Close [void;[Method];
'Close(arglist)' Closes(hides

SettingsInterface
AllowDuplicates [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=AllowDuplicates' True|False*Designateswhethertoallowduplicatenamesof
objects
AllowDuplicates [in]Type:VARIANT_BOOLValue;[Property(put)];
'AllowDuplicates=value' True|False*Designateswhethertoallowduplicatenamesof
objects
ZoneLock [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=ZoneLock' True|False*LocksZonesonenergymeterstopreventrebuildingifa
circuitchangeoccurs.
ZoneLock [in]Type:VARIANT_BOOLValue;[Property(put)];
'ZoneLock=value' True|False*LocksZonesonenergymeterstopreventrebuildingifa
circuitchangeoccurs.
AllocationFactors [in]Type:doubleParam1;[Property(put)];
'AllocationFactors=value' SetsallloadallocationfactorsforallloadsdefinedbyXFKVA
propertytothisvalue.
AutoBusList [out,retval]Type:BSTR*Value;[Property(get)];
'value=AutoBusList' ListofBusesor(File=xxxx
AutoBusList [in]Type:BSTRValue;[Property(put)];
'AutoBusList=value' ListofBusesor(File=xxxx
CktModel [out,retval]Type:long*Value;[Property(get)];
'value=CktModel' dssMultiphase*|dssPositiveSeqIIndicateifthecircuitmodelispositive
sequence.
CktModel [in]Type:longValue;[Property(put)];
'CktModel=value' dssMultiphase*|dssPositiveSeqIIndicateifthecircuitmodelispositive
sequence.
NormVminpu [out,retval]Type:double*Value;[Property(get)];

26

'value=NormVminpu' PerUnitminimumvoltageforNormalconditions.
NormVminpu [in]Type:doubleValue;[Property(put)];
'NormVminpu=value' PerUnitminimumvoltageforNormalconditions.
NormVmaxpu [out,retval]Type:double*Value;[Property(get)];
'value=NormVmaxpu' PerUnitmaximumvoltageforNormalconditions.
NormVmaxpu [in]Type:doubleValue;[Property(put)];
'NormVmaxpu=value' PerUnitmaximumvoltageforNormalconditions.
EmergVminpu [out,retval]Type:double*Value;[Property(get)];
'value=EmergVminpu' PerUnitminimumvoltageforEmergencyconditions.
EmergVminpu [in]Type:doubleValue;[Property(put)];
'EmergVminpu=value' PerUnitminimumvoltageforEmergencyconditions.
EmergVmaxpu [out,retval]Type:double*Value;[Property(get)];
'value=EmergVmaxpu' PerUnitmaximumvoltageforEmergencyconditions.
EmergVmaxpu [in]Type:doubleValue;[Property(put)];
'EmergVmaxpu=value' PerUnitmaximumvoltageforEmergencyconditions.
UEweight [out,retval]Type:double*Value;[Property(get)];
'value=UEweight' WeightingfactorappliedtoUEregistervalues.
UEweight [in]Type:doubleValue;[Property(put)];
'UEweight=value' WeightingfactorappliedtoUEregistervalues.
LossWeight [out,retval]Type:double*Value;[Property(get)];
'value=LossWeight' WeightingfactorappliedtoLossregistervalues.
LossWeight [in]Type:doubleValue;[Property(put)];
'LossWeight=value' WeightingfactorappliedtoLossregistervalues.
UEregs [out,retval]Type:VARIANT*Value;[Property(get)];
'value=UEregs' ArrayofIntegersdefiningenergymeterregisterstouseforcomputingUE
UEregs [in]Type:VARIANTValue;[Property(put)];
'UEregs=value' ArrayofIntegersdefiningenergymeterregisterstouseforcomputingUE
LossRegs [out,retval]Type:VARIANT*Value;[Property(get)];
'value=LossRegs' Integerarraydefiningwhichenergymeterregisterstouseforcomputing
losses
LossRegs [in]Type:VARIANTValue;[Property(put)];
'LossRegs=value' Integerarraydefiningwhichenergymeterregisterstouseforcomputing
losses
Trapezoidal [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=Trapezoidal' True|False*Getsvalueoftrapezoidalintegrationflaginenergymeters.
Trapezoidal [in]Type:VARIANT_BOOLValue;[Property(put)];
'Trapezoidal=value' True|False*Getsvalueoftrapezoidalintegrationflaginenergymeters.
VoltageBases [out,retval]Type:VARIANT*Value;[Property(get)];
'value=VoltageBases' ArrayofdoublesdefiningthelegalvoltagebasesinkVLL

27

VoltageBases [in]Type:VARIANTValue;[Property(put)];
'VoltageBases=value' ArrayofdoublesdefiningthelegalvoltagebasesinkVLL
ControlTrace [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=ControlTrace' True|False*Denoteswhethertotracethecontrolactionstoafile.
ControlTrace [in]Type:VARIANT_BOOLValue;[Property(put)];
'ControlTrace=value' True|False*Denoteswhethertotracethecontrolactionstoafile.
PriceSignal [out,retval]Type:double*Value;[Property(get)];
'value=PriceSignal' PriceSignalfortheCircuit
PriceSignal [in]Type:doubleValue;[Property(put)];
'PriceSignal=value' PriceSignalfortheCircuit
PriceCurve [out,retval]Type:BSTR*Value;[Property(get)];
'value=PriceCurve' NameofLoadShapeobjectthatservesasthesourceofpricesignaldata
foryearlysimulations,etc.
PriceCurve [in]Type:BSTRValue;[Property(put)];
'PriceCurve=value' NameofLoadShapeobjectthatservesasthesourceofpricesignaldata
foryearlysimulations,etc.

LinesInterface
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' SpecifythenameoftheLineelementtosetitactive.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SpecifythenameoftheLineelementtosetitactive.
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' NamesofallLineObjects
First [out,retval]Type:long*Value;[Property(get)];
'value=First' Invokingthispropertysetsthefirstelementactive.Returns0ifnolines.
Otherwise,indexofthelineelement.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' InvokingthispropertyadvancestothenextLineelementactive.Returns0ifno
morelines.Otherwise,indexofthelineelement.
New [in]Type:BSTRName,[out,retval]Type:long*Value;[Method];
'New(arglist)' CreatesanewLineandmakesittheActiveCircuitElement.
Bus1 [out,retval]Type:BSTR*Value;[Property(get)];
'value=Bus1' Nameofbusforterminal1.
Bus1 [in]Type:BSTRValue;[Property(put)];
'Bus1=value' Nameofbusforterminal1.
Bus2 [out,retval]Type:BSTR*Value;[Property(get)];
'value=Bus2' Nameofbusforterminal2.

28

Bus2 [in]Type:BSTRValue;[Property(put)];
'Bus2=value' Nameofbusforterminal2.
LineCode [out,retval]Type:BSTR*Value;[Property(get)];
'value=LineCode' NameofLineCodeobjectthatdefinestheimpedances.
LineCode [in]Type:BSTRValue;[Property(put)];
'LineCode=value' NameofLineCodeobjectthatdefinestheimpedances.
Length [out,retval]Type:double*Value;[Property(get)];
'value=Length' LengthoflinesectioninunitscompatiblewiththeLineCodedefinition.
Length [in]Type:doubleValue;[Property(put)];
'Length=value' LengthoflinesectioninunitscompatiblewiththeLineCodedefinition.
Phases [out,retval]Type:long*Value;[Property(get)];
'value=Phases' NumberofPhases,thisLineelement.
Phases [in]Type:longValue;[Property(put)];
'Phases=value' NumberofPhases,thisLineelement.
R1 [out,retval]Type:double*Value;[Property(get)];
'value=R1' PositiveSequenceresistance,ohmsperunitlength.
R1 [in]Type:doubleValue;[Property(put)];
'R1=value' PositiveSequenceresistance,ohmsperunitlength.
X1 [out,retval]Type:double*Value;[Property(get)];
'value=X1' PositiveSequencereactance,ohmsperunitlength.
X1 [in]Type:doubleValue;[Property(put)];
'X1=value' PositiveSequencereactance,ohmsperunitlength.
R0 [out,retval]Type:double*Value;[Property(get)];
'value=R0' ZeroSequenceresistance,ohmsperunitlength.
R0 [in]Type:doubleValue;[Property(put)];
'R0=value' ZeroSequenceresistance,ohmsperunitlength.
X0 [out,retval]Type:double*Value;[Property(get)];
'value=X0' ZeroSequencereactanceohmsperunitlength.
X0 [in]Type:doubleValue;[Property(put)];
'X0=value' ZeroSequencereactanceohmsperunitlength.
C1 [out,retval]Type:double*Value;[Property(get)];
'value=C1' PositiveSequencecapacitance,nanofaradsperunitlength.
C1 [in]Type:doubleValue;[Property(put)];
'C1=value' PositiveSequencecapacitance,nanofaradsperunitlength.
C0 [out,retval]Type:double*Value;[Property(get)];
'value=C0' ZeroSequencecapacitance,nanofaradsperunitlength.
C0 [in]Type:doubleValue;[Property(put)];
'C0=value' ZeroSequencecapacitance,nanofaradsperunitlength.
Rmatrix [out,retval]Type:VARIANT*Value;[Property(get)];

29

'value=Rmatrix' Resistancematrix(full
Rmatrix [in]Type:VARIANTValue;[Property(put)];
'Rmatrix=value' Resistancematrix(full
Xmatrix [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Xmatrix' (noHelpstringavailable)
Xmatrix [in]Type:VARIANTValue;[Property(put)];
'Xmatrix=value' (noHelpstringavailable)
Cmatrix [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Cmatrix' (noHelpstringavailable)
Cmatrix [in]Type:VARIANTValue;[Property(put)];
'Cmatrix=value' (noHelpstringavailable)
NormAmps [out,retval]Type:double*Value;[Property(get)];
'value=NormAmps' NormalampereratingofLine.
NormAmps [in]Type:doubleValue;[Property(put)];
'NormAmps=value' NormalampereratingofLine.
EmergAmps [out,retval]Type:double*Value;[Property(get)];
'value=EmergAmps' Emergency(maximum
EmergAmps [in]Type:doubleValue;[Property(put)];
'EmergAmps=value' Emergency(maximum
Geometry [out,retval]Type:BSTR*Value;[Property(get)];
'value=Geometry' Linegeometrycode
Geometry [in]Type:BSTRValue;[Property(put)];
'Geometry=value' Linegeometrycode
Rg [out,retval]Type:double*Value;[Property(get)];
'value=Rg' Earthreturnresistancevalueusedtocomputelineimpedancesatpowerfrequency
Rg [in]Type:doubleValue;[Property(put)];
'Rg=value' Earthreturnresistancevalueusedtocomputelineimpedancesatpowerfrequency
Xg [out,retval]Type:double*Value;[Property(get)];
'value=Xg' Earthreturnreactancevalueusedtocomputelineimpedancesatpowerfrequency
Xg [in]Type:doubleValue;[Property(put)];
'Xg=value' Earthreturnreactancevalueusedtocomputelineimpedancesatpowerfrequency
Rho [out,retval]Type:double*Value;[Property(get)];
'value=Rho' EarthResistivity,mohms
Rho [in]Type:doubleValue;[Property(put)];
'Rho=value' EarthResistivity,mohms
Yprim [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Yprim' Yprimitive:DoesNothingatpresentonPut;Dangerous
Yprim [in]Type:VARIANTValue;[Property(put)];
'Yprim=value' Yprimitive:DoesNothingatpresentonPut;Dangerous

30

NumCust [out,retval]Type:long*Value;[Property(get)];
'value=NumCust' Numberofcustomersonthislinesection.
TotalCust [out,retval]Type:long*Value;[Property(get)];
'value=TotalCust' TotalNumberofcustomersservedfromthislinesection.
Parent [out,retval]Type:long*Value;[Property(get)];
'value=Parent' SetsParentoftheactiveLinetobetheactiveline.Returns0ifnoparentor
actionfails.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofLineobjectsinActiveCircuit.
Spacing [out,retval]Type:BSTR*Value;[Property(get)];
'value=Spacing' Linespacingcode
Spacing [in]Type:BSTRValue;[Property(put)];
'Spacing=value' Linespacingcode
Units [out,retval]Type:long*Value;[Property(get)];
'value=Units' (noHelpstringavailable)
Units [in]Type:longValue;[Property(put)];
'Units=value' (noHelpstringavailable)

CtrlQueueInterface
ClearQueue [void;[Method];
'ClearQueue(arglist)' Clearcontrolqueue
Delete [in]Type:longActionHandle;[Method];
'Delete(arglist)' DeleteacontrolactionfromtheDSScontrolqueuebyreferencingthehandle
oftheaction
NumActions [out,retval]Type:long*Value;[Property(get)];
'value=NumActions' NumberofActionsonthecurrentactionlist(thathavebeenpoppedoff
thecontrolqueuebyCheckControlActions
Action [in]Type:longParam1;[Property(put)];
'Action=value' Settheactiveactionbyindex
ActionCode [out,retval]Type:long*Value;[Property(get)];
'value=ActionCode' Codefortheactiveaction.Longintegercodetotellthecontroldevice
whattodo
DeviceHandle [out,retval]Type:long*Value;[Property(get)];
'value=DeviceHandle' Handle(Userdefined
Push [in]Type:longHour,[in]Type:doubleSeconds,[in]Type:longActionCode,[in]Type:
longDeviceHandle,[out,retval]Type:long*Value;[Method];
'Push(arglist)' PushacontrolactionontotheDSScontrolqueuebytime,actioncode,and
devicehandle(userdefined

31

Show [void;[Method];
'Show(arglist)' ShowentirecontrolqueueinCSVformat
ClearActions [void;[Method];
'ClearActions(arglist)' CleartheActionlist.
PopAction [out,retval]Type:long*Value;[Property(get)];
'value=PopAction' Popsnextactionofftheactionlistandmakesittheactiveaction.Returns
zeroifnone.

LoadsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringscontainingallLoadnames
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetfirstLoadelementtobeactive;returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsnextLoadelementtobeactive;returns0ofnoneelseindexofactiveload.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Setactiveloadbyname.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' Setactiveloadbyname.
Idx [out,retval]Type:long*Value;[Property(get)];
'value=Idx' Setsactiveloadbyindexintoloadlist.1..Count
Idx [in]Type:longValue;[Property(put)];
'Idx=value' Setsactiveloadbyindexintoloadlist.1..Count
kW [out,retval]Type:double*Value;[Property(get)];
'value=kW' SetkWforactiveLoad.UpdateskvarbasedonpresentPF.
kW [in]Type:doubleValue;[Property(put)];
'kW=value' SetkWforactiveLoad.UpdateskvarbasedonpresentPF.
kV [out,retval]Type:double*Value;[Property(get)];
'value=kV' SetkVratingforactiveLoad.For2ormorephasessetLineLinekV.ElseactualkV
acrossterminals.
kV [in]Type:doubleValue;[Property(put)];
'kV=value' SetkVratingforactiveLoad.For2ormorephasessetLineLinekV.ElseactualkV
acrossterminals.
kvar [out,retval]Type:double*Value;[Property(get)];
'value=kvar' SetkvarforactiveLoad.UpdatesPFbasedinpresentkW.
kvar [in]Type:doubleValue;[Property(put)];
'kvar=value' SetkvarforactiveLoad.UpdatesPFbasedonpresentkW.
PF [out,retval]Type:double*Value;[Property(get)];

32

'value=PF' SetPowerFactorforActiveLoad.SpecifyleadingPFasnegative.Updateskvar
basedonkWvalue
PF [in]Type:doubleValue;[Property(put)];
'PF=value' SetPowerFactorforActiveLoad.SpecifyleadingPFasnegative.Updateskvar
basedonpresentvalueofkW.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofLoadobjectsinactivecircuit.
PctMean [out,retval]Type:double*Value;[Property(get)];
'value=PctMean' AveragepercentofnominalloadinMonteCarlostudies;onlyifno
loadshapedefinedforthisload.
PctMean [in]Type:doubleValue;[Property(put)];
'PctMean=value' (noHelpstringavailable)
PctStdDev [out,retval]Type:double*Value;[Property(get)];
'value=PctStdDev' PercentstandarddeviationforMonteCarloloadstudies;ifthereisno
loadshapeassignedtothisload.
PctStdDev [in]Type:doubleValue;[Property(put)];
'PctStdDev=value' (noHelpstringavailable)
AllocationFactor [out,retval]Type:double*Value;[Property(get)];
'value=AllocationFactor' Factorforallocatingloadsbyconnectedxfkva
AllocationFactor [in]Type:doubleValue;[Property(put)];
'AllocationFactor=value' (noHelpstringavailable)
Cfactor [out,retval]Type:double*Value;[Property(get)];
'value=Cfactor' Factorrelatesaveragetopeakkw.Usedforallocationwithkwhand
kwhdays/
Cfactor [in]Type:doubleValue;[Property(put)];
'Cfactor=value' (noHelpstringavailable)
Class [out,retval]Type:long*Value;[Property(get)];
'value=Class' Acodenumberusedtoseparateloadsbyclassorgroup.Noeffectonthe
solution.
Class [in]Type:longValue;[Property(put)];
'Class=value' (noHelpstringavailable)
IsDelta [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsDelta' Deltaloadsareconnectedlinetoline.
IsDelta [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsDelta=value' (noHelpstringavailable)
CVRcurve [out,retval]Type:BSTR*Value;[Property(get)];
'value=CVRcurve' NameofaloadshapewithbothMultandQmult,forCVRfactorsasa
functionoftime.
CVRcurve [in]Type:BSTRValue;[Property(put)];

33

'CVRcurve=value' (noHelpstringavailable)
CVRwatts [out,retval]Type:double*Value;[Property(get)];
'value=CVRwatts' PercentreductioninPforpercentreductioninV.Mustbeusedwith
dssLoadModelCVR.
CVRwatts [in]Type:doubleValue;[Property(put)];
'CVRwatts=value' (noHelpstringavailable)
CVRvars [out,retval]Type:double*Value;[Property(get)];
'value=CVRvars' PercentreductioninQforpercentreductioninV.Mustbeusedwith
dssLoadModelCVR.
CVRvars [in]Type:doubleValue;[Property(put)];
'CVRvars=value' (noHelpstringavailable)
daily [out,retval]Type:BSTR*Value;[Property(get)];
'value=daily' Nameoftheloadshapeforadailyloadprofile.
daily [in]Type:BSTRValue;[Property(put)];
'daily=value' (noHelpstringavailable)
duty [out,retval]Type:BSTR*Value;[Property(get)];
'value=duty' Nameoftheloadshapeforadutycyclesimulation.
duty [in]Type:BSTRValue;[Property(put)];
'duty=value' (noHelpstringavailable)
kva [out,retval]Type:double*Value;[Property(get)];
'value=kva' Baseloadkva.Alsodefinedkwandkvarorpfinput,orloadallocationbykwhor
xfkva.
kva [in]Type:doubleValue;[Property(put)];
'kva=value' (noHelpstringavailable)
kwh [out,retval]Type:double*Value;[Property(get)];
'value=kwh' kwhbilledforthisperiod.CanbeusedwithCfactorforloadallocation.
kwh [in]Type:doubleValue;[Property(put)];
'kwh=value' (noHelpstringavailable)
kwhdays [out,retval]Type:double*Value;[Property(get)];
'value=kwhdays' Lengthofkwhbillingperiodforaveragedemandcalculation.Default30.
kwhdays [in]Type:doubleValue;[Property(put)];
'kwhdays=value' (noHelpstringavailable)
Model [out,retval]Type:enumLoadModels*,[Value;[Property(get)];
'value=Model' TheLoadModeldefinesvariationofPandQwithvoltage.
Model [in]Type:enumLoadModels,[Value;[Property(put)];
'Model=value' (noHelpstringavailable)
NumCust [out,retval]Type:long*Value;[Property(get)];
'value=NumCust' Numberofcustomersinthisload,defaultstoone.
NumCust [in]Type:longValue;[Property(put)];

34

'NumCust=value' (noHelpstringavailable)
Rneut [out,retval]Type:double*Value;[Property(get)];
'value=Rneut' Neutralresistanceforwyeconnectedloads.
Rneut [in]Type:doubleValue;[Property(put)];
'Rneut=value' (noHelpstringavailable)
Spectrum [out,retval]Type:BSTR*Value;[Property(get)];
'value=Spectrum' Nameofharmoniccurrentspectrrumshape.
Spectrum [in]Type:BSTRValue;[Property(put)];
'Spectrum=value' (noHelpstringavailable)
Vmaxpu [out,retval]Type:double*Value;[Property(get)];
'value=Vmaxpu' Maximumperunitvoltagetousetheloadmodel.Abovethis,constantZ
applies.
Vmaxpu [in]Type:doubleValue;[Property(put)];
'Vmaxpu=value' (noHelpstringavailable)
Vminemerg [out,retval]Type:double*Value;[Property(get)];
'value=Vminemerg' Minimumvoltageforunservedenergy(UE
Vminemerg [in]Type:doubleValue;[Property(put)];
'Vminemerg=value' (noHelpstringavailable)
Vminnorm [out,retval]Type:double*Value;[Property(get)];
'value=Vminnorm' Minimumvoltageforenergyexceedingnormal(EEN
Vminnorm [in]Type:doubleValue;[Property(put)];
'Vminnorm=value' (noHelpstringavailable)
Vminpu [out,retval]Type:double*Value;[Property(get)];
'value=Vminpu' Minimumvoltagetoapplytheloadmodel.Belowthis,constantZisused.
Vminpu [in]Type:doubleValue;[Property(put)];
'Vminpu=value' (noHelpstringavailable)
xfkVA [out,retval]Type:double*Value;[Property(get)];
'value=xfkVA' RatedservicetransformerkVAforloadallocation,usingAllocationFactor.
AffectskW,kvar,andpf.
xfkVA [in]Type:doubleValue;[Property(put)];
'xfkVA=value' (noHelpstringavailable)
Xneut [out,retval]Type:double*Value;[Property(get)];
'value=Xneut' Neutralreactanceforwyeconnectedloads.
Xneut [in]Type:doubleValue;[Property(put)];
'Xneut=value' (noHelpstringavailable)
Yearly [out,retval]Type:BSTR*Value;[Property(get)];
'value=Yearly' Nameofyearlydurationloadshape
Yearly [in]Type:BSTRValue;[Property(put)];
'Yearly=value' (noHelpstringavailable)

35

Status [out,retval]Type:enumLoadStatus*,[Value;[Property(get)];
'value=Status' Responsetoloadmultipliers:Fixed(growthonly
Status [in]Type:enumLoadStatus,[Value;[Property(put)];
'Status=value' (noHelpstringavailable)
Growth [out,retval]Type:BSTR*Value;[Property(get)];
'value=Growth' Nameofthegrowthshapecurveforyearlyloadgrowthfactors.
Growth [in]Type:BSTRValue;[Property(put)];
'Growth=value' (noHelpstringavailable)
ZIPV [out,retval]Type:VARIANT*Value;[Property(get)];
'value=ZIPV' Arrayof7doubleswithvaluesforZIPVpropertyoftheLOADobject
ZIPV [in]Type:VARIANTValue;[Property(put)];
'ZIPV=value' (noHelpstringavailable)
pctSeriesRL [out,retval]Type:double*Value;[Property(get)];
'value=pctSeriesRL' (noHelpstringavailable)
pctSeriesRL [in]Type:doubleValue;[Property(put)];
'pctSeriesRL=value' PercentofLoadthatismodeledasseriesRLforharmonicsstudies
RelWeight [out,retval]Type:double*Value;[Property(get)];
'value=RelWeight' RelativeWeightingfactorfortheactiveLOAD
RelWeight [in]Type:doubleValue;[Property(put)];
'RelWeight=value' RelativeWeightingfactorfortheactiveLOAD

DSSElementInterface
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' FullNameofActiveDSSObject(generalelementorcircuitelement
Properties [in]Type:VARIANTIndx,[out,retval]Type:IDSSProperty**Value;[Property
(get)];
'value=Properties' CollectionofpropertiesforActiveDSSobject(generalelementorcircuit
element
NumProperties [out,retval]Type:long*Value;[Property(get)];
'value=NumProperties' NumberofPropertiesfortheactiveDSSobject.
AllPropertyNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllPropertyNames' Variantarrayofstringscontainingthenamesofallpropertiesfor
theactiveDSSobject.

ActiveClassInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' Variantarrayofstringsconsistingofallelementnamesintheactiveclass.

36

First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsfirstelementintheactiveclasstobetheactiveDSSobject.Ifobjectisa
CktElement,ActiveCktELmentalsopointstothiselement.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsnextelementinactiveclasstobetheactiveDSSobject.Ifobjectisa
CktElement,ActiveCktElementalsopointstothiselement.Returns0ifnomore.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' NameoftheActiveElementoftheActiveClass
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' (noHelpstringavailable)
NumElements [out,retval]Type:long*Value;[Property(get)];
'value=NumElements' Numberofelementsinthisclass.SameasCountproperty.
ActiveClassName [out,retval]Type:BSTR*Value;[Property(get)];
'value=ActiveClassName' Returnsnameofactiveclass.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofelementsinActiveClass.SameasNumElementsProperty.

CapacitorsInterface
kV [out,retval]Type:double*Value;[Property(get)];
'value=kV' BankkVrating.UseLLfor2or3phases,oractualcanratingfor1phase.
kV [in]Type:doubleValue;[Property(put)];
'kV=value' BankkVrating.UseLLfor2or3phases,oractualcanratingfor1phase.
kvar [out,retval]Type:double*Value;[Property(get)];
'value=kvar' TotalbankKVAR,distributedequallyamongphasesandsteps.
kvar [in]Type:doubleValue;[Property(put)];
'kvar=value' TotalbankKVAR,distributedequallyamongphasesandsteps.
NumSteps [out,retval]Type:long*Value;[Property(get)];
'value=NumSteps' Numberofsteps(default1
NumSteps [in]Type:longValue;[Property(put)];
'NumSteps=value' Numberofsteps(default1
IsDelta [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsDelta' Deltaconnectionorwye?
IsDelta [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsDelta=value' Deltaconnectionorwye?
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringswithallCapacitornamesinthecircuit.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsthefirstCapacitoractive.Returns0ifnomore.

37

Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsthenextCapacitoractive.Returns0ifnomore.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' SetstheacitveCapacitorbyName.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetstheacitveCapacitorbyName.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofCapacitorobjectsinactivecircuit.
AddStep [out,retval]Type:VARIANT_BOOL*value;[Method];
'AddStep(arglist)' Addsonestepofthecapacitorifavailable.IfsuccessfulreturnsTRUE.
SubtractStep [out,retval]Type:VARIANT_BOOL*Value;[Method];
'SubtractStep(arglist)' Subtractonecapacitorstep.ReturnsFalseifnomoresteps.
AvailableSteps [out,retval]Type:long*Value;[Property(get)];
'value=AvailableSteps' NumberofStepsavailableincapbanktobeswitchedON.
States [out,retval]Type:VARIANT*Value;[Property(get)];
'value=States' Avariantarrayofinteger[0..numsteps1]indicatingstateofeachstep.If
valueis1anerrorhasoccurred.
States [in]Type:VARIANTValue;[Property(put)];
'States=value' Variantarrayofinteger[0..numSteps1]indicatingthestateofeachstep
Open [void;[Method];
'Open(arglist)' Openallsteps,allphasesoftheCapacitor
Close [void;[Method];
'Close(arglist)' CloseallphasesofallstepsoftheCapacitor

TransformersInterface
NumWindings [out,retval]Type:long*Value;[Property(get)];
'value=NumWindings' Numberofwindingsonthistransformer.Allocatesmemory;setor
changethispropertyfirst.
NumWindings [in]Type:longValue;[Property(put)];
'NumWindings=value' Numberofwindingsonthistransformer.Allocatesmemory;setor
changethispropertyfirst.
XfmrCode [out,retval]Type:BSTR*Value;[Property(get)];
'value=XfmrCode' NameofanXfrmCodethatsupplieselectircalparametersforthis
Transformer.
XfmrCode [in]Type:BSTRValue;[Property(put)];
'XfmrCode=value' NameofanXfrmCodethatsupplieselectircalparametersforthis
Transformer.
Wdg [out,retval]Type:long*Value;[Property(get)];

38

'value=Wdg' ActiveWindingNumberfrom1..NumWindings.Updatethisbeforereadingor
settingasequenceofwindingproperties(R,Tap,kV,kVA,etc.
Wdg [in]Type:longValue;[Property(put)];
'Wdg=value' ActiveWindingNumberfrom1..NumWindings.Updatethisbeforereadingor
settingasequenceofwindingproperties(R,Tap,kV,kVA,etc.
R [out,retval]Type:double*Value;[Property(get)];
'value=R' ActiveWindingresistancein%
R [in]Type:doubleValue;[Property(put)];
'R=value' ActiveWindingresistancein%
Tap [out,retval]Type:double*Value;[Property(get)];
'value=Tap' ActiveWindingtapinperunit.
Tap [in]Type:doubleValue;[Property(put)];
'Tap=value' ActiveWindingtapinperunit.
MinTap [out,retval]Type:double*Value;[Property(get)];
'value=MinTap' ActiveWindingminimumtapinperunit.
MinTap [in]Type:doubleValue;[Property(put)];
'MinTap=value' ActiveWindingminimumtapinperunit.
MaxTap [out,retval]Type:double*Value;[Property(get)];
'value=MaxTap' ActiveWindingmaximumtapinperunit.
MaxTap [in]Type:doubleValue;[Property(put)];
'MaxTap=value' ActiveWindingmaximumtapinperunit.
NumTaps [out,retval]Type:long*Value;[Property(get)];
'value=NumTaps' ActiveWindingnumberoftapstepsbetweinMinTapandMaxTap.
NumTaps [in]Type:longValue;[Property(put)];
'NumTaps=value' ActiveWindingnumberoftapstepsbetweinMinTapandMaxTap.
kV [out,retval]Type:double*Value;[Property(get)];
'value=kV' ActiveWindingkVrating.Phasephasefor2or3phases,actualwindingkVfor1
phasetransformer.
kV [in]Type:doubleValue;[Property(put)];
'kV=value' ActiveWindingkVrating.Phasephasefor2or3phases,actualwindingkVfor1
phasetransformer.
kVA [out,retval]Type:double*Value;[Property(get)];
'value=kVA' ActiveWindingkVArating.Onwinding1,thisalsodeterminesnormaland
emergencycurrentratingsforallwindings.
kVA [in]Type:doubleValue;[Property(put)];
'kVA=value' ActiveWindingkVArating.Onwinding1,thisalsodeterminesnormaland
emergencycurrentratingsforallwindings.
Xneut [out,retval]Type:double*Value;[Property(get)];
'value=Xneut' ActiveWindingneutralreactance[ohms]forwyeconnections.

39

Xneut [in]Type:doubleValue;[Property(put)];
'Xneut=value' ActiveWindingneutralreactance[ohms]forwyeconnections.
Rneut [out,retval]Type:double*Value;[Property(get)];
'value=Rneut' ActiveWindingneutralresistance[ohms]forwyeconnections.Setlessthan
zeroforungroundedwye.
Rneut [in]Type:doubleValue;[Property(put)];
'Rneut=value' ActiveWindingneutralresistance[ohms]forwyeconnections.Setlessthan
zeroforungroundedwye.
IsDelta [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsDelta' ActiveWindingdeltaorwyeconnection?
IsDelta [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsDelta=value' ActiveWindingdeltaorwyeconnection?
Xhl [out,retval]Type:double*Value;[Property(get)];
'value=Xhl' Percentreactancebetweenwindings1and2,onwinding1kVAbase.Usefor2
windingor3windingtransformers.
Xhl [in]Type:doubleValue;[Property(put)];
'Xhl=value' Percentreactancebetweenwindings1and2,onwinding1kVAbase.Usefor2
windingor3windingtransformers.
Xht [out,retval]Type:double*Value;[Property(get)];
'value=Xht' Percentreactancebetweenwindigns1and3,onwinding1kVAbase.Usefor3
windingtransformersonly.
Xht [in]Type:doubleValue;[Property(put)];
'Xht=value' Percentreactancebetweenwindigns1and3,onwinding1kVAbase.Usefor3
windingtransformersonly.
Xlt [out,retval]Type:double*Value;[Property(get)];
'value=Xlt' Percentreactancebetweenwindings2and3,onwinding_1_kVAbase.Usefor3
windingtransformersonly.
Xlt [in]Type:doubleValue;[Property(put)];
'Xlt=value' Percentreactancebetweenwindings2and3,onwinding_1_kVAbase.Usefor3
windingtransformersonly.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' SetsaTransformeractivebyName.and3,onwinding_1_kVAbase.Usefor3
windingtransformersonly.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetsaTransformeractivebyName.and3,onwinding_1_kVAbase.Usefor3
windingtransformersonly.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsthefirstTransformeractive.Returns0ifnomore.
Next [out,retval]Type:long*Value;[Property(get)];

40

'value=Next' SetsthenextTransformeractive.Returns0ifnomore.
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringswithallTransformernamesintheactivecircuit.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' (noHelpstringavailable)

SwtControlsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringswithallSwtControlnamesintheactivecircuit.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' SetsaSwtControlactivebyName.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetsaSwtControlactivebyName.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsthefirstSwtControlactive.Returns0ifnomore.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsthenextSwtControlactive.Returns0ifnomore.
Action [out,retval]Type:enumActionCodes*,[Value;[Property(get)];
'value=Action' OpenorClosetheswitch.Noeffectifswitchislocked.However,Reset
removesanylockandthenclosestheswitch(shelfstate
Action [in]Type:enumActionCodes,[Value;[Property(put)];
'Action=value' OpenorClosetheswitch.Noeffectifswitchislocked.However,Reset
removesanylockandthenclosestheswitch(shelfstate
IsLocked [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsLocked' Thelockpreventsbothmanualandautomaticswitchoperation.
IsLocked [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsLocked=value' Thelockpreventsbothmanualandautomaticswitchoperation.
Delay [out,retval]Type:double*Value;[Property(get)];
'value=Delay' Timedelay[s]betwenarmingandopeningorclosingtheswitch.Controlmay
resetbeforeactuallyoperatingtheswitch.
Delay [in]Type:doubleValue;[Property(put)];
'Delay=value' Timedelay[s]betwenarmingandopeningorclosingtheswitch.Controlmay
resetbeforeactuallyoperatingtheswitch.
SwitchedObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=SwitchedObj' Fullnameoftheswitchedelement.
SwitchedObj [in]Type:BSTRValue;[Property(put)];
'SwitchedObj=value' Fullnameoftheswitchedelement.
SwitchedTerm [out,retval]Type:long*Value;[Property(get)];

41

'value=SwitchedTerm' TerminalnumberwheretheswitchislocatedontheSwitchedObj
SwitchedTerm [in]Type:longValue;[Property(put)];
'SwitchedTerm=value' TerminalnumberwheretheswitchislocatedontheSwitchedObj
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' (noHelpstringavailable)

CapControlsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringswithallCapControlnames.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' SetsaCapControlactivebyname.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetsaCapControlactivebyname.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsthefirstCapControlasactive.Return0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' GetsthenextCapControlinthecircut.Returns0ifnone.
Mode [out,retval]Type:enumCapControlModes*,[Value;[Property(get)];
'value=Mode' Typeofautomaticcontroller.
Mode [in]Type:enumCapControlModes,[Value;[Property(put)];
'Mode=value' Typeofautomaticcontroller.
Capacitor [out,retval]Type:BSTR*Value;[Property(get)];
'value=Capacitor' NameoftheCapacitorthatiscontrolled.
Capacitor [in]Type:BSTRValue;[Property(put)];
'Capacitor=value' NameoftheCapacitorthatiscontrolled.
MonitoredObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=MonitoredObj' FullnameoftheelementthatPTandCTareconnectedto.
MonitoredObj [in]Type:BSTRValue;[Property(put)];
'MonitoredObj=value' FullnameoftheelementthatPTandCTareconnectedto.
MonitoredTerm [out,retval]Type:long*Value;[Property(get)];
'value=MonitoredTerm' TerminalnumberontheelementthatPTandCTareconnectedto.
MonitoredTerm [in]Type:longValue;[Property(put)];
'MonitoredTerm=value' TerminalnumberontheelementthatPTandCTareconnectedto.
CTratio [out,retval]Type:double*Value;[Property(get)];
'value=CTratio' Transducerratiofrompirmarycurrenttocontrolcurrent.
CTratio [in]Type:doubleValue;[Property(put)];
'CTratio=value' Transducerratiofrompirmarycurrenttocontrolcurrent.
PTratio [out,retval]Type:double*Value;[Property(get)];

42

'value=PTratio' Transducerratiofromprimaryfeedertocontrolvoltage.
PTratio [in]Type:doubleValue;[Property(put)];
'PTratio=value' Transducerratiofromprimaryfeedertocontrolvoltage.
ONSetting [out,retval]Type:double*Value;[Property(get)];
'value=ONSetting' Thresholdtoarmorswitchonastep.SeeModeforunits.
ONSetting [in]Type:doubleValue;[Property(put)];
'ONSetting=value' Thresholdtoarmorswitchonastep.SeeModeforunits.
OFFSetting [out,retval]Type:double*Value;[Property(get)];
'value=OFFSetting' Thresholdtoswitchoffastep.SeeModeforunits.
OFFSetting [in]Type:doubleValue;[Property(put)];
'OFFSetting=value' Thresholdtoswitchoffastep.SeeModeforunits.
Vmax [out,retval]Type:double*Value;[Property(get)];
'value=Vmax' WithVoltOverride,swtichoffwheneverPTvoltageexceedsthislevel.
Vmax [in]Type:doubleValue;[Property(put)];
'Vmax=value' WithVoltOverride,swtichoffwheneverPTvoltageexceedsthislevel.
Vmin [out,retval]Type:double*Value;[Property(get)];
'value=Vmin' WithVoltOverride,switchONwheneverPTvoltagedropsbelowthislevel.
Vmin [in]Type:doubleValue;[Property(put)];
'Vmin=value' WithVoltOverride,switchONwheneverPTvoltagedropsbelowthislevel.
UseVoltOverride [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=UseVoltOverride' EnablesVminandVmaxtooverridethecontrolMode
UseVoltOverride [in]Type:VARIANT_BOOLValue;[Property(put)];
'UseVoltOverride=value' EnablesVminandVmaxtooverridethecontrolMode
Delay [out,retval]Type:double*Value;[Property(get)];
'value=Delay' Timedelay[s]toswitchonafterarming.Controlmayresetbeforeactually
switching.
Delay [in]Type:doubleValue;[Property(put)];
'Delay=value' Timedelay[s]toswitchonafterarming.Controlmayresetbeforeactually
switching.
DelayOff [out,retval]Type:double*Value;[Property(get)];
'value=DelayOff' Timedelay[s]beforeswithcingoffastep.Controlmayresetbeforeactually
switching.
DelayOff [in]Type:doubleValue;[Property(put)];
'DelayOff=value' Timedelay[s]beforeswithcingoffastep.Controlmayresetbeforeactually
switching.
DeadTime [out,retval]Type:double*Value;[Property(get)];
'value=DeadTime' (noHelpstringavailable)
DeadTime [in]Type:doubleValue;[Property(put)];
'DeadTime=value' (noHelpstringavailable)

43

Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofCapControlsinActiveCircuit

RegControlsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringscontainingallRegControlnames
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Get/setActiveRegControlname
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetsaRegControlactivebyname
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsthefirstRegControlactive.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsthenextRegControlactive.Returns0ifnone.
MonitoredBus [out,retval]Type:BSTR*Value;[Property(get)];
'value=MonitoredBus' Nameofaremoteregulatedbus,inlieuofLDCsettings
MonitoredBus [in]Type:BSTRValue;[Property(put)];
'MonitoredBus=value' Nameofaremoteregulatedbus,inlieuofLDCsettings
Transformer [out,retval]Type:BSTR*Value;[Property(get)];
'value=Transformer' Nameofthetransformerthisregulatorcontrols
Transformer [in]Type:BSTRValue;[Property(put)];
'Transformer=value' Nameofthetransformerthisregulatorcontrols
TapWinding [out,retval]Type:long*Value;[Property(get)];
'value=TapWinding' Tappedwindingnumber
TapWinding [in]Type:longValue;[Property(put)];
'TapWinding=value' Tappedwindingnumber
Winding [out,retval]Type:long*Value;[Property(get)];
'value=Winding' WindingnumberforPTandCTconnections
Winding [in]Type:longValue;[Property(put)];
'Winding=value' WindingnumberforPTandCTconnections
CTPrimary [out,retval]Type:double*Value;[Property(get)];
'value=CTPrimary' CTprimaryampererating(secondaryis0.2amperes
CTPrimary [in]Type:doubleValue;[Property(put)];
'CTPrimary=value' CTprimaryampererating(secondaryis0.2amperes
PTratio [out,retval]Type:double*Value;[Property(get)];
'value=PTratio' PTratioforvoltagecontrolsettings
PTratio [in]Type:doubleValue;[Property(put)];
'PTratio=value' PTratioforvoltagecontrolsettings

44

ForwardR [out,retval]Type:double*Value;[Property(get)];
'value=ForwardR' LDCRsettinginVolts
ForwardR [in]Type:doubleValue;[Property(put)];
'ForwardR=value' LDCRsettinginVolts
ForwardX [out,retval]Type:double*Value;[Property(get)];
'value=ForwardX' LDCXsettinginVolts
ForwardX [in]Type:doubleValue;[Property(put)];
'ForwardX=value' LDCXsettinginVolts
ReverseR [out,retval]Type:double*Value;[Property(get)];
'value=ReverseR' ReverseLDCRsettinginVolts.
ReverseR [in]Type:doubleValue;[Property(put)];
'ReverseR=value' ReverseLDCRsettinginVolts.
ReverseX [out,retval]Type:double*Value;[Property(get)];
'value=ReverseX' ReverseLDCXsettinginvolts.
ReverseX [in]Type:doubleValue;[Property(put)];
'ReverseX=value' ReverseLDCXsettinginvolts.
IsReversible [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsReversible' Regulatorcanusedifferentsettingsinthereversedirection.Usuallynot
applicabletosubstationtransformers.
IsReversible [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsReversible=value' Regulatorcanusedifferentsettingsinthereversedirection.Usuallynot
applicabletosubstationtransformers.
IsInverseTime [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsInverseTime' Timedelayisinverselyadjsuted,proportinaltotheamountofvoltage
outsidetheregulatingband.
IsInverseTime [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsInverseTime=value' Timedelayisinverselyadjsuted,proportinaltotheamountofvoltage
outsidetheregulatingband.
Delay [out,retval]Type:double*Value;[Property(get)];
'value=Delay' Timedelay[s]afterarmingbeforethefirsttapchange.Controlmayreset
beforeactuallychangingtaps.
Delay [in]Type:doubleValue;[Property(put)];
'Delay=value' Timedelay[s]afterarmingbeforethefirsttapchange.Controlmayreset
beforeactuallychangingtaps.
TapDelay [out,retval]Type:double*Value;[Property(get)];
'value=TapDelay' Timedelay[s]forsubsequenttapchangesinaset.Controlmayresetbefore
actuallychangingtaps.
TapDelay [in]Type:doubleValue;[Property(put)];
'TapDelay=value' Timedelay[s]forsubsequenttapchangesinaset.Controlmayresetbefore

45

actuallychangingtaps.
MaxTapChange [out,retval]Type:long*Value;[Property(get)];
'value=MaxTapChange' MaximumtapchangeperiterationinSTATICsolutionmode.1is
morerealistic,16isthedefaultforafastersoluiton.
MaxTapChange [in]Type:longValue;[Property(put)];
'MaxTapChange=value' MaximumtapchangeperiterationinSTATICsolutionmode.1is
morerealistic,16isthedefaultforafastersoluiton.
VoltageLimit [out,retval]Type:double*Value;[Property(get)];
'value=VoltageLimit' FirsthousevoltagelimitonPTsecondarybase.Settingto0disablesthis
function.
VoltageLimit [in]Type:doubleValue;[Property(put)];
'VoltageLimit=value' FirsthousevoltagelimitonPTsecondarybase.Settingto0disablesthis
function.
ForwardBand [out,retval]Type:double*Value;[Property(get)];
'value=ForwardBand' Regulationbandwidthinforwarddireciton,centeredonVreg
ForwardBand [in]Type:doubleValue;[Property(put)];
'ForwardBand=value' Regulationbandwidthinforwarddireciton,centeredonVreg
ForwardVreg [out,retval]Type:double*Value;[Property(get)];
'value=ForwardVreg' Targetvoltageintheforwarddirection,onPTsecondarybase.
ForwardVreg [in]Type:doubleValue;[Property(put)];
'ForwardVreg=value' Targetvoltageintheforwarddirection,onPTsecondarybase.
ReverseBand [out,retval]Type:double*Value;[Property(get)];
'value=ReverseBand' Bandwidthinreversedirection,centeredonreverseVreg.
ReverseBand [in]Type:doubleValue;[Property(put)];
'ReverseBand=value' Bandwidthinreversedirection,centeredonreverseVreg.
ReverseVreg [out,retval]Type:double*Value;[Property(get)];
'value=ReverseVreg' Targetvoltageintherevesedirection,onPTsecondarybase.
ReverseVreg [in]Type:doubleValue;[Property(put)];
'ReverseVreg=value' Targetvoltageintherevesedirection,onPTsecondarybase.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofRegControlobjectsinActiveCircuit
TapNumber [out,retval]Type:long*Value;[Property(get)];
'value=TapNumber' (noHelpstringavailable)
TapNumber [in]Type:longValue;[Property(put)];
'TapNumber=value' Integernumberofthetapthatthecontrolledtransformerwindingis
currentliyon.

TopologyInterface

46

NumLoops [out,retval]Type:long*Value;[Property(get)];
'value=NumLoops' Numberofloops
NumIsolatedBranches [out,retval]Type:long*Value;[Property(get)];
'value=NumIsolatedBranches' Numberofisolatedbranches(PDelementsandcapacitors
AllLoopedPairs [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllLoopedPairs' Variantarrayofallloopedelementnames,bypairs.
AllIsolatedBranches [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllIsolatedBranches' Variantarrayofallisolatedbranchnames.
NumIsolatedLoads [out,retval]Type:long*Value;[Property(get)];
'value=NumIsolatedLoads' Numberofisolatedloads
AllIsolatedLoads [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllIsolatedLoads' Variantarrayofallisolatedloadnames.
BranchName [out,retval]Type:BSTR*Value;[Property(get)];
'value=BranchName' Nameoftheactivebranch.
BranchName [in]Type:BSTRValue;[Property(put)];
'BranchName=value' (noHelpstringavailable)
First [out,retval]Type:long*Value;[Property(get)];
'value=First' Setsthefirstbranchactive,returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' Setsthenextbranchactive,returns0ifnomore.
ActiveBranch [out,retval]Type:long*Value;[Property(get)];
'value=ActiveBranch' Returnsindexoftheactivebranch
ForwardBranch [out,retval]Type:long*Value;[Property(get)];
'value=ForwardBranch' Moveforwardinthetree,returnindexofnewactivebranchor0ifno
more
BackwardBranch [out,retval]Type:long*Value;[Property(get)];
'value=BackwardBranch' MOvebacktowardthesource,returnindexofnewactivebranch,or
0ifnomore.
LoopedBranch [out,retval]Type:long*Value;[Property(get)];
'value=LoopedBranch' Movetoloopedbranch,returnindexor0ifnone.
ParallelBranch [out,retval]Type:long*Value;[Property(get)];
'value=ParallelBranch' Movetodirectlyparallelbranch,returnindexor0ifnone.
FirstLoad [out,retval]Type:long*Value;[Property(get)];
'value=FirstLoad' Firstloadattheactivebranch,returnindexor0ifnone.
NextLoad [out,retval]Type:long*Value;[Property(get)];
'value=NextLoad' Nextloadattheactivebranch,returnindexor0ifnomore.
ActiveLevel [out,retval]Type:long*Value;[Property(get)];
'value=ActiveLevel' Topologicaldepthoftheactivebranch
BusName [out,retval]Type:BSTR*Value;[Property(get)];

47

'value=BusName' (noHelpstringavailable)
BusName [in]Type:BSTRValue;[Property(put)];
'BusName=value' Settheactivebranchtoonecontainingthisbus,returnindexor0ifnot
found

DSS_ExecutiveInterface
NumCommands [out,retval]Type:long*Value;[Property(get)];
'value=NumCommands' NumberofDSSExecutiveCommands
NumOptions [out,retval]Type:long*Value;[Property(get)];
'value=NumOptions' NumberofDSSExecutiveOptions
Command [in]Type:longi,[out,retval]Type:BSTR*Value;[Property(get)];
'value=Command' Getithcommand
Option [in]Type:longi,[out,retval]Type:BSTR*Value;[Property(get)];
'value=Option' Getithoption
CommandHelp [in]Type:longi,[out,retval]Type:BSTR*Value;[Property(get)];
'value=CommandHelp' Gethelpstringforithcommand
OptionHelp [in]Type:longi,[out,retval]Type:BSTR*Value;[Property(get)];
'value=OptionHelp' Gethelpstringforithoption
OptionValue [in]Type:longi,[out,retval]Type:BSTR*Value;[Property(get)];
'value=OptionValue' Getpresentvalueofithoption

DSSEventsInterface
SensorsInterface
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Nameoftheactivesensor.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SettheactiveSensorbyname.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofSensorsinActiveCircuit.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' Setsthefirstsensoractive.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsthenextSensoractive.Returns0ifnomore.
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofSensornames.
IsDelta [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
48

'value=IsDelta' Trueifmeasuredvoltagesarelineline.Currentsarealwayslinecurrents.
IsDelta [in]Type:VARIANT_BOOLValue;[Property(put)];
'IsDelta=value' (noHelpstringavailable)
ReverseDelta [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=ReverseDelta' Trueifvoltagemeasurementsare13,32,21.
ReverseDelta [in]Type:VARIANT_BOOLValue;[Property(put)];
'ReverseDelta=value' (noHelpstringavailable)
PctError [out,retval]Type:double*Value;[Property(get)];
'value=PctError' AssumedpercenterrorintheSensormeasurement.Defaultis1.
PctError [in]Type:doubleValue;[Property(put)];
'PctError=value' (noHelpstringavailable)
Weight [out,retval]Type:double*Value;[Property(get)];
'value=Weight' WeightingfactorforthisSensormeasurementwithrespecttootherSensors.
Defaultis1.
Weight [in]Type:doubleValue;[Property(put)];
'Weight=value' (noHelpstringavailable)
MeteredElement [out,retval]Type:BSTR*Value;[Property(get)];
'value=MeteredElement' FullNameofthemeasuredelement
MeteredElement [in]Type:BSTRValue;[Property(put)];
'MeteredElement=value' (noHelpstringavailable)
MeteredTerminal [out,retval]Type:long*Value;[Property(get)];
'value=MeteredTerminal' Numberofthemeasuredterminalinthemeasuredelement.
MeteredTerminal [in]Type:longValue;[Property(put)];
'MeteredTerminal=value' (noHelpstringavailable)
Reset [void;[Method];
'Reset(arglist)' CleartheactiveSensor.
ResetAll [void;[Method];
'ResetAll(arglist)' ClearallSensorsintheActiveCircuit.
kVbase [out,retval]Type:double*Value;[Property(get)];
'value=kVbase' Voltagebaseforthesensormeasurements.LLfor2and3phasesensors,LN
for1phasesensors.
kVbase [in]Type:doubleValue;[Property(put)];
'kVbase=value' (noHelpstringavailable)
Currents [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Currents' Arrayofdoublesforthelinecurrentmeasurements;don'tusewithkWSand
kVARS.
Currents [in]Type:VARIANTValue;[Property(put)];
'Currents=value' (noHelpstringavailable)
kVS [out,retval]Type:VARIANT*Value;[Property(get)];

49

'value=kVS' ArrayofdoublesfortheLLorLN(dependingonDeltaconnection
kVS [in]Type:VARIANTValue;[Property(put)];
'kVS=value' (noHelpstringavailable)
kVARS [out,retval]Type:VARIANT*Value;[Property(get)];
'value=kVARS' ArrayofdoublesforQmeasurements.OverwritesCurrentswithanew
estimateusingkWS.
kVARS [in]Type:VARIANTValue;[Property(put)];
'kVARS=value' (noHelpstringavailable)
kWS [out,retval]Type:VARIANT*Value;[Property(get)];
'value=kWS' ArrayofdoublesforPmeasurements.OverwritesCurrentswithanewestimate
usingkVARS.
kWS [in]Type:VARIANTValue;[Property(put)];
'kWS=value' (noHelpstringavailable)

XYCurvesInterface
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofXYCurveObjects
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetsfirstXYcurveobjectactive;returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' AdvancestonextXYCurveobject;returns0ifnomoreobjectsofthisclass
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' NameofactiveXYCurveObject
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' GetNameofactiveXYCurveObject
Npts [out,retval]Type:long*Value;[Property(get)];
'value=Npts' Get/SetNumberofpointsinXYcurve
Npts [in]Type:longValue;[Property(put)];
'Npts=value' Get/SetNumberofPointsinXYcurve
Xarray [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Xarray' Get/SetXvaluesasaVariantarrayofdoubles.SetNptstomaxnumber
expectedifsetting
Xarray [in]Type:VARIANTValue;[Property(put)];
'Xarray=value' Get/SetXvaluesasaVariantarrayofdoubles.SetNptstomaxnumber
expectedifsetting
Yarray [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Yarray' Get/SetYvaluesincurve;SetNptstomaxnumberexpectedifsetting
Yarray [in]Type:VARIANTValue;[Property(put)];

50

'Yarray=value' Get/SetYvaluesincurve;SetNptstomaxnumberexpectedifsetting
x [out,retval]Type:double*Value;[Property(get)];
'value=x' SetXvalueorgetinterpolatedvalueaftersettingY
x [in]Type:doubleValue;[Property(put)];
'x=value' (noHelpstringavailable)
y [out,retval]Type:double*Value;[Property(get)];
'value=y' YvalueforpresentXorsetthisvaluethengetcorrespondingX
y [in]Type:doubleValue;[Property(put)];
'y=value' SetYvalueorgetinterpolatedYvalueaftersettingX
Xshift [out,retval]Type:double*Value;[Property(get)];
'value=Xshift' AmounttoshiftXvaluefromoriginalcurve
Xshift [in]Type:doubleValue;[Property(put)];
'Xshift=value' (noHelpstringavailable)
Yshift [out,retval]Type:double*Value;[Property(get)];
'value=Yshift' amounttoshiftYvaliuefromoriginalcurve
Yshift [in]Type:doubleValue;[Property(put)];
'Yshift=value' (noHelpstringavailable)
Xscale [out,retval]Type:double*Value;[Property(get)];
'value=Xscale' FactortoscaleXvaluesfromoriginalcurve
Xscale [in]Type:doubleValue;[Property(put)];
'Xscale=value' FactortoscaleXvaluesfromoriginalcurve
Yscale [out,retval]Type:double*Value;[Property(get)];
'value=Yscale' FactortoscaleYvaluesfromoriginalcurve
Yscale [in]Type:doubleValue;[Property(put)];
'Yscale=value' AmounttoscaleYvaluesfromoriginalcurve.Representsacurveshift.

PDElementsInterface
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofPDelements(includingdisabledelements
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetthefirstenabledPDelementtobetheactiveelement.Returns0ifnone
found.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' AdvancetothenextPDelementinthecircuit.Enabledelementsonly.Returns0
whennomoreelements.
IsShunt [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=IsShunt' VariantbooleanindicatingofPDelementshouldbetreatedasashunt
elementratherthanaserieselement.AppliestoCapacitorandReactorelementsinparticular.

51

FaultRate [out,retval]Type:double*Value;[Property(get)];
'value=FaultRate' Get/SetNumberoffailuresperyear.ForLINEelements:Numberoffailures
perunitlengthperyear.
FaultRate [in]Type:doubleValue;[Property(put)];
'FaultRate=value' (noHelpstringavailable)
pctPermanent [out,retval]Type:double*Value;[Property(get)];
'value=pctPermanent' Get/Setpercentoffaultsthatarepermanent(requirerepair
pctPermanent [in]Type:doubleValue;[Property(put)];
'pctPermanent=value' (noHelpstringavailable)
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Get/SetnameofactivePDElement.Returnsnullstringifactiveelementisnot
PDElementtype.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' (noHelpstringavailable)
Lambda [out,retval]Type:double*Value;[Property(get)];
'value=Lambda' Failurerateforthisbranch.Faultsperyearincludinglengthofline.
AccumulatedL [out,retval]Type:double*Value;[Property(get)];
'value=AccumulatedL' accummulatedfailurerateforthisbranchondownline
RepairTime [out,retval]Type:double*Value;[Property(get)];
'value=RepairTime' Averagetimetorepairapermanentfaultonthisbranch,hours.
Numcustomers [out,retval]Type:long*Value;[Property(get)];
'value=Numcustomers' Numberofcustomers,thisbranch
Totalcustomers [out,retval]Type:long*Value;[Property(get)];
'value=Totalcustomers' Totalnumberofcustomersfromthisbranchtotheendofthezone
ParentPDElement [out,retval]Type:long*Value;[Property(get)];
'value=ParentPDElement' SetstheparentPDelementtobetheactivecircuitelement.
Returns0ifnomoreelementsupline.
FromTerminal [out,retval]Type:long*Value;[Property(get)];
'value=FromTerminal' NumberoftheterminalofactivePDelementthatisonthe\i0
TotalMiles [out,retval]Type:double*Value;[Property(get)];
'value=TotalMiles' Totalmilesoflinefromthiselementtotheendofthezone.Forrecloser
sitingalgorithm.
SectionID [out,retval]Type:long*Value;[Property(get)];
'value=SectionID' IntegerIDofthefeedersectionthatthisPDElementbranchispartof

ReclosersInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringswithnamesofallReclosersinActiveCircuit

52

Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofReclosersinactivecircuit.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetFirstReclosertobeActiveCktElement.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' Iteratetothenextrecloserinthecircuit.Returnszeroifnomore.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' GetNameofactiveRecloserorsettheactiveRecloserbyname.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' (noHelpstringavailable)
MonitoredObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=MonitoredObj' FullnameofobjectthisRecloserismonitoring.
MonitoredObj [in]Type:BSTRValue;[Property(put)];
'MonitoredObj=value' Setmonitoredobjectbyfullname.
MonitoredTerm [out,retval]Type:long*Value;[Property(get)];
'value=MonitoredTerm' TerminalnumberofMonitoredobjectfortheRecloser
MonitoredTerm [in]Type:longValue;[Property(put)];
'MonitoredTerm=value' (noHelpstringavailable)
SwitchedObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=SwitchedObj' FullnameofthecircuitelementthatisbeingswitchedbytheRecloser.
SwitchedObj [in]Type:BSTRValue;[Property(put)];
'SwitchedObj=value' (noHelpstringavailable)
SwitchedTerm [out,retval]Type:long*Value;[Property(get)];
'value=SwitchedTerm' Terminalnumberofthecontrolleddevicebeingswitchedbythe
Recloser
SwitchedTerm [in]Type:longValue;[Property(put)];
'SwitchedTerm=value' (noHelpstringavailable)
NumFast [out,retval]Type:long*Value;[Property(get)];
'value=NumFast' Numberoffastshots
NumFast [in]Type:longValue;[Property(put)];
'NumFast=value' (noHelpstringavailable)
Shots [out,retval]Type:long*Value;[Property(get)];
'value=Shots' Numberofshotstolockout(fast+delayed
Shots [in]Type:longValue;[Property(put)];
'Shots=value' (noHelpstringavailable)
RecloseIntervals [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RecloseIntervals' VariantArrayofDoubles:recloseintervals,s,betweenshots.
PhaseTrip [out,retval]Type:double*Value;[Property(get)];
'value=PhaseTrip' Phasetripcurvemultiplieroractualamps

53

PhaseTrip [in]Type:doubleValue;[Property(put)];
'PhaseTrip=value' PhaseTripmultiplieroractualamps
PhaseInst [out,retval]Type:double*Value;[Property(get)];
'value=PhaseInst' Phaseinstantaneouscurvemultipleroractualamps
PhaseInst [in]Type:doubleValue;[Property(put)];
'PhaseInst=value' (noHelpstringavailable)
GroundTrip [out,retval]Type:double*Value;[Property(get)];
'value=GroundTrip' Ground(3I0
GroundTrip [in]Type:doubleValue;[Property(put)];
'GroundTrip=value' (noHelpstringavailable)
GroundInst [out,retval]Type:double*Value;[Property(get)];
'value=GroundInst' Ground(3I0
GroundInst [in]Type:doubleValue;[Property(put)];
'GroundInst=value' Ground(3I0
Open [void;[Method];
'Open(arglist)' Openrecloser'scontrolledelementandlockouttherecloser
Close [void;[Method];
'Close(arglist)' Closetheswitchedobjectcontrolledbytherecloser.Resetsreclosertofirst
operation.
idx [out,retval]Type:long*Value;[Property(get)];
'value=idx' Get/SettheactiveRecloserbyindexintotherecloserlist.1..Count
idx [in]Type:longValue;[Property(put)];
'idx=value' Get/SettheActiveRecloserbyindexintotherecloserlist.1..Count

RelaysInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringscontainingnamesofallRelayelements
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofRelaysincircuit
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetFirstRelayactive.Ifnone,returns0.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' AdvancetonextRelayobject.Returns0whennomorerelays.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' Getnameofactiverelay.
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetRelayactivebyname
MonitoredObj [out,retval]Type:BSTR*Value;[Property(get)];

54

'value=MonitoredObj' FullnameofobjectthisRelayismonitoring.
MonitoredObj [in]Type:BSTRValue;[Property(put)];
'MonitoredObj=value' (noHelpstringavailable)
MonitoredTerm [out,retval]Type:long*Value;[Property(get)];
'value=MonitoredTerm' NumberofterminalofmonitoredelementthatthisRelayis
monitoring.
MonitoredTerm [in]Type:longValue;[Property(put)];
'MonitoredTerm=value' (noHelpstringavailable)
SwitchedObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=SwitchedObj' Fullnameofelementthatwillbeswitchedwhenrelaytrips.
SwitchedObj [in]Type:BSTRValue;[Property(put)];
'SwitchedObj=value' (noHelpstringavailable)
SwitchedTerm [out,retval]Type:long*Value;[Property(get)];
'value=SwitchedTerm' (noHelpstringavailable)
SwitchedTerm [in]Type:longValue;[Property(put)];
'SwitchedTerm=value' Terminalnumberoftheswitchedobjectthatwillbeopenedwhenthe
relaytrips.
idx [out,retval]Type:long*Value;[Property(get)];
'value=idx' Get/SetactiveRelaybyindexintotheRelaylist.1..Count
idx [in]Type:longValue;[Property(put)];
'idx=value' Get/SetRelayactivebyindexintorelaylist.1..Count

CmathLibInterface
cmplx [in]Type:doubleRealPart,[in]Type:doubleImagPart,[out,retval]Type:VARIANT*
Value;[Property(get)];
'value=cmplx' ConvertrealandimaginarydoublestoVariantarrayofdoubles
cabs [in]Type:doublerealpart,[in]Type:doubleimagpart,[out,retval]Type:double*Value;
[Property(get)];
'value=cabs' Returnabsvalueofcomplexnumbergiveninrealandimagdoubles
cdang [in]Type:doubleRealPart,[in]Type:doubleImagPart,[out,retval]Type:double*
Value;[Property(get)];
'value=cdang' Returnstheangle,indegrees,ofacomplexnumberspecifiedastwodoubles:
Realpartandimagpart.
ctopolardeg [in]Type:doubleRealPart,[in]Type:doubleImagPart,[out,retval]Type:
VARIANT*Value;[Property(get)];
'value=ctopolardeg' Convertcomplexnumbertomagnitudeandangle,degrees.Returns
variantarrayoftwodoubles.
pdegtocomplex [in]Type:doublemagnitude,[in]Type:doubleangle,[out,retval]Type:

55

VARIANT*Value;[Property(get)];
'value=pdegtocomplex' Convertmagnitude,angleindegreestoacomplexnumber.Returns
Variantarrayoftwodoubles.
cmul [in]Type:doublea1,[in]Type:doubleb1,[in]Type:doublea2,[in]Type:doubleb2,
[out,retval]Type:VARIANT*Value;[Property(get)];
'value=cmul' Multiplytwocomplexnumbers:(a1,b1
cdiv [in]Type:doublea1,[in]Type:doubleb1,[in]Type:doublea2,[in]Type:doubleb2,
[out,retval]Type:VARIANT*Value;[Property(get)];
'value=cdiv' Dividetwocomplexnumber:(a1,b1

ParserInterface
CmdString [out,retval]Type:BSTR*Value;[Property(get)];
'value=CmdString' Stringtobeparsed.LoadingthisstringresetstheParsertothebeginning
oftheline.Thenparseoffthetokensinsequence.
CmdString [in]Type:BSTRValue;[Property(put)];
'CmdString=value' Stringtobeparsed.LoadingthisstringresetstheParsertothebeginning
oftheline.Thenparseoffthetokensinsequence.
NextParam [out,retval]Type:BSTR*Value;[Property(get)];
'value=NextParam' Getnexttokenandreturntagname(before=sign
AutoIncrement [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=AutoIncrement' DefaultisFALSE.IfTRUEparserautomaticallyadvancestonexttoken
afterDblValue,IntValue,orStrValue.Simplerwhenyoudon'tneedtocheckforparameter
names.
AutoIncrement [in]Type:VARIANT_BOOLValue;[Property(put)];
'AutoIncrement=value' DefaultisFALSE.IfTRUEparserautomaticallyadvancestonexttoken
afterDblValue,IntValue,orStrValue.Simplerwhenyoudon'tneedtocheckforparameter
names.
DblValue [out,retval]Type:double*Value;[Property(get)];
'value=DblValue' Returnnextparameterasadouble.
IntValue [out,retval]Type:long*Value;[Property(get)];
'value=IntValue' Returnnextparameterasalonginteger.
StrValue [out,retval]Type:BSTR*Value;[Property(get)];
'value=StrValue' Returnnextparameterasastring
WhiteSpace [out,retval]Type:BSTR*Value;[Property(get)];
'value=WhiteSpace' GetthecharactersusedforWhitespaceinthecommandstring.Default
isblankandTab.
WhiteSpace [in]Type:BSTRValue;[Property(put)];
'WhiteSpace=value' SetthecharactersusedforWhitespaceinthecommandstring.Default

56

isblankandTab.
BeginQuote [out,retval]Type:BSTR*Value;[Property(get)];
'value=BeginQuote' GetStringcontainingthethecharactersforQuotinginOpenDSSscripts.
MatchingpairsdefinedinEndQuote.Defaultis\i0
BeginQuote [in]Type:BSTRValue;[Property(put)];
'BeginQuote=value' SetStringcontainingthethecharactersforQuotinginOpenDSSscripts.
MatchingpairsdefinedinEndQuote.Defaultis\i0
EndQuote [out,retval]Type:BSTR*Value;[Property(get)];
'value=EndQuote' Stringcontainingcharacters,inorder,thatmatchthebeginningquote
charactersinBeginQuote.Defaultis\i0
EndQuote [in]Type:BSTRValue;[Property(put)];
'EndQuote=value' Stringcontainingcharacters,inorder,thatmatchthebeginningquote
charactersinBeginQuote.Defaultis\i0
Delimiters [out,retval]Type:BSTR*Value;[Property(get)];
'value=Delimiters' Stringdefiningharddelimitersusedtoseparatetokenonthecommand
string.Defaultis,and=.The=separatestokennamefromtokenvalue.Theseoverride
whitesspacetoseparatetokens.
Delimiters [in]Type:BSTRValue;[Property(put)];
'Delimiters=value' Stringdefiningharddelimitersusedtoseparatetokenonthecommand
string.Defaultis,and=.The=separatestokennamefromtokenvalue.Theseoverride
whitesspacetoseparatetokens.
ResetDelimiters [void;[Method];
'ResetDelimiters(arglist)' Resetdelimiterstotheirdefaultvalues.
Vector [in]Type:longExpectedSize,[out,retval]Type:VARIANT*Value;[Property(get)];
'value=Vector' Returnstokenasvariantarrayofdoubles.Forparsingquotedarraysyntax.
Matrix [in]Type:longExpectedOrder,[out,retval]Type:VARIANT*Value;[Property(get)];
'value=Matrix' UsethispropertytoparseaMatrixtokeninOpenDSSformat.Returnssquare
matrixoforderspecified.OrdersameasdefaultFortranorder:columnbycolumn.
SymMatrix [in]Type:longExpectedOrder,[out,retval]Type:VARIANT*Value;[Property
(get)];
'value=SymMatrix' Usethispropertytoparseamatrixtokenspecifiedinlowertriangleform.
Symmetryisforced.

LoadShapesInterface
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' GettheNameoftheactiveLoadshape
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SettheactiveLoadshapebyname

57

Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofLoadshapeobjectscurrentlydefinedinLoadshapecollection
First [out,retval]Type:long*Value;[Property(get)];
'value=First' Setthefirstloadshapeactiveandreturnintegerindexoftheloadshape.Returns
0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' AdvanceactiveLoadshapetothenextoninthecollection.Returns0ifnomore
loadshapes.
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringscontainingnamesofallLoadshapeobjectscurrently
defined.
Npts [out,retval]Type:long*Value;[Property(get)];
'value=Npts' GetNumberofpointsinactiveLoadshape.
Npts [in]Type:longValue;[Property(put)];
'Npts=value' SetnumberofpointstoallocateforactiveLoadshape.
Pmult [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Pmult' VariantarrayofDoublesforthePmultiplierintheLoadshape.
Pmult [in]Type:VARIANTValue;[Property(put)];
'Pmult=value' VariantarrayofdoublescontainingtheParrayfortheLoadshape.
Qmult [out,retval]Type:VARIANT*Value;[Property(get)];
'value=Qmult' VariantarrayofdoublescontainingtheQmultipliers.
Qmult [in]Type:VARIANTValue;[Property(put)];
'Qmult=value' VariantarrayofdoublescontainingtheQmultipliers.
Normalize [void;[Method];
'Normalize(arglist)' NormalizethePandQcurvesbasedoneitherPbase,Qbaseorsimplythe
peakvalueofthecurve.
TimeArray [out,retval]Type:VARIANT*Value;[Property(get)];
'value=TimeArray' TimearrayinhourscorrescpondingtoPandQmultiplierswhenthe
Interval=0.
TimeArray [in]Type:VARIANTValue;[Property(put)];
'TimeArray=value' TimearrayinhourscorrescpondingtoPandQmultiplierswhenthe
Interval=0.
HrInterval [out,retval]Type:double*Value;[Property(get)];
'value=HrInterval' Fixedintervaltimevalue,hours
HrInterval [in]Type:doubleValue;[Property(put)];
'HrInterval=value' Fixedintervaltimevalue,hours.
MinInterval [out,retval]Type:double*Value;[Property(get)];
'value=MinInterval' FixedIntervaltimevalue,inminutes
MinInterval [in]Type:doubleValue;[Property(put)];

58

'MinInterval=value' FixedIntervaltimevalue,inminutes
New [in]Type:BSTRName;[Method];
'New(arglist)' MakeanewLoadshape
Pbase [out,retval]Type:double*Value;[Property(get)];
'value=Pbase' BasefornormalizingPcurve.Ifleftatzero,thepeakvalueisused.
Pbase [in]Type:doubleValue;[Property(put)];
'Pbase=value' BasefornormalizingPcurve.Ifleftatzero,thepeakvalueisused.
Qbase [out,retval]Type:double*Value;[Property(get)];
'value=Qbase' BasefornormalizingQcurve.Ifleftatzero,thepeakvalueisused.
Qbase [in]Type:doubleValue;[Property(put)];
'Qbase=value' BasefornormalizingQcurve.Ifleftatzero,thepeakvalueisused.
UseActual [out,retval]Type:VARIANT_BOOL*Value;[Property(get)];
'value=UseActual' T/FflagtoletLoadsknowtousetheactualvalueinthecurveratherthan
usethevalueasamultiplier.
UseActual [in]Type:VARIANT_BOOLValue;[Property(put)];
'UseActual=value' T/FflagtoletLoadsknowtousetheactualvalueinthecurveratherthan
usethevalueasamultiplier.
Sinterval [out,retval]Type:double*Value;[Property(get)];
'value=Sinterval' Fixedintervaldatatimeinterval,seconds
Sinterval [in]Type:doubleValue;[Property(put)];
'Sinterval=value' Fixedintervaldatatimeinterval,seconds

FusesInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringscontainingnamesofallFusesinthecircuit
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofFuseelementsinthecircuit
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetthefirstFusetobetheactivefuse.Returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' AdvancetheactiveFuseelementpointertothenextfuse.Returns0ifnomore
fuses.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' GetthenameoftheactiveFuseelement
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SettheactiveFuseelementbyname.
MonitoredObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=MonitoredObj' Fullnameofthecircuitelementtowhichthefuseisconnected.

59

MonitoredObj [in]Type:BSTRValue;[Property(put)];
'MonitoredObj=value' Fullnameofthecircuitelementtowhichthefuseisconnected.
MonitoredTerm [out,retval]Type:long*Value;[Property(get)];
'value=MonitoredTerm' Terminalnumbertowhichthefuseisconnected.
MonitoredTerm [in]Type:longValue;[Property(put)];
'MonitoredTerm=value' Numberoftheterminaltowhichthefuseisconnected
SwitchedObj [out,retval]Type:BSTR*Value;[Property(get)];
'value=SwitchedObj' Fullnameofthecircuitelementswitchthatthefusecontrols.Defaultsto
theMonitoredObj.
SwitchedObj [in]Type:BSTRValue;[Property(put)];
'SwitchedObj=value' Fullnameofthecircuitelementswitchthatthefusecontrols.Defaultsto
MonitoredObj.
SwitchedTerm [out,retval]Type:long*Value;[Property(get)];
'value=SwitchedTerm' Numberoftheterminalcontainingtheswitchcontrolledbythefuse.
SwitchedTerm [in]Type:longValue;[Property(put)];
'SwitchedTerm=value' Numberoftheterminalofthecontrolledelementcontainingthe
switchcontrolledbythefuse.
TCCcurve [out,retval]Type:BSTR*Value;[Property(get)];
'value=TCCcurve' NameoftheTCCcurveobjectthatdeterminesfuseblowing.
TCCcurve [in]Type:BSTRValue;[Property(put)];
'TCCcurve=value' NameoftheTCCcurveobjectthatdeterminesfuseblowing.
RatedCurrent [out,retval]Type:double*Value;[Property(get)];
'value=RatedCurrent' MultiplieroractualampsfortheTCCcurveobject.Defaultsto1.0.
MultipliycurrentvaluesofTCCcurvebythistogetactualamps.
RatedCurrent [in]Type:doubleValue;[Property(put)];
'RatedCurrent=value' MultiplieroractualfuseampsfortheTCCcurve.Defaultsto1.0.Hasto
correspondtotheCurrentaxisofTCCcurveobject.
Delay [out,retval]Type:double*Value;[Property(get)];
'value=Delay' Afixeddelaytimeinsecondsaddedtothefuseblowingtimedeterminedbythe
TCCcurve.Defaultis0.
Delay [in]Type:doubleValue;[Property(put)];
'Delay=value' Fixeddelaytimeinsecondsaddedtothefuseblowingtimetorepresentfuse
clearorotherdelay.
Open [void;[Method];
'Open(arglist)' Manualopeningoffuse
Close [void;[Method];
'Close(arglist)' Closethefusebackinandreset.
IsBlown [void;[Method];
'IsBlown(arglist)' Currentstateofthefuses.TRUEifanyfuseonanyphaseisblown.Else

60

FALSE.
idx [out,retval]Type:long*Value;[Property(get)];
'value=idx' Get/setactivefusebyindexintothelistoffuses.1based:1..count
idx [in]Type:longValue;[Property(put)];
'idx=value' SetFuseactivebyindexintothelistoffuses.1..count
NumPhases [out,retval]Type:long*Value;[Property(get)];
'value=NumPhases' Numberofphases,thisfuse.

ISourcesInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VariantarrayofstringscontainingnamesofallISOURCEelements.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' Count:NumberofISOURCEelements.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SettheFirstISOURCEtobeactive;returnsZeroifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsthenextISOURCEelementtobetheactiveone.ReturnsZeroifnomore.
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' GetnameofactiveISOURCE
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetActiveISOURCEbyname
Amps [out,retval]Type:double*Value;[Property(get)];
'value=Amps' GetthemagnitudeoftheISOURCEinamps
Amps [in]Type:doubleValue;[Property(put)];
'Amps=value' SetthemagnitudeoftheISOURCE,amps
AngleDeg [out,retval]Type:double*Value;[Property(get)];
'value=AngleDeg' PhaseangleforISOURCE,degrees
AngleDeg [in]Type:doubleValue;[Property(put)];
'AngleDeg=value' PhaseangleforISOURCE,degrees
Frequency [out,retval]Type:double*Value;[Property(get)];
'value=Frequency' ThepresentfrequencyoftheISOURCE,Hz
Frequency [in]Type:doubleValue;[Property(put)];
'Frequency=value' SetthepresentfrequencyfortheISOURCE

DSSimComsInterface
BusVoltagepu [in]Type:unsignedint,[Index]Type:out,retvalVARIANT*,[Vpu;[Method];
'BusVoltagepu(arglist)' Thismethoddeliversthevoltagepuofthespecifiedbus,this

61

specificationmustbewithanumber(index
BusVoltage [in]Type:unsignedint,[Index]Type:out,retvalVARIANT*,[Voltages;[Method];
'BusVoltage(arglist)' Thismethoddeliversthevoltage(complex

PVSystemsInterface
AllNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=AllNames' VairantarrayofstringswithallPVSystemnames
RegisterNames [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RegisterNames' VariantArrayofPVSYSTEMenergymeterregisternames
RegisterValues [out,retval]Type:VARIANT*Value;[Property(get)];
'value=RegisterValues' VariantarrayofdoublescontainingvaluesinPVSystemregisters.
First [out,retval]Type:long*Value;[Property(get)];
'value=First' SetfirstPVSystemactive;returns0ifnone.
Next [out,retval]Type:long*Value;[Property(get)];
'value=Next' SetsnextPVSystemactive;returns0ifnomore.
Count [out,retval]Type:long*Value;[Property(get)];
'value=Count' NumberofPVSystems
idx [out,retval]Type:long*Value;[Property(get)];
'value=idx' Get/setactivePVSystembyindex;1..Count
idx [in]Type:longValue;[Property(put)];
'idx=value' Get/SetActivePVSystembyindex:1..Count
Name [out,retval]Type:BSTR*Value;[Property(get)];
'value=Name' GetthenameoftheactivePVSystem
Name [in]Type:BSTRValue;[Property(put)];
'Name=value' SetthenameoftheactivePVSystem
Irradiance [out,retval]Type:double*Value;[Property(get)];
'value=Irradiance' GetthepresentvalueoftheIrradiancepropertyinW/sqm
Irradiance [in]Type:doubleValue;[Property(put)];
'Irradiance=value' SetthepresentIrradiancevalueinW/sqm

62