Skip to main content

PSCAD™

Introduction

The PSCAD™ Node performs electromagnetic transient type dynamic study simulations which are powered by PSCAD™, a 3rd party power systems software.

This Node is typically used for the following:

  • Completing dynamic studies (e.g. validating Generator Performance Standards).
  • Benchmarking plant models (e.g. comparing the performance of PSS®E and PSCAD™ plant models).
info

The following PSCAD™ versions are currently supported:

  • PSCAD™ v5.0.1+

To enable all Commands and features of the PSCAD™ Node, the smiby block needs to be added to the PSCAD™ model and be connected at the plant's connection point.

Bring-your-own external grid representation is possible without using smiby, but would extensive require manual configuration using SET or CONTROL Commands and is therefore not recommended.

screenshot of the gridmo smiby block in PSCAD

Launch modes

Two launch modes are supported:

  1. Standard mode [Default]: Build and run simulation executables using PSCAD™. Standard mode is recommended for most users as it requires no additional configuration.
  2. Direct (EMTDC™) mode: Build simulation fortran executable using PSCAD™ and run simulation executable directly. Direct (EMTDC™) mode is recommended when running a large number of simulations due to speed improvements.
danger

Direct (EMTDC™) launch mode is only supported for PSCAD™ v5.0.1.

Configure Direct (EMTDC™) launch mode

The configuration of this process is now automatic if you accept during the Engine setup process.

Please contact gridmo support if the automated process reports any errors.

User inputs

Select model

Workspace

Defines the input directory and file name of the PSCAD™ Workspace file, including the .pswx file extension.

Example:

sunny-solar-farm\SMIB.pswx
note

File paths are relative to the Engine's 'inputs' directory, as defined by the Engine configuration parameter dirs.inputs. For example, if dirs.inputs was set as C:\Users\johnsmith\gridmo\Inputs\:

Absolute file pathRelative file path (required by gridmo)
C:\Users\johnsmith\gridmo\Inputs\sunny-solar-farm\SMIB.pswxsunny-solar-farm\SMIB.pswx
caution

gridmo requires that all relevant PSCAD™ Case files (.pscx) are located in the same directory or a subdirectory of the PSCAD™ Workspace file (.pswx). This ensures that the Workspace uses relative file path references to the Case files.

Define simulation

Simulation time

Defines the duration of the dynamic study in seconds.

Example: Run a 30 second dynamic simulation.

30

Customize grid

These controls allow you to define the behaviour of the grid. There are two options:

  • None: No additional grid behaviour is incorporated.
  • SMIB: The grid is modelled as an infinite bus generator for SMIB studies. One of the following may be controlled in a Node:
    • Voltage [p.u.]
    • Frequency [Hz]
    • Angle [degrees]
info

To use SMIB control functionality, your PSCAD™ Case file must be configured with the smiby block.

Voltage

Defines the infinite bus generator voltage throughout the dynamic simulation via the smiby block. Enter a series of time [s], voltage [p.u.] pairs. The voltage is linearly interpolated between points. There are two methods for specifying the voltage - absolute and relative.

note

If your PSCAD™ dynamic study uses a linked PSS®E Static Node to set the initial infinite bus voltage, it is often convenient to specify the voltage using the relative method, since it will utilise the infinite bus generator voltage solution from that specific case.

Specifying absolute voltage

Defines the infinite bus generator voltage throughout the dynamic simulation by specifying absolute voltage [p.u.].

Example: Perform a 15 second dynamic simulation. At 5 seconds, step the voltage from 1.00 [p.u.] to 0.95 [p.u.] in a single rapid step. At 10 seconds, ramp the voltage back up to 1.00 [p.u.] over 2 seconds.

0,      1.00
4.9999, 1.00
5, 0.95
10, 0.95
12, 1.00
15, 1.00
Specifying relative voltage

Defines the infinite bus generator voltage throughout the dynamic simulation by specifying relative voltage [%]. The voltage percentage change is relative to the voltage of the infinite bus generator voltage specified using a SET Command or as specified manually in the smiby block (initial conditions parameter page).

Example: Perform a 45 second dynamic simulation. At 5 seconds, step the voltage up 0.05 per unit (pu) in a single rapid step. At 15 seconds, step the voltage down to its initial value in a single rapid step. At 25 seconds, step the voltage down 0.05 per unit (pu) in a single rapid step. At 35 seconds, step the voltage up to its initial value in a single rapid step.

0,      0 pu
4.999, 0 pu
5, +0.05 pu
14.999, +0.05 pu
15, 0 pu
24.999, 0 pu
25, -0.05 pu
34.999, -0.05 pu
35, 0 pu
45, 0 pu

Frequency

Defines the infinite bus frequency throughout the dynamic simulation via the smiby block. Enter a series of time [s], frequency [Hz] pairs. The frequency is linearly interpolated between points.

Example: Perform a 25 second dynamic simulation. At 5 seconds, ramp the frequency up from 50.0 [Hz] to 52.0 [Hz] over 3 seconds. At 15 seconds, ramp the frequency back down to 50.0 [Hz] over 3 seconds.

0,  50
5, 50
8, 52
15, 52
18, 50
25, 50

Angle

Defines the infinite bus voltage phase angle throughout the dynamic simulation via the smiby block. Enter a series of time [s], angle [degrees] pairs. The voltage phase angle is not linearly interpolated between points - instead the angle is set to the absolute value at the time specified. The voltage phase angle values specified are relative to the initial angle at the infinite bus - which is typically 0° for SMIB studies.

caution

Voltage phase angle changes are instantaneous. Ramps are not supported.

Example: Perform a 20 second dynamic simulation. At 5 seconds, step the voltage phase angle from 0° to 40°. At 15 seconds, step the voltage phase angle back to 0°.

