IscUMachine

The IscUMachine class provides access to an IPSA universal machine, to set and get data values and to retrieve load flow results.

Field Values

IscUMachine Field Values

Type

Field Name

Description

Integer

FromUID

Gets the unique ID for busbar.

String

BusName

Gets the busbar name.

String

Name

Gets the universal machine name.

Integer

Status

Status:

  • 0 = Switched in

  • -1 = Switched out

Float

RealMW

Gets and sets the real power output in MW.

Float

ReactiveMVAr

Gets and sets the reactive power output in MVAr.

Float

RatingMVA

Gets and sets the apparent power generated by the machine.

Integer

ProfileUID

Gets and sets the UID of the profile applied to the universal machine. Set to 0 to not use any profiles.

Integer

PluginID

Gets and sets the ID of the plugin applied to the universal machine. Set to 0 to not use any profiles.

Boolean

ConverterDrivenPlant

True if the universal machine is being used as a Converter Driven Plant (G74/2)

Integer

CDPMethodType

The CDP current-output mode

  • 0 = Simple

  • 1 = Advanced

Integer

CDPVoltageInterpolation

The CDP voltage interpolation scheme

  • 0 = Linear

  • 1 = Cubic

Float

CDPKFactor

The K factor co-efficient that determines the strength of the current injection contributions (only valid between 0 and 10).

Float

CDPMaxISync

Maximum synchronous value for the current injected given the time domains.

Float

CDPMaxITrans

Maximum transient value for the current injected given the time domains.

Float

CDPMaxISubTrans

Maximum subtransient value for the current injected given the time domains.

Float

CDPTimeConstantTransientMs

Time constant value in ms for the transient window duration.

Float

CDPTimeConstantSubTransientMs

Time constant value in ms for the subtransient window duration.

Boolean

CDPPhaseCorrections

Switch for the CDP functionality of the universal machine that forces the phase correction of the injected current to be in quadrature with the pre-fault voltage. This ‘prioritises’ reactive power injection at the CDP injection site. In advanced mode, when this is disabled it will adopt the phase of the active-reactive current phasor. In simple mode, when this is disabled it will be in phase with the retained voltage.

IscUMachine Class

class ipsa.IscUMachine

Provides access to an IPSA universal machine.

SetName(strName: str) bool

Sets the name as a string.

Parameters:

strName (str) – The selected string name.

Returns:

True if successful.

Return type:

bool

GetIValue(nFieldIndex: int) int

Returns an integer value for the enumerated field.

Parameters:

nFieldIndex (int) – The field index.

Returns:

The integer value.

Return type:

int

GetDValue(nFieldIndex: int) float

Returns a double value for the enumerated field.

Parameters:

nFieldIndex (int) – The field index.

Returns:

The double value.

Return type:

float

GetSValue(nFieldIndex: int) str

Returns a string value for the enumerated field.

Parameters:

nFieldIndex (int) – The field index.

Returns:

The string value.

Return type:

str

GetBValue(nFieldIndex: int) bool

Returns a boolean value for the enumerated field.

Parameters:

nFieldIndex (int) – The field index.

Returns:

The boolean value.

Return type:

bool

SetIValue(nFieldIndex: int, nValue: int) bool

Sets the value for the enumerated field from an integer.

Parameters:
  • nFieldIndex (int) – The field index.

  • nValue (int) – The given integer value.

Returns:

True if successful.

Return type:

bool

SetDValue(nFieldIndex: int, dValue: float) bool

Sets the value for the enumerated field from a double.

Parameters:
  • nFieldIndex (int) – The field index.

  • dValue (float) – The given double value.

Returns:

True if successful.

Return type:

bool

SetSValue(nFieldIndex: int, strValue: int) bool

Sets the value for the enumerated field from a string.

Parameters:
  • nFieldIndex (int) – The field index.

  • strValue (str) – The given string value.

Returns:

True if successful.

Return type:

bool

SetBValue(nFieldIndex: int, bValue: bool) bool

Sets the value for the enumerated field from boolean.

Parameters:
  • nFieldIndex (int) – The field index.

  • bValue (bool) – The given boolean value.

Returns:

True if successful.

Return type:

bool

GetRealPowerMW() float

Returns the universal machine output in MW.

Returns:

The universal machine output in MW.

Return type:

float

GetReactivePowerMVAr() float

Returns the universal machine output in MVAr.

Returns:

The universal machine output in MVAr.

Return type:

float

GetRealPowerkW() float

Returns the universal machine output in kW.

Returns:

The universal machine output in kW.

Return type:

float

GetReactivePowerkVAr() float

Returns the universal machine output in kVAr.

Returns:

The universal machine output in kVAr.

Return type:

float

GetTotalPowerMVA() float

Returns the universal machine produced total power in MVA.

Returns:

The universal machine produced total power in MVA.

Return type:

