Skip to main content

PSCAD™ tappy

PSCAD™ tappy

Last updated: 8 October 2026

Version: v1

Software required:

PSCAD™

Background​

tappy is a PSCAD™ Definition provided with the gridmo software platform. It wraps the standard MHI OLTC block, which is used to represent the On Load Tap Changer (OLTC) that regulates the tap ratio of a transformer.

The underlying operation of the MHI OLTC block has not been changed. gridmo has added a wrapper around this block to enable engineers to do the following:

  • Fast tapping of the OLTC during the initialization period, including resetting the integrator when the fast tapping interval ends.
  • Receive initial tap position from external static solutions (e.g. PSS®E or PowerFactory).

Adding tappy into a model​

Step 1: Add tappy to your PSCAD™ Workspace​

Add the tappy block into your PSCAD™ Workspace by the same process as adding the smiby block:

  • Download the latest version of tappy using the DOWNLOAD MODEL button above.
  • Open your PSCAD™ Workspace file from your gridmo Engine's Inputs folder (.pswx) in PSCAD™.
  • Right click on the Definitions folder underneath the PSCAD™ Case in the Workspace view and select Import From File.
  • Navigate to the location of the tappy definition file (.psdx) and select it.
  • Right click on the tappy definition (it will appear at the bottom of the list of definitions) and select Copy.
  • Right click in the whitespace area in your Workspace and select Paste.
  • Connect the necessary signals to the tappy block:
    • input: Regulated winding RMS voltage [p.u.]
    • output: Tap ratio [p.u.]
tip

You can have multiple tappy blocks in your PSCAD™ Workspace to regulate the tap ratios of different transformers.

Step 2: Configure tappy parameters​

To configure the tappy block, right click on the tappy block and navigate to 'Edit Parameters'. The tappy block has the following categories of parameters:

  • Main settings
  • OLTC settings
  • Fast tapping
  • Static initialization
  • Advanced

Main settings​

  • Name
    • Distinguishes between multiple tappy blocks in a PSCAD™ workspace and when using the OUTPUT, LOCATION= Command. Set to a unique name such as OLTC_1 or OLTC_2.
  • Mode for finding initial tap position
    • PSSE/PowerFactory Static — Initial tap position is provided by a static solution (e.g. PSS®E or PowerFactory).
    • Self-initialize — Initial tap position is found by the tappy block itself.
  • Taps locked after initialization?
    • Yes — Tap position is locked after initialization and will not change.
    • No — Tap position remains unlocked after initialization and can change.

OLTC settings​

  • Which winding is controlled - is it the tapped winding?
    • Yes — The tapped winding is controlled.
    • No — The non-tapped winding is controlled. (Default)
note

The tapped winding is generally the high voltage winding of the transformer, and the controlled winding is generally the medium voltage winding. Therefore, this is typically set to 'No'.

  • Voltage setpoint [p.u.]
    • Target voltage of the regulated winding. This defaults to 1.00 p.u.
  • Tap step size [p.u.]
    • Voltage change per tap, as a fraction of the nominal voltage. This defaults to 0.0125 p.u.
  • Nominal voltage [kV]
    • Nominal voltage of the regulated winding.
  • Tap delay during normal operation [s]
    • Time delay after a tap change before the next tap change can be initiated.
  • Nominal tap position
    • Nominal tap position of the tapped winding. This defaults to 11.
  • (ADD 1 EXTRA) Number of taps increasing from nominal position
    • Number of available tap positions above the nominal position. This defaults to 11.
danger

There is a bug in the MHI OLTC block that stops the final tap position from being used. Please enter 1 extra tap position here otherwise your OLTC will not be capable of reaching maximum tap position, it will stop at the second to last tap position.

  • Number of taps decreasing from nominal position (not including your final tap position).
    • Number of available tap positions below the nominal position. This defaults to 10.
  • Hysteresis band based on step of one tap [p.u.]
    • Hysteresis band for the tap changer, set to deadband ÷ tap step size. For example, if the deadband is ±0.01 p.u. and the tap step size is 0.0125 p.u., set this to 0.8 = 0.01 / 0.0125. This defaults to 0.8.

Fast tapping​

tip

These settings are only used if the Mode for finding initial tap position is set to Self-initialize.

  • Start fast tapping [s]
    • Beginning of the fast tapping interval. This defaults to 0.2 seconds.
  • End fast tapping [s]
    • End of the fast tapping interval. This defaults to 2.5 seconds.
  • Tap delay during fast tapping [s]
    • Time between tap changes during the fast tapping interval. This defaults to 0.1 seconds.
Tappy Fast Tapping

Static initialization​

tip

These settings are only used if the Mode for finding initial tap position is set to PSSE/PowerFactory Static.

  • Tap ratio from static [p.u.]
    • The tap ratio from the static solution is written to this field in the gridmo Global Variable $pscad_initialization.

Advanced​

  • Vrms filter time constant [s]
    • Time constant for calculating the RMS voltage. This defaults to 0.05 seconds.
  • Direction of tap changing
    • +1 — Tap changes in the positive direction (default).
    • -1 — Tap changes in the negative direction.

Using tappy's metering channels​

