Visualization Element 'Image'

Symbol:

Tag: Basic

The element adds an image to the visualization. The displayed image is managed in the image pool and referenced in the visualization element by means of a static ID. You can also change the displayed image dynamically by using a variable instead of the static ID.

Note

With the Background command, you can define a background for the entire visualization.

Note

Directories that contain the images for use in visualizations can be defined in the project settings (category Visualization).

Element properties

Element name

Example: Status bar

Optional

Hint: Assign individual names for elements so that they are found faster in the element list.

Type of element

Image

Static ID

Identifier of the image file for a static assignment

ID of the image file on, as it is defined in the corresponding image pool. If the image is not included in the global image pool in the POU view, then the instance path must be specified. Then the name of the image pool is preceded to make the entry unique. Example: imagepool2.button_image.

When a new ID is specified, a file selection dialog opens. The selected file is saved to the GlobalImagePool.

See also: Help for the Image Pool object.

Show frame

: The image file is displayed with a frame.

Clipping

Requirement: The Scaling type property is Fixed.

: Only part of the visualization is displayed that fits in the element frame.

Transparent

: The image pixels that have the Transparent color are displayed as transparent.

Transparent color

Effective only if the Transparent option is activated.

The button opens the color selection dialog. This is where you select the transparent color.

Scaling type

Definition of how an image fits in the element frame.

  • Isotropic: The entire image is shown in the element frame, either larger or smaller. As a result, the proportion of height and width are retained.

    If the alignment of the elements to each other should also be retained within a scaled frame element, then note the following. Unwanted horizontal or vertical offsets can be prevented by setting the properties Horizontal alignment and Vertical alignment to Centered. The alignment of the elements is retained and there are no resulting horizontal or vertical offsets.

    Example: A lamp is centered above a switch. The lamp should remain in the horizontally centered position, even if the frame is resized.

  • Anisotropic: The image resizes automatically to the dimensions of the element frame, filling the entire element frame. As a result, the proportions are not retained.

  • Fixed: The image retains its original size, even if the element frame is resized. Note also that the Clipping option is selected.

    For each reassignment of an image ID, the element size is adapted automatically to the image size.

Horizontal alignment

Horizontal alignment of the element within the element frame:

  • Left

  • Centered

  • Right

Requirement: The scaling type of the image is Isotropic or Fixed.

Note: If the visualization is referenced, then the horizontal alignment takes effect within the frame position.

: The Variable property is shown below this.

Variable

Enumeration variable (ENUM VisuElemBase.VisuEnumVerticalAlignment). Contains the horizontal alignment.

Example: PLC_PRG.eHorizontalAlignment

Vertical alignment

Vertical alignment of the element within the element frame:

  • Top

  • Centered

  • Bottom

Requirement: The scaling type of the image is Isotropic or Fixed.

Note: If the visualization is referenced, then the horizontal alignment takes effect within the frame position.

: The Variable property is shown below this.

Variable

Enumeration variable (ENUM VisuElemBase.VisuEnumVerticalAlignment). Contains the vertical alignment.

Example: PLC_PRG.eVerticalAlignment

Example

A valid declaration is required for the variables used as an example in the table above.

Enumeration

TYPE VisuElemBase.VisuEnumHorizontalAlignment
        LEFT
        HCENTER
        RIGHT
END_TYPE

TYPE VisuElemBase.VisuEnumVerticalAlignment
        DOWN
        VCENTER
        BOTTOM
END_TYPE

Declaration

PROGRAM PLC_PRG
VAR
        eHorizontalAlignment : VisuElemBase.VisuEnumHorizontalAlignment := VisuElemBase.VisuEnumHorizontalAlignment.HCENTER;
        eVerticalAlignment : VisuElemBase.VisuEnumVerticalAlignment := VisuElemBase.VisuEnumVerticalAlignment.VCENTER;
END_VAR

See also

Element property 'Position'

The position defines the location and size of the element in the visualization window. This is based on the Cartesian coordinate system. The origin is located at the upper left corner of the window. The positive horizontal x-axis runs to the right. The positive vertical y-axis runs downwards.

X

The x-coordinate of the upper left corner of the element

Specified in pixels

Example: 10

Y

