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

AVEVA™ Plant SCADA

Configure a Standard Plant SCADA Menu

  • Last UpdatedJul 18, 2023
  • 13 minute read

You can use the Menu Configuration view in Plant SCADA Studio's Visualization activity to configure a standard menu for your project's runtime system. To do this, firstly select Standard from the drop-down menu below the command bar.

Embedded Image (65% Scaling) (LIVE)

Note: If you want to configure a menu for Industrial Graphics pages displayed on a Web Server, see Configure a Menu for Industrial Graphics Pages.

The method you use to configure a standard menu is determined by the Starter Project that was used to create your project. For an appropriate description of the Menu Configuration Properties, select from the following Starter Projects.

Situational Awareness Starter Project

If your project is created from a Situational Awareness Starter Project, the menu configuration is used to build the following:

  • The layout of buttons and tabs on the Navigation Zone on the operator dashboard (see Prepare the Navigation Menu).

  • The tabs that appear across the Information Zone on the operator dashboard.

  • The content of the workspace header bar.

  • A set of custom tabs for the Tab Bar Genie.

A Menu Configuration has the following properties:

General Properties

Property

Description

Page

The Page property is used to give a name to the menu that will include the item.

In a Situational Awareness project, the system expects the following menu names:

  • InformationZone – used to define the tabs that appear across the Information Zone on the operator dashboard.

  • Headerbar – used to define the content of the workspace header bar.

  • Navigation – used to define the layout of buttons and tabs on the Navigation Zone on the operator dashboard.

A project based on the Situational Awareness Starter Project will include a set of default entries for the InformationZone and Headerbar menus.

There are no default entries for the Navigation menu, as you will need to manually configure these to reflect the pages included in your project. See Prepare the Navigation Menu.

Level 1-6

In a Situational Awareness project, the Level 1-6 properties are used in the following ways, based on the three expected menus:

  • InformationZone – this menu defines the tabs that appear across the Information Zone. Only a single sets of tabs is supported, which means only the Level 1 field is used.

  • Headerbar – this menu defines the content of the workspace header bar. The included buttons are specified by the Level 1 field. The default "Login Menu" uses Level 2 to add a "Log Out" option as a drop-down menu.

  • Navigation – this menu defines the layout of buttons and tabs on the Navigation Zone on the operator dashboard. Level 1 of the menu sets the overall context for the workspace. The tabs along the navigation section header represent the menu's Level 2 entries. The buttons on each tab represent up to 20 lower-level menu entries.

In each case, the arrangement of menu entries is determined by the Order property.

Note: The greater-than character ( > ) cannot be used within a menu name.

Menu Command

The Cicode expression to be executed when the menu item is selected. String of up to 254 characters.

For Situational Awareness projects, use the "Navigation_ShowTargetPage" command to call a page.

If you have the same page in HD1080 and UHD4K resolutions (to support a range of client screens), the variation of the page that displays at runtime will be determined by the context of the current workspace. This means you do not need to add the resolution suffix ("_HD1080" or "_UHD4K") to the end of the page name specified in the Target Page field.

Target Page

The page that is displayed when the menu item is executed. See the Menu Command property.

Comment

An optional comment (of up to 128 characters) about the menu entry.

Order

Defines the position of a menu entry in relation to the other menu entries in the same hierarchy level. The Order property functions in the following ways, based on the three expected menus:

  • InformationZone – the order defines how the tabs will appear across the top of Information Zone (from left to right).

  • Headerbar – the order defines how the command buttons will appear across the workspace header bar (from left to right).

  • Navigation – For Level 1 entries, the order defines how the tabs will appear across the top of Navigation Zone (from left to right). For lower level entries, the order determines the layout of up to 20 buttons on each tab (four rows of five buttons, from left to right).

If this field is left blank, it will take the default value of zero (0). If more than one entry of the same order exists, they are displayed in the same order as they are defined in the database. In the case of Navigation menu, the entry will fill the first available space in the layout of buttons.

