1 smc_rotatequeue2d, 2 smc_translatequeue3d, 3 smc_scalequeue3d – Lenze PLC Designer PLC-Designer (R2-x) SoftMotion User Manual

Page 200: Scalings, Smc_rotatequeue2d, Smc_translatequeue3d, Smc_scalequeue3d, L-force | plc designer - softmotion

Advertising
background image

DMS 5.2 EN 03/2011 TD17

L

200

L-force | PLC Designer - SoftMotion

The SM_CNC.lib library

Auxiliary functions and function blocks for path rotations, translations and scalings

7.14

Auxiliary functions and function blocks for path rotations, translations and scalings

The function blocks SMC_RotateQueue2D and SMC_TranslateQueue3D contained in SM-

CNC lib rotate or shift the path stored in an SMC_OutQueue.
The path to be rotated or shifted is handed over in the form of a pointer to the

SMC_OUTQUEUE structure object by means of the DataIn input variable.
The bEnable input which has been initialised with FALSE prevents the path from being

rotated or shifted until it is set to TRUE. All GEOINFOR elements are then processed by

poqDataIn. As soon as bEnable becomes FALSE, the blocks do not carry out any more

changes.
The bReset input, which has also been initialised with FALSE, causes the GEOINFO objects

currently located in poqDataIn not to be processed but only causes those arriving from

now onwards to be rotated or shifted.

7.14.1

SMC_ROTATEQUEUE2D

The path contained in poqDataIn will be rotated around the Z axis by the angle in degrees

given in dPhi. A positive angle effects a positive rotation in the mathematical sense

(counterclockwise).

7.14.2

SMC_TRANSLATEQUEUE3D

The path contained in poqDataIn is shifted by the vector transferred in vec of the structure

type SMC_VECTOR3D (see

SMC_VECTOR3D

( 206)

).

7.14.3

SMC_SCALEQUEUE3D

The path contained in poqDataIn will be stretched by the fScaleFaktor factor.
As a sudden modification of the characteristic variables of the rotation/translation (dPhi,

vec) during processing might cause a jump in the path, any changes to the inputs of these

variables will not be taken into account until the SMC_OUTQUEUE for poqDataIn is empty

or a bReset is carried out.
In order to effect a rotation in the (XY) plane around a point other than (00), i.e. to reach

point (XpYp), use the following sequence: a translation according to the vector (-Xa-Yp°0),

a rotation about the desired angle dPhi and another translation according to the vector

(XyYp°0).

Advertising