The y-coordinate of the upper left corner of the element

Specified in pixels

Example: 10

Width

Specified in pixels

Example: 150

Height

Specified in pixels

Example: 30

Tip: You can change the values in X, Y, Width, and Height by dragging the corresponding symbols to another position in the editor.

Angle

Static angle of rotation (in degrees).

Example: 35

The element is displayed rotated in the editor. The point of rotation is the center of the element. A positive value rotates clockwise.

Tip: You can change the value in the editor by focusing the element to the handle. When the cursor is displayed as a rotating arrow , you can rotate the element about its center as a handle.

(1): Handle

Note: If a dynamic angle of rotation is also configured in the property Absolute movement ‣ Internal rotation , then the static and dynamic angles of rotation are added in runtime mode. The static angle of rotation acts as an offset.

See also

Element property 'Center'

The properties contain fixed values for the coordinates of the point of rotation. This point of rotation is shown as the symbol. The point is used as the center for rotating and scaling.

X

X-coordinate of the point of rotation

Y

Y-coordinate of the point of rotation

Note

You can also change the values by dragging the symbols () to other positions in the editor.

Element property 'Colors'

The properties contain fixed values for setting colors.

Color

Color for the frame

Requirement: Show frame property is activated.

Please note that the normal state is in effect if the expression in the Color variables ‣ Toggle color property is not defined or it has the value FALSE.

Alarm color

Color for the frame in alarm state

Requirement: Show frame property is activated.

Please note that the alarm state is in effect if the expression in the Color variables ‣ Toggle color property has the value TRUE.

Transparency

Value (0 to 255) for defining the transparency of the selected color.

Example 255: The color is opaque. 0: The color is completely transparent.

See also

Element property 'Appearance'

The properties contain fixed values for setting the look of the element.

Line width

Value in pixels

Example: 2

Note: The values 0 and 1 both result in a line weight of one pixel. If no line should be displayed, then the Line style property must be set to the option Invisible.

Line style

Type of line representation

  • Solid

  • Dashes

  • Dots

  • Dash Dot

  • Dash Dot Dot

  • not visible

Note

You can assign variables in the Appearance variables property for controlling the appearance dynamically. The fixed values are defined here.

See also

Element property 'Texts'

The properties contains character strings for labeling the element. The character string can also contain a placeholder with a format definition. In runtime mode, the placeholder is replaced by the current value in the specified format.

CODESYS accepts the specified texts automatically into the GlobalTextList text list. Therefore, these texts can be localized.

Text

Character string (without single straight quotation marks) for the labeling the element. Add a line break by pressing the keyboard shortcut Ctrl + Enter.

Example: Accesses: %i

The variable that contains the current value for the placeholder is specified in the property Text variable ‣ Text .

Tooltip

Character string (without single straight quotation marks) that is displayed as the tooltip of an element.

Example: Number of valid accesses.

The variable that contains the current value for the placeholder is specified in the property Text variable ‣ Tooltip .

See also

Element property 'Text properties'

The properties contain fixed values for the text properties.

Horizontal alignment

Horizontal alignment of the text within the element.

Vertical alignment

Vertical alignment of the text within the element.

Text format

Definition for displaying texts that are too long

  • Default: The long text is truncated.

  • Line break: The text is split into parts.

  • Ellipsis: The visible text ends with "..." indicating that it is not complete.

Font

Example: Default

: The Font dialog box opens.

: Drop-down list with style fonts.

Font color

Example: Black

: The Color dialog box opens.

: Drop-down list with style colors.

Transparency

Whole number (value range from 0 to 255). This determines the transparency of the respective color.

Example: 255: The color is opaque.

0: The color is completely transparent.

Please note: If the color is a style color and already has a transparency value, then this property is write-protected.

Element property 'Image ID variable'

Image ID

Variable (STRING). Contains the image ID. The contents of the string corresponds to the description of the Static ID property.

Example: PLC_PRG.stImageID := 'ImagePool_A.Image3';

See also

Element property 'Dynamic image'

You can use this element property for animating a series of image files.

Bitmap version

Variable (integer data type). Contains the version of the image.

If the variable changes, then the visualization re-reads the image referenced in the Image ID property and displays it.