This property affects the order that the menu entries are returned through menu Cicode functions.

Hidden when

A Cicode expression that determines when the menu entry is hidden on the page.

Disabled when

A Cicode expression that determine when the menu entry is disabled on the page.

Disabled style

A number to indicate how the disabled entry is displayed in the menu. It is up to the user to decide what the numbers mean.

Note: By default, this property is not used by a Situational Awareness project.

Symbol

If the menu entry is associated with a tab, this field allows you to display an icon on the tab. Enter the name of the graphic file you would like to display. You can use the Custom 2 property (see below) to hide the symbol if required.

Privilege

The user privilege (0–8) that is necessary to select the menu entry.

Area

The user area (0–255) that is necessary to select the menu entry.

Checked

If the menu entry is associated with a tab, this field allows you to specify if the tab is pinned by default. Leaving the field blank will mean the tab is not pinned by default. Any other value will mean the tab is pinned by default.

This setting will only work if pinning is enabled for the tab bar. This is determined by the Can Tabs Be Pinned? parameter in the Tab Bar Genie.

Width

The width of the menu entry on the page.

Note: By default, this property is not used by a Situational Awareness project.

Equipment Properties

Property

Description

Cluster

The name of the cluster associated with the menu item. The specified cluster should be configured otherwise a compile will not be successful.

Equipment

Name of equipment associated with the menu item. Select a name from the drop down list, or type a name. String limit of 254 characters, including separating periods (.).

Custom Properties

Property

Description

Custom 1

If the menu entry is associated with a tab, this property determines if the Close button will appear on the tab. If you leave this field blank, the Close button will appear. Any other value will hide the Close button.

Custom 2

If the menu entry is associated with a tab, this property determines if the icon identified in the Symbol field will appear on the tab. If you leave this field blank, the icon will appear. Any other value will hide the icon. .

Custom 3

If the menu entry is associated with a tab, this property determines if a label will appear on the tab. If you leave this field blank, the label will appear. Any other value will hide the label.

Custom 4-8

These custom properties are reserved for system use.

Project Properties

Property

Description

Project

The project in which the menu will be created.

SxW Starter Project

If your project is created from a SxW starter project, some common menu items are already pre-configured in the menu configuration database (as part of the starter project). They will be displayed on the page automatically at runtime. To view additional pages in your project at runtime you will need to manually configure the menu items.

You can assign individual menu items to a particular page, or make them available to every page. Menu items configured in included projects will be merged with the ones configured in the main project, into a single menu tree structure when you compile your main project. This allows extra menu items to be automatically added to your project depending on what projects are included.

A Menu Configuration has the following properties:

General Properties

Property

Description

Page

The page on which this entry will exist. If blank, the entry exists on every page.

Level 1-6

Creates the menu hierarchy path of the entry. String length can be up to 64 characters.

Up to 6 levels of menu hierarchy are supported. Menu entries that have the same upper levels are considered to be under the same hierarchical branch.

Menu entries are not case sensitive.

Note: The greater-than character ( > ) cannot be used within a menu name.

Menu Command

The Cicode expression to be executed when the menu item is selected. String of up to 254 characters.

Comment

A comment about the menu entry. String of up to 128 characters.

Order

The position of a menu entry in relation to the other menu entries in the same hierarchy level.

This property affects the order that the menu entries are returned through the menu Cicode functions. If this field is left blank, it will take the default value of zero (0). The relevant menu entries will be returned at the start as a result. If more than one entry of the same order exists, they are displayed in the same order as they are defined in the database.

Symbol

The symbol to associate with the menu entry. The string length can be up to 128 characters. A symbol needs to be already defined in the project / included project, and specified in the format of <library name>.<symbol name>.

Hidden when

Cicode expression to determine when the menu entry is hidden on the page. String of up to 254 characters.

