Skip to main content

Executing as Integrated Visualization

You can run a 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.

Configuring and starting a display variant

Important

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 higher.

A visualization library 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.

Tip

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

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 by means of the Debug → Display command.

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 higher.

  • 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 or MIN

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 26. 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.