Skip to main content

8. CiA402 Drive Profile

8.1 Gear Ratio
Reference units include position reference unit, velocity reference unit, and acceleration reference unit, which set the proportional relationship (gear ratio) between the reference unit (Pos unit, Vel unit, or Acc unit) and the encoder unit (inc) through the corresponding objects. 

image.png

image.png

For Motor encoders with different bit, the setting ranges of the gear ratio are as following:
 Bit of Motor encoder < 20, the setting range is 0.001 to 4000.
 Bit of Motor encoder = 21, the setting range is 0.001 to 8000
 Bit of Motor encoder = 22, the setting range is 0.001 to 16000
 Bit of Motor encoder = 23, the setting range is 0.001 to 32000
 Bit of Motor encoder = 24, the setting range is 0.001 to 64000
If the setting exceeds the above range, A07 (Electronic Gear Error) alarm will occur.

The Motor position feedback (encoder unit) and driving shaft position feedback (reference unit) is in the following relationship:

Motor position feedback = Driving shaft position feedback × Gear ratio

Taking the load ball screw as an example: Minimum reference unit fc=1 mm, Lead pB=10 mm/r,
Reduction ratio n=5:1, 20-bit incremental encoder resolution P=1048576.

The gear ratio is calculated as follows: 

Gear radio = Motor resolution P × n / 𝑝𝐵 =1048576 × 5 /10 = 524288

Therefore, 6093-01h=524288, 6093-01h=1, which means that when the driving shaft displacement is 1, the Motor displacement is 524288.

 

8.2 Device Control
8.2.1 CiA402 State Machine
The Drive uses the IEC 61800-7 CiA402 drive profile over EtherCAT which is often referred to as CoE. This defines the behaviour of the drive for enable, disable command, error conditions and the set of objects used to configure the operation of the drive and expose status information.
The state machine is shown below. 

image.png

The states are described in the following table. 

image.png

image.png

 

The control commands and state switchover are described as follows:

image.png

image.png

 

8.2.2 Stop Modes
The Drive supports 5 stop modes described as below sections.
Quick Stop Option Code (605Ah)
This object determines what operation will be performed if a Quick Stop is executed. 

image.png

The meanings of Value are as follows: 

image.png

 

605Bh (Shutdown Option Code)
This object defines the operation that is performed if there is a move from Operation Enable state to Ready state. 

image.png

The meanings of Value are as follows: 

image.png

image.png

 

605Ch: Disable Operation Option Code
This object defines the operation that is performed if there is a move from Operation Enable state to Switched ON state. 

image.png

The meanings of Value are as follows:

image.png

 

605Dh: Halt Option Code
This object defines the operation that is performed if bit 8 (Halt) in Control Word is active. 

image.png

The meanings of Value are as follows: 

image.png

 

605Eh: Fault Reaction Option Code
This object defines the operation that is performed when an alarm is detected in the Servo System. 

image.png

The meaning of Value is as follows:

image.png

 

8.3 Control Modes
The Drive supports 8 control modes as defined in 6502h

image.png

image.png

 

8.3.1 Modes of Operation
This object is used to select the operation mode. The Servo System gives the actual operation mode in the Modes of Operation Display object. 

image.png

image.png

 

8.3.2 Modes of Operation Display
This object gives the current mode of operation. 

image.png

 

8.3.3 Mode Change
Note the following when changing the control mode.
 After changing from Position Control Mode (PP mode or CSP mode) to other modes, the unexecuted position command will be discarded.
 A ramp stop command is executed when changing from Speed Control Mode (PV mode or CSV mode) or Torque Control Mode (PT mode or CST mode) to other modes. And then, changes to other modes after the stop has been completed.
 It cannot be changed to other modes when the Servo is operating in the Homing Mode, except that the homing operation has been completed or interrupted (Fault or disabled).
 Servo running status, after changing from other modes to CSP mode, CSV mode or CST mode, please send the command at least 1ms interval to avoid loss of instruction or error.
 After changing the modes to Cyclic Sync Mode (CSP mode, CSV mode or CST mode), please wait 1 ms or more before sending the commands, in case losing command loss or error occurred.