Disabled when

Cicode expression to determine when the menu entry is disabled on the page. String of up to 254 characters.

Disabled style

By default, this property is not used by an SxW project. However, if you choose to implement your own menu system, you can retrieve the value of this field (or any other fields) via the Menu family of Cicode functions at runtime.

For example, if you set a numeric value for the Disable Style field in a menu configuration, you can then use the Menu family of Cicode functions to retrieve the value:

INT hMenuNode = MenuGetPageNode("Headerbar");

INT hItemNode = MenuGetNodeByPath(hMenuNode, "Login Menu.@(Log Out)");

INT nDisabledStyle = StrToInt(MenuNodeGetProperty(hItemNode, 4));

INT bIsDisabled = MenuNodIsDisabled(hItemNode);

Once you have retrieved the disabled style and disabled state, you can expose them as the return value of Cicode functions. You can then call the functions in page animations such as color fill, visibility, and so on.

Note: This property has no direct relation to the Disable Style property on the Disable tab for a graphic object. The latter is defined as part of the graphic object and cannot be altered via Cicode.

Width

The width of the menu entry on the page. It is up to the user to decide what units to be used.

Checked

Determines if the menu entry is initialized with a checked status.

Privilege

The user privilege of (0-8) necessary to select the menu entry.

Area

The user area (0-255) necessary to select the menu entry.

Note: At runtime, you can use the Menu family of Cicode functions to access the information entered in the Menu Configuration dialog.

Equipment Properties

Property

Description

Cluster

The name of the cluster associated with the menu item. The specified cluster should be configured otherwise a compile will not be successful.

Equipment

Name of equipment associated with the menu item. Select a name from the drop down list, or type a name. String limit of 254 characters, including separating periods (.).

Custom Properties

Property

Description

Custom 1-8

User-defined strings that can be accessed by Cicode Functions MenuNodeGetProperty and MenuNodeSetProperty. Max length is 254 characters.

Project Properties

Property

Description

Project

The project in which the menu will be created.

To configure menus for SxW templates, see Create Custom Menus for SxW Templates.

Tab Style Starter Project

A set of page templates known as Tab Style Templates is provided with the product. These templates already contain a tabbed menu system.

If your pages are based on these templates, the menu items configured in the menu configuration database will be displayed on the page automatically at runtime. If no menu is defined in the project, a default menu will be created at runtime to provide access to pages in the project. The default menu functionality can be changed using [Page]AddDefaultMenu.

A Menu Configuration has the following properties:

General Properties

Property

Description

Page

The page on which this entry will exist. If blank, the entry exists every page.

The page name of "Template" is a keyword used in the Tab Style templates for defining custom pop-up menus.

Level 1-6

Creates the menu hierarchy path of the entry. String length can be up to 64 characters.

Up to 6 levels of menu hierarchy are supported. Menu entries that have the same upper levels are considered to be under the same hierarchical branch.

Menu entries are not case sensitive.

Note: The greater-than character ( > ) cannot be used within a menu name.

In a Tab Style Project:

  • Level 1 represents the tabs on the tab bar.

  • Level 2 represents the buttons displayed under a particular tab.

  • Level 3 represents the menu items of the drop-down menu next to a particular button.

  • Level 4 represents the sub-menu items of a particular drop-down menu item.

Menu Command

The Cicode expression to be executed when the menu item is selected. String of up to 254 characters.

Comment

A comment about the menu entry. String of up to 128 characters.

Order

The relative display position of the tabs/buttons or menu items among themselves.

For the tabs and buttons, it determines the display order from left to right. For the drop-down menu items, it determines the display order from the top to the bottom.

If this field is left blank, it will take the default value of 0. The relevant entries will be displayed at the start as a result.

If more than one entry of the same order exists, they are displayed in the same order as they are defined in the database.

Symbol

The symbol to associate with the menu entry. The string length can be up to 128 characters. The format to use is <library name>.<symbol name>.

