CMC_SInterpolation

../_images/9154211e085012a10a317d3133bf279c

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.

Behavior of inputs
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.
Behavior of outputs
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.

../_images/dcdfc1f1087240440a317d313775c701

Cycle time which was used for a PM590 when calculating 100 simple axes in a PLC task and priority 10.