Question: Which steps are required in order to apply an absolute value encoder (resolver, single turn absolute value encoder, multi turn absolute value) in connection with the
L_CamControl function block of technology library
LenzeCamControl1Vxxyy (xx = main version, yy = minor version)? How is the home position in this configuration set?
Answer:
Following conditions are to be fulfilled in order to calculate the correct actual position when an absolute value encoder is operated in connection with L_CamControl function block:
A feedback system with absolute position detection is to be used. These are Resolvers (detection of the absolute position with a precision of +/- half a motor revolution) Single turn absolute value encoder (detection of the absolute position with a precision of +/- half a motor revolution) Multi turn absolute value encoder (detection of the absolute position within 4096 motor revolutions) A ServoPLC with an operating system V6.x is required (lower states do not support the PERSISTENT variables required for this function). Make sure that your DDS project has the following features:
In the DDS project under <Resources> => <Control configuration> there must be the VAR_Persistent system block. Under code C0025/000 the correct position feedback system must be set (e. g. under <Resources> => Code initialising). L_CamControl function block is to be used in order to create the required sizes for the MCTRL block and to evaluate the feedback system correctly.
The input/output variables L_CamControl.dnActPos_p and L_CamControl.dnActPosInSave_p must be connected to global variables of type PERSISTENT (%QD171.0 ... 7). For setting the home position execute the following steps:
Switch to the auxiliary integrator (L_CamControl.bSelMainPos = FALSE) and stop the drive (n = 0). Inhibit the controller (DCTRL_bCinh_b = TRUE), e. g. via terminal 28. Set the auxiliary integrator to the position actual value via L_CamControl.bResetAux = TRUE, in order to delete a possible following error. Enter the desired position value in increments in code C0098/000. The desired position value is consequently copied to MCTRL_dnPos_p. Reset L_CamControl.bResetAux to FALSE. Transmit the desired transmission value in increments to the auxiliary integrator (Signal L_CamControl.dnLoadAuxPos_p). Copy this value with a positive edge to the control input L_CamControl.bLoadAuxPos. Now the controller can be re-enabled. In the attached example this function 'Set home position' is programmed by activating the digital input E1 while the controller is inhibited.