The visualization displays animations when the image file on the controller is updated continuously, thus incrementing the version variable. The application must be programmed for this.

Possible applications

  • Displaying graphics that are generated by the application

  • Displaying images that are refreshed by a camera

Element property 'Absolute movement'

The properties contain IEC variables for controlling the position of the element dynamically. The reference point is the upper left corner of the element. In runtime mode, the entire element is moved.

Movement

X

Variable (numeric data type). Defines the X position (in pixels).

Example: PLC_PRG.iPos_X.

Increasing this value in runtime mode moves the element to the right.

Y

Variable (numeric data type). Defines the Y position (in pixels).

Example: PLC_PRG.iPos_Y.

Increasing this value in runtime mode moves the element downwards.

Rotation

Variable (numeric data type). Defines the angle of rotation (in degrees).

Example: PLC_PRG.iAngle1.

The midpoint of the element rotates at the Center point. This rotation point is shown as the symbol.

In runtime mode, the alignment of the element remains the same with respect to the coordinate system of the visualization. Increasing the value rotates the element to the right.

Scaling

Variable (integer data type). Causes centric stretching.

Example: PLC_PRG.iScaling.

The reference point is the Center property.

The value 1 shrinks the element by a factor of 0.001. The value 1000 returns the element to its original size.

Interior rotation

Variable (numeric data type). Defines the angle of rotation (in degrees).

Example: PLC_PRG.iAngle2.

In runtime mode, the element rotates about the point of rotation specified in Center according to the value of the variable. In addition, the alignment of the element rotates according to the coordinate system of the visualization. Increasing the value in the code rotates clockwise.

The rotation point is shown as the symbol.

Note: If a static angle of rotation is specified in the property Position ‣ Angle , then the static angle of rotation is added to the variable angle of rotation (offset) when the visualization is executed.

Note

You can link the variables to a unit conversion.

Note

The properties X, Y, Rotation, and Interior rotation are supported by the "Client Animation" functionality.

See also

Element property 'Relative movement'

The properties contains variables for moving the element. The reference point is the position of the element (Position property). The shape of the element can change.

Movement top-left

X

Variable (integer data type). It contains the number (in pixels) that the left edge is moved horizontally. Incrementing the value moves the element to the right.

Example: PLC_PRG.iDeltaX

Y

Variable (integer data type). It contains the number (in pixels) that the top edge is moved vertically. Incrementing the value moves the element to the down.

Example: PLC_PRG.iDeltaY

Movement bottom-right

X

Variable (integer data type). It contains the number (in pixels) that the right edge is moved horizontally. Incrementing the value moves the element to the right.

Example: PLC_PRG.iDeltaWidth

Y

Variable (integer data type). It contains the number (in pixels) that the bottom edge is moved vertically. Incrementing the value moves the element to the down.

Example: PLC_PRG.iDeltaHeight

See also

Element property 'Text variables'

These properties are variables with contents that replace a format definition.

Text variable

Variable (data type compliant with the format definition). It contains what is printed instead of the format definition.

Example: PLC_PRG.iAccesses

Note: The format definition is part of the text in the property Texts ‣ Text .

Note: If you specify a variable of type enumeration with text list support, then the name of the enumeration data type is added automatically in angle brackets after the variable name. Example: PLC_PRG.enVar <enumeration name>. Then the symbolic value of the enumeration component is printed instead of the numeric value when text is printed. Refer to the help page for the enumerations.

Tooltip variable

Variable (data type compliant with the format definition). It contains what is printed instead of the format definition.

Example: PLC_PRG.iAccessesInTooltip

Note: The format definition is part of the text in the property Texts ‣ Tooltip .

See also

Element property 'Dynamic texts'

Dynamic texts are variably indexed texts of a text list. At runtime, the text is displayed that is currently indexed in the variable.

Text list

Variable (string) or name of the text list as a fixed string in single straight quotation marks.

Example: 'Errorlist'

: Drop-down list with the dialogs available in the text lists.

Text index

Text list ID. This refers to the desired output text.

  • As fixed string with the ID in single straight quotation marks.

    Example: '1'

  • As a variable (STRING) for dynamically controlling the text output.

    Example: strTextID

    Sample assignment: PLC_PRG.strTextID := '1';