8.3.4 Communication Cycle
The communication Cycle Time of all Control Modes (PP, PV, PT, HM, IP, CSP, CSV, and CST) supports an integer multiple of 125μs (e.g. 125μs, 250μs, 500μs, 1ms, and so on). 

 

8.4 Position Control
8.4.1 Profile Position (PP) Mode 

In this mode of operation, the host control uses the trajectory generator (an operation profile calculation function) inside the Drive to perform PTP positioning operation. It executes trajectory generator, position control, speed control, and torque control based on the target position, profile velocity, profile acceleration, profile deceleration, and other information. 

 

Block Diagram

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

Relevant Objects 

image.png

image.png

image.png

image.png

image.png

image.png

 

image.png

 

8.4.2 Interpolated Position (IP) Mode
The Interpolated Position Mode is used to control multiple coordinated axes or to control a single axis that requires time interpolation of the set point data.
This mode normally uses a time (communications) synchronization mechanism to synchronize the Servo Drives. The Interpolation Time Period defines the update cycle of the Interpolation Data (i.e., the interpolation position). The interpolation processing in the Drive is based on this setting. The Interpolation Data is interpreted as an absolute value. 

 

Block Diagram 

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

 

Relevant Objects 

image.png

image.png

image.png

image.png

image.png

 

8.4.3 Cyclic Synchronous Position (CSP) Mode
In this mode of operation, the host controller generates the position references and gives the target position in 607Ah to the Drive using cyclic synchronization. Position control, speed control, and torque control are performed by the Drive.

 

Block Diagram 

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

 

Relevant Objects

image.png

image.png

image.png

image.png

image.png

 

image.png

 

8.5 Homing
8.5.1 Homing (HM) Mode
This mode searches for the home and determines the position relationship between home and zero.
 Home: mechanical home reference point, that is, the encoder C-pulse.
 Zero: absolute zero point in the machine.
After homing is completed, the Motor stops at the home. The relationship between home and zero is set in 607Ch.
Home = Zero + 607Ch (Home Offset)
When 607Ch=0, the zero is the same as the home.

Block Diagram 

image.png

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.
Relevant Objects 

image.png

image.png

 

image.png

image.png

 

image.png

 

8.5.2 Homing Methods
6098h=1 (Use C pulse and negative limit switch)
Servo drive needs to move at first toward negative direction fast till reaching the negative limit switch and then decelerate till stop. And then, servo motor will be bounced back slowly and find the target homing position. Under this homing method, the target homing position is the first C pulse away from the limit switch. 

image.png

6098h=2 (Use C pulse and positive limit switch)
At first servo motor will move fast toward positive direction and decelerate to stop after reaching the positive limit switch. And then servo motor will be bounced back slowly to find homing position. Under this homing method, the target homing position is the first C pulse away from the limit switch. 

image.png

 

6098h=3 or 4 (Use C pulse and positive reference point limit switch)
It is used that reference point limit switch is on positive direction and negative direction is zero. That is on the end of movement positive direction. Servo drive’s initial moving direction is relied on the status of reference point limit switch. The target homing position is on the left side or right side of the reference limit switch. The distance between the reference position switch and homing position is one C pulse. 

image.png

 

6098h=5 or 6 (Use C pulse and negative reference point limit switch)
It is used that reference point limit switch is on negative direction and positive direction is zero. That is on the edge of movement negative direction. Servo drive’s initial moving direction is relied on the status of reference point limit switch. The target homing position is on the left side or right side of the reference limit switch. The distance between the reference position switch and homing position is one C pulse.

image.png

 

6098h=7 to 10 (Use C pulse, reference point limit switch and positive limit switch)
It is used that reference point limit switch is in the middle. And homing is according to C pulse,reference point limit switch and positive limit switch. The final mechanical point is the position of C pulse. 

image.png

 

6098h=11 to 14 (Use C pulse, reference point limit switch and negative limit switch)
It is used that reference point limit switch is in the middle. And homing is according to C pulse,reference point limit switch and negative limit switch. The final mechanical point is the position of C pulse. 

image.png

 

6098h=17 (Use negative limit switch)
It is similar to 6098h=1 (Use C pulse and negative limit switch), except that the target zero position no longer uses C-pulses and depends on negative limit switches. 

image.png

 

6098h=18 (Use positive limit switch)
It is similar to 6098h=2 (Use C pulse and positive limit switch), except that the target zero position no longer uses C-pulses and depends on positive limit switches. 

image.png

 

6098h=19 or 20 (Use reference point limit switch)
It is similar to 6098h=3 or 4 (Use C pulse and positive reference point limit switch), except that the target zero position no longer uses C-pulses and depends on reference point limit switches. 

image.png

 

6098h=21 or 22 (Use reference point limit switch)
It is similar to 6098h=5 or 6 (Use C pulse and negative reference point limit switch), except that the target zero position no longer uses C-pulses and depends on reference point limit switches. 

image.png

 

6098h=23 to 26
It is similar to 6098h=7 to 10 (Use C pulse, reference point limit switch and positive limit switch), except that the target zero position no longer uses C-pulses and depends on reference point limit switches and positive reference point limit. 

image.png

 

6098h=27 to 30
It is similar to 6098h=11 to 14 (Use C pulse, reference point limit switch and negative limit switch), except that the target zero position no longer uses C-pulses and depends on reference point limit switches and positive reference point limit. 

image.png

 

6098h=35 or 37 (Homing on the current position)
In this method, the current position shall be taken to be the home position.

image.png

image.png

 

8.6 Velocity Control
8.6.1 Profile Velocity (PV) Mode
In this mode of operation, the host controller gives the target speed, acceleration, and deceleration to the Drive. Speed control and torque control are performed by the Drive. 

Block Diagram 

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

 

Relevant Objects

image.png

image.png

image.png

image.png

 

image.png

 

8.6.2 Cyclic Synchronous Velocity (CSV) Mode
In this mode of operation, the host controller gives the target speed in 60FFh to the Drive using cyclic synchronization. Speed control and torque control are performed by the Drive. 

Block Diagram

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

 

Relevant Objects 

image.png

image.png

image.png

 

image.png

8.7 Torque Control
8.7.1 Profile Torque (PT) Mode 

image.png

In this mode of operation, the host controller gives the target torque in 6071h and torque slope in 6087h to the Drive. Torque control is performed by the Drive. The Drive regulates the speed when the speed reaches the limit. 

 

Block Diagram 

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

 

Relevant Objects 

image.png

image.png

 

image.png

 

8.7.2 Cyclic Synchronous Torque (CST) Mode
In this mode of operation, the host controller gives the target torque in 6071h to the Drive using cyclic synchronization. Torque control is performed by the Drive. The Drive regulates the speed when the speed reaches the limit. 

Block Diagram 

image.png

 

Speed Limit
The speed limit is determined by the smaller of 6080h value and 607F value.

 

Relevant Objects

image.png

image.png

 

image.png

 

8.8 Torque Limits
The following figure shows the block diagram for the torque limits. The torque is limited by the objects 60E0h and 60E1h. 

image.png

 

Positive Torque Limit Value (60E0h)
This object sets the positive torque limit. Set the value in units of 0.1% of the Motor rated torque.
The positive torque limit value is the smaller of 6072h and 60E0h. 

image.png

 

Negative Torque Limit Value (60E1h)
This object sets the negative torque limit. Set the value in units of 0.1% of the Motor rated torque.
The negative torque limit value is the smaller of 6072h and 60E1h. 

image.png

 

8.9 Digital and Remote I/O Signals
Digital Inputs (60FDh)
This object gives the status of the digital inputs to X4 on the Drive. 

image.png

image.png

image.png

image.png

