You are on page 1of 10

PSCAD/EMTDC 4.2.

November 18, 2005

Welcome to PSCAD/EMTDC V4.2. Version 4.2.0 is available as a complete install only and can be installed alongside existing installations of PSCAD V3, V4.0.X and V4.1.X There exist two separate installs, one for Professional/Educational and one for Student/Evaluation Versions of PSCAD.

Important Note
Blank Parameter Fields: When a component parameter field is undefined, earlier PSCAD compiler versions assumed a value of '0.0', a real number. This assumption is potentially risky since no real number was actually entered. By design in PSCAD V4.2, the compiler will no longer accept indeterminate input values and resolves to 'NaN' (see parameter viewing dialog). This produces a compiling error and will not run the case. The user model must have a valid default if the user does not enter anything. This may require previous version PSCAD model maintenance if defaults were neglected in the original design. More information on this item can be found by visiting http://bb.pscad.com/view_topic.php?id=466&forum_id=14 Windows XP Professional x64 Edition: If you want to run PSCAD 4.2.0 Professional or Educational on Windows XP Professional x64 Edition, you must configure PSCAD to get a license from a License Manager on another machine, or use a lockless trial license. The 32bit Sentinel lock drivers supplied with the PSCAD and LM installers will install on XP 64, but will not run, so neither the License Manager nor PSCAD will be able to detect USB or parallel port locks. Correctly Uninstalling PSCAD 4.2.0: Use the Add/Remove Programs control panel to properly uninstall (remove) PSCAD 4.2.0. If you browse to the PSCAD CD and start Setup.exe and then select Remove, the uninstall process will remove all registry keys required by other installed versions of PSCAD V4. Should this happen, you need to repair the remaining installed versions of PSCAD V4.

Known Issues
1) The Hardware Key Rainbow USB driver version 7.71.9 does not properly support Hibernation/standby. The older version 5.39.6 Sentinel drivers properly detected the lock after waking up from hibernation & suspend modes, however there may be other driver conflicts with installed software. The new 7.71.9 drivers do not detect the lock after waking up from hibernation & suspend modes unless you unplug & replug in the lock. Sentinel says that this issue will be fixed in their next driver release due late Nov. 2005. At that time we will test the new drivers, and then deploy a patch through our support website. 2) If you have two UMEC transformer instances in one case, where the first instance the saturation is disabled, and the second transformer saturation is enabled, the saturation parameters will affect the first UMEC component. The quick workaround is to disable the saturation of both transformers, or enable the saturation of both transformers. This will be fixed with the next maintenance release.

PSCAD Improvements

