Encoder - Baseline Parameters

ID Label Type #Val Min Max Attr Description

10200

Encoder software configuration

Uint32

 

 

 

 

Encoder software configuration word. This configuration word applies generically to all different types of encoders, e.g., incremental or Precise Absolute. The following are the bit definitions:

   bit 0 - set to disable reporting of encoder index errors. If this bit is set, the index testing still occurs but errors are not reported. If you wish to disable index testing and error reporting, see "Encoder counts used for resolution calc, ecnt" (DataID 10203). Leaving index testing enabled but disabling the error reporting by setting this bit is useful if you use the index marks for the homing operation, but index detection is unreliable at high speeds.
   bit 1 - enable dynamic dual-loop slippage adjustment (see DataID 10211)
   bit 2 - enable filtering of the encoder position value.  This should be turned on for conveyor belt encoders and SHOULD NOT be turned on for standard servoed axes. For conveyor encoders, the position of the encoder is feed into the setpoint of the robot that is tracking the belt.  Any roughness in the conveyor encoder position will generate oscillations in the motion of the robot.  When this bit is set, the encoder position is filtered in such a way that its value is smoothed with minimum lag if the conveyor is moving at a continuous speed.  See "Filtered position tracking effort" (DataID 10217).
   bit 3 - force servo to use velocity feedback from EtherCAT slave instead of generating velocity locally.
   bit 4 - disable position tolerance check during homing.
   bit 5:31 - (reserved)

10201

Encoder type

Int8

 

 

 

RO

Encoder type, which is used to invoke the proper system drivers. The following encoder types are supported:

   0 - Generic incremental encoder
   2 - Sine/Cosine analog encoder
   10:19 - Precise absolute encoder
              10 = linear scale
              11 = rotary encoder
   20:29 - Yaskawa serial absolute encoders
              20 - Sigma II 16-bits per revolution
              21 - Sigma II 17-bits per revolution
              22 - Sigma II 20-bits per revolution
              23 - Sigma III 20-bits per revolution
              24 - Sigma III 17-bits per revolution
              25 - Sigma III 22-bits per revolution
              26:29 - (reserved)
   30:39 - Heidenhain encoder family
              30 - EQN1135, EnDat 2.2, 23/35-bit serial absolute
              31 - EQI1130, EnDat 2.1, 18/30-bit serial absolute
              32:39 - (reserved)
   40:44 - Panasonic or Bosch encoder family
              40 - Minas-A4 or Bosch 17/33-bit serial absolute
              41 - Minas-A4 serial incremental
              42 - Panasonic 17/32-bit Bus Line serial absolute
              43 - Panasonic A5 20-bit serial incremental
              44 - Panasonic A6 23/39-bit serial abs/inc encoder
   45:49 - Tamagawa encoder family
              45 - Tamagawa 17/33-bit absolute encoder
              46 - Tamagawa 17-bit serial incremental
              47 - Tamagawa reduced wiring incremental with startup hall signals
              48 - Tamagawa 23/39-bit serial absolute encoder
              49 - (reserved)

50:59 – Panasonic encoder family

              50 – Panasonic A5 20-bit absolute encoder
60:69 - Nikon A 17/33-bit absolute encoder family
              60 - Nikon A Format encoder, 4MHz
              61 - Nikon A Format encoder, 2.5MHz.  Also supports Sanyo Denki PA035C absolute encoders.
   70:79 - SSI/BiSS serial encoders
              70 - SSI, n-bit encoder
              71 - BiSS-B n-bit encoder
              72 - BiSS-C n-bit encoder
   80: - EtherCAT feedback
              80 - 32-bit feedback

See "Encoder type" (DataID 10027) to set the encoder type.

10202

Encoder sign, +/- 1

Flt32

 

 

 

 

NP

