Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

Citect SCADA 2018 Release Notes

  • Last UpdatedFeb 09, 2026
  • 15 minute read

New features and enhancements

  • Situational Awareness Starter Project

    The Situational Awareness Starter Project can be used to create a Plant SCADA project that is designed to support abnormal situation management for operators. This provides accurate information to an operator in a way that can be perceived and acted upon quickly, without overwhelming their cognitive abilities. A consistent look and feel is applied to all graphical content, and standardized colors settings are used to emphasize important process data and alarms.

    Situational Awareness projects differ to other pure template-based projects as they use "Workspace" technology to manage the content of a Master Page that appears on each configured client screen. Each pane in a Master Page displays a page that can be updated independently at runtime based on navigational or contextual changes. The Workspace is responsible for managing contextual updates to those panes by using the association between the hierarchical location of a detected change, and the type of content each pane is configured to display.

    A set of library objects are also available via an included library project (named "SA_Library"). The included objects support the Workspace autofill functionality at runtime and maintain a consistent look and feel across a project's display pages.

    You can also use the workspace without equipment to build a project that does not utilize the new context features. This is achieved using a Pane Genie on a customized master page.

    For more information, see Situational Awareness Projects.

  • Additional Example Project

    Citect SCADA now includes an additional example project, ExampleSA. ExampleSA is a project created using the Situational Awareness Starter Project. It features the default layout used, including elements such as a header bar, content area, and a dashboard that displays contextual information and navigational tools.

    It also demonstrates the autofill functionality of the workspace, which enables contextual updates managed via a project's equipment hierarchy. This is driven by an association between the hierarchical location of the current context, and the type of content each pane is configured to display.

    The project pages are built using objects that are available in an included library project (named "SA_Library"). These objects (and associated faceplates) support the autofill functionality of the workspace and maintain a consistent look and feel across a project's display pages.

    For more information, see Situational Awareness Projects.

  • Alarm Management

    Alarm Cause and Response

    Citect SCADA 2018 allows you to associate cause and response information with an alarm tag. This means you can describes the circumstances that are likely to cause the alarm, and the appropriate course of action required to address the alarm. This information can then be presented to an operator at runtime. See Provide Cause and Response Information to Operators.

    To specify cause and response information for an alarm tag, you need to use the new Alarming > Cause and Response view in the Setup activity. See Add Cause and Response Information to Alarms.

    Alarm Shelving

    When you shelve an alarm, it is disabled for a specified period of time, or until a specified time is reached. This allows an operator to temporarily disable alarms that are causing an unnecessary distraction.

    Shelving is available via the Workspace's new Alarm tab in the Information zone. If your project uses the SxW or Tab Style templates (accessible via a starter project), you can shelve alarms during runtime from the Active Alarms and Alarm Summary page.

    You can also shelve alarms by setting the EndTime argument for the following Cicode functions:

    • Specify a name for a priority value to provide a meaningful representation of its purpose.

    • Define background and foreground colors that support a visual representation of priority on a graphics page.

    • Define a Large and Small genie to visually represent the priority on the Alarm Indicator and Alarm Lists.

      These additional properties are configured in the Setup activity (see Configure Display Properties for an Alarm Priority).

      For more information, see Prioritize Alarms.

  • Graphics Improvements

    Citect SCADA 2018 includes the following enhancements to graphics and Graphics Builder.

    Name a Graphics Object

    In Citect SCADA 2018 you can now name graphics objects (for example, a polyline, rectangle or text). Use this name to reference a graphics object via expressions and Cicode at runtime.

    Configure the animation name when defining the general access properties of a graphics object. See the following topics for more information.

    • General Access to Objects

    • Animation Points

    • Naming Graphic Objects

    • PropertiesAttributeNameGetEx

    • PropertiesAttributeNamePutEx

    • PropertiesAttributeNamePutEx

    • Referencing an Object Using a Name at Runtime

    • DspAnSetName.

      Animated Polygon Vertices

      Plant SCADA now allows you to associate a tag or Cicode expression with the vertices in a polygon. This means the shape of a polygon can be manipulated at runtime in response to values generated by a production system.

      This is achieved by applying offset values to each vertex that define a path along which the vertex can move. As the return value for an expression changes, a vertex will move along the path defined for it, altering the shape of the polygon.

      For more information see Animate a Polygon at Runtime.

      Pinned Windows

      Windows can now be "pinned" at specified locations within a main window or within other pinned windows. A new Cicode function WinNewPinAt() has been added that when configured opens a new display window at a specified location, relative to the current active window, with a selected page displayed. The window can later be removed with the WinFree() function.

      For more information see WinNewPinAt.

      Activate/Deactivate

      You can now configure events to run when a window is activated or deactivated. This is useful when using pinned windows on a page. For example, the activate event can be used to run an event if the user clicks on the pinned window.

      Dynamically Display Symbols

      In Plant SCADA 2018 you can use the DspSym Cicode function with a Genie to dynamically display content that is only generated at runtime.

      You can also use bitmap and non-bitmap images as part of a symbol set in Graphics Builder. See Dynamically Instantiate a Genie at Runtime for more information.

      Runtime Cursor

      The runtime input focus cursors’ color can now be set to transparent. Also, a new function DspSetCurColor() has been added to allow simpler dynamic setting of the cursor color.

  • Screen Profiles

    A screen profile specifies the physical characteristics of one or more workstation screens and how these screens are arranged with respect to each other. Each screen icon that appears in a screen profile represents a physical screen.

    You can create, manage and configure screen profiles with the Screen Profile Editor, which is displayed below the Screen Profile table in the Setup activity. You can create as many screen profiles as you want.

    A screen profile can also be set up for your project through the Setup Wizard.

  • Equipment References

    Citect SCADA 2018 allows you to link a piece of equipment to items, or tags belonging to another piece of equipment in your Citect SCADA project. This means you can establish a relationship with equipment or equipment.items outside the equipment hierarchy. With equipment reference browse functions you can then track, group and display all information for the equipment and referenced equipment in one interface at runtime.

    Add equipment references within the System Model > Equipment References view. Refer to Equipment References for more information.

  • Composite Genies

    Citect SCADA provides several Composite Genies for use in graphics pages. A Composite Genie is a collection of individual Genies assembled to form a single object based on parameters/options chosen by the Engineer. The individual objects and their parameters/options are defined in an XML template file along with layouts for the collection, that is, the Composite Genie. You can insert multiple instances of the composite object on to a graphics page, and specify different parameter settings including values, alignment and display options for each instance to tailor the Composite Genie to suit your requirements.

    For example, you want to build a mirrorable compressor object that is capable of optionally displaying a label, a mode indicator and a meter alongside the symbol. Prior to Citect SCADA 2018, you could either create separate genies for each of the permutations, or you could build a single genie that used visibility to show/hide elements at runtime. With Composite Genies, you can simply select the XML template for a compressor, which presents a set of presentation options for you to configure label, orientation, etc. All you need to do is set values for these options and insert the object on to a page. You can change parameters/options at any time. For more information, see Composite Genies.

  • Refresh Super Genie Associations

    A new Cicode function called AssWinReplace allows you to update the associations for a Super Genie without the need to reload the entire page. The function removes the associations on a specified Super Genie window, and applies any pending associations.

    For more information, see AssWinReplace.

  • Grid Column Resizing in Plant SCADA Studio

    You can now re-size the columns in the Plant SCADA Studio Grid Editor according to their content. To do this, select Size Columns to Content from the menu on the left side of the Grid Editor header. Alternatively, you can double-click the divider of a specific column to auto resize it.

    For more information, see Customize Grid Editor Columns.

  • Display Name for Equipment

    Equipment definitions now support a Display Name property. This allows you to specify a meaningful name that can identify a piece of equipment at runtime.

    The Display Name can also be used to reference equipment in a Genie. For more information, see Define Equipment in Plant SCADA Studio.

  • Menu Configuration Enhancements

    Plant SCADA's menu system has been enhanced. You can now associate equipment with a menu item, allowing you to align the equipment model with page navigation. In the case of a Situational Awareness project, this drives the functionality that enables a runtime system to respond to the current context of a display client (see Prepare the Navigation Menu).

    Further enhancements include:

    • Support for two more menu levels

    • Support for up to eight Custom properties for each menu item

    • All properties can be queried at runtime.

      For more information, see Menu Configuration.

  • Array Functions

    Citect SCADA now includes a set of functions that allow you to create arrays that use up to three dimensions (x,y,z). This can offer performance benefits when handling large amounts of data, for example, when generating an alarms list.

    For more information, see Array Functions.

  • Indirect Tag Value Lookups in Foreground Code.

    A new function TagGetValue has been added that allows values of tags to be automatically looked up in foreground cicode expressions. This function automatically sets up and maintains the subscriptions for the referenced tag/equipment.item.

