Which products are affected?
ESP-SPAC-CAM1 – Cam V2.0 software package (library LenzeCamControl1V0200.lib)
What does the response look like?
The status signal nState of the function block
L_CamSetXAxisVelocity, which is connected to the global variable
g_nVertShaftExtVelState of the cam template, indicates the status -11 ('resulting position change per cycle too great for synchronised stretching/compression').
In the cam template, this incorrectly output status message causes the error with the number 415 ('XYPosChangeLimit'). As a response to this error, the drive assumes the error status 'Fail QSP'.
When does the problem occur?
The problem occurs when the x-cycle is longer than 32767 [incr.] and
- a negative master value (DFIN) is given in the case of direct master value specification (L_CamSetXAxisVelocity.bCwCcw = FALSE) or
- a positive master value (DFIN) is specified and the inverted direction of rotation of the master value is preselected (L_CamSetXAxisVelocity.bCwCcw = TRUE) on the function block
Note:
In the cam template, the input variable
L_CamSetXAxisVelocity.bCwCcw is controlled with the global variable
g_bVertShaftExtVelCwCcw.
Diagnostics options?
The behaviour can be checked by the user specifying a negative speed value at the input variable
L_CamSetXAxisVelocity.nDfIn_v which causes a position change that ends in the cycle jump (x = 0). This test can, for example, be performed using the function block
L_CamExtrapolate. To do so, the input variable
L_CamExtrapolate.dnPosIn_p is first described with a positive position and then with the position 0. Due to this position change, a negative speed is output with the output variable
L_CamExtrapolate.nNOut_v which causes a position change to the cycle jump. The output variable
L_CamExtrapolate.nNOut_v is assigned to the input variable nDfIn_v of the function block
L_CamSetXAxisVelocity.
Short-term measures/recommendations?
To avoid the functional restriction described when it is necessary to work with a negative master value, you should adhere to the following procedure:
1. The master speed at the function block input
L_CamSetXAxisVelocity.nDfIn_v (in the cam template at the global variable
g_nVertShaftExt_v) must always have a positive sign when
L_CamSetXAxisVelocity.bCwCcw = FALSE. If this is not the case, invert the master speed (
for example through level inversion at the function block input L_CamSetXAxisVelocity.bCwCcw).
2. To achieve a negative passage of the x cycle, a downstream SUB-block must be used to subtract the output variable
L_CamSetXAxisVelocity.dnXPosOut_p (see image below) from the current x cycle (input variable
dnActXLength_p).
3. To do so, the network 1 has to be changed in the cam template in the POU 'UserProcessInput'. Instead of making a direct assignment, this is done by adding a SUB-block which is assigned the global variable
g_dnVertShaftLengthAct_p (current x cycle) at the upper input. The global variable
g_dnVertShaftClutchXOut_p (home position of the clutch) is applied to the lower input. The output of the SUB-block is assigned the global variable
g_dnVertShaftCamDataIn_p (input position for the cam function block
L_CamData). This ensures that the current position of the x cycle is subtracted from the x cycle length which in turn supplies the originally desired negative master value direction of rotation.
Evaluation:
The behaviour described leads to an incorrect status message for the function block
L_CamSetXAxisVelocity. In connection with the cam template, this incorrect status message in turn leads to the error with the number 415 ('XYPosChangeLimit'), meaning that the drive assumes the error status 'Fail QSP'. An additional logic interconnection (see
Short-term measures/recommendations) can be used to ensure that no incorrect status messages are issued.
