Variables

Overview of the variable types available in EnvisionSCADA and how they are referenced at runtime.

Updated 5 min read
On this page (8 sections)
  1. Overview
  2. Variable Types
  3. Device Variables
  4. Local Variables
  5. Client Variables
  6. System Variables
  7. Python Runtime Variables
  8. Notes

Variables are the core data elements used throughout EnvisionSCADA. They represent live process values, internal application values, client-side runtime state, and system-generated information.

Variables are used in pages, alarms, events, schedules, actions, scripts, APIs, historian logging, and gateway services. Because of this, understanding the variable naming format is essential when configuring or troubleshooting a project.

EnvisionSCADA supports four main variable groups: device variables, local variables, client variables, and system variables. Each group has its own purpose and runtime naming convention.

Variable Types

The following variable types are available at runtime.

Variable TypeRuntime Name FormatDescription
Device variableDeviceName.VariableNameVariable linked to a configured driver device such as Modbus TCP, OPC UA, MQTT, Ethernet/IP, DNP3, ICMP, or Kafka-linked driver variables.
Local variableLocalVariables.VariableNameProject variable stored locally inside EnvisionSCADA without an external device connection.
Client variableclient.VariableNameBrowser-side runtime variable used by the current client session and page behavior.
System variableSYSTEM.VariableNameRead-only or system-generated runtime information provided by EnvisionSCADA.

Device Variables

Device variables are the process values configured under a device driver page. They represent live values from PLCs, RTUs, field devices, protocols, and external systems.

The runtime reference format is DeviceName.VariableName. For example, a variable configured on a device named PLC1 with a variable name Pump1_Speed is referenced as PLC1.Pump1_Speed.

Device variables can include metadata such as units, scaling, historian settings, deadband, sample group, user groups, recipes, Modbus gateway address, OPC UA exposure, and write permissions depending on the driver type.

Local Variables

Local variables are internal project variables stored inside EnvisionSCADA. They are useful for calculations, intermediate states, script state memory, recipe support, and values that do not come directly from an external device.

The runtime reference format is LocalVariables.VariableName.

Local variables support the same general runtime usage as device variables. They can be displayed on pages, written by actions, historized, used in alarms and events, and accessed by scripts and schedules.

Client Variables

Client variables exist only in the active browser client. They are used for page interaction, popup state, embedded viewers, client-side language selection, and other runtime UI behavior.

The runtime reference format is client.VariableName. Client variables are handled directly in the browser and are not written to the server-side device variable dictionary.

Client variables are typically used in page scripts and object actions where local client-side state is required.

Client VariableDescription
client.LocalDateCurrent client-side local date.
client.LocalTimeCurrent client-side local time.
client.SelectedLanguageSelected client language name or display value used by the runtime.
client.SelectedLanguageCodeSelected client language code.
client.PageScaleCurrent client page zoom or scale state.
client.ViewportWidthWidth of the browser viewport in pixels. Updated on every window resize, so a Visibility expression such as client.ViewportWidth >= 1900 acts as a responsive breakpoint (for example a full navigation bar on full HD and wider, a Menu button below it).
client.ViewportHeightHeight of the browser viewport in pixels. Updated on every window resize.
client.PageLayerCurrent client page layer state.
client.LayerXClient-side layer-related runtime state.
client.AlarmBanner_...Client-side Alarm Banner state variables created per banner object instance.

System Variables

System variables are generated by EnvisionSCADA and provide runtime information about the current user session, server state, licensing, redundancy, historian, metrics, alarms, events, schedules, and service execution times.

The runtime reference format is SYSTEM.VariableName.

Some system variables are fixed names, while others use a prefix followed by a dynamic suffix such as a severity number, schedule name, event name, or alarm name.

