What's New...

With each new release, Trihedral makes VTScada more powerful, yet at the same time, easier to use. Explore each category to learn what new features are available.

If you have legacy applications that you want to run in the new version of VTScada, please take time to read the upgrade notes for every version between what you had been running and the current version. Depending on how your application was created, you may need to take certain steps to ensure that it will continue to run. See: Moving to the Current Version.

Programmers can add their own functions for use within the selector. Add Functions to Your Application's Library

Allows large queries. To prevent an extremely long query from taking up excessive time and memory, a query size limit is introduced, which defaults to 32KB.

New Features in VTScada 12.0 (Including those released under 11.5)

Features for Operators and Developers:

Edit the MQTT Client ID or the Sparkplug B SCADA Host ID in an MQTT Client Driver tag (12.0.44)

May be changed when the provider requires a specific ID before allowing a connection.

Customers using Twilio, who maintain multiple callback domains, can now do workstation-specific configuration (12.0.44)

Export tags to either of MySQL or MariaDB (12.0.43)

The set of ODBC data sources available to use when editing tags outside VTScada has been expanded to include these database formats. See Export, Synchronize

Select the Twilio voice for each user's language (12.0.39)

The setting, #TwilioVoice in each language file (en.csv, etc) allows you to select a Twilio voice appropriate for each language.

All maps now have a "Show Legend" button (12.0.35)

On any map, display a legend that describes the colors in a Site Icon (pin).

Excel Add-In shows multiple levels of tags (12.0.35)

The VTScada Excel add-in's tag browser is now capable of showing more than one level of tags at a time in order to make it easier to find the tags you are looking for when filtering

Tags from the Oil & Gas Solutions layer that do not do I/O no longer count against your tag license. (12.0.33)

When OGS layer was a separate product, these were considered custom-coded tags and therefore counted. Now that the OGS layer is included with VTScada, these are counted or not under the same rules as any other tag.

Copy phrase keys (12.0.29)

A convenient "copy" link is now provided for every phrase key in the languages panel. This is especially helpful for anyone writing expressions that involve phrases.Languages

Smart card sign-in functionality on the VIC honors the configuration of Enable Signed-Out VIC Sessions (12.0.27)

 

Automatic droplist configuration for equipment types (12.0.26)

Output tags for a given type of equipment often have the same setpoint values. Configure these once in a Style Settings tag, then use the values and labels for all the droplist widgets linked to tags of that equipment type.

A "Hold" option has been added to OPC-UA Client tags. (12.0.26)

Select if attached I/O tags should retain their values over a communication loss

Updated Alarm Priority Icon and Alarm Priority Box (12.0.26)

New configuration options allow control over whether these icons notify operators when the associated alarm is shelved or disabled .

When exporting tags to a spreadsheet or database, sheets and tables now use the tag's display name. (12.0.25)

In earlier versions, the tag's module name was used. The update simply makes names consistent.

Write to many Memory Tags in a single operation using a MultiWrite tag. (12.0.23)

The MultiWrite has been updated to allow you to select I/O and Calculations tags configured as Memory tags.

I/O tags and Alarm tags can now select which Alarm Database to use. (12.0.22)

When needed, select an alarm database other than the parent or default. Does not apply to legacy tags with built-in alarms.

VTScada can now communicate with Sparkplug® B compliant devices via the MQTT driver. (12.0.21)

An "Automatic Tag Creation" mode will query the device for tag information and create them automatically. Or, pick and choose which tags to load from the device using the Import Tags feature of the Tag Browser. MQTT Client Driver

The Import Tags feature no longer excludes those with invalid names.(12.0.21)

When importing tags, invalid names are now modified so they can be imported. Import Tags from PLCs

OAuth 2.0 authorization for email services (12.0.20)

Use OAuth 2.0 within your email provider to grant permission for VTScada to send and receive alarm notification emails without needing to configure your user name and password within VTScada.
(Several larger providers such as Google® will soon allow third party access to their services only through OAuth) OAuth 2.0 Configuration

The MQTT driver can now write (12.0.20)

When first created, the MQTT driver could be used only to read data. You can now also use it to write.

Realm-Filtered tags visible on permitted pages are protected from editing and control actions (12.0.19)

Realm filtering does not hide widgets on pages that operators are allowed to see. It will now prevent operators from using those visible tags that are outside their realm to write to hardware. Operators with the Tag Modify privilege will not be able to right-click on a widget to open and modify the properties of a tag that is outside their realm. Realm Filtering