0,  0
5, 40
15, 0

Actions

Defines the Commands which configure the dynamic simulation.

Supported Commands:

  • Applied BEFORE PSCAD™ is opened:
    • SETFILE: Sets the value of a parameter in an external text or configuration file.
  • Applied BEFORE simulation has started:
    • SET: Sets the status or value of a network element (e.g. bus, line, generator).
  • Applied DURING the simulation:
    • CONTROL: Controls a network element.
    • SIMPLEFAULT: Applies a simple power system fault.
    • MULTIFAULT: Applies a sequence of power system faults.
    • VDISTURBANCE: Applies a relative over or under voltage disturbance using a fault or shunt (capacitor).
    • VOLT_OSCIL: Completes a voltage oscillation test.
  • Old commands (not recommended for new projects):
    • Applied DURING the simulation:
      • TOVTEST: Completes a Transient Over-Voltage (TOV) test.
info

All Action Commands (except SET and SETFILE) include the AT= argument, which specifies the time [s] at which the Command is applied.

SET and SETFILE Commands are applied before the PSCAD™ case is built into the simulation executable. Specifying AT=0 will apply the Command at the very first time step once the dynamic simulation has started.

caution

If you specify the value of the AT= argument beyond the simulation duration (e.g. simulation duration is 20 [s] and AT=25), the Command will not be applied and a warning will be raised.

Define outputs

Outputs

Defines the output channels of the dynamic simulation. The output channels defined here may be used later for plotting and/or further analysis.

Supported Commands:

info

OUTPUT Commands do not require the AT= argument because dynamic simulation values are recorded for the entire simulation.

Outputs Description

Defines a short description of the dynamic simulation. This description will appear in the legend of any plot of the data generated by this Node.

Example:

Description here!

example from a Plot Node PDF output showing how the 'Description here!' text is added

Advanced

PSCAD™ version

Defines the PSCAD™ version used for the Node. Defaults to Engine configuration.

PSCAD™ compiler

Defines the PSCAD™ compiler used for the Node. Defaults to Engine configuration.

Distance factor

Defines the distance from the connection point at which disturbances are applied. Allowable values are between 0 and 1, where d=1 applies disturbances at the connection point. The image below shows a Thévenin equivalent of the grid as used in SMIB studies, commonly referred to as the 'infinite source', whereby:

  • Vinf: Thévenin equivalent voltage source.
  • Zinf: Thévenin equivalent impedance.
  • Zf: Disturbance impedance.
  • d: Distance factor.
  • Vpoc: Connection point voltage prior to any disturbance.
dFactor

Distance factor will apply to all relevant Commands in the Node such as:

  • TOVTEST
  • VDISTURBANCE
  • SIMPLEFAULT
  • MULTIFAULT

Advanced Parameters

Advanced Parameters allow users to configure test details which are not commonly used. Advanced Parameters are often specific to each Node type.

Each line represents a new Advanced Parameter and is entered as a=b format, where a is the name of the Parameter and b is the corresponding value. All Advanced Parameters are set to their default values if they are not included in the Advanced Parameters field.

Example: Set Advanced Parameter, sample.parameter to a value of 5.

sample.parameter=5

smiby block

Background

smiby is a PSCAD™ Definition provided with the gridmo software platform which enables gridmo to easily interface with your PSCAD™ Workspace. smiby is a Thévenin equivalent source, used for SMIB studies, which can be controlled using the Grid controls. A simplified representation of smiby is shown below.

smiby-simplified

Adding smiby into a model

Step 1: Disable/remove existing external grid representation

Disable or remove the existing external grid representation (if any) at the connection point.

Step 2: Add smiby

Add the smiby block into your PSCAD™ Workspace. Add a single smiby block in the same PSCAD™ Case file (.pscx) where your existing external grid representation was disabled/removed. The three phase electrical grid connection is on the left hand side of smiby. In your PSCAD™ Case file, connect this to your connection point using the PSCAD™ wire tool. An example of a correctly configured PSCAD™ Case file is shown below.

screenshot from the PSCAD software package showing a simplified single line diagram of how smiby works

caution

gridmo requires that the PSCAD™ Case file (.pscx) which contains the smiby block is first in the list of Case files. If required, right click the relevant Case file and select 'Move Up', as shown below, to move the Case file to the top of the list of Case files.

smiby-configure-case-files

Step 3: Configure control channels

In addition to providing a controllable Thévenin equivalent source, smiby also contains 12 independent multi-purpose control channels which can be controlled using the CONTROL Command. Control channels should normally be used for values which you may want to vary during a PSCAD™ simulation. Examples of common control channels:

  • Active power setpoint
  • Reactive power setpoint
  • Voltage control mode
  • Voltage setpoint
  • Source energy (e.g. wind speed, solar irradiance)

In your PSCAD™ Case file, connect these control channels to your generating system using the PSCAD™ wire tool and Data Signal Array Tap.

In the smiby parameter window, configure the following settings for each control channel:

  • Enable/disable: This defines whether the control channel is enabled or disabled.
  • Scale: This defines the scaling applied to any CONTROL Commands (i.e. control channel output = CONTROL Command value x scale). This scale is not applied to the default value.
  • Defaults: This is the control channel output value used if there are no CONTROL Commands for this channel.
note

Depending on the definition of an externally defined or black-boxed PSCAD™ models, you can use the control channels as parameters by defining the channel with a name and adding the value into the parameters box.

Step 4: Configure smiby parameters