Tooltip index

Text list ID. This refers to the desired output text.

  • As fixed string with the ID in single straight quotation marks.

    Example: '2'

  • As a variable (STRING) for dynamically controlling the text output.

    Example: strToolTipID

    Sample assignment: PLC_PRG.strToolTipID := '2';

See also

Element property 'Font variables'

The variables allow for dynamic control of the text display.

Font name

Variable (STRING). Includes the font of the text.

Example: PLC_PRG.stFontVar := 'Arial';

The selection of fonts corresponds to the default Font dialog.

Size

Variable (numeric data type). Contains the font size (in pixels or points). The applied unit is specified in brackets after the variable name.

  • <pt>: Points (default)

    Example: PLC_PRG.iFontHeight <pt>

    Code: iFontHeight : INT := 12;

  • <px> : Pixels

    Example: PLC_PRG.iFontHeight <px>

    Code: iFontHeight : INT := 19;

If you click in the value field, a drop-down list opens on the right for setting the unit.

Hint: The font size is specified in points (example: Arial 12). Use points when the variable font size should match a font, for example if a font is set in the property Text property ‣ Font .

Flags

Variable (DWORD). Contains the flags for displaying fonts.

Flags:

  • 1: Italics

  • 2: Bold

  • 4: Underline

  • 8: Strikethrough

Note: You can combine the font displays by adding the coding of the flags. For example, a bold and underlined text: PLC_PRG.dwFontType := 6;

Character set

Variable (DWORD). Contains a character set number for the font.

The selection of character set numbers corresponds to the Script setting of the standard Font dialog.

Color

Variable (DWORD). Includes the color of the text.

Example: PLC_PRG.dwColorFont:= 16#FF000000;

Flags for text alignment

Variable (integer data type). Contains the coding for text alignment.

Example: PLC_PRG.dwTextAlignment.

Coding:

  • 0: Top left

  • 1: Horizontal center

  • 2: Right

  • 4: Vertical center

  • 8: Bottom

Note: You can combine the text alignments by adding the coding of the flags. For example, a vertical and horizontal centered text: PLC_PRG.dwFontType := 5;

Note

Fixed values for displaying texts are set in Text properties.

See also

Element property 'Color variables'

The Element property is used as an interface for project variables to dynamically control colors at runtime.

Toggle color

The property controls the toggled color at runtime.

Value assignment:

  • FALSE: The element is displayed with the color specified in the Color property.

  • TRUE: The element is displayed with the color specified in the Alarm color property.

Assigning the property:

  • Placeholder for the user input variable

    • <toggle/tap variable>

    • <NOT toggle/tap variable>

    The color change is not controlled by its own variable, but by a user input variable.

    Note: Specify a variable for the mouse events Tap or Toggle in the input configuration of the element. Only then is the placeholder set. If you configure a variable in both Toggle and Tap, then the variable specified in Tap is used.

    Hint: Click the symbol to insert the placeholder <toggle/tap variable>. When you activate the Inputconfiguration, Tap FALSE property, then the <NOT toggle/tap variable> placeholder is displayed.

  • Instance path of a project variable (BOOL)

    Example: PLC_PRG.xColorIsToggeled

    Note: In the code, declare and implement the variable specified here. Its value assignment determines when the color changes.

Color

Color variable for the frame

  • Variable (DWORD) for the color

    Example: PLC_PRG.dwColor

  • Color literal

    Example of gray and opaque: 16#FF888888

Requirement: Show frame property is activated.

Please note that the normal state is in effect if the expression in the Colorvariables ‣ Toggle color property is not defined or it has the value FALSE.

Alarm color

Color variable for the frame in alarm state

  • Variable (DWORD) for the alarm color

    Example: PLC_PRG.dwAlarmColor

  • Color literal

    Example of red and opaque: 16#FFFF0000

Please note that the alarm state is in effect if the expression in the Colorvariables ‣ Toggle color property has the value TRUE.

Note

The transparency part of the color value is evaluated only if the Activate semi-transparent drawing option of the visualization manager is selected.

Note

Select the Advanced option in the toolbar of the properties view. Then all element properties are visible.

See also

Element property 'Appearance variables'

The properties contain variables for controlling the appearance of the element dynamically.

