What's New?

 

The following lists the history of important new features and bug fixes in the PSCAD V5 product line.  Links are provided for easy access to the relevant topics where possible.

 

For a history of changes to the PSCAD X4 product line (v4.3 to v4.6), click here.

Version v5.0.0 is the initial major release of the PSCAD V5 product line. This release represents the greatest change to a single release, in terms of new features and functionalities, than any previous PSCAD version.

 

PSCAD v5.1.0

Release v5.1.0 is the first minor upgrade to the original V5. This release includes both new features and bug fixes.

Compatibility Updates

Just prior to the release of PSCAD v5.0.0 in 2021, we identified the seriousness of disabling module parameters, as they are connected directly as inputs to actual circuits, drawn within the module schematic. If a disabled parameter is connected to an import tag on the schematic, which is likely an input to a controller or similar, what value should be passed into the import tag? The answer is important, as it can affect the accuracy simulation results.

 

Our initial solution in v5.0.0 was to generate an error message when a disabled module parameter was encountered. We quickly discovered following the release that some users were using the disabled module parameter feature to organise their parameters visually, and as such were inundated with error messages on compile of their projects. We provided a quick solution to this by simply changing theses messages to warnings in v5.0.1 and onward. However, this was not a good solution and just masked the issue, so we came up with a better solution for v5.1.0.

When a project is imported into PSCAD v5.1.0, it is scanned for disabled module parameters. If encountered, the above dialog is presented on a per project basis. Please take care in selecting one of the three options provided. If you need to go back and change the settings after import, it may be done on a per module basis, via the canvas settings:
 

PSCAD New Features

C-language program generation is accomplished by constructing a control circuit using a collection of our more basic, master library components, specifically from the Control System Modelling Functions (CSMF) section. Once constructed inside of an encapsulating page module, the C-language program is generated with a single click.

 

 

      

To facilitate this functionality, we have added a brand-new component definition script segment, called ‘C’, where we have placed C-code script that is functionally equivalent to the component’s original Fortran-based script. The ‘C’ component script segment is only ever considered when generating a C-language program.

 

 

Fortran Segment

C Segment

 

Once the simulation is complete, simply add the resulting *.psout file as a Previous Run project resource:

 

 

Once added, right-click again and select Play and then the run stored within the *.psout file you would like to play back:

 

 

The playback speed is adjustable. The graphs, controls, instruments, and animations will be re-displayed during the playback. The ribbon control bar will automatically display a Playback tab, which provides an assortment of controls:

 

 

Previous Run Playback is useful for doing presentations where performing the simulation may take a long time or perhaps the simulation is too fast for in-simulation analysis.

 

Filters provide the ability to focus the view on a specific project, or across all loaded projects in the workspace. Fully searchable, users can quickly find what they are looking for and add an instance of the component to the schematic with a single click. A viewing window at the bottom of the pane provides information about the component, including its graphical appearance.

 

 

Once templated, the pre-configured group of components are stored in the project under the Templates branch in the workspace tree:

 

      

Once created, the template becomes viewable and searchable (according to its name and given Tags) via the Component Library Viewing pane. An instance of the template can be created either from the Component Library Viewing pane, or directly from the workspace tree.

 

The only instance where perhaps EMTDC running ahead would not be desired is when there is a necessity to manually modify online controls, such as sliders and switches, where it is important for PSCAD to be in synch with EMTDC, so that the manual control signal variations occur at the proper time. As such, a means to disable EMTDC running ahead is provided in PSCAD via a ribbon button called Live.

 

 

Note that the Live setting is also a project setting, that can be saved as always on:

 

 

 

 

 

           

 

Or simply align the component atop the wire, right-click and select Wires | Insert Selection into Pathways.

 

 

This functionality not only helps when adding series components like ammeters or multimeters but also helps simplify automated construction of circuits using Python script.

 

 

For example:

For a complete list of new macros, see Complete Macro List.

PSCAD Functionality Deficiency Fixes

      