Right click on the smiby block and navigate to 'Edit Parameters'. In the 'Base values' section, set the following values considering the requirements of your generating system:

  • Base voltage (float): Connection point base voltage [kV].
  • Base apparent power (float): Connection point base apparent power [MVA].
  • Base frequency (float): Base frequency [Hz].
  • Project rated active power (float): The combined maximum amount of active power that the generating system can deliver at the connection point [MW]. This value is used in combination with plant SCR Commands.

Updating smiby to a new version


caution

Updating smiby may overwrite any of your custom modifications to smiby. In general, we recommend not making any changes to the smiby block or OEM libraries so that newer versions may be accommodated easily.

API Reference

This section details the Commands and Advanced Parameters specific to the Node.

SETFILE Command

SETFILE, FILENAME=, PARAM=, VAL=

Before PSCAD™ is opened, modifies the FILENAME= external file by finding the PARAM= setting and updating its value to VAL=. Supports basic text formats with delimiters such as comma, space, tab and equals.

Arguments:

  • SETFILE
  • FILENAME (str): Defines the relative input directory and file name of the text file to be modified.
  • PARAM (str): Parameter name.
  • VAL (float or int or str): Parameter value.
note

The text file specified by the FILENAME= field is only modified in the copy of the model in the Engine's working directory. It is not modified in the Engine's inputs folder.

Example: Before PSCAD™ has opened, modify the file windy_wind_farm\ppc_settings.cfg by finding the parameter PPC_Q_ControlMode and set this value to 200.

SETFILE, FILENAME=windy_wind_farm\ppc_settings.cfg, PARAM=PPC_Q_ControlMode, VAL=200

SET Command

SET, CNAME/CIID=, PARAM=, [VALSCALE=1], VAL=

Sets the parameter PARAM= of a PSCAD™ component to the value VAL= before the start of the simulation. Identify the PSCAD™ component by name (CNAME=) or iid (CIID=).

Arguments:

  • SET
  • CNAME or CIID:
    • CNAME (str): PSCAD™ 'Name' field of the component to set.
    • CIID (int): PSCAD™ 'iid' attribute of the component to set.
  • PARAM (str): Parameter name to set.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the VAL (i.e. VAL x VALSCALE). Default value is 1.
  • VAL (float or int or str): Value to apply to the parameter.

Example: Before the dynamic simulation, set the positive sequence leakage reactance of the two-winding transformer with name MainTX to 0.12 [p.u.].

  • Using right-click and View Properties on the main transformer block, the positive sequence leakage reactance has parameter name Xl.
SET, CNAME=MainTX, PARAM=Xl, VAL=0.12

Example: Before the dynamic simulation, set the LVRT Detection Threshold setting of the unnamed Simple_PPC block to 0.82 [p.u.].

  • Using right-click and View Properties on the Simple_PPC block, the LVRT Detection Threshold has parameter name LVRT.
  • Using right-click and Attributes on the Simple_PPC block, the Id field reads 1955742872.
SET, CIID=1955742872, PARAM=LVRT, VAL=0.82

Example: Enable winding saturation (which is a drop-down combo box) for the transformer with name MainTX.

  • Using right-click and View Properties on the MainTX transformer block, the Saturation Enabled field is a Choice type parameter. The Choice type parameter uses an integer to select the value of the drop-down. Typically, disabled is 0 and enabled is 1 - but this is not always the case.
  • Using right-click and Edit Parameters on the MainTX transformer block (combined with the View Properties window) we can see that the parameter with name Enab is 0 when saturation is disabled and 1 when saturation is enabled.
SET, CNAME=MainTX, PARAM=Enab, VAL=1
info

The smiby block's initial conditions can be set using the same Commands as above. The most common Commands have been added below for convenience:

Set the initial slack bus generator voltage [p.u.] (initial voltage of infinite bus):

SET, CNAME=smiby, PARAM=vinf, VAL=value

Set the initial slack bus generator angle [degrees]:

SET, CNAME=smiby, PARAM=ainf, VAL=value

Set the SCR and X/R of the equivalent network impedance. Note if the CONTROL,CH=SCR, or CONTROL,CH=XR Commands are used, these values are overridden by those Commands.

SET, CNAME=smiby, PARAM=scr_in, VAL=value
SET, CNAME=smiby, PARAM=xr_in, VAL=value

CNAME: Finding a component name

The name of a component in PSCAD™ (to use in the CNAME=) field can be found by right-clicking on a component and selecting View Properties. Look for a value in the first column which is equal to Name.

Not all PSCAD™ components have a Name property. Consider using the iid option if there is no name field.

CIID: Finding a component iid

The unique identifier of a PSCAD™ component (the iid, used in the CIID= parameter) can be found by right-clicking on a component and selecting Attributes.

The Id field will have a long series of integers. This value is the IID.

note

Consider only using the CIID parameter if there is no name parameter for a PSCAD™ component.

If iid needs to be used, consider defining a Global Variable for the iid instead of specifying it in multiple places.

PARAM: Finding a parameter name

The parameter name of a component in PSCAD™ (to use in the PARAM=) field can be found by right-clicking on a component and selecting View Properties.

Click on the Caption field you are interested in controlling. The parameter name can be found in the first column of the highlighted row.

CONTROL Command

CONTROL, CH=, [VALSCALE=1], AT=, VAL/RELVAL=

Controls the smiby control channel with number CH= to the value of VAL= at AT= seconds after the start of the simulation.