Pulsed output for the Digital option of I/O and Calculation tags. (12.0.19)

A new Pulse Duration field allows you to write a value, holding that for a set period of time before the tag value returns to it's default state. I/O and Calculations tag properties: ID tab version 2

Abort application start-up from the VAM (12.0.19)

Useful when you accidentally start the wrong application.

Tag-related events are now recorded in the parent Alarm Database (12.0.18)

Prior to this change, all VTScada-generated events were stored in the database System Event DB. Most installations, which have only the two default alarm databases, are unaffected by this change. For systems that have custom alarm databases, tag-related events such as operator control actions, are now stored in the parent alarm database. This ensures that those events are available when an alarm list is filtered to only a user-created alarm database(s). Operational events recorded prior to this change remain in the System Event DB, and can be seen only when that database is included in a filter.

PLC Alarm Tag now works with custom PLCs (12.0.17)

When originally released, this tag was limited to Allen Bradley CIP devices. It can now be configured for custom PLCs where alarm management should be done at the PLC level rather than within the SCADA application.

Warning when creating a ChangeSet with un-deployed changes (12.0.16)

It is generally undesirable to create a ChangeSet before deploying your changes. A warning will now remind you to do so.

I/O and Calculations Tag replaces 12 legacy tags

No more starting to create one type of tag only to realize that you should have chosen a similar (but different) type. A single tag now handles input and output, analog, digital and string values as well as calculations and now discrete values. You can also configure pen properties in each I/O tag now, for use when plotting that tag in the Historical Data viewer. Logging (if enabled) is done on change, but you can now set a maximum time between logging intervals. I/O and Calculations Tag

New High Performance HMI widgets for analog data sources

Designed especially to make use of features within the I/O and Calculations tags, these widgets help you to create a modern user interface. Analog Bar & Indicator Widget, Sparklines Widget and Spider Graph Widget.

Two-factor authentication supported via smart cards

Available only in conjunction with Windows Security Integration. Successful authentication requires something you have (the smart card itself) and something you know, (the Personal Identification Number (PIN) for the smartcard). Smart Card Support

Master / Subordinate applications

A master application is one that can monitor the tags and alarms in one or more subordinate applications.

Break an application into smaller pieces, where local applications monitor only local processes while a master application monitors all sites. Master & Subordinate Applications

Build reports in Microsoft Excel using the VTScada Data Retrieval Add-in

Available from the Microsoft Store, the VTScada Data Retrieval Add-in allows you to connect worksheets to your application and retrieve tag data. Standard VTScada summary and grouping functions are built in. Excel Add-in for Data Retrieval

REST replaces SOAP for the VTScada ODBC driver

The REST interface is much more efficient than SOAP for querying VTScada data, resulting in much faster data retrieval. SQL Queries

Native support for multi-monitor applications

Dialogs and pop-ups open where you expect, in whichever monitor you are currently using.

Layers selection panel in the Idea Studio

Simplify how you work with overlapping objects in a selection set while editing a page or widget. Layers Panel

Tag properties dialogs now have an Apply button

Save changes and view the effect while continuing to edit a tag.

Open several tag properties dialogs at once

View one tag's properties while editing another. Copy and paste properties from one tag to another.
(With this feature you must continue to work within one tag at a time. It does not allow you to apply a change to a selection set of tags.)

Open the Idea Studio from a VIC client

If authorized by your license, and if your security account has configuration privileges, you can now open the Idea Studio from a VTScada Internet Client (VIC). Capabilities of Internet Thin Clients (Not available for Mobile or Anywhere client connections.)

Import tags from a supported device

Import all the tags (with names that are legal in VTScada) from one of the supported devices to your application with a single button. Import Tags from PLCs

MQTT Client Driver tag

Read information from your Internet-connected devices to store, trend, alarm and report on within your VTScada application. MQTT Client Driver

Redesigned VTScada Application Manager (VAM)

Sites with many applications can now organize those apps into lists in the VAM.
Choose your own "quick action" button for applications (defaults to Start / Stop). VTScada Application Manager (VAM)

Access the VTScada Application Manager from an Internet client

For those who run VTScada as a Windows service, you can now access the VAM with either the Internet Client or Anywhere Client, enabling you to start, stop and manage applications. Access the VAM from a Thin Client