Line width

Variable (integer data type). Contains the line weight (in pixels).

Note: The values 0 and 1 both result in a line weight of one pixel. If no line should be displayed, then the Line style property must be set to the option Invisible.

Line style

Variable (DWORD). Controls the line style.

Coding:

  • 0: Solid line

  • 1: Dashed line

  • 2: Dotted line

  • 3: Line type "Dash Dot"

  • 3: Line type "Dash Dot Dot"

  • 8: Invisible: The line is not drawn.

Note

Fixed values can be set in the Appearance property. These values can be overwritten by dynamic variables at runtime.

See also

Element property 'State variables'

The variables control the element behavior dynamically.

Invisible

Variable (BOOL). Toggles the visibility of the element.

TRUE: The element is not visible at runtime.

Example: bIsVisible with VAR bIsVisible : BOOL := FALSE; END_VAR

Deactivate inputs

Variable (BOOL). Toggles the operability of the element.

TRUE: User inputs do not have any effect in runtime more. The element is shown as deactivated.

Note

The Invisible property is supported by the "Client Animation" functionality.

See also

These properties are available only when you have selected the Preview: Support client animations and overlay of native elements option in the Visualization Manager.

Animation duration

Defines the duration (in milliseconds) in which the element runs an animation

  • Variable (integer value)

    Example: Menu.tContent with VAR tContent : INT := 500; END_VAR

  • Integer literal

    Example: 500

Animatable properties

  • Absolute movement, Movement, X, Y

  • Absolute movement, Rotation

  • Absolute movement, Interior rotation

  • Absolute movement, Exterior rotation

The animated movement is executed when at least one value of an animatable property has changed. The movement then executed is not jerky, but is smooth within the specified animation duration. The visualization element travels to the specified position while rotating dynamically. The transitions are smooth.

Move to foreground

Moves the visualization element to the foreground

Variable (BOOL)

Example: bIsInForeground with VAR bIsInForeground : BOOL := FALSE; END_VAR

TRUE: At runtime, the visualization element is displayed in the foreground.

FALSE: At runtime, the visualization element is displayed in the layer where it was inserted in the visualization editor.

See also

Element property 'Input configuration'

The properties contain the configurations for the user input when using the mouse or keyboard. User input is a user event from the perspective of the element.

The Configure button opens the Input configuration dialog box for creating or modifying a user input configuration.

A configuration contains one or more input actions for the respective input event. Existing input actions are displayed below it.

Example: Execute ST code: PLC_PRG.i_x := 0;

OnDialogClosed

Input event: The user closes the dialog box.

OnMouseClick

Input event: A user clicks the element completely. The mouse button is clicked and released.

OnMouseDown

Input event: A user clicks down on the element only.

OnMouseEnter

Input event: A user drags the mouse pointer to the element.

OnMouseLeave

Input event: A user drags the mouse pointer away from the element.

OnMouseMove

Input event: A user moves the mouse pointer over the element area.

OnMouseUp

Input event: The user releases the mouse button over the element area.

See also

Hotkeys

Keyboard shortcut on the element for triggering specific input actions.

When the keyboard shortcut event occurs, the input actions in the Event(s) property are triggered.

Key

Key pressed for input action.

Example: T

Event(s)

  • None

  • Mouse down: Pressing the key triggers the input actions that are configured in the OnMouseDown property.

  • Mouse up: Releasing the key triggers the input actions that are configured in the OnMouseUp property.

  • Mouse down/up: Pressing and releasing the key triggers the input actions that are configured in the OnMouseDown property and the OnMouseUp property.

Shift

: Combination with the Shift key

Example: Shift+T.

Control

: Combination with the Ctrl key

Example: Ctrl+T.

Alt

: Combination with the Alt key

Example: Alt+T.

Note

All keyboard shortcuts and their actions that are configured in the visualization are listed in the Keyboard configuration tab.

See also

Element property 'Access rights'

Requirement: User management is set up for the visualization.

Access rights

Opens the Access rights dialog. There you can edit the access privileges for the element.

Status messages:

  • Not set. Full rights.: Access rights for all user groups : operable

  • Rights are set: Limited rights: Access is restricted for at least one group.

See also

See also