Integrated visualization
For diagnostic purposes it may be desirable to run a visualization only within the programming system, without having to load visualization code on the controller. This integrated visualization is used automatically, if no "TargetVisualization" or "WebVisualization" client object was added under the Visualization Manager. In this case no visualization code is generated and loaded on the controller. However, this involves some restrictions, which are listed below.
Restrictions for expressions, monitoring
The diagnostic visualization supports only expressions, which can be handled by the monitoring mechanism of the programming system. These are:
- normal variable access such as MAIN.fbTest.nCounter
- Complex access, as listed below:
- Access to an array of scalar data types, whereby one variable is used as index (a[i])
- Access to an array of complex data types (structures, function blocks, arrays), whereby one variable is used as index (a[i].x)
- Access to a multi-dimensional array of all data types, with one or several variable indices (a[i, 1, j].x)
- Access to an array with constant index (a[3])
- Access as described above, in which simple operators are used for the calculations within the index bracket (a[i + 3])
- Nested combinations of the complex expressions listed above (a[i + 4 * j].aInner[j * 3].x)
- Operators supported in index calculations: +, -, *, /, MOD
- Pointer monitoring such as p^.x
- Methods or function calls are not supported, except the following:
- all default string functions
- all type conversion functions, such as INT_TO_DWORD
- all operators such as SEL, MIN, ...
Restrictions for inputs
Within the input action "Run ST code" only one list of assignments is supported.
Example:
PLC_PRG.n := 20 * PLC_PRG.m;
// nicht erlaubt
IF PLC_PRG.n < MAX_COUNT THEN
PLC_PRG.n := PLC_PRG.n + 1;
END_IF
//statt dessen folgendes verwenden:
PLC_PRG.n := MIN(MAX_COUNT, PLC_PRG.n + 1);
If a list of assignments is used, the value on the left is not assigned until the next cycle. Immediate processing in the next line is not possible. |
Visualization interface
The type "Interface" may not be used within the interface definition for a visualization.