In this section we have compiled a collection of brief overviews of individual changes to the architecture of PSCAD. The following items are not listed in any particular order, but provide some detail as to the nature of the change and how it may impact current users. Unit Conversion System: Unit conversion has been a high demand item for development in recent months. A new system has been integrated to perform automatic unit conversion. This function is a table based conversion utility build into the data manipulation code for the components. It operates as a separate object design to accept input as a source unit and convert to a defined target unit. It is important to note that there are 3 basic types of units conversion identified. They are: 1) Direct proportional conversion (i.e. metre >> feet) 2) Translational conversion (i.e. Celsius >> Fahrenheit) 3) Domain inverse relationship (i.e. sec >> Hz) The unit conversion system implements the first form of conversion only. Proportional conversion has a common intercept point through zero and thus does not require the input value to provide a conversion ratio. In addition the conversion is capable of handling multiple terms as long as both the count and operator sequence match. An example of this is the conversion of [ohm/m*s] to [kohms/ft*s] where both the source and target units specification contain the same number of terms (3) and the same operator sequence (/*). Scaling factors prefixes are included in engineering factors of 10 3 each from pico(-12) to giga(+12). Scaling factors can not be combined in accordance to SI standards and are limited to 10e12. Operator precedence is always left to right. Precedence control symbols '(' and ')' are not supported. Power terms are support with a ^ symbol, i.e. kg/m^3 would be kilograms per cubic meter. Literal terms are supported in a limited fashion. This allows for units to be specified as [1/s] for example, or even [3.14/s]. Literals can not contain a sign or any exponential as this is ambiguous with operators. If a conversion cannot be performed the system will return an indeterminate factor represented by #NaN which is then handled by the error messaging system. If the source equals the target the behaviour is unity (of course). If either unit is not specified then the default behaviour is unity (1.0). This behaviour is irregardless of an existing unit having literals or not. It is also possible to successfully convert units that are represented by common alias terms if they are provided in the database. Typical examples of this are [Hz] as an alias for [rev/s] and [rpm] as an alias for [rev/min]. Support for aliasing extends to single term unit specifications only. Multipliers are legal, so the term [kHz] will correctly convert to the compound term [krev/s]. This is possible since the multiplier is handled separately from the base unit. To support the units conversion object a new XML data file (units.dat) is included. This file must be placed in the home directory.

It is important to note that this system was developed using the National Institute of Standards and Technology as a reference on SI. The implementation is partial and is intended for use in electromechanical systems. The reference can be found at: SI Standards Reference: <http://physics.nist.gov> Phasor Meter Devices: A new device have been add to the latest build of PSCAD to support complex pairs of Magnitude and Phase Angle created by the FFT component and others. The device displays instantaneous vectors (magnitude and angle) from the origin in the form of a thick line. If the magnitude exceeds 1 pu of the display an arrow is attached to the line to indicate it is out of scale. The display device will show either a single phasor or up to six phasors in an adjustable gauge display. Numerical values for the magnitude and phase angle are given at the footer panel of the device. The input can be toggles to accept values in either radians or degrees. Navigation History Bar: Users no longer need to try and retrace their steps by memory alone. A new Navigation Bar has been added to PSCAD that automatically tracks navigation within a project space. By design the style of navigation is using the same methodology that is commonly found in the Windows Explorer. As you move from one module definition to another, the history list is appended with each movement. This list is split at the current navigation point, filling the drop list next to the 'Forward' / 'Backward' buttons. User can move incrementally or by selecting a location directly. This system has significant benefit for large control system architectures where levels of detail may be nested several modules down from the top. Navigation through these complex cases is much simpler with a history control. Global Substitutions: Substitutions are well defined for definitions and widely used. These operate using input data as a source, while using the definition to define the actions. This means that all components of a certain type will process substitutions in the same way. If substitutions are required on a per instance basis, then this process cannot be used. Early implementations of and instance based substitution was called a global constant and allowed the user to enter a defined text string. This was then inserted as a value into an input field of a user component, but was limited for many other actions. This mechanism has been reworked and the concept of a global constant has been replaced. The big difference with the new approach is the process is completely general and does not require that a defined substitution be a numerical type. This allows for raw text substitutions combing both pre-fix and post-fix patterns. The syntax is the same as used for definitions as follows: $(<key>) There is no context key since the context is always that of the project. This text will be substituted at any point where a user component accesses its raw data. The raw data will be pre-processed with the substitution before it is returned for use. This allows the substitution

to act exactly as if the user entered that data into the parameter field. There is a small computation overhead to achieve this flexibility. Note: V4.1 implementation of Global Constants will no longer function and occurrences will need to be replaced with the above syntax. This was necessary since the constants were devoid of formal syntax, creating difficulties in resolution. Automatic Computations: Parameters are constants that are initialized in input fields. Computations are constants that are calculated from those parameters and/or other computations. Originally the computations were processes at the time a circuit module was compiled. This meant that none of the computed constants were available when a component is placed on the canvas. Changes have been made to the way in which a user component handles its computations. They are now processed in the layout procedure of the user component prior to the evaluation of the graphic flags and dynamic text in the component. In this sense they are automatically computed with the component and always remain available and up to date. More importantly, computations are now available for both graphic substitution and visibility expressions allowing the user to place a computed value on the display. This value will be undated whenever the component is placed on the canvas. Computations can also be created anonymously (no name identity attached) and used in the component. The anonymous expression substitution syntax: ${<expression>} This syntax, although perfectly valid, is no longer required to perform dynamic computation text for graphics since the expression can be defined by a computation and substituted into the display like any other parameter. Extended Substitution Syntax: In an effort to standardize the substitution syntax, the parser has been extended to include a more formal way of handling substitution from other contexts. This comes from the need to pull information from more than just the component instance data. The standard syntax is: $(<context>:<key>) Where the substitution contains both a <context> and item <key> that are separated by a scope operator and delimited by round brackets. This syntax is intended to be standardized within the application to avoid multiple ways of performing substitutions. The name of the context allows the parser to insert information from objects outside of the scope of the component instance. These are: Defn, Project, Work, Session and System. When use for substitution within the context of the component instance, there is no need for a context and it is excluded along with the scope operator. In such cases the syntax is: $(<key>) or... $<key> This syntax is backwardly compatible with existing installations and the simple un-delimited form is the one that is use in most cases. (Both forms are now legal). The delimited version

has special properties in that it can be used to format identifiers or other fields where there is an alphanumeric post-fix. This is a new capability. By design, if the character immediately following the '$' symbol is the same then that character is copied directly to the stream without processing. This allows for '$' insertions, for example, to insert a dollar-sign character, use $$. This is conventional syntax for substitution. Component Property Viewer: The previous release included a property viewer for component instances on the circuit. This has been greatly expanded to include a much greater level of detail and to aid in the debugging process of components and their models. In addition to the standard information provided by the definition and the parameter data, new fields have been added to include evaluated information for parameters and display of the expression for computations. This was a necessary addition as a result of the unit conversion system coming online. Failed evaluation will appear in the dialog as #NaN indicating an indeterminate state. This process is executed when the dialog is invoked and thus no compile step is required beforehand. This greatly aids the debugging process on a single instance to ensure that the evaluated data is valid prior to compiling. Parameters that are condition tested for enable/disable will appear with an asterisk (*) after the name if the condition returns false. Enhanced Message Balloon: Currently the errors and warning messages are displayed in a balloon component on the circuit canvas. Refinements to the balloon have extended it to display not just the current message but rather all messages pertaining to the component in question. Multiple messages are handled using small label components in a scrolling list. This way the user does not have to click on each message in the output window to see all the diagnostic information. In addition the balloon exists in a true window rather than a temporary component, giving it behaviour much like a toolbar. User Petition Support: A new dialog is in place to give licensed users a mechanism to send a petition to customer support directly from within the application using the Windows MAPI interface. Each petition includes the client ID, and application specific attributes to assist the support team, along with the associated question and/or comment. This system provides a convenient mechanism for users to relay bugs and suggestions to the support staff, and to respond to those concerns in a more organized fashion. This is part of the main help menu. Sequence Components ordering repaired: The solution is to design multiple sources into the signals on the netlist and reworking the signal sources so that it could accommodate the unusual behaviour of the sequence components. Once that was in place, some small changes to the circuit decomposition and ordering algorithm extended it to handle the signal changes. Since the decomposition algorithm is already designed to handle multiple sources (from different input signals), it is a natural extension to allow multiple sources for the same signal. Implicit Bus linking enabled: The bus component has new functionality that allows the name of the bus to act as an implied connection. Users can then split a large bus into smaller segments, and those segments are implicitly connected together. This is not the previous behaviour so is turned

off by default. The user can turn it on in the project settings. In addition the colour of the bus is set using the base voltage. In general, electrical node labels are not connected and were not part of the planned behaviour. It has been known that they would in fact connect if named alike. This behaviour has been restricted to buses to encourage formalization of an implied electrical connection. This is less likely to be error prone. Idle time polling: To ensure fast response in the data communication between PSCAD and EMTDC, the simulation of smaller systems is continuously polled, providing maximum performance. On larger networks, the simulation can run significantly slower and it is not necessary to poll the simulation continuously. To free up processor cycles an allow other applications to run more smoothly, a switch allows this polling to only occur during periods when the application not busy, referred to as "idle time". If this option is set, larger networks will use this method instead, reducing the processor loading from PSCAD. Associations for commonly used programs: A new extended list box control has been added to the workspace dialog to manage the file associations. This give greatly extended file associations with file references. Its look and feel resembles the one that you can find in the dialog of the Visual Studio environment. This new list box allows in-place item editing, and a "browse" button near the edit field. Once set these associations are stored as user system properties in the registry. Window tabs auto-adjust for width: The previous tab window tabs had a fixed size. When the window is too small to fit all the tabs, they simply cropped at the right edge. This has not been a problem for the workspace until the recent addition of a transmission line view. New code has been implemented to improve the tab window and it now auto adjusts the tabs to fit the width (cropping text as necessary) if the width is not sufficient to show them all. Matrix Memory Optimization: Changes have been introduced to improve the memory efficiency of EMTDC simulations. Larger systems that contain many transmission lines naturally spilt the full matrix into smaller matrices called subsystems. The purpose of separating the network into to smaller matrices is to both save memory loading by avoiding large n*m allocations and to increase speed of inversions due to switching events in the simulation. However, systems with a large number of these transmission lines can break into subsystems with too fine a granularity resulting in an allocation of n*m*o which is actually larger than the original single matrix. Changes have been made to the matrix mapping algorithm to allow it to identify multiple un-switched networks within a module and pack them into a single subsystem. This is not a system wide approach but is simple and effective enough to provide a noticeable reduction in memory usage for these types of complex systems. If a module has no switched elements, its components will always be retained within the same subsystem. Tri-Segmented Wire Type: Based on the wire class recently integrated into the application, a new tri-segmented type has been developed to specifically handle situations where a pure orthogonal wire is not sufficient. The three segments are composed of two orthogonal elements are each end and

a single diagonal element in the middle. Stretching and resizing these allow for a large number of potential shapes and combinations as in interconnect between two orthogonal elements and especially for interconnecting buses. It is currently implemented in one fundamental base type for transmission lines and cables and is fundamental to future compatibility with flow diagrams under development. New Wire Class: A new wire class has been created to support advanced movement and manipulation. The new wires provide fundamental support for single and multi - segmented wire type, buses, and new 4 pointed diagonal types used to support the transmission lines. This new type provides new drawing constructs that allow for multi-rectangle (region) based components. The region concept then extends the capabilities of many components other than those based on wire. Drag & Drop Extensions: To speed up the creation an movement of curves on the design canvas, the capabilities have been extended to allow the user to drag curves from one graph to another or around the same graph to sort the order. In addition, copies of the curve can be created by holding down the <ctrl> key and dragging a new curve from the existing one.

Transmission Line Improvements


New Line Constants Viewer: A new Line Constants Output data viewer is available. LCP detailed output files are composed of a variety of detailed data, which is written to column formatted, ASCII text files. As the detailed LCP output data are distributed with 14 text files, it also depends on whether the user has selected the FD (Phase) or the FD (Mode) model. LCP data viewer is a dialog with data listing area and a residential tool bar. There is also a drop list selection which provides the switching between the various output data files. Transmission Line/Cable tree view in PSCAD Workspace: A new TLines/Cables view is added to the workspace window. If the project has been compiled, the tree populates grouped tlines and cables under the project parent tree. Each line that has remote ends connection type should also have two child tree nodes to represent the sending and receiving ends. New Line Constants Program: The ability to increase the number of frequency solution steps between the specified start and end frequencies (frequency dependent (Phase) model only) has been added. This feature has been shown to improve curve fitting results in highly non-linear line segments. For normal lines, the default of 100 frequency steps is sufficient. Detailed output files are now output with unique names. Also, the respective calculated and curve fitted output files for surge impedance, attenuation constant and current transform quantities were merged together. Formatting was changed to simplify the process of plotting these output quantities in the pending detailed output plotting utility for v4.2. Eigenvalues and eigenvectors are now output to detailed output files '<linename>_eval.out' and '<linename>_evec.out'.

The internal Newton-Raphson (NR) procedure for calculating eigenvalues/eigenvectors was modified to reduce the maximum number of iterations. Testing has shown a dramatic increase in solution speed in highly complex line segments (such as complex, multi-layer cables) without affecting the results. The log file has been improved to better indicate what is happening while the NR procedure is invoked. In the past, whenever the 5000 maximum iterations were hit, the routine would output the message 'Failure to Converge' -- sometimes many times over. Now, dynamic indication is provided to show how the NR procedure is searching for a frequency that provides a convergent solution.

EMTDC and new Models


The following items have been improved in EMTDC.

Intel Visual Fortran version 9 is now supported. A new multimeter model has been added to the master library. This component
allows simpler access to P, Q, V, v(t), i(t) and phase angle signals at one point. Previously several components were needed to collect the same information. "examples" highlights this models usage.

A permanent magnet motor model is now available. An example case under Many single input CSMF components now support array inputs to reduce the number
of components required to draw the circuit. Also, interpolation is now fully implemented into the CSMF and Logic libraries. input conversions from other programs (for example, a power flow). input.

Machines and Sources may now be initialized by terminal conditions simplifying data A PT model has been added, and the 50/51 relay updated to allow simpler data Breaker and Fault models now have current chopping capability. The user can

specify a certain limit where breaker will chop the current without waiting for a zero crossing.

Resetting capability is added to Differential, Real and Leadlag poles. The FFT and THD components are handle up to 255 harmonics.
The hpfilter component is now branch based, as opposed to node based, to improve compatibility with PSCAD Single Line Diagram functionality.

Checks are now added to verify whether changes to the project invalidates the
snapshot.

New components: - angle_resolver to limit the angle within the specified range, - polar_rec to convert quantities between polar and rectangular coordinates, - prod_array to get the product of all the elements in an array, - sum_array to get the sum of all the elements in an array. A - simpler fixed load component.

Notable bug fixes A bug in VDIFPL8 routine is fixed. This routine is used inside IEEE exciter/governor/turbine models. VARRLC now correctly models idL/dt and vdC/dt terms. A bug in COMTRADE 99 format output is fixed. A bug in frequency tracking option in FFT component is fixed. The nth order transfer function and nth order filter storage pointer bug has been fixed.

License Manager
There have been several enhancements to the License Manager.

improved licensing and additional diagnostic messages License Manager now uses the Sentinel Drivers 7.71.9 to eliminate driver conflicts with PSS/E. Improved Licence Manager support when the computer comes out of suspend or hibernation modes. PSCAD no longer will lose its license. Previous versions of the Licence Manager service would often hang when the user would attempt to stop the service, necessitating a reboot. This issue has been resolved. Licence Manager only logs errors when they are first detected, not every 60 seconds reducing the size of the log files. PSCAD will warn the user if any installed trial or temporary licences will expire within the next 2 weeks.

Additional Notes:
PSCAD V4.2 is fully compatible with PSCAD V3, and has significant improvements for the import of PSCAD V2 for Unix/Linux. In order to run PSCAD/EMTDC, a FORTRAN compiler is required. We currently support: - Intel Visual Fortran (9.0.018, or higher), - Compaq Visual Fortran V6.x, - Digital Visual F90 (V5.0), - as well as the Shareware GNU Fortran/C compilers (the GNU compilers are available for free download from our web site, www.pscad.com).

Service and Support:

For more information on updates/support, please visit our website and PSCAD Forum at www.pscad.com. If you have any suggestions regarding this software, please send e-mail to the address below. For information on PSCAD/EMTDC courses, or custom model development, please contact:

Manitoba HVDC Research Centre Inc. 244 Cree Crescent Winnipeg, MB CANADA R3J 3W1 Ph: +1 204 989-1240 Fx: +1 204 989-1277 support@pscad.com

You might also like