Arguments:

  • CONTROL
  • CH (int): Options:
    • CH=1 to CH=12: Control a smiby channel (between 1 to 12).
    • CH=SCR: Control the equivalent Thévenin impedance based on the Project's rated active power [MW], the line voltage and the specified SCR and X/R ratio.
    • CH=XR: Control the equivalent Thévenin impedance based on the Project's rated active power [MW], the line voltage and the specified SCR and X/R ratio.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to VAL or RELVAL (i.e. new_value = VAL x VALSCALE or new_value = old_value + (RELVAL x VALSCALE)). Default value is 1.
  • AT (float): Time at which the Command is applied during the dynamic simulation [s].
  • VAL or RELVAL:
    • VAL (float): New value, expressed absolutely (i.e. new_value = VAL). CH=SCR, VAL=INF combination controls the equivalent Thévenin impedance to the minimum impedance value applicable in PSCAD™ (i.e. 5e-4).
    • RELVAL (float): New value, expressed relatively (i.e. new_value = old_value + RELVAL).
note

CONTROL, CH=SCR, AT=0, VAL= and CONTROL, CH=XR, AT=0, VAL= Commands are typically used in conjunction. These are typically only used in SMIB studies and are used to calculate the Thévenin equivalent source impedance of the Thévenin equivalent generator.

danger

Any VALSCALE scale factors are applied in addition to any scale factors defined in smiby's output channels.

danger

Setting CH=SCR, VAL= beyond 1e6 may result in unstable PSCAD behaviour, by collapsing all impedances to zero sequence branches. This may cause all faults to be of the same residual depth, regardless of FZ=. To model infinite system strength conditions, we recommend using CH=SCR, VAL=INF.

Only the CH=SCR and CH=XR control channels are linearly interpolated between points. All other smiby control channels (i.e. CH=1 through CH=12) are not linearly interpolated between Commands.

Example:

  • Assumes:
    • smiby is in the PSCAD Workspace and channel #1 has been connected to the generator under test's active power control port.
    • The Scale (when enabled) field for channel #1 has been set based on the generator under test's active power control scale (e.g. if per unit control, then scale is 1).
  • At 5 seconds, set active power to 0.5 [p.u.] of maximum power
  • At 15 seconds, set active power to 0.0 [p.u.] of maximum power
  • At 25 seconds, set active power to 1.0 [p.u.] of maximum power
CONTROL, CH=1, AT=0, VAL=1
CONTROL, CH=1, AT=5, VAL=0.5
CONTROL, CH=1, AT=15, VAL=0
CONTROL, CH=1, AT=25, VAL=1

Example: Repeat the above example, using relative control steps instead of absolute. This is useful if the initial value is an Internode Variable (as shown below).

CONTROL, CH=1, AT=0, VAL={{i_initial_voltage_setpoint_which_might_not_be_1}}
CONTROL, CH=1, AT=5, RELVAL=-0.5
CONTROL, CH=1, AT=15, RELVAL=-0.5
CONTROL, CH=1, AT=25, RELVAL=+1

Example: Simulate a change in system strength and X/R ratio (simulating a control trip of a remote line) from SCR=10 and XR=4 to SCR=8 and XR=3.6 10 seconds after starting the simulation.

CONTROL, CH=SCR, AT=0, VAL=10
CONTROL, CH=XR, AT=0, VAL=4
CONTROL, CH=SCR, AT=9.9999, VAL=10
CONTROL, CH=XR, AT=9.9999, VAL=4
CONTROL, CH=SCR, AT=10, VAL=8
CONTROL, CH=XR, AT=10, VAL=3.6

Set the system strength of smiby to infinite (as low as possible) for this simulation.

CONTROL, CH=SCR, AT=0, VAL=INF

SIMPLEFAULT Command

SIMPLEFAULT, AT=, DURATION=, [TYPE=3PH, FZ=0, XR=3]

Applies a simple fault within the smiby Thévenin equivalent source impedance.

info

SIMPLEFAULT is for use in SMIB studies for simpler fault-related performance studies.

More realistic fault scenarios (e.g. including different clearance times and multi-shot auto-reclose), as required in wide area network studies, are not currently supported.

Arguments:

  • SIMPLEFAULT
  • AT (float): Time at which the fault is applied during the dynamic simulation [s].
  • DURATION (float): Fault duration [ms]. When the duration has expired, the fault is removed and the line will remain in service.
  • TYPE (str)[Optional]: Fault type. Defaults to 3PH. Options:
    • TYPE=3PH: Three phase fault.
    • TYPE=3PHG: Three phase to ground fault.
    • TYPE=2PHG: Two phase to ground fault.
    • TYPE=PHPH: Phase to phase fault.
    • TYPE=PHG: Phase to ground fault.
  • FZ [Optional]: Fault impedance. Default value is 0 Ω (i.e. bolted fault). There are two methods for specifying the fault:
    • Fault impedance (float): Fault impedance [Ω] (e.g. 0.2).
    • Residual voltage (str): Residual voltage [%] (e.g. 20%). The percentage is relative to the nominal voltage. This method is used in SMIB studies. Residual voltage is applied by adding series impedance into the fault path. This impedance is calculated assuming a three-phase fault, but only the relevant phase(s) are faulted in the simulation.
  • XR (float)[Optional]: Reactance to resistance ratio of the fault. Default value is 3.
danger

Using TYPE=PHPH and FZ=X% (residual voltage) will not result in the expected residual voltage during the fault.

Example:

  • Assumes smiby block has been configured with the correct SCR, XR and output active and reactive power correctly for the test using CONTROL Commands.
  • At 5 seconds, apply a fault at the connection point of the generator under test.
  • Fault duration is 430 ms.
  • Fault type is two phase to ground.
  • Fault impedance is Zf=10 [Ohm].
  • X/R ratio of the fault is 3.

Note XR=3, DISTANCE=0% have been omitted, as these are the default values.

SIMPLEFAULT, AT=5, TYPE=2PHG, DURATION=430, FZ=10

Example:

  • Assumes smiby block has been configured with the correct SCR, XR and output active and reactive power correctly for the test using CONTROL Commands.
  • At 5 seconds, apply a fault at the connection point of the generator under test.
  • Fault duration is 430 ms.
  • Fault type is phase to ground.
  • Fault impedance is 0 [ohms].

