Software Patches

January 15, 2025

Features and Improvements

  • Auxiliary Files (SCRIPT and DATA Sections): Added new script command to set a bus field equal to another bus' values that is closest to the bus. This was first added to help users assign buses that do not belong to a substation equal to the substation closest to the bus. To do this the command would be
    SetBusFieldFromClosest(SubNumber, "Sub Number IsBlank", "SubNumber IsBlank", All, Z);
    The format of the command is
    SetBusFieldFromClosest(BusField, BusFilterSetTo, BusFilterFromThese, BranchFilterToTraverse, BranchDistMeas);
    * BusField : This is the variable name of the Bus object to set
    * BusFilterSetTo : This specifies which Bus objects should have their variablename overwritten. Options are ALL, AREAZONE, SELECTED, or "FilterName" which filter name as used in other script commands
    * BusFilterFromThese : This specifies which Bus objects can have their variablename used to overwrite another bus. Options are ALL, AREAZONE, SELECTED, or "FilterName" which filter name as used in other script commands
    * BranchFilterToTraverse : This specifies which Branch objects can be traversed when searching for the closest bus. Options are ALL, AREAZONE, SELECTED, or "FilterName" which filter name as used in other script commands
    * BranchDistMeas : This specified what distance measure is used for each branch and can be any of the following: X, Z, Length, Nodes, or "VariableName" which variablename is for a Branch object.
  • Contingency Analysis Tool: When reading a PSSE contingency CON file, switched shunt records, SWSHUNT, with the REMOVE action are now supported if an ID is specified.
  • Scheduled Actions: Changed Scheduled Action Group case info display to include a sub-grid with the Actions associated with the selected Group.
  • Bug Fixes

    • Auxiliary Files (SCRIPT and DATA Sections): Fixed bug that could result in multiple copies of the same SupplementalData object when loading the same objects from an auxiliary file multiple times.
    • Time Step Simulation: Fixed issue with script command TimeStepDoRun in which it was not returning false for out-of-range datetimes; also added required parameter to WeatherPFWModelsSetInputsAndApply indicating whether to also solve the power flow.
    • Transient Stability: In places in Transient Stability if the storage location for hard-drive results does not exist, Simulator would prompt the user asking if they wanted to create the directory. This would only work if the final directory in the path did not exist but earlier directories did exist. Thus if the directory was "c:\FolderA\FolderB", then if c:\FolderA did not exist PowerWorld would still not create the directory. The routines will now create the directories inside the path also if permissions allow it.

    • Transient Stability: Fixed bug that could cause a 'Cannot unsubscribe from reference notification publisher during destruction' error when deleting a Plot Series while the Plot Designer is open.
    • Transient Stability: The OEL input and UEL input flags for DC1C and DC2C exciter models were swapped internally, and this affected how the auto correction was being done for associated OEL and UEL models. This would cause an incompatible signal value to be passed from the OEL/UEL model to the associated exciter model, and then exhibit as initial limit violations in the exciter that would prevent a successful no disturbance flat run.
    • Transient Stability: For the OEL2C model, there is an algebraic signal called I_bias. This value was being initialized as zero, which meant that the OEL was not in a "reset" phase at initialization, even though it was not active (i.e., not limiting the exciter) at initialization. For a flat run, in most cases, this would eventually set I_bias = I_reset after a duration of T_off (typically 5 seconds). However, when simulating transient contingencies, these are defined at t = 1 second, the OEL would not have gotten to the "reset" phase, and would already be enabled. This also meant that the T_en (typically 0.2 seconds) parameter would not get used to slightly delay the enabling of the OEL. This should have a minimal impact on system studies, with the exception of particularly prolonged faults in the same vicinity as OEL2C models.
    • Transient Stability: Corrected initialization of dynamic states 2 and 3 (speed and Pelec, respectively) of the WT2E exciter model. The initial state values were not being scaled by the Kw and Kp parameters. This bug would have prevented a no disturbance flat initialization.
    • Transient Stability: State 7 (PI Integrator) of the UEL2C underexcitation limiter model was being saved in results without checking the VUIMIN and VUIMAX limits. Internally, the limits were being checked while calculating the VUEL output, and this bug would have shown the incorrect value in numerical results and plots of state 7 only.
    • Transient Stability: The nonwindup limits of the leadlag blocks of UEL2C were not being used while calculating the initial at t=0, which would cause the downstream exciter to receive a VUEL signal that would be less than VUELMIN1 parameter. This would contribute a non-zero initial controller error in the exciter, and prevent a no disturbance flat run. This issue could be seen when a UEL2C model was paired with an exciter configured for UEL input at the summation point.
    • Transient Stability: Removed an unnecessary step in the modification of limit during initialization for the PI control these models -- (a) VUIMIN of UEL1, UEL2 and UEL2C, (b) VOELMAX3 of OEL2C, (c) VOELMAX of OEL5C and (c) VUELMIN3 and VOELMAX3 of SCL2C.
    • Transient Stability: When initial limit violations are handled by modifying limits and then running, the limits Bsis, Bscs, Bmin and Bmax are now modified for SVSMO1 and SVSMO2 switched shunt models to allow for a no disturbance flat run.
    • Transient Stability: The derivative of VUI (state1) of UEL1 underexcitation limiter model is now set to zero when the error input is positive and state is already at VUIMAX limit, or the error input is negative and state is already at VUIMIN limit. This is useful for showing zero derivatives at initialization.
    • Transient Stability: For wind converter model EXWTGE, changed the Vrfq reference value from single to double precision. In some model instances, this was causing the upstream wind turbine GEWTG model to wobble during a flat no disturbance run.
    • Transient Stability: Aerodynamic models WTGAR_A and WTARA1 are only compatible with drive train models WTGT_A and WTGT_B. If not correctly configured, this is now flagged as a validation error and must be auto corrected. Auto correction will make the aerodynamic model Not Active.
    • Transient Stability: Pitch controllers WTGPT_A, WTPTA1 and WTGPT_B are only compatible with aerodynamic models WTGAR_A and WTARA1. If not correctly configured, this is now flagged as a validation error and must be auto corrected. Auto correction will make the aerodynamic model Not Active.
    • User Interface Dialogs: Fixed error that could occur on the Filter Dialog saying "cannot focus a disabled or invisible window."