CMC_SInterpolation¶
The function block can be used for a simple interpolation. Alternatively, the function block CMC_SIPosi_Loop can be used CMC_SIPosiLoop.
The function block allows to create a very simple, basic axis for linear movement. The function block can be either used independent to create a basic axis with/without position control loop or it can be used in combination with PLCopen function blocks.
The function block creates a positioning interpolation towards TargetPosition and uses the given velocity and acceleration values. The funciton block has to be used within the real-time cycle, same as CMC_MOTION_KERNEL_REAL. The result is given to output Position.The TargetPosition and also Velocity and Acceleration can be changed anytime and will be used at once. With Enable = FALSE, the funciton block sets the output Position to ActualPosition, this is similar to an open loop.
Enable | Stop | Behavior |
---|---|---|
FALSE | - | Output Position = ActualPosition |
TRUE | FALSE | Interpolates output Position to reach TargetPosition with the given velocity and acceleration. |
TRUE | TRUE | Ramps down to velocity = 0. |
InSync | Active | Behavior |
---|---|---|
FALSE | TRUE | Function block is activated, position and velocity is not yet reached. |
TRUE | FALSE | Funciton block is activated, position is reached, output Position = TargetPosition. |
FALSE | FALSE | Funciton block is either disabled or stopped, velocity = 0. |
Use in Combination with MC_MoveByExternalReference
This way, a positioning axis can be created with modifying the parameters for positioning “on the fly”, without the need of a certain statemachine to follow.
Use in Combination with MCA_SetDynamicFollower
The function block will smooth the movement when a group has to follow a conveyor. It will create defined ramps to accelerate to the conveyors position and also can be used to prevent a position jump when switching between 2 conveyors or before switching of the follower.
Use to Create a Simple, Basic Positioning Axis
A very basic, simple positioning axis can be created this way. Be aware that there is not additional check if the axis really follows, also no scaling for the position is included. If function block CMC_SIPosiLoop is used, it will check for position or velocity following error.
Cycle time which was used for a PM590 when calculating 100 simple axes in a PLC task and priority 10.