Executing as Integrated Visualization

You can execute the visualization as an integrated visualization. In this case a display variant of the visualization runs on the development system without the visualization code being loaded to the controller.

Use the integrated visualization for the testing and diagnosis of your application, or for the service and commissioning of a plant.

The requirement for this is that there are no objects under the visualization manager. Alternatively, any objects located there can be excluded from compilation. You can configure an individual object accordingly in its dialog Properties on the tab Build.

See also

Configuring and starting display variants

Notice

In the case of projects with a fixed compiler version < 3.3.2.0, the activation of the Don't use the PLC for Visu option is necessary in order to execute the visualization as an integrated visualization.

The option no longer exists for version 3.3.2.0 and later.

A visualization project is open.

  1. Remove all objects from underneath the visualization manager or exclude the objects from compilation.

    ⇒ The VISU_TASK has been removed from under the task configuration.

  2. Download the application to the controller.

    ⇒ Now no visualization code will be transferred on loading the application.

  3. Start the application.

    ⇒ The visualization in the visualization editor is being executed. You can operate your application.

Note

Use the command Activate Keyboard Usage in order to toggle between the keyboard usage of the integrated visualization and the keyboard usage of CODESYS.

See also

Restrictions in the variable output

Numerical variable values, which are output within a text in an integrated visualization, are displayed according to the current display format. You can select the display format with the command Debug ‣ Display .

See also

Restrictions for the data source manager

A variable value that is transferred via the data source manager is not output. The integrated visualization only outputs the initialization or the last transferred value.

The integrated visualization thus only enables a passive observation of the application.

Restrictions for scopes

VAR_INPUT variables behave like integrated visualizations such as VAR_IN_OUT during execution.

Restrictions in expressions and monitoring

Only the following expressions, which are also used in the monitoring mechanism of the development system, are supported in an integrated visualization.

Variable access:

  • Example: PLC_PRG.myPou.nCounter

Array access:

  • Requirement: The version of the runtime system is at least V3.3 SP2 or later.

  • Access to an array of scalar data types, where a variable is used as an index

    Example: a[i]

  • Access to an array of complex data types (structure, function block, array), where a variable is used as an index

    Example: a[i].x

  • Access to a multidimensional array of all kinds of data types with one or more variable indices

    Example: a[i, 1, j].x

  • Access to an array with constant index

    Example: a[3]

  • Accesses like those described above in which simple operators are used for the calculations inside the index brackets.

    Example: a[i+3]

  • Nested combinations of the complex expressions listed above

    Example: a[i + 4 * j].aInner[j * 3].x

Operators in index calculations:

  • +, -, *, /, MOD

Pointer monitoring:

  • Example: p^.x

Methods and function calls are not supported except for the following:

  • Standard string functions

  • Type conversion functions

    Example: INT_TO_DWORD

  • Operators such as SEL, MIN, etc.

Restrictions in the input action Execute ST code

When the input action Execute ST code is called, only a list of assignments is supported.

If a list of assignments is used, the value of the left-hand side is not assigned until the next cycle. Processing in the next row immediately afterwards is not possible.

Example

PLC_PRG.n := 20 * PLC_PRG.m; // Don't use this!
IF PLC_PRG.n < MAX_COUNT THEN
        PLC_PRG.n := PLC_PRG.n + 1;
END_IF
//Use the following!
PLC_PRG.n := MIN(MAX_COUNT, PLC_PRG.n + 1);

Restrictions in the interface of a visualization

In the interface editor of a visualization, an interface variable with INTERFACE data type can be declared as VAR_INPUT, but not as VAR_IN_OUT.