Greetings, colleagues!
Can you tell me, please, how I can switch the axis control mode to speed control mode with cyclic speed setpoint in ACP10 system?
Hello Pavel,
it would be easiest to use this function block from the Acp10_mc library:
MC_BR_VelocityControl
A similar function block exists in mapp Motion:
MC_BR_VelocityControl
Either function block initializes all necessary parameters, sets the controller mode to speed control und you only have to set the speed at the function block input.
Thank you, Martin. I will think about this option.
Alas, the switching of the speed values is done via the MUX block on the Acopos. I need, on the one hand, to set the switching time to the new setpoint accurately enough and, on the other hand, to arrive at it as smoothly as possible.
I was thinking of using MC_BR_MoveCyclicVelocity with a given VelocityParID and at the same time disabling the position controller.
Can you describe your use-case in detail?
What does the MUX block switch between, when and why and how?
Maybe we can find another, better solution.
Using MC_BR_MoveCyclicVelocity is tricky because it is used with position control mode. “Deactivating” the position controller by setting Kp = 0 and lag error limit very high could still result in a lag error after a long time.
An additional external absolute encoder is connected to the ACOPOS P3 via an expansion module. In certain sectors of the external encoder values, I change the speed reference for the real axis connected to the same drive using MUX. (Program in ACOPOS function blocks).
The speed setpoints are stored in VAR_R4_0 and VAR_R4_0+1 and can be overwritten from the program on the PLC.
In the MC_BR_MoveCyclicVelocity block, the MUX output is set as VelocityParID.
I want to soften the transient process and minimize overshoot.
Addendum
The sector coordinates are also stored in VAR_I4_xx and can be changed from the program on the PLC.
The MUX functions block has two modes for smooth(er) transition, 3 and 4.
MUX
Either will prevent a velocity jump at the transition.
Using MC_BR_MoveCyclicVelocity and VelocityParID the position set value generator and position controller are active on the drive, which means that acceleration jumps, at the start and end of the velocity transition, can be smoothened with “limit.parameter.t_jolt”.
Thank you, Martin!
I think that’s just what I need!