The ability to set Fortran compiler and Visual Studio configurations on a per-project basis is also now available to be overridden on a per simulation task basis. This enables you to run simulations sets in sequence that include simulation tasks using different compiler/Visual Studio combinations in different simulation sets.

 

 

 

An example usage for this feature is say a user needs to run a certificate program after generating the EMTDC executable file, before it runs, to allow their local security program to run first. In this instance, the user would provide command line commands in the post-build or pre-run input fields.

 

 

SCons is an open-source, software construction tool. Think of SCons as an improved, cross-platform substitute for the classic make utility with integrated functionality, like autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable way to build software.

 

SCons makes the dependency management and building of large simulations much faster and more reliable.
 

 

A new application option is added to allow the user to limit (or not limit) the number of threads PSCAD can run on its computer. By default, this is set to ¼ of the machine’s cores, but it is adjustable by the user.

 

      

 

Note that usage of the Rank Number tag in your PNI simulation projects is still necessary as per a standard PMR simulation.

 

 

In previous versions, individual dialogs would pop-up for every project set to manually start. If users so desire, there is a custom button on the above dialog that provides the ability to set project launch configurations on an individual basis.

 

 

 

 

A new option is added to the component definition graphic object properties called Orientation Lock, which can be used to lock enable the locking.
 

 

 

Instrument properties may be adjusted at any time: Prior, during, or post simulation.

 

Simply ensure that you have enabled Animated Graphics in the project settings. Then, adjust the data label parameters to display what is needed.

      

Master library components that generate constant signals, such as the constant tags, rank, Delta-T, etc., have already been modified in v5.1.

 

PSCAD Bug Fixes

PSOUT Files and Reader Utility Bug Fixes

EMTDC/Master Library Algorithmic Enhancements

EMTDC/Master Library New Models

Note that at the time of release, multi-rate functionality is only available when using foreign ends. In other words, only PNI simulations that are run from within a single instance of PSCAD may make use of multi-rate (PNI simulations between multiple instances of PSCAD, using alien ends are not supported). The only other limitation is that the transmission line model being used must be selected as the Bergeron model

 

EMTDC/Master Library Functionality Deficiency Fixes

 

 

#COSIM $client_id $channel_id $s_dim $r_dim

 

Where:


1.    Client ID: The ID of the application, with which it will be co-simulating.
2.    Channel ID: The ID of the channel in the application.
3.    Send Size: The size of the data that this component will send to the other application in terms of total of real numbers.
4.    Receive Size: The size of the data that this component will receive from the other application in terms of number of real numbers.

 

EMTDC/Master Library Bug Fixes

Line Constants Program (LCP) Algorithmic Enhancements

MoM-SO is a semi-analytical method used to compute cable parameters more broadly, considering proximity effects for the correct prediction of electromagnetic transients in cables that are placed close to one another, such as submarine cables.


MoM-SO is controlled in PSCAD via the Additional Options component: An optional component that is placed on the cable cross-section, along with the model, ground return, and the cable itself. 
 


Line Constants Program (LCP) Bug Fixes

Licensing and Utilities Bug Fixes

PSCAD v5.0.2

Release v5.0.2 is the second maintenance update to the PSCAD V5 product. This release includes bug fixes, deficiency fixes and minor enhancements.

Addressed PSCAD Deficiency Fixes

PSCAD Bug Fixes

EMTDC/Master Library Bug Fixes

Python Scripting Bug Fixes

Addressed Utility Deficiency Fixes

PSOUT Viewer

PSCAD v5.0.1

Release v5.0.1 is the first maintenance update to the V5 major release. This release includes bug fixes, deficiency fixes and minor enhancements.

Addressed PSCAD Deficiency Fixes

 

PSCAD Bug Fixes

Addressed EMTDC/Master Library Deficiencies Fixes

EMTDC/Master Library Bug Fixes

PSOUT Viewer Bug Fixes

Line Constants Program Bug Fixes

PSCAD v5.0.0

Version v5.0.0 is the initial major release of the PSCAD V5 product line. This release represents the greatest change to a single release, in terms of new features and functionalities, than any previous PSCAD version.

Compatibility Updates

New Features

 