Redesigned security dialogs

Security configuration has been simplified by a set of new dialogs. Secure Your Application

New security privileges

All tags that can write to equipment are protected automatically by the new privilege, Control Outputs. If no-one is signed in to an application, no-one can operate controls. Restrict Access to Output Tags

Global tag and area filtering (next item) is protected by a second new privilege.

Global Tag and Area Filter

Allow operators to filter their view of tag lists and alarms dynamically, based on tag name (typically by selecting a parent context) or by area, or both. Global Tag & Area Filtering

This feature is protected by a new system privilege that is not granted to any role by default.System Privilege Reference for Developers

Realm Filtering improvements

Realm Area Filtering has been updated so that parent tags that are not part of a user's authorized realm will still appear (but cannot be opened) when that user has access to any of its child tags.

Filtering can now be done using tag hierarchies as well as area properties. (Realm Name Filtering) Collectively, these are now referred to as "Realm Filtering".

Shelve several alarms at once

The shelve tool in the alarm list toolbar now lets you shelve either just the selected alarm or all shown alarms. (Meaning all those that match the current filter.) Shelve Alarms

Automatic Alarm Acknowledgment

At installations where operators do not use VTScada to acknowledge alarms, you can now configure alarms to be acknowledged automatically when the triggering value returns to normal. Does not apply to Trip alarms. Automatic Alarm Acknowledgment

Audible feedback for alarm dialer key presses

When enabled, all phone key presses are spoken back to the user.

Support for Grundfos Dedicated Controls and Grundfos Control MPC

Create the tags and user-interface pages for your Grundfos systems quickly and easily. Grundfos Dedicated Controls, Grundfos Control MPC

New system for driver server lists

Rather than have a separate server list for each driver name, you can now define your own server lists for drivers and share that list with any number of any type of driver. Lists can be selected within the driver configuration panel. Driver Server Lists

History editing

Authorized users can now create overrides to add or edit historical data values.
All data historians will have a DataNotes child tag added automatically. When editing data, you will be prompted for a note to record why it was edited.
Symbols in the Historical Data Viewer mark edited values.
A new general privilege exists: Edit Data. This is not granted to any of the built-in roles.

Use this to correct values from faulty equipment. Insert values that were manually recorded. Edit Data Symbols for Edited Values

Hide empty sheets when exporting tags to Excel

When working on tags outside VTScada, you can save time by hiding all worksheets for tag types that are not part of your application. If you don't have any tags of a given type in your application, you won't get a worksheet or table for that type in the export.(Export, Synchronize)

Single table mode for ODBC data storage

For those storing data to a 3rd-party database instead of the VTScada storage system, you can now use ODBCSingleTable to combine data from similar tag types such as drivers and numerics, into one table for each type. This can make it much easier to query values from multiple tags. Historian Data Storage

Data attributes

Manual data, edited data, questionable data and other qualities are flagged with bit-wise attributes.
Easily identify which values have any of the flagged attributes.

Map selection

Choose between several styles of map. Map selection is unique to each user account and will be used for all workstations and devices.
Additionally, proprietary maps from CARTO are now available to VTScada customers by licensing agreement.

Provides greater choice for operators. Administrators retain control over the source of map tiles. Change the Map Source

Bulk download of map tiles

Download all required tiles for a given area in one operation.

In a networked application, tiles should be stored on the primary server. Other workstations will obtain their tiles from this server rather than downloading from the Internet.

At a site with a slow Internet connection, download the tiles overnight. Or, download all required tiles for transfer to a server with no Internet connection. Bulk Downloads of Map Tiles

Overlapping sites

When there are overlapping sites drawn on a map, clicking a spot where they overlap will result in a pop-up selection, from which you can choose which site to view.

Crowded site-maps are easier to use. Overlapping Sites:

Change in navigation for Site Detail pages

Clicking a site, listed in a Sites page, now opens the Site Details page embedded within the Sites page. A button is provided to allow you to open it as a pop-up window if you prefer.

Improved navigation. Sites Page

Require acknowledgment of Page Notes

Sites that require a record that operators have read a note can now use Page Notes to accomplish this. Arm a page note in the Edit Note dialog and the operator can click the note to acknowledge that they have read it. The record will be stored in the Operator Log history, viewable in the Alarm Page. Require acknowledgment of Page Notes

Language support