float

GetTotalPowerkVA() float

Returns the universal machine produced total power in kVA.

Returns:

The universal machine produced total power in kVA.

Return type:

float

GetPowerFactor() float

Returns the universal machine power factor.

Returns:

The universal machine power factor.

Return type:

float

GetCurrentkA() float

Returns the universal machine injected current in kA.

Returns:

The universal machine injected current in kA.

Return type:

float

GetDCLFRealPowerMW() float

Returns the universal machine output in MW.

Returns:

The universal machine output in MW.

Return type:

float

GetDCLFRealPowerkW() float

Returns the universal machine output in kW.

Returns:

The universal machine output in kW.

Return type:

float

GetDCLFTotalPowerMVA() float

Returns the universal machine produced total power in MVA.

Returns:

The universal machine produced total power in MVA.

Return type:

float

GetDCLFTotalPowerkVA() float

Returns the universal machine produced total power in kVA.

Returns:

The universal machine produced total power in kVA.

Return type:

float

GetDCLFCurrentkA() float

Returns the universal machine injected current in kA.

Returns:

The universal machine injected current in kA.

Return type:

float

TransformCDPParameters(dMachineMVA: float) bool

Transforms the given CDP parametrisation based on the ratio between the machine and system base. Note this function should only be used if the user has the CDP parameters in machine base.

Parameters:

dMachineMVA (float) – Machine base in MVA

Returns:

True if successful.

Return type:

bool

ActivateCDP() bool

Switches the CDP functionality for the given Universal Machine on

Returns:

True if successful.

Return type:

bool

DeactivateCDP() bool

Switches the CDP functionality for the given Universal Machine off

Returns:

True if successful.

Return type:

bool

GetCDPVoltagePU() List[float]

Returns the synchronous region voltages for the CDP advanced mode

Returns:

List of voltage entries (PU)

Return type:

list(float)

GetCDPVoltageTransientPU() List[float]

Returns the transient region voltages for the CDP advanced mode

Returns:

List of voltage entries (PU)

Return type:

list(float)

GetCDPVoltageSubTransientPU() List[float]

Returns the subtransient region voltages for the CDP advanced mode

Returns:

List of voltage entries (PU)

Return type:

list(float)

GetCDPRealCurrentPU() List[float]

Returns the synchronous real current values for the CDP advanced mode

Returns:

List of real current entries (PU)

Return type:

list(float)

GetCDPRealCurrentTransientPU() List[float]

Returns the transient real current values for the CDP advanced mode

Returns:

List of real current entries (PU)

Return type:

list(float)

GetCDPRealCurrentSubTransientPU() List[float]

Returns the subtransient real current values for the CDP advanced mode

Returns:

List of real current entries (PU)

Return type:

list(float)

GetCDPReactiveCurrentPU() List[float]

Returns the synchronous reactive current values for the CDP advanced mode

Returns:

List of reactive current entries (PU)

Return type:

list(float)

GetCDPReactiveCurrentTransientPU() List[float]

Returns the transient reactive current values for the CDP advanced mode

Returns:

List of reactive current entries (PU)

Return type:

list(float)

GetCDPReactiveCurrentSubTransientPU() List[float]

Returns the subtransient reactive current values for the CDP advanced mode

Returns:

List of reactive current entries (PU)

Return type:

list(float)

SetCDPVoltagePU(lVoltage: List[float]) bool

Sets the synchronous region voltages for the CDP advanced mode

Param:

List of voltage entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPVoltageTransientPU(lVoltage: List[float]) bool

Sets the transient region voltages for the CDP advanced mode

Param:

List of voltage entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPVoltageSubTransientPU(lVoltage: List[float]) bool

Sets the subtransient region voltages for the CDP advanced mode

Param:

List of voltage entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPRealCurrentPU(lRealCurrent: List[float]) bool

Sets the synchronous real current values for the CDP advanced mode

Param:

List of real current entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPRealCurrentTransientPU(lRealCurrent: List[float]) bool

Sets the transient real current values for the CDP advanced mode

Param:

List of real current entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPRealCurrentSubTransientPU(lRealCurrent: List[float]) bool

Sets the subtransient real current values for the CDP advanced mode

Param:

List of real current entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPReactiveCurrentPU(lReactiveCurrent: List[float]) bool

Sets the synchronous reactive current values for the CDP advanced mode

Param:

List of reactive current entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPReactiveCurrentTransientPU(lReactiveCurrent: List[float]) bool

Sets the transient reactive current values for the CDP advanced mode

Param:

List of reactive current entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool

SetCDPReactiveCurrentSubTransientPU(lReactiveCurrent: List[float]) bool

Sets the subtransient reactive current values for the CDP advanced mode

Param:

List of reactive current entries (PU)

Type:

list(float)

Returns:

True is successful

Return type:

bool