Non-Embedded Python Automation Interface, in PSCAD v4.6

 

In V5, automation utilizing the Python script language is embedded directly into the software, and is included with the installation of PSCAD.

 

Embedded Python Automation Interface, in PSCAD V5

 

Now users can maintain their scripts from within PSCAD, using a new Script pane, from which custom scripts may be recorded, edited or launched.

 

Script Pane

 

The new scripting interface comes complete with the ability to record actions – effectively writing the script for you for many of the available operations. Some manual tweaking of the file is usually required, but the bulk of it written automatically. The new interface is faster, and it alleviates the need to install Python separately (it comes ready to use with your PSCAD installation).

The present text file based system for storing EMTDC simulation output, which has been in use for the past 20 years, was originally designed assuming much smaller simulation projects, and is therefore no longer an efficient and memory-savvy system for simulation data storage. A redesign is needed.

 

A brand new EMTDC output file format (*.psout) is included with the PSCAD V5 release. A proprietary design, this new format is binary, which ensures a much smaller storage footprint, as well as faster data access. Not only does it store all simulation curve and trace data, but it can also store all sequential or parallel multiple run data, as well as animated graphics information, all in a single file. For example, if you were to launch a volley of 100, parallel simulations, all EMTDC output data is stored in a single file named <project_name>.psout.

 

 

