User-defined units
The controller supports the possibility to set user-defined units. It is thereby possible to set and read out the corresponding parameters, e.g., directly in degrees [°], [mm], etc.
Calculation formulas for user units
Position information
All position values in open loop and closed lop mode are specified in the resolution of the virtual position encoder. This is calculated from the virtual encoder increments (608Fh:1h (Encoder Increments)) per motor revolutions (608Fh:2h (Motor Revolutions)):
If value 608Fh:1h or value 608Fh:2h is set to "0", the controller uses "1" in subsequent calculations. The factory settings are:
Example |
|
608Fh:2h is set to the value "1", 608Fh:1h is set to the value "2000" (default). Thus, the user unit is 2000 increments per revolution. For a stepper motor with step angle of 1.8°, this corresponds to the one tenth step mode. | |
With a target position (607Ah) of 2000, the motor moves exactly one mechanical revolution |
The physical resolution of the connected position encoder (of the present feedback in general) is set in object 2052h or determined by Auto setup.
Gear ratio
Feed constant
The feed constant is calculated from the feed (6092h:1 (Feed Constant) per revolution of the drive axis (6092h:2 (Shaft Revolutions) as follows:
This is helpful for specifying the lead screw pitch for a linear axis.
If object 6092h:1 or object 6092h:2 is set to "0", the firmware sets the value to "1".
Position
Speed
The speed presets of the following objects can also be specified in user units:
Object | Mode | Meaning |
---|---|---|
606Bh | Profile Velocity Mode | Output value of the ramp generator |
60FFh | Profile Velocity Mode | Speed preset |
6099h | Homing Mode | Speed for searching for the index / switch |
6081h | Profile Position Mode | Target speed |
6082h | Profile Position Mode | Final speed |
2032h | Profile Torque | Maximum speed |
The internal unit is revolutions per second (rps).
The factor n for the speed is calculated from the factor for the numerator (2061h) divided by the factor for the denominator (2062h).
When entering values, the following applies correspondingly: Internal value = nspeed x input value
When outputting values, the following applies correspondingly: Output value = internal value / nspeed
Example |
|
2061h is set to the value "1", 2062h is set to the value "60" (default). Thus, the user unit is "revolutions per minute" and nspeed = 1/60. | |
If 60FFh is written with the value "300", the internal value is set to 300 rpm x 1/60 = 5 rps. | |
If the motor turns at an internal speed of 5 rps, object 606Bh is set to a speed of 5 / 1/60 = 300 rpm. |
Acceleration
The acceleration can also be specified in user units:
Object | Mode | Meaning |
---|---|---|
609Ah | Homing Mode | Acceleration |
6083h | Profile Position Mode | Acceleration |
6084h | Profile Position Mode | Braking deceleration |
60C5h | Profile Velocity Mode | Acceleration |
60C6h | Profile Position Mode | Braking deceleration |
6085h | "Quick stop active" state (CiA 402 Power State Machine) | Braking deceleration |
The internal unit is revolutions per second2 (rps2).
The factor n for the acceleration is calculated from the scaling factor for the numerator (2063h) divided by the scaling factor for the denominator (2064h).
When entering values, the following applies correspondingly: Internal value = nacceleration x input value
If object 2063h or object 2064h is 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 Profile Position Mode and Profile Velocity Mode.
The internal unit is revolutions per second3 (rps3).
The factor n for the acceleration is calculated from the factor for numerator (2065h) divided by the factor for the denominator (2066h).
When entering values, the following applies correspondingly: Internal value = njerk x input value
If object 2065h or object 2066h is set to "0", the firmware sets the value to "1".