Working with the applicationtemplate – Lenze PLC Designer ApplicationTemplate (PLC Designer R3-x) User Manual
Page 69
![background image](/manuals/566296/69/background.png)
Lenze · ApplicationTemplate · 1.3 EN - 04/2013
69
Working with the ApplicationTemplate
Online change
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
8.11.2
When is it not possible to use an "Online change" in the ApplicationTemplate?
In the following application cases, it is to be avoided that an "Online change" is executed:
• If the structure of the MMT is changed: e.g. when machine modules are added / removed.
• If the access to basic function blocks is changed: e.g. additional instances of the
L_EATP_ErrorSet function block for triggering errors.
Technical background information
A regeneration of the ApplicationTemplate structure (due to changes regarding the structure) is
only possible after a restart (at least warm restart). This requires a new Log in including a download.
• An "Online change" executes the changes on the application program during the "task interval"
(all tasks have completed their process).
• The exchange of the corresponding program blocks/data blocks by the runtime system causes
a time delay, so that negative effects on the task timing might occur.
Information regarding the time response
The following factors have the effect that the task process immediately after the online change
starts with a delay/is ineffective.
In the case of a high task utilisation (ratio of the task runtime and the task interval) and a resulting
short task interval
and/or
the shifting of variables required for an Online change.
8.11.3
General programming recommendations which enable an "Online change"
The following factors must be observed during programming to enable an online change:
• Avoid pointers and references
Basically avoid the use of pointers and references. Then no special precautions have to be made for
an online change to ensure normal operation of the application.
• Avoid pointers and references in every clock cycle
If pointer and reference values have to be re-assigned in each clock cycle, it has to be ensured
that the referenced memory addresses have the correct value in the first clock cycle after an
online change.
Please note that, when assigning a reference or pointer value to another cycle, the source value
has to be updated in the clock cycle first, since otherwise the target of the assignment will show
the previous (old) value for at least one clock cycle.
• Use {attribute 'init_on_onlchange’ }
Note!
Especially with regard to time-critical Motion applications, an Online change must only
be executed if all controllers with Motion function are at standstill.
If they are at standstill, a short-time interruption of the task timing (normally) does not
take effect.