Executing as an 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 Compile.
See also
Configuring and starting display variants
Attention
In the case of projects with a fixed compiler version :code:`< 3.3.2.0`\ , the activation of the option Don’t use the PLC for Visu is necessary in order to execute the visualization as an integrated visualization.
The option no longer exists from version 3.3.2.0
.
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.
Load the application to the controller.
- ⇒
Now no visualization code will be transferred on loading the application.
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
.See also
- Command ‘Display’ – ‘Binary’, ‘Decimal’, ‘Hexadecimal’: Command ‘Display Mode’ - ‘Binary’, ‘Decimal’, ‘Hexadecimal’: Command ‘Display Mode’ - ‘Binary’, ‘Decimal’, ‘Hexadecimal’
Data sources manager restrictions
A variable value that is transferred via the data sources 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 in variable types
VAR_INPUT
variables behave like integrated visualizations such as VAR_IN_OUT
variables 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 newer.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 with the exception of 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
An interface (INTERFACE
) may be declared as a VAR_INPUT
, however not as a VAR_IN_OUT
, in the interface editor of a visualization.