Operation of absolute value encoders in connection with the L_CamControl function block

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.


    URL for linking this AKB article: https://www.lenze.com/en-de/go/akb/200404909/1/

    Weitere Information

    Kontaktformular