Encoder sign that dictates in which direction the encoder will count up or down.  This parameter can be arbitrarily set.  However, to avoid confusion, it is highly recommended that this be set such that the encoder counts up when the axis (as defined by the robot's kinematic module) moves in a positive direction. Note, this parameter must be updated in conjunction with the torque sign (DataID 10609) in order avoid positive feedback in the servo loop, and therefore, an axis run-away situation.

10203

Encoder counts for resolution calc, ecnt

Uint32

 

 

 

 

Encoder counts between two consecutive indices. DataID 10203 and 10204 are only used by the system to compute the number of encoder counts between indices, DataID 10205. DataID 10205 is computed as (DataID 10203)/(DataID 10204).

To disable index testing and error reporting, DataID 10203 should be set to 0. To leave index testing enabled but only disable index error reporting, see "Encoder software configuration" (DataID 10200).

For compatibility with some standards, DataID 10203 and 10204 are specified as unsigned integer numbers Normally, there is one zero index per revolution so 10204 is set to 1. Then, 10203 is set equal to the number of encoder counts for one revolution.

10204

Encoder revs for resolution calc, rev

Uint32

 

 

 

 

10205

Encoder counts between indices, ecnt

Flt32

 

 

 

RO

10206

Encoder to motor scale factor, mcnt/ecnt

Flt32

 

 

 

 

NP

Scale factor from encoder counts to motor counts. Typically the encoder is mounted directly on the motor and there is a 1:1 correspondence. So, the encoder count and the motor count are basically the same thing, and the scale factor is 1. However, in the situation where the encoder and the motor coupled through gears, this parameter must be used to correlate the encoder counts (per encoder revolution) to motor counts (per motor revolution).

10207

Motor velocity SPR filter pole, Hz

Flt32

 

 

 

 

The pole frequency of a SPR (Single-Pole Rolloff) filter. This parameter is used to filter the velocity reading, which is derived from the encoder position.  This filter does NOT affect the operation of the PID loop.  This filter is used for other purposes, such as:

   1. Determining if the motor is spinning too fast and is violating the "Run-time speed limit" (DataID 10208) or the "Manual mode speed limit" (DataID 10209).  This can cause an "Axis over-speed" (-3106) error.
   2. Estimating the projected position of a conveyor belt.
   3. Adjusting the motor current loop if the "Motor Back_EMF" (DataID 10658) compensation is enabled.

The servo default for the filter pole is set at 100 Hz.

10208

Run-time speed limit, mcnt/sec

Flt32

 

 

 

 

 

10209

Manual mode speed limit, mcnt/sec

Flt32

 

 

 

 

10210

Special power-up speed limit, mcnt/sec

Flt32

 

 

 

 

Special over-speed limit used during power-up sequence. This speed limit is used to check for excessive motion during power-up. Typically, in a power-up sequence, the amplifier is enabled before the position servo is enabled. During this period of time if either the torque sign is not set correctly (which would cause a run-away situation) or there is an excessive DAC offset (for a +/- 10V DAC interface to 3rd party amplifier), the motor would drift if there is no brake. This parameters ensures that if the position drift is excessive, the power-up sequence is stopped.

Recommendation: the setting for this parameter should correspond to roughly 0.1 RPS at the motor shaft.

10211

Enable dynamic slippage adjustment

Uint16

 

 

 

 

(Dual-loop) These parameters are used for dual-loop encoder axes for traction drives where some amount of slippage is expected and permissible.

A dual-loop configuration consists of two encoders controlling a single axis. Typically, one of the encoders is used for motor commutation, and the other encoder is used for position control. Depending on the drive train setup, there could be slippage between the two encoders when the axis is in motion. This is particularly so if the drive train is friction based. The dynamic slippage adjustment ensures that the minor encoder (used for motor commutation) tracks the major encoder (used for the position servo). The slippage amount at each servo update is used to ensure that the friction drive is still properly engaged. If the slippage limit, as defined by DataID 10212, is exceeded, an excessive slippage error will be triggered. If the slippage adjustment is disabled, then DataID 10212 is ignored and no error will be trigger if there is too much slippage.

The slippage amount is calculated in the major encoder space. The minor encoder reading is converted into the major encoder space before slippage is calculated. Therefore, the "Minor to major encoder scale factor" (DataID 10213) must be defined.  Note that slippage usually happens during high axis acceleration or deceleration.

This adjustment should not be enabled if the hardware configuration does not have slippage (i.e. it is not a friction drive).

These parameters have no effect if the axis is in a single-loop setup.

10212

Dual loop position slippage limit, mcnt

Flt32

 

 

 

 

10213

Minor to major encoder scale factor

Flt32

 

 

 

 

(Dual-loop) This scale factor must be defined if dual-loop slippage detection or adjustment is enabled.  It defines the relative number of encoder counts generated by the dual loop encoders and is used to determine if the encoders are moving synchronously or if slippage is occurring.

To compute this factor, for a change in axis position, divide the number of encoder counts generated by the major encoder (the unit used for position controlling the axis) by the encoder counts generated by the minor encoder (the unit used for motor commutation). 

For example, if the encoder used for motor commutation (the minor encoder) has a resolution of 10000 counts per revolution and the encoder used for position control (the major encoder) changes by -60000 counts when the motor rotates one revolution, this parameter should be set to -6.

10214

Major to minor encoder scale factor

Flt32

 

 

 

RO 

10215

Encoder hardware configuration word

Uint16

 

 

 

RO 

Encoder hardware configuration word. This configuration word applies generically to all different types of encoders. Following are the bit definitions:

   bit 0 - (reserved)
   bit 1 - enable analog encoder input (not supported)
   bit 2:4 - configuration of dedicated DIN signals on each encoder connection (see DataID 10108 for details)
   bit 5:15 - (reserved)

10216

Dual loop speed slippage limit, mcnt/sec

Flt32

 

 

 

 

(Dual-loop) Enables checking of the speed slippage of a dual-loop axis setup. By default this value is set to 0, which disables the checking. For both traction drives and those with a hard coupling, it’s advisable that this limit be set. If excessive speed slippage between the major encoder and the minor encoder is detected, then the servo will issue a severe error that will cause the arm power to be turned OFF immediately. For a traction drive, this situation can occur when the axis runs into a hardstop and the drive mechanism loses traction, in which case, the axis will stop but the motor will spin up due to the torque build-up.  For a drive with a hard coupling, this error can occur if the major encoder fails and the axis begins to runaway.

10217

Filtered position tracking effort

Flt32

 

 

 

 

(Conveyor tracking) When bit 2 of the “Encoder software configuration” (DataID 10200) is set, this parameter specifies how much filtering is applied to the encoder position. Higher values result in more accurate tracking but more noise in the signal. Lower values yield greater smoothness but larger position tracking errors. The range for this value is 0 to 500. The default is 25.