Software Patches

February 6, 2025

Features and Improvements

  • User Interface Dialogs: Added a Limits tab to the Bus dialog to show various Bus-Specific Limits and Limit Monitoring options for the bus.
  • Bug Fixes

    • Auxiliary Files (SCRIPT and DATA Sections): Added the ability for TSSavePTI/GE/BPA script commands to use special keywords: @DATETIME, @DATE, @TIME, @BUILDDATE, @VERSION, @CASENAME, @CASEFILENAME, and @CASEFILEPATH for the file names.
    • Auxiliary Files (SCRIPT and DATA Sections): DoFacilityAnalysis("filename", SetSelected) script command will now allow the filename to be blank if SetSelected = YES.
    • Auxiliary Files (SCRIPT and DATA Sections): Allow more filtering options for InterfaceCreate script command. Now all of the standard filtering options are available including SELECTED, AREAZONE, device filters, and filters as a single filter condition.
    • Data View: Switching the type of object on the Data View window was causing an access violation. This has been fixed.
    • Distributed Computation: The values of Start Time, End Time and Total Run Time (in Tools > Contingency Analysis > Results > Summary) are now updated both internally and in the user interface, after running distributed Contingency Analysis with a script command [i.e., CTGSolveAll(YES, YES);]
    • Model Explorer: The RT_Study_Options object type was not available for viewing in the user-defined case information displays. This has been fixed. This object is used to set some options when using the SaveConsolidatedCase script command such as whether or not contingencies should be included.
    • QV Curve Tool: When running QV analysis with a full topology case, quantities to track at non-pnodes were not being reported. This has been fixed.
    • Transient Stability: When running Distributed Transient Stability and not storing Results to RAM, solution related fields of the TSContingency object would be stored to the AUX file and not loaded back into the main instance of Simulator. This meant that the fields in the Transient Contingency list would be blank, and the user would then need to load the auxiliary file corresponding to that specific contingency's results. These fields are now saved in the RAM of the main Simulator instance, and users will be able to see these populated when viewing the list of contingencies (in multiple contingency mode), and in places like the summary results (when in single contingency mode).
      Here are the solution related fields of the TSContingency object -- Processed, Solved, SolvedReason, Violations, LoadMWTripped, LoadRelayMWTripped, LoadModelMWTripped, GenMWTripped, LoadMWIslanded, GenMWIslanded, AngleMaxMinDiff, AngleMaxMinTime, SolveDate, SolveHour, SolveTimeFofX, SolveTime, SolveForwardBacks, SolveFactors, SolveIterations, SolveSolutions
    • Transient Stability: Torque controller models WTGTRQ_A and WTTQA1 are only compatible with drive train models WTGT_A, WTGT_B, and WTDTA1, or none. If no drive train model is present, then a suitable asynchronous machine model must be present. 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: This bug was observed where a pitch controller (like WTGPT_A) at a unit, has a REPC_B plant controller defined at its own unit, but the REPC_B model does not reference the said unit in its own list of devices being controlled. This bug would have caused an incorrect Pref signal to be received by the pitch controller, which would have caused non-zero initial derivatives. The missing reference in the REPC_B model instance will need to be fixed by correcting the input data. However, the software will now keep the Pref value in the pitch controller model as a constant (as determined at initialization).
    • Transient Stability: Bug fix for UEL1, where state 1 was being ignored when Kui = 0 (integral gain). Since the UEL1 model could connect either at a summation point, or at a takeover gate, state 1 cannot be ignored so that proper modification of limits can occur (if selected). This has been changed to allow for a zero value for state 1, except when the downstream exciter model initiates an initial limit modification to allow a flat start (i.e., Modify Limits = True and there is an initial limit violation). In the latter case, the value for state 1 could be assigned to a non-zero value that helps prevent an initial limit violation at the exciter.
    • User Interface Dialogs: On the Window Ribbon Tab when choosing to Reset To Defaults, we will now also reset the size and location of the Message Log.