Symbol:
Function: The command opens the “Multiply Visu Element” dialog, which contains a configuration derived from the template element and the array declaration. You can rearrange the elements here, as well as their quantity and the index access to the array data. When you exit the dialog, a field of similar elements is created from the template element. In the properties of the new elements, array variables are now configured with precise array indexes. These new elements are those in which you have configured an array variable with index access placeholders in the template.
Call: Menu bar: “Visualization”; context menu
Requirement: The visualization is active and a configured template element is selected.
Dialog 'Multiply Visu Element'
“Total number of elements” |
The total number is determined by the index range of the placeholders, including the setting on the “Advanced Settings” tab. The layout of the elements can be one-dimensional (as a column or row) or two-dimensional (as a table field). |
“Horizontal” |
Number of elements per row Default: Number of array components (index range) of the placeholder Example for array: |
“Vertical” |
Number of rows required for the layout of all elements Default
|
“Offset between elements” |
Distance between the new elements; affects the positions of the new elements
|
“Horizontal” |
Distance between the elements within a row (in pixels) Example: |
“Vertical” |
Distance between the elements within the columns (in pixels) Example for a distance of three pixels: |
“Arrangement of elements” |
Origin from which the new elements are positioned and arranged If “Vertical” or “Horizontal” <> 1
If “Horizontal” or “Vertical” = 1
|
“Orientation” |
Determines the layout of the elements in the field (row by row, or column by column)
|
“Preview” |
Displays the set layout and orientation of the elements as an arrow |
“Array access” |
Based on the template element, the precise index for accessing the array variable is calculated for each new element. The calculation is based on the array index limits as specified in the array declaration. The settings are also taken into account here. |
“1st dimension” |
Calculation guideline for the index of the first dimension that replaces The first new element gets the value specified below in “Start index” in the first dimension. The other elements each get an index incremented by “Increment” until an index is calculated for all elements. Example
|
“2nd dimension” |
Calculation guideline for the index of the second dimension that replaces The first new element gets the value specified below in “Start index” in the second dimension. The other elements each get an index incremented by “Increment”. Example
|
“OK” |
First, it is validated whether the calculated indices are in the index range of the array variable. If so, then the elements that match the template element are created and arranged as a field (row, column, or table). The placeholder indexes are replaced by the calculated indexes. |
Example
Declaration of array variables
VAR asTexts_Example: ARRAY[1..2,1..2] OF STRING := [ '1A Text', '2A Text', '1B Text', '2B Text' ]; asToolTips_Example: ARRAY[1..2,1..2] OF STRING := [ '1A Tooltip', '2A Tooltip', '1B Tooltip', '2B Tooltip' ]; axUserInput_Example: ARRAY[1..2,1..2] OF BOOL; END_VAR
Visualization with template element and its property configuration

Tab “Basic Settings” |
|
“Total number of elements” |
|
“Horizontal” |
|
“Vertical” |
|
“Offset between elements” |
|
“Horizontal” |
|
“Vertical” |
|
“Arrangement of elements” |
“From top left” |
“Orientation” |
“Line by line” |
Tab “Advanced Settings” |
|
“Array access” |
|
“1st dimension” |
|
“Start index” |
|
“Increment” |
|
“2nd dimension” |
|
“Start index” |
|
“Increment” |
|
Visualization at runtime:
