Encoder - 3rd Party Absolute Encoder Parameters

ID Label Type #Val Min Max Attr Description

10250

(Obsolete)

 

 

 

 

 

 

10251

Ignore encoder battery alarm during homing

Uint16

 

 

 

 

If this DataID is non-zero, the servo code will skip reporting battery related errors during homing.  This parameter can be used to override a battery error and continue running an application if no battery is available.

WARNING:  Setting this parameter may result in an incorrect home position if a battery error exists .

For Panasonic, Tamagawa and some other types of encoders, when this value is non-zero and the system is booted, battery errors will also be ignored and will not generate an error.

Independent of the setting of this parameter, battery alarms can always be detected by sampling the "Encoder alarms" (DataID 12251).

10252

Min. accel time to 5000 RPM, msec

Uint32

 

-1 

50

 

This minimum time defines the acceleration / deceleration limit for the position feedback from a serial encoder.  If more than eight consecutive over limits are detected, the servo will generate an "Encoder data or accel/decel limit error" (-3134). The goal of this detection is not to limit an axes acceleration or deceleration, but to detect corrupted serial encoder position data.  If less than eight consecutive over limits are detected, the servo will estimate the encoder position and allow the motion to be executed in the standard fashion.  Each time an over limit is detected, the "Absolute encoder total # of bad readings" (DataID 12269) for the encoder will be incremented.

The default is set to 3 msec, which is good for a typical system with a medium load.  For high acceleration/deceleration requirements, this value can be reduced.  For example, if the encoder has 131072 counts per revolution, 5000RPM is 10923 counts/msec.  Since the servos typically run at 8khz, this is 1365 counts/servo_cycle.  If parameter 10252 is set to 3 msec (24 servo_cycles), the encoder speed must change by 56.9 counts per servo cycle to achieve a speed of 1365 counts/servo_cycle in 3 msec.  So, in any servo cycle, if the speed (note, this is not the position) of the encoder changes by more than 56.9 counts, a limit error will be detected.

A value of 0 disables this check completely.  In this case, if the position data is corrupted and undetected, an "Axis over-speed" (-3106), "Soft envelope error" (-3122) and/or "Hard envelope error" (-3100) may occur.

A value of -1 disables reporting the -3134 error when an over limit error occurs and the servos will estimate the encoder position as necessary.

10253

Multi turn counts per rev
(Obsolete in GPL 4.2)

Uint16

 

 

 

 

(Obsolete in GPL 4.2. Use DataIDs 10258-10260 instead) If an absolute encoder has a multiple turn counter that counts up or down by more than 1 count for each revolution of the encoder, these two parameters are used to convert the multi-turn counter into a regular 1 count per revolution counter. This is important for proper absolute position calculation during the homing operation.

The actual "Multi-turn data" (DataID 12254) is calculated as followings:

    (DataID 12254) = (Int32)((multi turn value from encoder) + (DataID 10254)) / (DataID 10253)

The following encoders currently require this special correction calculation:

    Heidenhain EnDat encoder EQN1135 (type 30)

The default value for "Multi turn counts per rev" is 1 and "Multi turn count offset" is 0.

10254

Multi turn count offset
(Obsolete in GPL 4.2)

Uint16

 

 

 

 

10256

Default sync. command setting

Uint16

 

 

 

 

This is a special diagnostic parameter that specifies the default command used in serial encoder synchronous communications. This feature is only supported as a debugging feature in some serial encoder interfaces. Normally there is no need to specify the default synchronous command for serial encoders unless instructed by the Precise support team.

This parameter is not saved in the system PAC files.

10257

Encoder hardware filter config

Uint16

 

 

 

 

This parameter specifies the divisor for the serial encoder filter clock. The divisor allows different filter frequencies to be used in the serial data transmission. It is applied to a 32Mhz clock to generate the desired filter frequency.

If this parameter is set to 0, no filtering is applied.

The divisor value is set in bits 4-9 of this parameter and the rest of the bits are ignored.

The default is no filter applied.

10258

Number of single turn data bits

Uint16

 

 

 

 

(SSI/BISS/ENDAT encoders) Defines the number of encoder position data bits that correspond to a single turn of the encoder.

This parameter is currently only valid for selected serial encoder types and requires special firmware. If the specified encoder type cannot be configured with this parameter, this parameter value is forced to 0.

To enable this parameter, the minimum value is 2 and the maximum value is 31.

WARNING: Incorrectly setting this parameter will cause communication failure and/or unexpected encoder behavior.

10259

Misc. serial encoder configuration bitmask

Uint16

 

 

 

 

This bit mask is used by various serial encoders to configure special features. Typically, these special features deal with minor variations in the serial encoder communication protocol. The following are the currently supported settings:

   bit 0 - If set, warning and error bits in the SSI/BiSS protocol are active high.  If not set, these bits are active low.  By default, this bit is not set.

   bit 1 - If set, the multi-turn counter data in the encoder is reset to 0 and ignored.  This feature will correctly operate on any serial encoder that utilizes the -9 homing method.

   bit 2 - If set, the encoder's single turn data LSB always reads 0 and is ignored by the controller. This setting is currently only used by the Endat 19/16 encoder.

10290

Number of multi-turn data bits

Uint16

 

 

 

 

(ENDAT encoders) Defines the number of encoder position data bits that correspond to the multiple turn counter of the encoder.

This parameter is currently only valid for selected serial encoder types and requires special firmware. If a specified encoder type cannot be configured with this parameter, this parameter value is forced to 0.

The minimum value for this parameter is 0 and the maximum value is 31.

WARNING: Incorrectly setting this parameter will cause communication failure and/or unexpected encoder behavior.