The connection to a drive must be done with the inputs and outputs of the function block CMC_Basic_Kernel. All inputs and outputs of the kernel function block with the prefix “Drive_” are intended to be used with a drive, but in some cases not all of them are needed. In all cases the input Drive_ActualPosition has to be connected with the actual position of the axis. This value can be received by an I/O module of the PLC or via a fieldbus.
Depending on which device closes the position control loop either the output Speed_Reference or Position_Reference output has to be used. The value of Speed_Reference can be connected to an analog output module or be transferred via a fieldbus. The value of Position_Reference should be exclusively sent via a real-time fieldbus like EtherCAT.
Example 1: Analog drive - Motor with incremental encoder
In the example the position control loop will be closed by the PLC, therefore the input Drive_ActualPosition and the output Speed_Reference are to be used.
In combination with the I/O module CD522 and the corresponding function block CD522Encoder32Bit the position of the encoder can be used. For the effective resolution of the encoder parameter Inc_Per_R of the parameter function block has to be used.
The output Speed_Reference can be written directly to the global variable of an output channel of an analog module but can also be transferred via a fieldbus. The scaling of this output value can be done with the parameters Ref_Max and Max_Rpm of the function block CMC_Axis_Control_Paramter_Real.
The scaling of the Speed_Reference value can be set with the inputs Ref_Max and Max_Rpm of the parameter function block.

In order to finish a homing sequence which is done by the function block MC_StepRefPulse the outputs Drive_Set_Ref and Drive_Set_Position from the kernel function block have to be connected with the inputs EN_RPI and START_VALUE of the CD552 I/O module function block. Also the output RdyRpi of the CD552 I/O module function block has to be connected with Drive_Ref_Ok from the kernel function block.
To enable and disable the drive Drive_Release could be connected to a binary output to activate the drive. Drive_InOperation could be connected to a binary input to get the information that Drive_Release was successful.
Example 2: Servo Drive - Microflex e190 via EtherCAT in continuous positioning mode (csp)
In the example the position control loop will be closed by the drive, therefore the input Drive_ActualPosition and the output Position_Reference are to be used. The inputs referring to the position control loop of the parameter function block do not have to be set.
For the effective resolution of the motor’s encoder parameter Inc_Per_R of the parameter function block has to be adjusted.

To enable and disable the drive Drive_Release and Drive_Inoperation have to be connected to the control function block ECAT_CiA402_Control_App of the library ABB_Ecat_CiA402_AC500.library, which controls the status and control word of the drive.
All function blocks from this library are not password protected and free to be changed in order to be adapted for different drives. The library and the function blocks are marked with the ending _APP.