Note FZ=0, XR=3, DISTANCE=0% have been omitted, as these are the default values.

SIMPLEFAULT, AT=5, TYPE=PHG, DURATION=430

MULTIFAULT Command

MULTIFAULT, AT=, TYPE=, SEQ=, [XR=3]

Applies a pre-defined multiple fault sequence in one Command within the smiby Thévenin equivalent source impedance.. The first fault is at AT= seconds. Fault X/R ratio and fault distance percentage can also optionally be provided.

info

MULTIFAULT is typically used in SMIB studies for simple one-Command multiple-fault ride-through (MFRT) studies. For more realistic fault scenarios, as required in wide area network studies, we recommend using the ADVFAULT Command.

Arguments:

  • MULTIFAULT
  • AT (float): Time at which the first fault in the sequence is applied during the dynamic simulation [s].
  • TYPE (str): Type of multiple fault ride through to apply. Options:
    • TYPE=AEMODMAT: AEMO Dynamic Model Acceptance Tests style MFRT tests.
  • SEQ (str): Type of pre-defined multi fault sequence to apply. Options:
    • If TYPE=AEMODMAT:
      • SEQ=Px: Where x is an integer of 1 to 10. P sequence faults are AEMO DMAT balanced MFRT tests. See below for details.
      • SEQ=Sx: Where x is an integer of 1 to 10. S sequence faults are AEMO DMAT balanced MFRT tests. See below for details.
  • XR (float)[Optional]: Reactance to resistance ratio of the fault. Default value is 3.

MULTIFAULT, AT=5, TYPE=AEMODMAT, SEQ=P1, LINE=<line> converts to

COMMAND=SIMPLEFAULT, AT=5.00, TYPE=3PH, DURATION=120, FZ=77.7%
COMMAND=SIMPLEFAULT, AT=7.43, TYPE=3PH, DURATION=120, FZ=66.6%
COMMAND=SIMPLEFAULT, AT=12.65, TYPE=3PH, DURATION=220, FZ=77.7%
COMMAND=SIMPLEFAULT, AT=12.97, TYPE=3PH, DURATION=120, FZ=50%
COMMAND=SIMPLEFAULT, AT=13.59, TYPE=3PH, DURATION=220, FZ=50%
COMMAND=SIMPLEFAULT, AT=15.21, TYPE=3PH, DURATION=120, FZ=50%
COMMAND=SIMPLEFAULT, AT=17.33, TYPE=3PH, DURATION=430, FZ=0%
COMMAND=SIMPLEFAULT, AT=17.95, TYPE=3PH, DURATION=220, FZ=50%
COMMAND=SIMPLEFAULT, AT=18.18, TYPE=3PH, DURATION=220, FZ=16.6%
COMMAND=SIMPLEFAULT, AT=18.41, TYPE=3PH, DURATION=120, FZ=66.6%
COMMAND=SIMPLEFAULT, AT=18.83, TYPE=3PH, DURATION=120, FZ=0%
COMMAND=SIMPLEFAULT, AT=22.05, TYPE=3PH, DURATION=120, FZ=16.6%
COMMAND=SIMPLEFAULT, AT=32.27, TYPE=3PH, DURATION=220, FZ=66.6%
COMMAND=SIMPLEFAULT, AT=33.39, TYPE=3PH, DURATION=120, FZ=50%
COMMAND=SIMPLEFAULT, AT=40.51, TYPE=3PH, DURATION=220, FZ=16.6%

MULTIFAULT, AT=5, TYPE=AEMODMAT, SEQ=S1, LINE=<line> converts to

COMMAND=SIMPLEFAULT, AT=10.00, TYPE=3PH, DURATION=100, FZ=20%
COMMAND=SIMPLEFAULT, AT=10.25, TYPE=3PH, DURATION=100, FZ=20%
COMMAND=SIMPLEFAULT, AT=10.50, TYPE=3PH, DURATION=100, FZ=20%
COMMAND=SIMPLEFAULT, AT=13.00, TYPE=2PHG, DURATION=100, FZ=20%
COMMAND=SIMPLEFAULT, AT=16.00, TYPE=2PHG, DURATION=100, FZ=20%
COMMAND=SIMPLEFAULT, AT=18.00, TYPE=2PHG, DURATION=100, FZ=20%
note

Note Sequence S1 is defined by AEMO to only be 6 faults long, not 15 faults. Refer to the AEMO DMAT requirements for details.

Example:

  • Assumes smiby block has been configured with the correct SCR, XR and output active and reactive power correctly for the test using CONTROL Commands.
  • At 5 seconds, apply an AEMO DMAT S1 fault sequence at the connection point of the generator under test.
MULTIFAULT, AT=5, TYPE=AEMODMAT, SEQ=S1

TOVTEST Command

danger

TOVTEST Command is no longer recommended for new Projects. Instead, use the VDISTURBANCE Command.

TOVTEST, AT=, QCAP=, DURATION=, [TARGET=]

Completes a Transient Over-Voltage (TOV) test within the smiby block whereby a fixed shunt (capacitor) is switched in service on the connection point of QCAP= MVAr, AT= seconds into the dynamic simulation. The capacitor is removed after DURATION= milliseconds.

Arguments:

  • TOVTEST
  • AT (float): Time at which the Command is applied during the dynamic simulation [s].
  • QCAP (float): Options:
    • QCAP=X (whereX is a number): Size of the capacitor to switch in [MVAr].
    • QCAP=CALC: Enables the automatic calculation of the capacitor size to achieve a target overvoltage based on the TARGET= Argument. Any contribution from the generator under test is not included in this calculation.
  • DURATION (float): Disturbance duration [ms]. When the duration has expired, the capacitor is removed.
  • TARGET (float)[Optional]: Voltage target in per unit for this test. Only required if QCAP=CALC.