The VTScada user interface can be translated into any language. Create applications that can be used around the world. VTScada ships with English phrases for all user-interface elements and French phrases for operator-interface elements. Languages

Export pages and widgets to include phrases

Pages and widgets typically contain text, which is now stored as a phrase key so that it can be translated. Use the new export tool to ensure that you take the matching phrases along with the page or widget. Import / Export Widgets and Pages

Thin Client Monitor now identifies client type

A column has been added to the Thin Client Monitor, identifying whether each client is using the VIC, Mobile Client or Anywhere Client. Monitor Internet Connections

When exporting tags, you can exclude those without locally set or overridden values.

Tag exports run much faster when only those tags with a locally set value are included. Child tags of user-defined types, with default values according to the type definition are excluded, as are Menu Item and other types that came from the original OEM layer and have not been modified in this application. Export, Synchronize

Choose whether to allow application auto-start.

For applications that have been configured to start automatically, a new dialog gives you a chance to stop that from happening.

Applications with large numbers of tags now use significantly less memory.

DDE Server is disabled by default

For your security, Windows DDE is disabled by default. Sites that make use of this technology may choose to enable the feature. Do so by starting VTScada with the command line switch.

Improved Tool Tip widget

Use any of static text, parameters, linked tag properties or expressions to configure the title and body of a tool tip.

Override Detection Tool

Primarily to help with technical support, this tool, found in the Application Configuration dialog, will detect all modules (pages, tags, etc) and application properties that differ from those in the VTScada Library Layer (Standard Application).

Read-Only Workstations enhanced

When declaring a workstation as read-only (sometimes used for servers in a DMZ, or for kiosk installations) you can now add privilege masks to enable or disable privileges. Note that the default mask is restrictive and is designed to prevent further configuration from being done on that station. Read-Only Workstation

Improvements to version control

Especially relevant to those using ChangeSets to distribute updates. VTScada now handles most conflicting files changes on a file-by-file basis. For example, when two machines are merging conflicting changes to a page file, then the conflict resolution will only result in discarding one machine's changes to that one page, rather than discarding all changes made by that machine. The only times that all changes from one machine will be thrown out is when the merge produces a compilation error, or when there is a conflict in an application that was created without source files.

Change the background color of system pages ThemedPageBGColor

Control whether pages maintain or change their aspect ratio if scaled MaintainAspectRatio

Historian tags can now use a PostgreSQL database.

New and changed tags

ABB Totalflow Driver Use the ABB Totalflow driver tag to communicate with a variety of Totalflow devices produced by ABB.
Alarm Status Tags Will now limit its search to an ancestor Alarm Database, if any.
Allen-Bradley Driver

Multi-message mode available.

Now supports the data type, Long, for MicroLogix devices.

CAT M5X Driver Enables communications between VTScada and CAT Electronic Engine Controllers (ECC) and CAT Generator Set Controllers (GSC) through a Customer Communication Module (CCM) using the M5X communication protocol.
CSV Data Driver The CSV Data Driver imports values from a comma-separated file(s).
Fisher ROC I/O Addressing ROC Plus addressing for minute history data now supported.
Grundfos Dedicated Controls Offers support for Grundfos pumping stations.
Grundfos Control MPC Support for Grundfos booster pump stations.
I/O and Calculations Tag

Replaces 12 input / output and analytic tags.

12.0.20: Modes have been refined to have a separate Calculation option for any of the other data modes.

JSON/XML Driver The URL field is now multi-line, to better accommodate longer addresses.
You can now add your own processors to handle complex data.
Modbus Compatible Device Driver New address prefixes HL and IL provide support for devices that use (non-standard) 32-bit addresses.
Motorola IP Gateway Motorola IP Gateway tags now support redundant devices
MQTT Client Driver Read data from internet-enabled devices. (12.0.0) Write as well as read (12.0.20) Communicate with devices that support the Sparkplug® B protocol. (12.0.21)
Opto 22 Mux Driver The Opto 22 Mux Driver is designed to communicate with Opto22™ B1, B2, B4 and B5 brain boards.
PLC Alarm Tag Works with an CIP/ENIP (Allen Bradley) tag to read alarm status and configuration from the PLC for display in the SCADA system.
String I/O Tags The properties dialog now includes a display tab, to be used to set the display order property.
Subordinate Application Tags

Links a subordinate application to a master application.

Tesco Driver An optional feature of your VTScada license.
TCP/IP Port Tags