Citect.ini parameter updates

The following Citect.ini parameters have been introduced or modified in this release.

New Parameters

  • CtEdit Parameters

    [CtEdit]IncrementalEquipmentUpdateAutoClose

    Determines if the Update Equipment confirmation dialog appears when an incremental equipment update has completed.

  • Debug Parameters

    [Debug]DebugLogHistoryFiles

    Determines how many "debug.<process name>.log" files are kept when rolled over.

    [Debug]DebugLogFileSize

    Sets the maximum size of the "debug.<process name>.log" file.

  • MultiMonitors Parameters

    [MultiMonitors]Context<n>

    Allows you to share a single context with one or more screens.

    [MultiMonitors]ScreenProfile

    Sets the arrangement of monitors on a client workstation.

    [MultiMonitors]StartupPage<Name>

    Sets the pages that appear when using a particular screen profile.

    [MultiMonitors]Workspaces

    Indicates the number of workspace pages to be shown at startup.

  • SA_Library.Meter Parameters

    [SA_Library.Meter]UseDefaultPLCLimits

    Allows you to use PLC alarm limits for faceplates.

    [SA_Library.Meter]PLCLimitNames

    Names for PLC alarm limits. This is a comma-separated list of values.

    [SA_Library.Meter]PLCLimitLabels

    Display labels that correspond to each PLC alarm limit defined. This is a comma-separated list of values.

    [SA_Library.Meter]DefaultPLCLimits

    A number that determines the order in which to use the defined PLC alarm limits. 0 corresponds to the lowest PLC alarm limit defined, while the largest number corresponds to the highest limit defined.

  • Workspace Parameters

    [Workspace]AlarmSortOrder

    Defines a customized sort order for the default alarms pages in a Situational Awareness project.

    [Workspace] EquipmentNavigationModelFilter

    Filters the equipment model loaded by the workspace.

    [Workspace]InfoZoneAlarms.IncludeReferences

    Determines if alarms from referenced equipment are included in the Alarms page on the Information Zone.

    [Workspace]InfoZoneTrends

    Determines the pens that will be displayed in the Information Zone of the workspace based on the equipment items configured.

    [Workspace]InfoZoneTrends.Type

    Determines the pens that will be displayed in the Information Zone of the workspace based on the equipment types configured in the Equipment Editor.