The tappy block has several built-in output channels which can be used. Replace LOCATION= with the name of the tappy block you have set in the previous step.

Voltages​

Voltages
// Voltage setpoint [p.u.]
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=tap_voltage_set, VAL=V, NAME=i_put_name_here

// Regulated winding RMS voltage [p.u.]
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=Vinput_pu, VAL=V, NAME=i_put_name_here

Tap​

Tap
// Tap ratio [p.u.]
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=tap_ratio, VAL=TAPRATIO, NAME=i_put_name_here

// Starting tap position
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=starting_tap_position, NAME=i_put_name_here

// Tap enable flag
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=tap_enab, VAL=BINARY, NAME=i_put_name_here

// Tap delay [s]
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=tap_delay, NAME=i_put_name_here

Other​

Other
// Nominal voltage [kV]
OUTPUT, LOCATION=<enter_tappy_name_here>, TITLE=nominal_voltage, NAME=i_put_name_here

Updating tappy to a new version​

Update the tappy block to the newest version by the same process as updating the smiby block:

  • Download the latest version of tappy.
  • In PSCAD, navigate to your project containing the tappy block(s) using the left hand sidebar, and expand 'Definitions' using the '+' symbol. Ensure that your current definition of the tappy block is named 'tappy' and not 'tappy_1' or otherwise.
  • Right click on 'Definitions', click 'Import from File' and select the 'tappy_pscadv5.psdx' file you just downloaded. The new tappy definition should appear as 'tappy_1' in the project definitions.
  • Open the scripts tab of PSCAD by navigating to the 'View' tab, select 'Panes' and then 'Scripts'.
  • In the Scripts tab, click 'New' and navigate to the directory where the new tappy version was downloaded. Select and open the 'gridmo_update_tappy.py' script.
  • Click 'Run' to update the tappy block to the new version. Note that the script will automatically transfer all your project settings from the existing tappy block.
  • To complete the update, delete the old tappy definition and rename the new definition to 'tappy'.

caution

Updating tappy may overwrite any of your custom modifications to tappy. In general, we recommend not making any changes to the tappy block or OEM libraries so that newer versions may be accommodated easily. If there is additional functionality you are looking for, please reach out to us.

Benchmarking the tappy block against PSS®E and PowerFactory OLTC models​

The details below provide an example of benchmarking the tappy block against the default PSS®E and PowerFactory OLTC models. In this example, the WECC Solar model is used. The diagram below provides an overview of the OLTC in the WECC Solar model.

Tappy OLTC Overview

The tapped winding is the higher voltage winding (345 kV); however, the voltage is regulated on the medium voltage winding (35 kV). The OLTC reads the voltage of the medium voltage bus and compares it to the target voltage. If the voltage is too high, the OLTC will tap up. If the voltage is too low, the OLTC will tap down.

The WECC Solar OLTC has the following settings:

  • Tap step size: 1.25%
  • Nominal tap position: 11
  • Maximum tap position: 21
  • Minimum tap position: 1
  • Setpoint voltage: 1.00 p.u.
  • Deadband: 0.01 p.u.
  • Tap delay: 60 seconds

The following sections detail the relevant settings for the OLTC in the WECC Solar PSS®E and PowerFactory models.

PSS®E OLTC model​

The diagram below shows the steady state settings for the OLTC in PSS®E. The key settings are highlighted in the diagram.

Tappy PSSE Settings SAVTappy PSSE TX

The WECC Solar model uses PSS®E's model OLTC1T to represent the OLTC on the main transformer (345/35 kV). For more information on the OLTC1T model, please refer to the PSS®E Model Library.

The following is the OLTC model in the WECC Solar .dyr file:

//      IBUS        'OLTC1T'        JBUS        ID      CON(J+1)    CON(J+2)    CON(J+3)
1001 'OLTC1T' 1002 1 60 0.05 60/
ParameterValueDescription
CON(J+1)60Td — time delay (seconds)
CON(J+2)0.05Tc — time constant of tap changer (seconds)
CON(J+3)60Tsd — time before subsequent tap signal sent (seconds)

PowerFactory OLTC model​

The diagram below shows how the OLTC is enabled in PowerFactory RMS simulations. If this box is not checked, the OLTC will not be enabled in the RMS simulation. For a more complex OLTC representation, a separate dynamic model must be defined.

Tappy OLTC Tick DPF

Note that the RMS representation of the OLTC uses the settings that are specified in the Load Flow tab of the transformer element. The key settings are highlighted in the diagram below.

Tappy DPF Loadflow Settings

Benchmark results​

The interactive plot below shows the benchmarking of the PSCAD™ tappy block against the PSS®E and PowerFactory OLTC models represented in the WECC Solar model.


The tappy block benchmarks very well against the standard PSS®E and PowerFactory OLTC models. It is should be noted that there is a misalignment observed between PSS®E and PowerFactory/PSCAD™ OLTC models when the OLTC moves from increasing tap ratio to decreasing tap ratio. The PSS®E OLTC model will wait for the period of CON(J+1) before sending the next tap signal change whereas the PowerFactory/PSCAD™ OLTC model will send the next tap signal change immediately.

Revision history​

Version 1 | 8 October 2026​

  • First release.