Enable and use mutual TLS authentication for client TCP/IP ports.

12.0.20: TCP and UDP ports with neither address nor port number will now do nothing. This differs from the previous behavior where the port would automatically become a listener on a default port.

TI505 Device Driver Communicate with devices in the Simatic TI505 family
Totalizer Tags Option to set the update interval
Workstation Status Driver I/O Addressing

Two new addresses: PageFileBytes and PrivateBytes, both of which help to provide a more accurate view of memory in use by VTScada.

New and changed widgets

LCD Meter Widget

Labels and tick marks now default to gray instead of white. The color can be controlled in the properties dialog.

Alarm List Option to remember the last database selected by the operator, from one page visit to the next. (12.0.21)
Draw Widget

Alarm indicator within these widgets now uses the colors from a selected System Style tag.

Droplist Widget The String Droplist widget has been updated to work with numbers, and has been renamed to simply, "Droplist". The legacy droplist will continue to be supported in existing applications, but cannot be added to new applications.
Analog Bar & Indicator Widget Display current and historical information from analog tags, especially the I/O and Calculations tag.
HP Analog Bar Bar component of the above. Use for building your own HP-HMI widgets.
HP Analog Indicator Widget Indicator component of the above. Use for building your own HP-HMI widgets.
Numeric Entry Widget New options allow horizontal alignment of the value. (12.0.26)
PLC Alarm Control Widget Allows limited configuration of alarms on the PLC associated with the linked PLC Alarm tag.
Tag List Widget Filtering options enhanced to include selection of equipment type.
Documentation expanded to include examples of advanced filtering expressions.
Spider Graph Widget Monitor several analog values at a glance to ensure that they are within expected ranges.
LCD Meter Widget
LCD Ring Widget
Numeric Entry Widget
LCD 5x7 Matrix Widget
LCD 7 Segment Widget
Meter 1 Widget
Meter 2 Widget
Meter 3 Widget
When linked to an I/O and Calculations tag, these widgets can show the number of decimal points configured in that tag instead of configuring that parameter within the widget.

Features for Programmers

The Case function now works in both Script and Steady-State (12.0.54)

Create multiple-choice steady-state assignments without using nested Cond or IfElse blocks

Write a programmatic filter for Alarm List widgets. (12.0.54)

Refer to notes in the function reference for SetCurrentFilter.

Source Debugger now includes a list and count of structures. (12.0.22)

Protobuf support (12.0.19)

A set of functions has been created to allow you to send and receive serialized data structures using the Protobuf specification.

Sends HTTP requests to an HTTP server (12.0.19)

Support added using a new function, HTTPSend()

Use "." in the RPC Send() function as an alias for the registered service

You can send a message to a remote service object using a module context of "." as an alias for the full scope path of the object that registered for the RPC service.

Secure script applications

Script applications can now be secured. Prevent operator access to debugging applications or allow secured Internet access without needing to add a standard application to the same realm.

UTF-8 support

Use any UTF-8 unicode character in your labels and other text.

Refer to the notes in Moving to the Current Version

Bit-wise operators for retrieving data

New modes have been added to GetTagHistory and GetLog.

Use :value:BitwiseOR or :value:BitwiseAND with the SQLQuery function.

For use when retrieving grouped data over a time span, identify which bits were set on any of the values, or which bits were set on all of the values.GetTagHistory

Ability to set a non-resetting return value in script code

Return and SetReturnValue now take an optional Boolean parameter that, when FALSE, will cause the return value not to reset until another Return statement executes that specifies otherwise.

New alarm hook

AlarmNormalAckHook has been added. Use in the code of user-created tags if you want alarms triggered by that tag to be acknowledged as soon as the alarm clears.

New format specifiers

%t - counted string type

New binary type, 9. Reads or writes a 64-bit Microsoft FileTime structure.

New or changed Functions

The VTScada cryptographic functions now have limited Cryptography New Generation (CNG) support in addition to the existing Cryptography API (CAPI) support.

Microsoft has deprecated CAPI, however this will continue to be supported by VTScada to support existing code.