danger

Only one TOVTEST Command is supported in a single PSCAD™ Node.

Example: Assuming smiby is in the PSCAD™ Workspace, at 10 seconds switch in a capacitor of 15 MVAr at the connection point which, based on the SCR and X/R ratio, gives a TOV of 1.15pu. Switch the capacitor out again after 0.9 seconds.

TOVTEST, AT=10, QCAP=15, DURATION=900

Example: Assuming smiby is in the PSCAD™ Workspace, at 5 seconds switch in a capacitor large enough to achieve a 1.2 pu over-voltage at the smiby connection point, given the SCR and X/R ratio loaded into the smiby block. Switch the capacitor out again after 0.5 seconds.

TOVTEST, AT=5, QCAP=CALC, TARGET=1.2, DURATION=500

VDISTURBANCE Command

VDISTURBANCE, [OP=VDIVIDER/COMPENSATED], AT=, DURATION=, VCHANGEPU/VPU=, [XR=3]

At AT= seconds after the start of the dynamic simulation, applies a voltage disturbance at the smiby connection point. Depending on the values of VCHANGEPU/VPU, OP and the connection point bus voltage prior to the disturbance, the Command automatically switches between:

  • Applying a 3PH fault to create an undervoltage disturbance; or
  • Inserting a capacitor to create an overvoltage disturbance.

The disturbance is removed after DURATION= milliseconds.

Arguments:

  • VDISTURBANCE
  • OP (str)[Optional]: Calculation methodology. Defaults to OP=VDIVIDER. Options:
    • OP=VDIVIDER: Voltage divider calculation methodology.
    • OP=COMPENSATED: Voltage divider calculation methodology extended to consider generating system contribution prior to voltage disturbances.
  • AT (float): Time at which the Command is applied during the dynamic simulation [s].
  • DURATION (float): Disturbance duration [ms]. When the duration has expired, the disturbance is removed.
  • VCHANGEPU or VPU:
    • VCHANGEPU (float): Relative voltage disturbance [p.u.]. The voltage is relative to the smiby connection point bus voltage prior to the disturbance.
    • VPU (float): Absolute voltage disturbance [p.u.].
  • XR (float)[Optional]: Reactance to resistance ratio of the 3PH fault impedance used for undervoltages. Default value is 3. When inserting a capacitor for overvoltage disturbances, XR is ignored.
note

Multiple VDISTURBANCE Commands are supported in a single Node, which may include a mix of under and over voltage disturbances.

danger

If you are benchmarking with PSS®E Dynamic VDISTURBANCE Command, ensure that smiby distance factor is 1.

Calculation methodology

The image below shows a Thévenin equivalent of the grid as used in SMIB studies, commonly referred to as the 'infinite source', whereby:

  • Vinf: Thévenin equivalent voltage source.
  • Zinf: Thévenin equivalent impedance.
  • Vpoc: Connection point voltage prior to any disturbance.
vdisturbance-general

The VDISTURBANCE Command introduces a fault impedance, Zf, in order to achieve a desired voltage disturbance as specified by VCHANGEPU or VPU. There are two calculation methodologies used to calculate Zf:

  • OP=VDIVIDER; and
  • OP=COMPENSATED.
vdisturbance-vdivider
Zf is calculated using voltage divider circuit theory. The formula assumes that the generating system current contribution prior to the disturbance is ≈ 0 (i.e. Vpoc ≈ Vinf) and the generating system current contribution during the disturbance is ≈ 0.

Example: Assuming smiby is in the PSCAD™ Workspace, at 5 seconds, apply a 430 ms voltage disturbance at the connection point. The voltage disturbance should cause a -0.1 p.u. relative change in the connection point voltage by applying a 3PH fault.

VDISTURBANCE, AT=5, DURATION=430, VCHANGEPU=-0.1

Assuming smiby is in the PSCAD™ Workspace, at 5 seconds, apply a 500 ms voltage disturbance at the connection point. The voltage disturbance should target 1.2 p.u. at the connection point voltage by switching in a capacitor.

VDISTURBANCE, AT=5, DURATION=500, VPU=1.2

Assuming smiby is in the PSCAD™ Workspace, at 5 seconds, apply a 500 ms voltage disturbance at the connection point. The voltage disturbance should target 1.2 p.u. at the connection point voltage by switching in a capacitor. Assuming smiby is in the PSCAD™ Workspace, at 10 seconds, once the previous disturbance has cleared, apply another 500 ms voltage disturbance at the connection point. The voltage disturbance should target 0.35 p.u. at the connection point voltage by applying a 3PH fault.

VDISTURBANCE, AT=5, DURATION=500, VPU=1.2
VDISTURBANCE, AT=5, DURATION=500, VPU=0.35

VOLT_OSCIL Command

VOLT_OSCIL, START_T=, END_T=, MAG=, FREQ=, [PSOMAG=0]

Oscillates/modulates the infinite voltage source within the smiby block, using a sinusoidal waveform of peak to peak magnitude MAG= at an oscillation frequency of FREQ=. The oscillation is enabled between START_T= seconds and END_T seconds from the start of the simulation.

Arguments:

  • VOLT_OSCIL
  • START_T (float): Time at which the oscillation starts during the dynamic simulation [s].
  • END_T (float): Time at which the oscillation ends during the dynamic simulation [s].
  • MAG (float): The peak to peak magnitude of the voltage oscillation [p.u.].
  • FREQ (float): The frequency of the oscillation [Hz].
  • PSOMAG (str)[Optional]: Sinusoidal oscillation of the infinite bus angle (oscillates the source phase angle) centered about 0 degrees, with oscillation frequency of FREQ Hz. Defaults to 0 (no oscillation).
