0% found this document useful (0 votes)
213 views

Open Dss Com

This document provides an overview of the OpenDSS Type Library Documentation, including summaries of key elements: 1. It defines several enumerations for monitor modes, solve modes, options, capacitor control modes, action codes, load statuses, load models, and line units. 2. It describes the text interface and properties interface for interacting with circuit elements programmatically. 3. The circuit element interface exposes methods and properties for working with elements, including name, voltages, currents, losses, and enabling/disabling elements.

Uploaded by

Mariam Mughees
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
213 views

Open Dss Com

This document provides an overview of the OpenDSS Type Library Documentation, including summaries of key elements: 1. It defines several enumerations for monitor modes, solve modes, options, capacitor control modes, action codes, load statuses, load models, and line units. 2. It describes the text interface and properties interface for interacting with circuit elements programmatically. 3. The circuit element interface exposes methods and properties for working with elements, including name, voltages, currents, losses, and enabling/disabling elements.

Uploaded by

Mariam Mughees
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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

You might also like