AddCertificate New. Returns a structure of information about a supplied X.509 certificate.
AcceptSecurityContext New. Accepts a Kerberos security context from a client and returns the user principal name (UPN) from the context, along with any output to be returned to the client for mutual authentication.
CheckCertificateChain New. Checks the chain of trust of a certificate
CheckSignature Added Cryptography New Generation (CNG) support.
Decrypt Added Cryptography New Generation (CNG) support.
DeleteState Deprecated. Do not use in new code.
DriverRPCOptimization Obsolete. Driver RPC is now always optimized.
Edit New system bits to control horizontal alignment (12.0.26)
Encrypt Added Cryptography New Generation (CNG) support.
FileChooser Updated and made public. (12.0.50)
FindCertificate New. Locates a certificate in a certificate store.
GenerateHMAC Added Cryptography New Generation (CNG) support.
GenerateSignature Added Cryptography New Generation (CNG) support.
GetAlarmList
New parameters to support area filtering, subordinate applications and deferred loading.
GetCertificateInfo New. Returns a structure of information about a supplied X.509 certificate.
GetCryptoProvider Added Cryptography New Generation (CNG) support.
GetKeyParm Added Cryptography New Generation (CNG) support.
GetLog and GetTagHistory Updated. Modes 12 and 13 added to allow for bitwise OR and bitwise AND queries.
GetLogonCredentialsFromSmartcard New. Monitors the card reader for a smartcard and reads the certificate information from it
GetModuleContext Returns the context of a given module-in-context.
GetPhrase New. Returns text in the currently selected language for a given phrase identifier key.
GetPhraseForLang New. Returns text in the specified language for a given phrase identifier key.
GetParmPhrase New. Returns parameterized text in the currently selected language for a given phrase identifier key.
GetParmPhraseForLang New. Returns parameterized text in the specified language for a given phrase identifier key.
GetRawPhrase New. Returns a phrase in the provided language, if it exists.
GetRetainedValue New. Given the name of a variable whose value is retained, this function will load the retained value from storage.
The function also provides the option of deleting the files holding that value.
GetTagMode New (12.0.15) Returns text or a structure to identify what kind of tag a given instance is.
GetStructInfo Returns names and counts of all instantiated structures.
HistorianConnect

New parameter to ensure consistent access to uptime history regardless of varying values for Storage Name across servers for the same Historian.

HTTPSend New (12.0.19) Sends HTTP requests to an HTTP server
ImportKey Added Cryptography New Generation (CNG) support.
JSONEncode Replaces JSON_Encode. Faster and handles a wider variety of value types.
JSON_Encode Deprecated. This is now only a wrapper for JSONEncode.
ListCertificates New. Enumerates X.509 certificates in a certificate store resident on the local computer.
MakeFixedBuff Obsolete.
MakeSelfSignedCertificate New. Creates a new self-signed certificate.
ManualUnshelveDoesNotAckActiveAlarm Obsolete (12.0.23)
MapDraw Updated. Contains two new parameters that are available for use.
PageChangeReplaceSamePopup Controls behavior of Page Buttons and Page Hotboxes that refer to their containing page for the destination. (12.0.27)
ParameterEdit Updated. The Contexts parameter is no longer used and should be set to Invalid. Context is always Code.
Pending Updated. StatementType 0 now returns only 0 because high priority statements are no longer supported. (Priority() and PriorityWeight() are now obsolete.)
PFileChooser New. A version of FileChooser for parameter editing dialogs. (12.0.50)
PPhraseDroplist New. Used to select a PhraseID by presenting the user with a droplist full of translated phrases.
PPhraseEdit New. Language-sensitive, parameter-setting edit field.
Priority Obsolete
PriorityWeight Obsolete
ProtobufDecode New (12.0.19) Decodes Protobuf serialized data.
ProtobufEncode New (12.0.19) Creates a buffer for a given Protobuf file containing VTScada value data.
ProtobufInstantiate New (12.0.19) Instantiates a message using default values.
ProtobufParse New (12.0.19) Load a Protobuf specification from a file.
RemoveCertificate New. Removes a certificate from a certificate store.
Return Added the ability to set a non-resetting return value in script.
RmDir Updated. If the operation fails due to a file lock, RmDir will make 10 attempts, each 100 ms apart.
SaveFile Updated. Helper function to save files or streams on a server, VIC or Anywhere Client
Send Use an alias for the full scope path of the object that registered for the RPC service.
SetCertificateProperty New. Sets a modifiable property on a stored certificate.
SetKeyParm Added Cryptography New Generation (CNG) support.
SetReturn Added the ability to set a non-resetting return value in script.
SetWSDL New parameter allowing a dictionary of additional schemas to be specified.
Sort Locale-based sorting option added.
StrictlyEqual Will return TRUE if the parameter values are of the same type and also are equivalent, or if both are invalid.
StrictlyNotEqual Complement to StrictlyEqual.
TextSearch Locale-based sorting option added.
TimeZone Modes 2 and 3 return timezones only in English, for compatibility with ConvertTimeStamp. Use mode 1 for a result that matches the user's locale.
TreeControl Updated. New parameter allows control of row height.
TrimSpaces Returns text with leading and trailing spaces removed.
VICSmartcardMonitor Enables and disables Smartcard monitoring on a VIC and outputs authentication information received from the VIC when a Smartcard is used.
VICSmartcardResponse Returns the result of the Kerberos Security negotiation after processing a sign in attempt on the VIC.
WinEditCtrl New system bits to control horizontal alignment (12.0.26)
WrapText