The template expects the symbol to be a certain size when it is configured against different menu types.

  • For tabs, symbols are 16 x 16 pixels.

  • For buttons, symbols are 32 x 32 pixels.

Some common symbols can be found in the symbol libraries "icons_16x16" and "icons_32x32".

The field is not applicable for menu and sub-menu items.

Hidden when

The tab menu bar on the template does not support visibility. When the expression defined in this field is true, the relevant menu entry is disabled instead.

Disabled when

Cicode expression to determine when the menu entry is disabled on the page. String of up to 254 characters.

Disabled style

By default, this property is not used by a Tab Style project. However, if you choose to implement your own menu system, you can retrieve the value of this field (or any other fields) via the Menu family of Cicode functions at runtime.

For example, if you set a numeric value for the Disable Style field in a menu configuration, you can then use the Menu family of Cicode functions to retrieve the value:

INT hMenuNode = MenuGetPageNode("Headerbar");

INT hItemNode = MenuGetNodeByPath(hMenuNode, "Login Menu.@(Log Out)");

INT nDisabledStyle = StrToInt(MenuNodeGetProperty(hItemNode, 4));

INT bIsDisabled = MenuNodIsDisabled(hItemNode);

Once you have retrieved the disabled style and disabled state, you can expose them as the return value of Cicode functions. You can then call the functions in page animations such as color fill, visibility, and so on.

Note: This property has no direct relation to the Disable Style property on the Disable tab for a graphic object. The latter is defined as part of the graphic object and cannot be altered via Cicode.

Width

The width (measured in pixels) of the item on the page. If this is not specified, the item is automatically sized to show the most content. This field only applies to the tabs and buttons.

The objects used in the template are subjected to minimum widths:

  • Tab (Level 1) = 63 pixels.

  • Button(Level 2) = 61 pixels.

Checked

Determines if the menu entry is initialized with a checked status. This field only applies to the menu items and sub-menu items.

Privilege

The user privilege of (0-8) necessary to select the menu entry.

Area

The user area (0-255) necessary to select the menu entry.

Note: At runtime, you can use the Menu family of Cicode functions to access the information entered in the Menu Configuration dialog.

Equipment Properties

Property

Description

Cluster

The name of the cluster associated with the menu item. The specified cluster should be configured otherwise a compile will not be successful.

Equipment

Name of equipment associated with the menu item. Select a name from the drop down list, or type a name. String limit of 254 characters, including separating periods (.).

Custom Properties

Property

Description

Custom 1-8

User-defined strings that can be accessed by Cicode Functions MenuNodeGetProperty and MenuNodeSetProperty. Max length is 254 characters.

Project Properties

Property

Description

Project

The project in which the menu will be created.

To configure menus for Tab Style templates, see Create Custom Tab Style Menus.

You can also create a custom menu system for your project through the combination of Cicode and graphical objects.

At runtime, three types of menu trees are created.

  1. The first type of menu tree allows you to access the configured menu items for generic (all) pages or a specific page. You can access this menu tree using the Cicode function MenuGetGenericNode to get the page node for the generic pages, and MenuGetPageNode to get the menu items specific to a page.

  2. The second menu tree automatically merges the menu items for the generic pages and the items specified for the current page. You can access this menu tree using the Cicode function MenuGetWindowNode to get to the root node.

  3. The third type of menu tree exists as a virtual menu that is not associated with the generic pages. You can access this menu tree using the Cicode function MenuGetWindowNode to get to the root node.

    Note: For existing users of the CSV_Include project, the menu was defined in a file called Menu.dbf in your project folder. You can migrate the menu definition in this file to the built-in menu configuration database using the Project Migration Tool. This step is useful if you plan to migrate your project from the CSV_Include project to a newer set of templates.

See Also

Menu Functions

Related Links
TitleResults for “How to create a CRG?”Also Available in