CL3-E CANopen/USB Technical Manual

User-defined units

Overview

Settings

The motor controller supports the possibility of setting user-defined units. In this way, the corresponding parameters can be set and read out directly in degrees, mm, etc.

Pole pair count compensation

Differences in the pole pair counts of motors can be compensated. For this purpose, the value in object 2060h must be set to "1". Then the pole pair count automatically enters the subsequent computation so that different motors can be operated on the motor controller without requiring a new configuration.

Factor

There is a factor for the units velocity, acceleration and jerk. It gets either multiplied by the input value or divided by the output value.

Computation formulas for user units

Gear ratio

The gear ratio is calculated from the motor revolutions (6091h:1h (Motor Revolutions)) per shaft revolution (6091h:2h (Shaft Revolutions)) as follows:

If object 6091h:1h or object 6091h:2h are set to "0", the firmware sets the value to "1".

Feed constant

The feed constant is calculated from the feed (6092h:1h (Feed Constant) per revolution of the drive axis (6092h:2h (Shaft Revolutions) as follows:

This is useful to indicate the spindle pitch of a linear axis.

If object 6092h:1h or object 6092h:2h are set to "0", the firmware sets the value to "1".

Position

The current position in user units (6064h) is calculated as follows:

Speed

The speed specifications of the following objects can likewise be specified in user units:


Object Mode Meaning
606Bh Profile Velocity Mode Output value of ramp generator
60FFh Profile Velocity Mode Speed specification
6099h Homing mode Speed for searching the index/switch
6081h Profile Position Mode Target speed
6082h Profile Position Mode End speed

The internal unit is rounds per second.

The factor n for the speed is calculated by the factor for the numerator (2061h) divided by the factor for the denominator (2062h).

For the input of values it is applied: internal value = nvelocity x input value

For the output values it is applied: output value = internal value / nvelocity

Example

  2061h is set to the value "1", 2062h to the value "60". Therefore the user unit is "Rounds per minute" and nvelocity = 1/60.
  When the 60FFh is set to the value "300", the internal value will get set to 300 r/min x 1/60 = 5 r/s.
  When the motor turns with a internal speed of 5 r/s the object 606Bh will get filled with a speed of 5 / 1/60 = 300 r/min.

If object 2061h or 2062h is to be set to "0", the firmware sets the value to "1".

Acceleration

The acceleration can also be output in user units:


Object Mode Meaning
609Ah Homing mode Acceleration
6083h Profile Position Mode Acceleration
6084h Profile Position Mode Deceleration
60C5h Profile Velocity Mode Acceleration
60C6h Profile Position Mode Deceleration
6085h "Quick stop active" state (DS402 Power State machine) Deceleration

The internal unit for acceleration is rounds per second2.

The factor n for the acceleration is calculated by the factor for the numerator (2063h) divided by the factor for the denominator (2064h).

For the input of values it is applied: internal value = nacceleration x input value

Example

  2063h is set to the value "1", 2064h to the value "60". Therefor the user unit is "rounds per second per minute" and nacceleration = 1/60.
  When the 60C5h gets set to the value "600", the internal value will get set to 600 r/(s*min) x 1/60 = 10 r/s2.

If object 2063h or 2064h is to be set to "0", the firmware sets the value to "1".

Jerk

For the jerk, objects 60A4h:1h to 60A4h:4h can be specified in user units. These objects only affect the Profile Position Mode and Profile Velocity Mode.

The internal unit for jerk is rounds per second3.

The factor n for the acceleration is calculated by the factor for the numerator (2065h) divided by the factor for the denominator (2066h).

For the input of values it is applied: internal value = njerk x input value

Example

  2063h is set to the value "1", 2064h to the value "60". Therefore the user unit is set to "rounds per seconds2 per minute" and nJerk = 1/60.
  When the 60A4h is set to "500", the internal value will get set to 500 r/(min * s2) x 1/60 = 8,3 r/s3.

If object 2065h or 2066h is to be set to "0", the firmware sets the value to "1".

Positional data

All positional values in the open loop and closed loop mode are specified in the resolution of the virtual position encoder. This is calculated from the encoder cycles (608Fh:1h (Encoder Increments)) per motor revolutions (608Fh:2h (Motor Revolutions)) multiplied by the polarity of the axis in object 607Eh bit 0. If bit 0 in object 607Eh is set to the value "1", this corresponds to a polarity reversal, or the value "-1" in the formula:

If the value of 608Fh:1h or 608Fh:2h are set to "0", the motor controller continues computing internally with a "1". The factory settings are:

  • Encoder increments 608Fh:1h = "2000"
  • Motor revolutions 608Fh:2h = "1"
  • Polarity 607Eh bit 0 = "0" (does not correspond to a polarity reversal)

The resolution of the connected position encoder is set in object 2052h.

▶   next

Contents