55 rows
System VariableDescription
SYSTEM.BuildVersionCurrent EnvisionSCADA build version.
SYSTEM.CurrentPageCurrent runtime page.
SYSTEM.PageLibraryPathLibrary path of the current page.
SYSTEM.PageNextAvailableIndicates whether forward page navigation is available.
SYSTEM.PagePreviousAvailableIndicates whether backward page navigation is available.
SYSTEM.UserNameCurrent logged-in user name.
SYSTEM.UserGroupsCurrent logged-in user groups.
SYSTEM.DefaultLanguageSystem default language.
SYSTEM.SessionTimeoutConfigured session timeout for the current user.
SYSTEM.SessionTimeoutTimerCurrent elapsed session timeout timer for the user session.
SYSTEM.ActiveUsersInformation about active users.
SYSTEM.ServerDateCurrent server date.
SYSTEM.ServerTimeCurrent server time.
SYSTEM.AuthorizationCodeCurrent license authorization code.
SYSTEM.LicenseStatusCurrent license state such as licensed, demo, or unlicensed.
SYSTEM.DemoCounterRemaining demo counter value.
SYSTEM.DemoResetTimeDemo reset timing information.
SYSTEM.LicenseExpiryExpires On date of a Pilot License, as yyyy-MM-dd. Empty for a license without an Expires On date.
SYSTEM.LicenseDaysLeftWhole days until the Expires On date of a Pilot License, 0 from that date on. Empty for a license without an Expires On date.
SYSTEM.TotalAlarmsTotal alarm count.
SYSTEM.TotalAlarms_Severity1 ... SYSTEM.TotalAlarms_Severity4Alarm counts per severity.
SYSTEM.TotalEventsTotal event count.
SYSTEM.AlarmCount_...Dynamic alarm count variables created per alarm grouping or context.
SYSTEM.EventInfo_...Dynamic event information variables created per event context.
SYSTEM.ScheduleInfo_...Dynamic schedule execution status per schedule name.
SYSTEM.ScheduleInfoReset_...Dynamic schedule reset status per schedule name.
SYSTEM.MetricsComputerNameComputer name of the server.
SYSTEM.MetricsManufacturerServer hardware manufacturer.
SYSTEM.MetricsOperatingSystemOperating system name.
SYSTEM.MetricsOperatingSystemVersionOperating system version.
SYSTEM.MetricsFreeRAMFree RAM.
SYSTEM.MetricsUsedRAMUsed RAM.
SYSTEM.MetricsTotalRAMTotal RAM.
SYSTEM.MetricsPercentageUsedRAMPercentage of used RAM.
SYSTEM.MetricsPercentageCPUCPU usage percentage.
SYSTEM.MetricsHistorianDbSizeHistorian database size metric.
SYSTEM.RedundancyRoleLocal / SYSTEM.RedundancyRolePartnerCurrent local and partner redundancy roles.
SYSTEM.RedundancySyncStateLocal / SYSTEM.RedundancySyncStatePartnerCurrent redundancy synchronization state.
SYSTEM.RedundancyIPAddressLocal / SYSTEM.RedundancyIPAddressPartnerConfigured local and partner redundancy IP addresses.
SYSTEM.RedundancyPortLocal / SYSTEM.RedundancyPortPartnerConfigured local and partner redundancy ports.
SYSTEM.RedundancyBackfillLag / SYSTEM.RedundancyBackfillPercentRedundancy backfill progress information.
SYSTEM.RedundancySwitchRequestedRequested redundancy role switch state.
SYSTEM.Participant1IPAddress / SYSTEM.Participant2IPAddressConfigured redundancy participant IP addresses.
SYSTEM.Participant1Port / SYSTEM.Participant2PortConfigured redundancy participant ports.
SYSTEM.ConfigDBversion / SYSTEM.HistorianDBversionCurrent configuration and historian database version information.
SYSTEM.CurrentPointCountCurrent Point Count: the points the license check compares with the License Point Count.
SYSTEM.ExternalSourcePointCountNumber of enabled Local variables with External Source enabled. In this version they are counted but not yet part of the license check; a future version adds them to the Current Point Count.
SYSTEM.AlarmServiceExecutionTimeAlarm service cycle execution time.
SYSTEM.EventServiceExecutionTimeEvent service cycle execution time.
SYSTEM.ScheduleServiceExecutionTimeSchedule service cycle execution time.
SYSTEM.HistorianServiceExecutionTimeHistorian service cycle execution time.
SYSTEM.ICMPDriverServiceExecutionTimeICMP driver service execution time.
SYSTEM.ModbusTcpServerExecutionTime / SYSTEM.ModbusRtuServerExecutionTime / SYSTEM.OPCUAServerServiceExecutionTimeGateway service execution times.
SYSTEM.StandbyDatabaseManagerExecutionTimeStandby database manager execution time.
SYSTEM.PythonServiceExecutionTimePython service execution time.

Python Runtime Variables

Python scripts also create runtime status variables for each configured script. These variables are exposed with a System. prefix in the Python engine implementation.

The name suffix is the Python script name.

VariableDescription
System.PythonStatus_ScriptNameCurrent runtime state of the Python script.
System.PythonMsg_ScriptNameLast execution message or error text for the Python script.
System.PythonExecutionId_ScriptNameExecution identifier of the Python script run.

Notes

Device variables and local variables are published through the server-side variable dictionary. Client variables are handled in the browser and are used for client-specific runtime behavior.

Device and local variables can be historized depending on their configuration. System variables and client variables are informational runtime values and should be treated according to their specific use case.

Variable references in conditions, actions, scripts, and page bindings must use the exact runtime name, including the correct prefix and capitalization.

Something missing or wrong in this article? Contact us