L-force | plc designer – Lenze PLC Designer PLC Designer (R3-1) User Manual

Page 955

Advertising
background image

L-force | PLC Designer

Device Editors

DMS 4.1 EN 03/2011 TD29

953

The underlying mechanism: In the slow task initially about one GEOINFO-object will be
created per cycle, which is stored in the OUTQUEUE-structure of the Decoder module.
As soon as this OUTQUEUE is filled, the modules of the slow task will pause until the
OUTQUEUE isn't full any longer, this means until the fast task has processed the first
GEOINFO-object and removed it from the OUTQUEUE. In this case the modules of the
slow task get active again and re-fill the OUTQUEUE-structure. In the fast task per each
cycle one path position point of that OUTQUEUE-structure, to which the DataIn
parameter of the Interpolator is currently pointing, will be calculated and processed.
Due to the fact that a GEOINFO-object generally consists of several position points, it
will take several cycles until the first GEOINFO-object has been processed completely
and will be removed by the Interpolator. Since the processing of a GEOINFO-object
obviously takes more cycles than the creating, the slow task actually can be called
more rarely than the fast. However, the task times must be defined in a way which
makes sure that in the last OUTQUEUE of the slow task always enough GEOINFO-
objects are available, so that no data-underrun can occur. A data-underrun would
result if the Interpolator does not get any GEOINFO-objects from DataIn while the end
of the path has not yet been reached. In this case the Interpolator will brake and stop
unitl new data elements are available.
In program Path the decoding of the NC program and the velocity check are done:

Abb. 534 Path object


The interpolating part of the IEC program nearly remains at it was, except that the
data input of the Interpolator is not the CNC program name (ADR(Example)), but the
OutQueue-output of the path-preprocessing modules (here:
g_ncDecoder.poqDataOut).

4. Creating the operation and test interface:
For a visualization of the previous example it is useful to add templates of the new
modules (SMC_NCDecoder and SMC_CheckVelocities). Besides that the global
variables g_x and g_y should be editable, in order to be able to check their function
later at start-up.

Advertising