Changes#
What’s new in 3.0#
3.0.6#
Embedded documentation is now formatted as html
Corrected 5.0 fallback for
Canvas.names_in_use()
‘Choice’ parameters with sequential integer values, such as the master:cable_interface’s
NCAB
parameter, are now returned as integers instead of strings.Add
@deprecated
Switch.value()
andSelector.value()
methods, as aliases forSwitch.set_state()
andSelector.position()
methods to support incorrect method names use in PSCAD’s script recording.
3.0.5#
3.0.4#
Fixed crash in
PSCAD.get_current_certificate()
.Removed
TLine.split()
andCable.split()
. They will be re-introduced in version 3.1
3.0.3#
AddedTLine.split()
andCable.split()
that split transmission lines and cables at a defined lengthAdded
content_type
toUserDefnWizard.Parameter
.Fixed crash in
Canvas.components()
, introduced by 3.0.2
3.0.2#
launch()
now acceptsa port
range
an network
address
for PSCAD to bind the automation server to
Added Proxy object caching to speed up automation queries
Support recorded scripts with improper create_wire vertices argument
Support find with parameter encoding when definition specified
Removed unnecessary
Mixin
ClassesAdded fallback impmentation for
UserCanvas.create_connection()
3.0.1#
Removed debug print statements
3.0.0#
Drops support for Python 3.5 and 3.6
Added
Project.names_in_use()
andCanvas.names_in_use()
What’s New in 2.9#
2.9.7#
Fixed error fetched Project parameters with PSCAD 5.0.x
2.9.6#
mhi.common
dependency updated.Support additional compiler options in
Project.parameters()
Added
Project.branch_search()
andProject.node_search()
PSCAD.settings(bb_target_namespace=’project_name’) is now supported
Added
Canvas.bounds()
,Canvas.size
Added
Canvas.get_empty_rects()
andCanvas.closest_empty_rect()
for finding empty spaces on the canvasCanvas.bounds()
andCanvas.bounds
output the newly addedtypes.Rect
instead of tuple.Added
create_leads
parameter towizard.UserDefnWizard.create_definition()
2.9.5#
Auto-retry of RMI commands, if SystemError: Could not queue task occurs.
Add
py -m mhi.pscad help
command, to open the module’s help file.
2.9.4#
Fixed backward-incompatible Python 3.10+ type-union syntax
Added
Component.orient
property (PSCAD 5.1+ only).
2.9.3#
utilities.file.OutFile.toCSV()
no longer adds a space after commas.Better error reporting in
utilities.mail.Mail.send_outlook_mail()
.
2.9.2#
master:sequencer_wait component’s CrossDir parameter now allows ‘FROM_POS_TO_NEG’ and ‘FROM_NEG_TO_POS’.
2.9.1#
Corrected
wizard.UserDefnWizard
port name parameter.mhi.common
dependency updated.
2.9.0#
Added support for
GroupBox
components.New
UserCanvas.create_group_box()
method.New
Project.paste_definitions()
andProject.paste_definitions_with_dependents()
methods.
What’s New in 2.8#
2.8.4#
added
PSCAD.wait_for_idle()
after launch, to allow loading of a prior workspace to complete if “Reload the last session” is present in the user profile.added load option to
mhi.pscad.launch()
to automatically load a workspace, or individual projects & libraries at startup.
2.8.3#
Fixed bug preventing
UserCmp.blackbox()
working in PSCAD 5.0.1
2.8.2#
Removed f”{strings”} to restore Python 3.5 compatibility.
Fixed incorrectly escaped characters.
2.8.1#
New
PSCAD.save_settings()
method.New
PSCAD.parameter_grid
attribute for viewing, loading and saving the parameter grid.New
Project.global_substitution
attribute for loading and saving substitutions sets.New
Component.enabled
attribute.Allow
Project.save_as()
to a path in PSCAD 5.0.2Fixed bug preventing reading of ProductList.xml.
2.8.0#
New
Project.compile_library()
method.UserCmp.definition
is now read/write. Setting a new definition is equivalent to specifying a new definition using “Edit Reference …” in the PSCAD GUI.New
Definition.parameters()
method.New
Definition.instances
attribute.New
OutFile.values_at()
method.Fixed bug causing
RealCodec
to sometimes return the Pythonstr
class.Project.create_definition()
now also accepts an ElementTree.Element.Fixed bug preventing project bitfield parameters from being set.
What’s New in 2.7#
2.7.2#
In PSCAD 5.1,
Project.save_as()
can save the project to a directory other than the project’s current directory. In PSCAD 5.0, a filename with a path may be given instead of just a new project name, but it must resolve to the current project directory.Minor documentation improvements
2.7.1#
cl_use_advanced may once again be set to True or False and be queried via
PSCAD.settings()
.PSCAD.get_certificate()
properly switches to from lock-based to certificate licensing.
2.7.0#
UserCmp.blackbox()
accepts x, y, sub_prefix & instance_data parameters.New
UserCmp.blackbox_defn()
method.
What’s New in 2.6#
2.6.0#
New
PSCAD.cases()
andPSCAD.libraries()
methods.Project.parameters()
accept and return boolean flags for project settings, in place of Advanced, Build, Check, Debug, Options and Warn bit-encoded integers.
What’s New in 2.5#
2.5.1#
Mail
methodstake lists for recipients and attachments,
automatically resolve attachment filenames to absolute pathnames,
use the log facility instead of printing to the console,
no longer suppress exceptions
2.5.0#
Added
module
property toUserDefnWizard
What’s New in 2.4#
2.4.1#
PlotType parameter in
Project.parameters()
now accepts “NONE”, “OUT”, “PSOUT” and the aliases “NO”, “LEGACY” and “ADVANCED” instead of yes/no options (0, 1, False, True, “NO”, and “YES”).
2.4.0#
extra_args option added to
mhi.pscad.launch()
What’s New in 2.3#
2.3.4#
mhi.common dependency updated.
2.3.3#
Documentation updates.
mhi.common dependency updated.
2.3.2#
Minimum number of rows/columns when writing table parameters reduced from 2 to 1.
Added
Canvas.selection()
to retrieve selected components.Added
Project.current_canvas()
to retrieve currently focused canvas.Support setting Integer/Real parameters with context_type of ‘Variable’ or ‘Constant’ to variable names.
2.3.1#
License attribute has been added for pip show commands.
Added support for reading and writing table parameters, such as the
datatable
of themaster:xy_table
component.
2.3.0#
mhi.pscad.common has been moved to an external dependency: mhi.common.
mhi.pscad.application.* has been flatten to mhi.pscad.*.
What’s New in 2.2#
2.2.2#
Fixed
Project.settings()
to accept full range of values for bitmask parameters (Advanced
,Build
,Check
,Debug
, andOptions
) and not return or accept removed parameters.Fixed
Canvas.settings()
to no longer accept or return removed parameters. Added missing documentation.
2.2.1#
New Classes & Methods
PSCAD.substitute()
PSCAD.workspace_dir
PSCAD.workspace_name
PSCAD.workspace_path
2.2.0#
New Classes & Methods
UserDefnWizard
GfxCanvas
Definition.graphics()
Definition.script
What’s New in 2.1#
2.1.1#
2.1.0#
Summary#
New namespace
mhi.pscad
replaces mhrc.automationEmbedding of Python inside PSCAD
An external Python environment is no longer required.
Python scripts may be executed from within the PSCAD application itself. External execution of scripts remains supported, and remains essential for debugging.
Communication with PSCAD is no longer using XML fragments
Commands returning XML fragments as results have been removed
Deprecations#
The Workspace, KeyStroke and Mouse proxies have been removed; and their methods moved into the
PSCAD
class.All commands which returned XML fragments from the communication protocol between PSCAD and the Automation Library have been removed, since that communication protocol has been replaced.