danger

If a VOLT_OSCIL Command is used, the Grid controls functionality is disabled within the same PSCAD™ Node.

danger

Only one VOLT_OSCIL Command is supported in a single PSCAD™ Node.

danger

When using the VOLT_OSCIL Command, you may observe that the magnitude (amplitude) of oscillation decreases with increasing oscillation frequency. This can be caused by low sampling frequency in any digital multimeter object/block which is measuring the RMS voltage using digital mode. The Frequency selection under Parameters may need to be set much higher (up to 1000 Hz, rather than 50 or 60 Hz) to produce a clean output oscillation signal. At higher sampling rates, the magnitude is now identical between frequencies.

The smiby built-in voltage multimeter has been configured for this purpose.

Example: Assuming smiby is in the PSCAD™ Workspace, modulate the infinite voltage source starting at 5 seconds and ending at 15 seconds. Frequency of 1 Hz. Magnitude of 0.005 [p.u.] (0.5%). Vary the phase angle of the voltage modulation using a sine function (2 degrees at the same frequency of 1 Hz).

VOLT_OSCIL, START_T=5, END_T=15, MAG=0.005, FREQ=1, PSOMAG=2

OUTPUT Command

The OUTPUT Command is used to output channels so they can be processed or displayed by a Plot node.

OUTPUT, TITLE=, [VAL=PQS, VALSCALE=1], NAME=, [LEGEND=]

Outputs a variable from a PSCAD™ output channel block.

Arguments:

  • OUTPUT
  • TITLE (str): The 'Title' field of the PSCAD™ output channel block to record. The Title is displayed in text under the output channel block in PSCAD™.
  • VAL (str)[Optional]: The type of output channel. Specifying the correct value for the output channel will result in more accurate auto-scaling for connected Plot Nodes. Options:
    • VAL=PQS: Active power [MW], reactive power [MVAr] or apparent power [MVA].
    • VAL=V: Voltage [p.u.].
    • VAL=F: Frequency [Hz].
    • VAL=ANGLE: Angle [degrees].
    • VAL=I: Current [p.u.], active current [p.u.] or reactive current [p.u.]
    • VAL=BINARY: Binary outputs, such as LVRT/HVRT trigger flags.
    • VAL=PF: Power factor [unitless]. Click here for details on how gridmo calculates power factor.
  • VALSCALE (float)[Optional]: Multiplicative scaling factor applied to the output value (i.e. scaled_output = VAL x VALSCALE). Default value is 1.
  • NAME (str): Output name. Output names must be unique within a Node.
  • LEGEND (str)[Optional]: Subplot legend name. Default value is no legend name.

Example: Output the channel below and name the channel i_p_at_poc for use by other Nodes, such as a Plot Node.

screenshot from the PSCAD software package showing a signal &#39;P_POC&#39; and a matching channel output block

OUTPUT, TITLE=P_POC, VAL=PQS, NAME=i_p_at_poc

Example: Output the channel below which is connected to a wind turbine's high voltage ride-through flag output. Name the channel i_hvrt_flag for use by other Nodes, such as a Plot Node.

screenshot from the PSCAD software package showing a signal &#39;WTG_FRT_HV&#39; and a matching channel output block

OUTPUT, TITLE=WTG_FRT_HV, VAL=BINARY, NAME=i_hvrt_flag
caution

gridmo uses the 'Title' field of the PSCAD™ output channel block (even if it is greyed out). Depending on the PSCAD™ file configuration, selecting "Use Signal Name as Title?" as "Yes" may not always insert the desired Title. Please double check that the 'Title' parameter value is as expected.

pscad-output-channel-title
danger

Any PSCAD™ output channels not defined by an OUTPUT Command will not be recorded by PSCAD™. You must specify all required output channels.

By defining only the required output channels, this results in faster simulations.

The smiby block has several built-in output channels which can be used:

Connection point voltage, three-phase RMS [p.u.]:

OUTPUT, TITLE=smiby_POC_VOLT, VAL=V, NAME=i_put_name_here

Infinite bus voltage, three-phase RMS [p.u.]:

OUTPUT, TITLE=smiby_INF_VOLT, VAL=V, NAME=i_put_name_here

Connection point voltage, single-phase RMS [p.u.]:

OUTPUT, TITLE=smiby_POC_VA, VAL=V, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_VB, VAL=V, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_VC, VAL=V, NAME=i_put_name_here

Connection point current, single-phase RMS [p.u. on base configured in smiby]:

OUTPUT, TITLE=smiby_POC_IA, VAL=I, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_IB, VAL=I, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_IC, VAL=I, NAME=i_put_name_here

Connection point active power [MW] and reactive power [MVAr]:

OUTPUT, TITLE=smiby_POC_P, VAL=PQS, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_Q, VAL=PQS, NAME=i_put_name_here

Connection point power factor [unitless]:

OUTPUT, TITLE=smiby_POC_PF, VAL=PF, NAME=i_put_name_here

Click here for details on how gridmo calculates power factor.

Connection point active current [p.u.] and reactive current [p.u.] on a provied base:

OUTPUT, TITLE=smiby_POC_ID, VAL=I, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_IQ, VAL=I, NAME=i_put_name_here

Same quantities, but exported as sequence components:

OUTPUT, TITLE=smiby_POC_ID_pos_seq, VAL=I, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_IQ_pos_seq, VAL=I, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_ID_neg_seq, VAL=I, NAME=i_put_name_here
OUTPUT, TITLE=smiby_POC_IQ_neg_seq, VAL=I, NAME=i_put_name_here