New. Breaks a text string based on given font and width and returns the text segments in an array.

WatchForTagChanges Deprecated in favor of WatchTags
WatchTags Updated. Accepts two optional parameters, allowing the function to watch only for changes to tags within a given scope.
Window New options to hide the source window of a gui object being dragged while dragging. Also to selectively hide the horizontal and vertical scroll bars.
WinEditCtrl A new parameter allows you to provide placeholder text in the control, to be used as a prompt to the user.
   

New and changed properties

AutoLogon Obsolete in 12.0.38. For kiosks and demonstration applications, use a method described in Securing a VTScada Thin Client Server instead.
AlarmWidgetsShowUnackedNormalAlarm You can cause the widgets that indicate alarms to continue indicating alarms that are unacknowledged but no longer active by changing the value of this property to 1
AllowedLanguages A list of the languages (from those available in an application) that will be available for selection in the Display tab of the Edit Properties dialog.
AutoAddADUsers Cannot be set TRUE (1) when a security realm delimiter is set.
Can now be configured in the security Administrative Settings dialog.
AutoAckClearedAlarms If set TRUE (1) all alarms in the application except Trip alarms will be acknowledged as soon as the triggering value returns to normal.
AutoStartDlgTimeout Display time for a dialog allowing users to prevent an application from automatically starting.
DialDTMFFeedback When set TRUE (1) all phone key presses are spoken back to the user.
DisablePageSnapShotting If set TRUE, snapshots views of pages will not be created as you navigate away from the page.
If pages are especially complex, setting this to TRUE can significantly speed navigation between pages. Defaults to FALSE for backward-compatibility.
DisableVAMPerAppColoring If set, the VTScada Application Manager's list of applications will use default coloring rather than show each application using its assigned color theme.
Language Where dynamic language change support is provided, then this should be set to the index of the current language (from an enumeration of the supported languages) whenever the language is changed. This provides a trigger for code that needs to rebuild message texts.
MaintainAspectRatio If set to 1 (true), then pages will maintain their aspect ratio when stretched.
MobileBrowserAlarmHistoryMaxRecords Sets the maximum number of alarm history records to display in the Mobile browser.
MobileBrowserAlarmHistoryTimeRange Sets the maximum number of days of alarm history to display in a mobile browser.
NoSoftDriverFailure Now defaults to 1 in new applications.
OpenSitesAsPopup TRUE to always open a site page from the Sites page as a popup; FALSE to open it embedded in the Sites page
[REALMFILTER] Replaces [REALMAREAS]. Also, [*-REALMFILTER] replaces [*-REALMAREAS] and [RealmName-REALMFILTER] replaces [RealmName-REALMAREAS]
SlippyMapDownloadFailoutTime If the Internet connection error lasts for at least this many seconds, broadcast to other potential servers that the current primary does not have an Internet connection, allowing them to make the attempt.
SlippyMapMaxRetryDelay Maximum time between download tests, measured in seconds.
SlippyMapOSMDisable True (1) if Open Street maps are disabled. (CARTO® maps are always enabled.)
StationMaskApp A bitwise value that controls which application privileges are enabled at a read-only workstation.
StationMaskSys A bitwise value that controls which system privileges are enabled at a read-only workstation.
ThemedPageBGColor Add a system property to set the background color of the Page Menu page, Site List, Site Details and Lift Station pages.
VTSDriverClearDataOnServerLossDelay Changed the seconds without an I/O server before a client will invalidate read values from 1 to 10.