MC_BR_VelocityControl - ACP10
This function block switch the axis into “cyclic velocity control” mode and initializes the associated motion parameters. Consequently, the drive control structure is reconfigured to nullify the influence of the position controller; only the velocity controller and the lower-level current controller remain active. The Lag Error monitoring is disabled.
This function block is suitable for “dancer” applications. Also velocity control with disabled Lag Error and set to limit for maximum torque. The FB operates in two distinct modes:
TorqueMode:
mcFF … Feed-forward torque control: The specified “CyclicTorque” acts as an additive torque setpoint here, which, for example, can be used to apply tension.
mcLIMIT … Torque limiting: The specified “CyclicTorque” acts as a limiting torque setpoint here. The motor will not exceed this torque when accelerating. The can be used, for example, to reduce the maximum torque for a speed-controlled movement without needing additional function blocks (such as [MC_LimitLoad]).
mcFF … This mode is velocity based on the CyclicVelocity parameter. In this configuration, an additive torque may be injected into the controller to enhance its responsiveness. Specifically, the controller can be “sharpened” by adding a torque value via CyclicTorque.
mcLIMIT … This mode also is velocity based on the CyclicVelocity parameter. Here, the CyclicTorque parameter is interpreted as the maximum permissible torque input to the motor. Thus, while a target velocity is set, the torque required to achieve it must not exceed the value defined in CyclicTorque.
The following tests are presented below:
Test 0 - mcFF:
Actual Speed follows CyclicVelocity if CyclicTorque = 0
Test 1 - mcLIMIT:
I set CyclicVelocity = 2 , FB will constantly set the motor speed at 2 units/s.
The CyclicTorque parameter works as a torque limit.
If I grab the motor with my hand, the motor tries to catch up with the desired speed, but it only use the maximum force specified by the CyclicTorque parameter.
The graph then shows that when I brake the motor with my hand, the motor speed decreases (because I hold the shaft with my hand) and the motor torque increases up to the defined maximum value. If I release the motor, it starts up again at the desired 2 units/s.
Test 1a - mcFF:
This test is same like Test 1 - mcLimit, but the mode is set to mcFF , where the CyclicTorque parameter acts as an additive component to the controller. Here, CyclicTorque = 0, meaning the additive torque component is also zero.
Test 2b:
Similar to Test 1 - mcLimit/mcFF, but the mode is mcFF with CyclicTorque serving as an additive component set to 1. Thus, in mcFF mode with CyclicTorque = 1, the additive torque component is +1 Nm. Consequently, the torque should be 1 Nm higher than in Test 1a, a fact corroborated by the graph.
Test 2 - mcFF:
CyclicTorque is held constant at 5 while the Set Speed is varied (0-1-0-2-0-3). By injecting an additive torque value, the motor accelerates to unspecified speeds. In this scenario, an additive torque of 1 corresponds to a speed of 0.25 units/s. When CyclicVelocity is increased from 0 to 1, the ActualVelocity does not reach 1 but rather 1.27, precisely because the additive torque component remains active with CyclicTorque = 1.
Test 3 - mcFF:
CyclicVelocity is held constant at 0 while CyclicTorque is changed . So parameter CyclicTorque changing additive torque value, the motor accelerates to unspecified speeds. Here, an additive torque of 1 corresponds to a speed of 0.028 units/s. As CyclicTorque is adjusted, the motor speed changes accordingly, as the motor develops the specified additive torque.





