Working with the applicationtemplate – Lenze PLC Designer ApplicationTemplate (PLC Designer R3-x) User Manual

Page 69

Advertising
background image

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.

Advertising