Connection point frequency [Hz]:

OUTPUT, TITLE=smiby_POC_FREQ, VAL=F, NAME=i_put_name_here

Unsmoothed XOR phase difference between connection point voltage and connection point reactive power:

OUTPUT, TITLE=smiby_POC_VQ_phase, VAL=ANGLE, NAME=i_put_name_here

Advanced Parameters

sim.timestep

  • Description: Simulation time step (DELT).
  • Type: float
  • Units: [µs]
  • Default: Setting as per the PSCAD™ model.
  • Range: 1 to 10000
sim.timestep=value

sim.plotstep

  • Description: Simulation plot step (the resolution to output to plot channels).
  • Type: float
  • Units: [µs]
  • Default: Setting as per the PSCAD™ model.
  • Range: 1 to 10000
sim.plotstep=value

sim.frequency.network.dependence

  • Description: Network frequency dependence. If disabled, capacitive and reactive reactance are modelled as fixed values regardless of system frequency.
  • Type: bool
  • Units: N/A
  • Default: No
  • Range: Yes, No
danger

Enabling network frequency dependence may cause unexpected behaviour for some SMIB studies. For example, system voltage may vary during a frequency ramp test.

sim.frequency.network.dependence=value

sim.store.feed.forward.sigs

  • Description: Store signals in local memory to view using tooltips. Defaults to disabled to increase simulation speed.
  • Type: bool
  • Units: N/A
  • Default: No
  • Range: Yes, No
sim.store.feed.forward.sigs=value

ignore.errors.at.sim.end

  • Description: Ignore any errors raised by PSCAD or EMTDC if the simulation is completed.
  • Type: bool
  • Units: N/A
  • Default: No
  • Range: Yes, No
ignore.errors.at.sim.end=value

never.emtdc.direct.launch

  • Description: Do not launch this simulation using direct (EMTDC) launch mode, regardless of what the engine config is set to.
  • Type: bool
  • Units: N/A
  • Default: No
  • Range: Yes, No
never.emtdc.direct.launch=value

sim.snapshot.file

  • Description: If a relative file path to a PSCAD™ .snp file is provided, initialise the PSCAD model using this snapshot file.
  • Type: str
  • Units: N/A
  • Default: Blank (do not use snapshot)
  • Range: Valid snapshot files in the Inputs directory
sim.snapshot.file=value

smiby Parameters

NameCaptionDescription
vbaseVoltage base (kV)Connection point base voltage.
sbaseApparent power base (MVA)Connection point apparent power.
fbaseFrequency base (Hz)Connection point frequency.
scr_sbase_inProject rated active power [MW]The combined maximum amount of active power that the generating system can deliver at the connection point. This value is used in combination with plant SCR Commands [MW].
id_baseActive current id base [MW]Active power base used in calculation of id.
iq_baseReactive current iq base [MVAr]Reactive power base used in calculation of iq.
i_1ph_baseSingle phase current base [A]Used for single phase current output channel scaling.
vinfInfinite bus voltage (pu on Vbase)See vinf_control.
ainfInfinite bus angle (degrees)See ainf_control.
scr_controlExternal control of SCR?Choice of whether the Thévenin equivalent source impedance is controlled via app.gridmo.io or set using scr_in.
scr_inShort circuit ratio (SCR)See scr_control.
xr_controlExternal control of XR?Choice of whether the Thévenin equivalent source impedance is controlled via app.gridmo.io or set using xr_in.
xr_inX/R ratioSee xr_control.
faults_yesEnable faults at POC?Choice of whether the simulation includes fault logic at the POC.
dfactorFault distance factor (d=1 means at POC)The distance of the fault from the connection point to the infinite generator [%] (i.e. 10% specifies a fault located close to the connection point).
cap_switchin_yesTOV / capacitor switch in testChoice of whether the simulation includes capacitor switch in test logic at the POC.
cap_tstart(TOV) Capacitor switch in timeTime at which the capacitor is switched in for TOVTTEST Command.
cap_mvar(TOV) Capacitor MVArCapacitor size [MVAr] for TOVTTEST Command.
cap_r(TOV) Capacitor series R [ohms]
cap_l(TOV) Capacitor series X [H]
vinf_controlExt grid V control modeChoice of whether the Thévenin equivalent source voltage is controlled via app.gridmo.io or set as vinf.
vo_tstart(Oscill) Start time [sec]Time at which the oscillation starts for VOLT_OSCIL Command.
vo_tend(Oscill) End time [sec]Time at which the oscillation end for VOLT_OSCIL Command.
vo_mag(Oscill) Magnitude of oscillation [pu]The peak to peak magnitude of the voltage oscillation [p.u.].
vo_frequency(Oscill) Frequency of oscillation [Hz]The frequency of the oscillation [Hz].
vo_phaseshift_mag(Oscill) Magnitude of phase shift oscillation [deg]Additional sinusoidal phase shift oscillation to the voltage modulation [degrees].
finf_controlExt grid freq control modeChoice of whether the Thévenin equivalent source frequency is controlled via app.gridmo.io or set as fbase.
ainf_controlExt grid angle control modeChoice of whether the Thévenin equivalent source angle is controlled via app.gridmo.io or set as ainf.
adv_netfreqUse base f for Z source? (network freq dep)Choice of whether fbase or measured frequency is used for impedance calculations.
min_ohmsMinimum resistance (ohms) for avoiding ideal branchesMinimum resistance to avoid PSCAD™ ideal branches.
min_henryMinimum reactance (Henry) for a branchMinimum reactance to avoid PSCAD™ ideal branches.
nameNamesmiby block name. This must be set as "smiby".
gridmo_versionVersionsmiby block version. Older smiby block versions may not work correctly with newer gridmo Engine versions.