Given that binary files cannot be read using a simple text editor, a new utility, called the PSOUT Reader, is also included with PSCAD V5. This utility provides a convenient, tree-based data display environment, and includes appropriate file manipulation features, including the ability to export to the older EMTDC *.inf/*.out file format.  The utility may be launched from the Tools tab of the ribbon control bar.

 

 

In addition, *.psout files from previous runs, may be added as a resource in the project it was originally run. When invoked, users can display the previously run data on the graphs within that project.

 

With the advent of high performance computing and the launching of multiple, inter-linked EMTDC simulations running in parallel, the communication overhead imposed by the TCP/IP protocol was found to be a serious speed impediment. Consequently, new means of communication were implemented to overcome this issue.

 

ComFab is a separate layer that acts as a middleware for communications between processes. It is generic enough to be expandable and can be utilized by third-party software to communicate with PSCAD and EMTDC, provided that protocol is adhered to. As of the V5 release, ComFab supports two types of communication interfaces: The legacy TCP/IP (default) and Shared Memory.

 

Mode

Restrictions (Scalability)

Performance

Details

TCP/IP

None

Local – 20 ms

Remote – 400 ms

This is the legacy mode of communication between PSCAD and EMTDC. Prior to PSCAD V5, this was the only mode available.

Shared Memory

Single Computer

Local – 1-2 ms

Shared Memory is memory that may be simultaneously accessed by multiple programs (i.e. in our case, PSCAD—EMTDC, and/or EMTDC—EMTDC) with an intent to provide communication among them. Shared Memory reduces the communication overhead to a near negligible level, but is best suited for running simulations on a single, multiple-core computer.

 

 

Note that the onus remains on the user to program the interface from the external application side, as all external applications differ in complexity and purpose.

Running processes across multiple computers requires additional software to manage the simulation processes. Enter the Cluster Launch System (CLS), a utility that can both launch and manage simulations on a computational cluster.

 

 

For example, a user wanting to run 10 simulations on a computer (Host 1) comprising of 4 cores, can use the CLS to configure a computational cluster and run 10 simulations using several multi-core computers connected across a LAN. As shown in the figure above, Host 1 can be treated as the master, since PSCAD is running on this computer. PSCAD launches the CLS, which is then used to configure a computational cluster comprising of Host 1, Host 2 and Host 3.

The flat, drop-list category page format, which has been a part of PSCAD since the V2 days of the 1990s, has been replaced by a multi-level, tree-based category window. The new tree style can be extended to provide multiple branch levels (branches within branches), to provide a second dimension to the organization of categories.

 

New Style Category Tree

 

A very powerful and customizable display window, called the Dynamic Help Pane, is also included in the new parameter dialog. The new pane is simply a viewing mechanism to display the output of an associated, Java-powered, HTML file. The power and flexibility of Java and its libraries may be utilized to create a wide assortment of parameter data visualizations, from help text, to images and dynamic graphs that change as the data changes.

 

For example, the arrestor component in the master library has associated with it an HTML file that defines a V-I curve plot, based on the V and I parameter data entered in the dialog. The curve is displayed in the side panel window as shown below. The graph is dynamic and will change immediately if the parameter data is changed.

 

Arrestor Component in the Master Library

 

Utilizing the basic, standalone multiple run control configured in the projects settings Runtime tab, a tandem line simulation involves a pre-solve of all possible transmission segment lengths (i.e. produces multiple *.tlo files, based on the tandem segment parameters) prior to launch. Then the simulation is run multiple times, each time using different segment lengths, creating the illusion of a sliding fault.

 

Additional formula in the LCP takes care of the mutual impedance between aerial and underground lines.

V5 now boasts a handful of other navigation related niceties, in addition to the navigation tree, as described in the following bullets:

 

 

Bookmarks are also managed from within the Bookmarks pane. This pane provides a convenient and navigable list of bookmarks.

 

 

 

This feature operates by detecting components with a Name parameter on the component. If a Name parameter does not exist, then the function is disabled.

Enhancements to Existing Features

 

Appearing as a sub-branch of every project in the workspace projects list, the resources branch provides a means to easily manage all resource files related to a specific project. The resources branch encapsulates the functionality of both the prior project settings fields, and the file reference component, enabling users to append all types of files related to the project; such as Microsoft Word or Excel files, images, as well any type of text file, in addition to the source and linked compiled files supported in previous versions. The operating system file association settings are utilized so that the proper application is launched when the file is viewed.  

 

Note that the File Reference component will continue to be supported in V5.

 

A new Application Option has also been added to the Dependencies category called Search Path, which provides a means to specify folders where the compiler should look for dependent files. In this way, only the file name need be specified in the project, as long as the file resides in one of the specified folders.

The PMR feature enables users to launch multiple simulation runs in parallel, based on a single case project, but providing different data to each parallel simulation task. Each simulation is run independently on its own, unique processor core.

 

 

The simulation task with rank 12 is currently selected, so this data will be displayed in the project graphs.

 Custom configuration options are stored with the project, as attributes to a particular layer, and will remain when layers are merged.

Aliased signal names will be displayed in flybys, and each signal variable in the generated Fortran code that has multiple aliased names, are declared on a unique line with a comment section describing the aliased names that the variable is associated with.

 

 

This added intelligence to the PSCAD schematic compiler ensures compatibility with older PSCAD projects, while providing flexibility moving forward. Signal name aliasing solves the import issue addressed by the Exported Signal Distinction application option, and so therefore this option has been removed.

This same editor looks similar in V5 after the update, but has been reorganized so as to display the parameter dialog dynamically, while it is being edited. This enables the user to see exactly what the dialog will look like, without the need to exit the editor, or press the Test Dialog button (the Test Dialog is still necessary for actual functionality testing, however). Also, much of the underlying functionalities have been improved and cleaned up, resulting in a more intuitive and efficient work environment.

 

Some other specific enhancements are described as follows:

 

This issue has been rectified in V5, so that all animated graphics will show their last state in the simulation, regardless of whether they were viewed or not.

 

 

 

 

 

 

 

 

 

 

 

 

 

CALL COMPONENT_ID(ICALL_NO,<component_id>)

 

The use of the #COMPONENTID macro is recommended when building custom components, as it reduces the chance of typos, plus will ensure custom component script remains compatible in future versions.

#IF $#Type(input)==2

 

In the above statement, the signal type of a port called input, is checked if it is of INTEGER-type (INTEGER = 2).

 

 

Condition Mode Set To Enabled

Condition Mode Set To Visible

PSCAD Bug Fixes

(Since v4.6.3)

New Master Library Models

 

 

 

 

EMTDC/Master Library New Features and Enhancements

EMTDC & Master Library Bug Fixes

(Since v4.6.3)

LCP Enhancements

LCP Bug Fixes