Modified Parameters

  • Format Parameters

    [Format]FormatName

    Defines a display format for tabular data and identifies it with a specified name. This allows you to name a customized display format that you can then apply to an alarms list.

  • Code Parameters

    [Code]Thread

    Defines the number of Cicode threads (tasks) that can run concurrently. The default value has changed from 64 to 128.

Cicode function updates

The following Cicode functions have been introduced or modified in this release.

Some Cicode functions have been introduced or modified. The following sections detail these changes:

New Functions

  • Alarm Filter Functions

    AlarmFilterEditAppendEquipment

    Appends the provided expression that can include equipment names or category to the current filter session content without validation.

  • Alarm Functions

    AlarmCommentRecID

    Allows an operator to add a comment to a selected alarm summary or SOE entry during runtime.

    AlarmHighestPriority

    Returns the alarm priority and/or state of the current highest priority alarm for the given equipment in conjunction with the selected filter criteria.

    AlarmListCreate

    Creates an alarms list at a specified AN.

    AlarmListDisplay

    Displays an alarms list at a specified AN.

    AlarmListDestroy

    Destroys an alarms list at a specified AN.

    AlarmListFill

    Fills an alarms list at a specified AN to be used by another routine (e.g. the interlocks processing routine).

    AlarmTagFromEquipment

    Returns the first alarm tag associated with a piece of equipment.

  • Array Functions

    ArrayCopy

    Makes a copy of an array.

    ArrayCreate

    Creates an array.

    ArrayCreateByAn

    Creates an array at a specified AN.

    ArrayDestroy

    Destroys an array.

    ArrayDestroyByAn

    Destroys an array associated with the specified AN.

    ArrayExists

    Determines if an array with a specified handle exists.

    ArrayExistsByAn

    Determines if an array is associated with a specified AN.

    ArrayFillFromAlarmDataByAn

    This function is used to fill an array with information from internal alarm record caches.

    ArrayGetArrayByAn

    Retrieves an array associated with a specified AN.

    ArrayGetInfo

    Retrieves the size of the x–, y–, or z–dimension for an array.

    ArrayGetInt

    Retrieves an integer value from an array.

    ArrayGetIntByAn

    Retrieves an integer value from an array associated with a specified AN.

    ArrayGetMapName

    Retrieves the name of the map associated with an array.

    ArrayGetMapNameByAn

    Retrieves the name of the map associated with an array at a specified AN.

    ArrayGetString

    Retrieves a string from an array.

    ArrayGetStringByAn

    Retrieves a string from an array associated with a specified AN.

    ArrayIsDirty

    Determines if an array is ‘dirty’ (information in the array has changed).

    ArraySetInt

    Sets an integer value within an array.

    ArraySetIntByAn

    Sets an integer value in an array associated with a specified AN.

    ArraySetIsDirty

    Allows you to indicate that an array is dirty (meaning the information in the array has changed).

    ArraySetString

    Sets a string value in an array.

    ArraySetStringByAn

    Sets a string value in an array associated with a specified AN.

    ArraySwap

    Swaps the contents of two arrays.

    DspArrayByAn

    Displays an alarms list. The array that contains the alarm data is associated with the specified AN.

  • Display Functions

    DspAnSetName

    Using a valid AN set the name of an animation object.

    DspClearClip

    Clears the clipping rectangle surrounding the object or group of objects.

    DspGetAnFromName

    Name used to retrieve the AN of an object on the page.

    DspGetAnFromNameRelative

    Retrieves the animation number (AN) of an object on the page relative to a given Animation Number(AN).

    DspGetAnRawExtent

    Gets the extent of the object from the graphics page at the specified AN.

    DspGetNameFromAN

    Using a valid An the animation name of the object is returned.

    DspGetMetadataFromName

    Name used to retrieve the metadata of an object on the page.

    DspGetMetadataFromNameRelative

    Retrieves the metadata of an object on the page relative to a given Animation Number (AN).

    DspSetCurColor

    Sets the color of the focus rectangle.

    DspSetMetadataFromName

    Name used to set the metadata of an object on the page.

    DspSetPopupMenuFont

    Sets the font for popup menu text at runtime.

  • Equipment Database Functions

    EquipGetParameter

    Reads a runtime parameter of an equipment database record from the EQPARAM.RDB database file.

    EquipRefBrowseClose

    Terminates an active data browse session and cleans up resources associated with the session.

    EquipRefBrowseFirst

    Places the reference browse cursor at the first record.

    EquipRefBrowseGetField

    Retrieves the value of the specified field from the record the data browse cursor is currently referencing.

    EquipRefBrowseNext

    Moves the data browse cursor forward one record.

    EquipRefBrowseNumRecords

    Returns the number of records that match the filter criteria.

    EquipRefBrowseOpen

    Initiates a new browse session and returns a handle to the new session that can be used in subsequent equipment reference browse function calls.

    EquipRefBrowsePrev

    Moves the data browse cursor back one record.

  • Map Functions

    MapClear

    Clears all entries in a map and returns the error status.

    MapClose

    Deletes a previously created map.

    MapExists

    Check if the map exists using a returned error code.

    MapKeyCount

    Retrieves the number of keys in a map.

    MapKeyDelete

    Delete a key and its value from a map.

    MapKeyExists

    Check if a key exists in a map.

    MapKeyFirst

    Retrieves the first key in a maps so that all the keys in a map can be discovered.

    MapKeyNext

    Retrieves the next key after the supplied key in a map so that all the keys in a map can be discovered.

    MapOpen

    Creates a new map or to open an existing map.

    MapValueGet

    Retrieves the value from a key in a map.

    MapValueSet

    Sets a value of a map key.

    MapValueSetQuality

    Sets the quality of a property in a map.

  • Menu Functions

    MenuGetNodeByPath

    Returns a menu handle corresponding to a menu item expressed as a string path in the format <level>.<level>.<level>.<level>.

    MenuNodeGetCurr

    Allows you to get the handle of the menu node when this associated command is called.

    MenuNodeGetDepth

    Returns the depth of a specified menu node within a menu hierarchy.

    MenuNodeGetExpanded

    Returns the expansion state value of the specified menu node.

    MenuNodeGetTargetPage

    Returns the target page for a specified menu node.

    MenuNodeSetExpanded

    Sets the expansion state value of the specified menu node.

  • Page Functions

    PageFileInfoEx

    Returns the width, height, content type, parent or title of an unopened page.

  • Screen Profile Functions

    ResetScreenProfile

    Returns all top level windows back to their original screen starting position as defined by the screen profile in a multi-monitor setup.

  • String Functions

    StrEndsWith

    Verifies whether the given string ends with a specific string.

    StrListContainsItem

    Checks whether the string passed is an item contained in a delimited list of strings.

    StrReplace

    Replaces a substring in a string with replacement substring.

    StrSplit

    Splits a string into sub-strings based on the specified delimiter. Sub-strings are stored in a new array and a handle to this array is returned.

    StrTruncFontToolkit

    Returns a truncated string with ellipsis, and sets an AN with a tooltip containing the complete string if a truncation occurs.

  • Super Genie Functions

    AssEquipParameters

    Associates a set of equipment parameters defined in System Model | Equipment | Runtime Parameters with a page.

    AssWinReplace

    Removes the associations on a specified Super Genie window and applies any pending associations.

  • Tag Functions

    TagGetValue

    Reads the value, quality and timestamp of a tag based on the tag subscription.

  • Windows Functions

    WinGetClicked

    Gets the number of the Plant SCADA window that has most recently been clicked on using the left mouse button.

    WinGetName

    Gets the name previously associated with a particular window number using WinSetName.

    WinNewPinAt

    Opens a new display window at a specified location, relative to the current active window, with a selected page displayed.

    WinFreeEx

    Removes the active display window and allows you to pass a Windows handle to the function for closing the window.

    WinGetFirstChild

    Gets the window number of the first child of a parent window.

    WinGetNextChild

    Gets the window number of the next child in a child link.

    WinGetParent

    Retrieves the window number of the specified window's parent or root window.

    WndMonitorInfoEx

    Returns information about a particular monitor using the screen name of the screen profile.