Digital Outputs (60FEh)
This object controls the status of both general-purpose output signals and remote output signals from X4 on the Drive. 60FE-01h is used to control the status of the output signals. 60FE-02h determines which output signals in subindex 1 are enabled.
The Bit16 to Bit19 in 60FE-01h can only assign to the general-purpose output signals on X4 and set the Bit mask (60EF-02h) to 1 for enabling them. And then, according to the settings of Pn509 and Pn510 to allocate the desired signals, also you can choose whether to reverse them by the setting of Pn516 and Pn517.
For the bits transmitted on the bus, you also need to set Pn512 and Pn513 to enable it.
The Bit24 to Bit27 in 60FE-01h can assign to the remote output signals on X4, and according to the setting of Pn511 to allocate the desired signals, using as a remote IO for the master station. 

image.png

image.png

 

8.10 Touch Probe
You can latch the feedback position with the following trigger events.
 Trigger with Touch Probe Input 1 (EXT1 signal)
 Trigger with Touch Probe Input 2 (EXT2 signal)
 Trigger with encoder zero signal (phase C)
The following two touch probe latches can be used at the same time.
 Touch Probe Input 1
- Latch control object: 60B8h (bits 0 to 7)
- Latch status object: 60B9h (bits 0 to 7)
- The latched position is always stored in touch probe 1 position value (60BAh and 60BBh).
- Trigger signal: Encoder zero signal or EXT1 signal.
 Touch Probe Input 2
- Latch control object: 60B8h (bits 8 to 15)
- Latch status object: 60B9h (bits 8 to 15)
- The latched position is always stored in touch probe 2 position value (60BCh and 60BDh).
- Trigger signal: Encoder zero signal or EXT2 signal.
The relevant objects used in this function are as following: 

image.png

 

The examples of execution procedure for a Touch Probe are as following:
 Single Trigger Mode (60B8h bit1=0, or bit9=0) 

image.png

 

 Continuous Trigger Mode (60B8h bit1=1, or bit9=1) 

image.png

 

60B8h: Touch Probe Function
This object sets the touch probes. 

image.png

The data description is as following. 

image.png

image.png

 

60B9h: Touch Probe Status
This object gives the status of the touch probes. 

image.png

image.png

 

60BAh: TouchProbePos1PosValue
This object gives the latched position of the rising edge for touch probe 1.

image.png

 

60BBh: TouchProbeNeg1PosValue
This object gives the latched position of the falling edge for touch probe 1. 

image.png

 

60BBh: TouchProbeNeg1PosValue
This object gives the latched position of the falling edge for touch probe 1. 

image.png

 

60BCh: TouchProbePos2PosValue
This object gives the latched position of the rising edge for touch probe 2. 

image.png

 

60BDh: TouchProbeNeg2PosValue
This object gives the latched position of the falling edge for touch probe 2. 

image.png

Pn509.3, Pn510.0 parameter
Pn509.3 and Pn510.0 parameters are used to distribute signals to PIN X4-17 and PIN X4-18 respectively, and the set values 8 and 9 correspond to EXT1 (Probe TouchProbe Input 1) and EXT2 (Probe TouchProbe Input 2), respectively. 

image.png

Pn332 parameter
The Pn332 is primarily used to set the filter time of the TouchProbe function input pins。

image.png

 

Pn516.3, Pn517.0 parameter
The user can choose whether to reverse the X4-17 distribution signal and the X4-18 distribution signal through Pn516.3 and Pn517.0 parameters, which needs to be set according to the actual input signal level used。

image.png

 

8.11 Soft Limit Function
This object defines the absolute positions of the limits to the target position (position demand value). Every target position is checked against these limits.
The limit positions are specified in user-defined position reference units, the same as for target positions, and are always relative to the machine home position.
The limit values are corrected internally for the home offset as given below. The target positions are compared with the corrected values.
 Corrected minimum position limit = Min position limit – Home offset (607Ch)
 Corrected maximum position limit = Max position limit – Home offset (607Ch)
The software position limits are enabled at the following times:
 When homing is completed
 When an absolute encoder is connected
