How to Use an Encoder/Drive with <> 32 Bit Position Overrun

The incremental position as actual position at the Function Block CMC_MOTION_KERNEL_REAL is usually assumed as position with a 32 bit position overrun. As well as it is the reference position which is sent to the drive.

Any modulo-axis configuration should be done inside the PLC.

Some drives are requested to correct their positions themselves for a non-linear axis which should constantly run into the same direction.

In this case, the drive has to be configured as a modulo-axis and the Function Block CMC_MOTION_KERNEL_REAL needs some additional Function Blocks to create the 32 bit value Central Motion Control (PLC-Based).

../_images/b1df0b68a5b3be1f0a317f342a8c000f

Kernel

The Function Block ZCMC_MODULO2BINARY will convert any position with any MODULO_RANGE to a 32 bit binary position.

The actual_position is assumed to run between 0 to MODULO_RANGE.

The actual_position should not change > 1/4 MODULO_RANGE between two scan cycles.

The Function Block ZCMC_MODULO2BINARY will convert the 32 bit binary position reference from CMC_MOTION_KERNEL_REAL to a position reference which runs from 0 to MODULO_RANGE.