Modified Functions

  • Alarm Functions

    AlarmDisable

    EndTime and Comment arguments have been added to support alarm shelving.

    AlarmDisableRec

    EndTime and Comment arguments have been added to support alarm shelving.

    AlarmDisableTag

    EndTime and Comment arguments have been added to support alarm shelving.

    AlarmEnable

    bAcknowledge argument has been added to force acknowledgment of an alarm after it is enabled.

    AlarmEnableRec

    bAcknowledge argument has been added to force acknowledgment of an alarm after it is enabled.

    AlarmEnableTag

    bAcknowledge argument has been added to force acknowledgment of an alarm after it is enabled.

    AlarmGetDsp

    Alarm response properties are now accessible via the Field argument.

    AlarmGetFieldRec

    Alarm response properties are now accessible via the Field argument.

    AlmBrowseDisable

    EndTime and Comment arguments have been added to support alarm shelving.

    AlmBrowseEnable

    bAcknowledge argument has been added to force acknowledgment of an alarm after it is enabled.

    AlmBrowseGetField

    Alarm response properties are now accessible via the Field argument.

    AlmSummaryDisable

    EndTime and Comment arguments have been added to support alarm shelving.

    AlmSummaryEnable

    bAcknowledge argument has been added to force acknowledgment of an alarm after it is enabled.

    AlmTagDisable

    EndTime and Comment arguments have been added to support alarm shelving.

    AlmTagEnable

    bAcknowledge argument has been added to force acknowledgment of an alarm after it is enabled.

  • Display Functions

    DspAnInfo

    Mode 3 added as an option for the nType argument.

    DspText

    bTooltip argument added.

    DspStr

    bTooltip argument added.

  • Form Functions

    FormButton

    "Disabled" has been added as an option for the Mode argument.

    FormPrompt

    Width and Height arguments have been added to create an area that the prompt string will wrap within.

Deprecated Functions

No functions have been deprecated for Citect SCADA 2018.

Removed Functions

No functions have been removed for Citect SCADA 2018.

In This Topic
TitleResults for “How to create a CRG?”Also Available in