The software limits are enabled if Min position limit < Max position limit. 

image.png

 

8.12 Position Comparison Function
The Position Comparison (PSO) function applies the real-time position data to compare it with the values stored in the data array in advance and, when the comparison condition holds, immediately outputs a DO signal with settable pulse width or settable level status for subsequent motion control.

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

 

8.12.1 PSO Function Operation

PSO ON
Set the PSO1 Function bit0 from 0 to 1 to turn on the PSO function. The target comparison point of PSO1 current state is the starting one, and PSO1 State bit0 is set to 1.
Set the PSO1 Function bit0 to 0 to turn off the PSO function. The current comparison status is reset and PSO1 State bit0 is set to 0.

Position Value Resolution
Pn600 is used to set the position value resolution for PSO. The resolution is defined as the number of pulses accumulated by the PSO1 position value for one revolution of the motor. The position value resolution for PSO does not need to be aligned with the encoder resolution, it is only associated with Pn600. The resolution of the position value can be reduced when the position value falls beyond the range of int32.

Comparison Mode Selection
The Pn601 is used to set the comparison mode.
(1) Absolute and Incremental Comparison Mode
Set Pn601.0 to 0: By selecting the absolute position comparison mode, each target comparison point position is absolute. The current position is not reset after each comparison point is completed.
Set Pn601.0 to 1: By selecting the incremental position comparison mode, each target comparison point position is incremental. After each comparison point is completed, the current position is automatically reset and recounted. 

image.png

image.png

 

(2) Single Comparison and Cyclic Comparison
Set Pn601.1 to 0: By selecting the Single Comparison mode, when the point comparison is ended, the comparison enable is turned off automatically and PSO1 State bit0 is set to 0. When setting PSO1 Function bit0 from 0 to 1, the PSO function is turned on again.
Set Pn601.1 to 1: By selecting the Cyclic Comparison mode, when the point comparison is ended, the comparison enable is not turned off, and the comparison point of current state is reset to the starting one for cyclic comparison.
Output Level Polarity
Set Pn602 to adjust the output level polarity.
Set Pn602 to 0: initial level is low, while active level is high.
Set Pn602 to 1: initial level is high, while active level is low.
Output Type Setting
Pn603 is used to set the output type of the PSO.
Set Pn603 to 0: The PSO outputs a pulse signal with a settable width.
Set Pn603 to 1: The PSO outputs a level signal with a settable level. 

image.png

 

Pulse Output Width Setting
When the PSO output type is of a pulse width, the output pulse width can be set via the Pn604, ranging from 1 to 10,000, in 100μs.

Origin Setting
By setting PSO1 Function bit1 from 0 to 1, the current position is updated to the Origin Bias (Pn606), and PSO1 State bit1 is set to 1.
Set both the PSO1 Function bit1 and PSO1 State bit1 to 0.

Single Adjustment of Current Position
After Setting PSO1 Function bit2 from 0 to 1, the current position is adjusted in real time, and the Current Position = Current Position + Adjustment Value (written via 0x30B1). Then, set the PSO1 State bit2 to 1.
Set both the PSO1 Function bit2 and PSO1 State bit2 to 0.

Time Delay Compensation
When the terminal device receiving the PSO DO signal has a response delay, or when there is a delay in the transmission of the PSO DO signal, the delay compensation time can be set via the Pn605 and the PSO output will be output earlier, thereby offsetting the effect of the delay. 

image.png

 

8.13 Absolute Encoder Settings (Fn010, Fn011)
Way to set the absolute encoders:
Set Pn002.2 to 0 when starting the machine initially.
When the alarms A.45~A.48 and A.51 occur, they must be cleared by means of Fn010 and Fn001.
Please use the panel operator or execute the Fn010 and Fn001 functions via the bus. The bus SDO clears the encoder multi-turn or alarm by following means:
 Execute the Fn010 function by writing 1 to object 0x3685, subindex 1 via SDO communication.
 Execute the Fn001 function by writing 1 to object 0x3685, subindex 2 via SDO communication.

image.png