Servo General Configuration Parameters

ID Label Type #Val Min Max Attr Description

10000

Servo module name

String

 

 

 

RO

 

 

 

Servo module build information.

 

 

 

10001

Servo module build time

String

 

 

 

RO

10002

Servo module build directory

String

 

 

 

RO

10003

Servo version number

Uint8

 

 

 

RO

10004

Servo revision number

Uint8

 

 

 

RO

10005

Servo edit letter

String

 

 

 

RO

10006

Servo fork number

Uint8

 

 

 

RO

10007

Servo debug trace message

Int16

 

 

 

 

Enable/disable trace message display of an specified operation. To enable multiple traces, one must re-issue this data ID, each time with a different trace value. Following are the available trace values:

   0 - disable ALL trace messages
   1 - display servo tasks related message
   2 - display async device command related message
   3 - display servo error reporting related message
   4 - display high power sequencing message
   5 - display calibration (homing) related message
   6 - display board-level operation related message
   7 - display axis-level operation related message
   8 - (reserved)
   9 - display encoder feedback related message
   10 - display amplifier operation related message
   11 - display motor commutation related message
   12 - display command generation related message
   13 - display feedback compensation related message
   14 - (reserved)
   15 - (reserved)
   16 - (reserved)
   >=17 - enable ALL trace messages

A negative trace value suppresses the trace message for that particular operation. For example, if the input value is -4, then high power sequencing related trace messages will be suppressed. The trace messages are displayed on the console.

Beware that the message display will affect servo execution time and performance. So, normally this data ID value should be set to 0, i.e., disable all trace messages

10008

Servo board configuration code

Uint16

 

 

 

 BT

As a convenience, when the system is restarted, this parameter can automatically set the values of the primary servo configuration parameters, DataID's 10020 to 10048, to values appropriate for a number of common controller configurations.  If this value is <0, the configuration values defined by DataID's 10020 to 10048 are unmodified and are utilized "as is" when the system is restarted.  If this value is >=0, the values of DataID's 10020 to 10048 are set to values appropriate for the following configurations when the Guidance 3400 controller is restarted:

  <0 - Leave DataID's 10020 to 10048 unchanged
    0 - (default) 4 single loop axes, 2 auxiliary feedback axes
    1 - (PrecisePlace 1300 Beta 1, blinking light at top of Z-axis) 2 dual-loop axes, 1 single loop axis
    2 - (PrecisePlace 1400 Beta 1, blinking light at top of Z-axis) 2 dual-loop axes, 1 single loop axis, 1 dual-loop axis
    3 - 1 single loop axis
    4 - 2 dual-loop axes
    5 - 1 dual-loop axis
    6 - 2 dual-loop axes, 2 single loop axes
    7 - (PrecisePlace 1300, blinking light at top of Z motor) 2 dual-loop axes, 1 single loop axis
    8 - (PrecisePlace 1400, blinking light at top of Z motor) 2 dual-loop axes, 1 single loop axis, 1 dual-loop axis
    9 - (Guidance 0400) Up to 4 3rd party amplifiers and no integrated drives
   10 - (Guidance 0600) Up to 6 3rd party amplifiers and no integrated drives

For standard configurations for other controllers, please see DataID 10095.

10009

Motor map per robot

 

 

 

 

 

 

10010

Amplifier type from hardware

 

 

 

 

 

 

10012

Ignore amplifier type from hardware

BOOL

  

 

 

 BT

If this value is FALSE (0) when the controller is restarted and the software detects integrated amplifiers that identify their type and rating, the values of "Amplifier type" (DataID 10029) and "Amplifier PEAK(non-RMS) current, A(z-p)" (DataID 10610) are automatically set.  

If this value is TRUE (1) or integrated amplifiers that identify themselves cannot be located, the "Amplifier type" and "Maximum amplifier current" are not automatically modified.

There are some very old amplifier versions that cannot be auto detected and must be manually set.  See "Amplifier type" (DataID 10029) for a list of amplifiers that cannot be detected.

By default, this value is FALSE, auto detect amplifier type.

10020

Axis capability bitmask

Uint16

MAX_ MOTOR 

 

 

 BT

This is an array of bit masks, one for each logical servo axis of the robot, that defines the axis' general capabilities.  The bits within each mask are interpreted as follows:

   bit 0 - has position feedback
   bit 1 - has command generation function
   bit 2 - has motor/amplifier output
   bit 3 - has servo compensator
   bit 4:15 - (reserved)

For a standard position controlled servo axis, bits 0:3 are all set to "1", i.e. decimal "15".  For an auxiliary logical servo axis (encoder feedback only) only bit 0 is set to "1". See the "Axis capability word " (DataID 10102) for the setting currently in effect for a specific axis. See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

If this parameter is set to zero, a value of 1 is assumed internally.

10021

Position loop update rate, second

Flt32

MAX_ MOTOR 

 

 

 BT

This is an array of floating point numbers, one for each logical servo axis of the robot that defines the rate at which the position control PID loop is evaluated. 

The permitted values for this parameter are 0.001, 0.0005, 0.00025, and 0.000125 seconds.

See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

10024

Master axis number (Master/slave)

 

 

 

 

 

(Obsolete, will be exposed as DataID 10480 when master/slave control mode is implemented in the future.)

10025

Minor axis number (Dual-loop)

Int8

MAX_ MOTOR 

 

 

 BT

(Dual-loop) This is an array of bytes that (together with "Number of extra, no-servoed, axes" DataID 2004) enables an axis to be controlled with two encoders (dual-loop control).  To enable dual-loop control, the corresponding byte in this array is set to the number of the logical servo axis that provides the auxiliary feedback information.  The encoder for the auxiliary logical servo axis is used to close the motor current control loop and to commutate the motor.  The primary axis, as specified by the "Encoder hardware channel number" (DataID 10026) is used to close the axis position (PID) loop.  If a motor is not being controlled in a dual-loop encoder mode, the corresponding byte is 0 and both the motor current control loop (and motor commutation) and the position control loop utilize the encoder specified by DataID 10026.  For example, if the second motor of a robot is to be configured for dual-loop control and the encoder associated with the 6th logical servo axis is to be used for commutation, the 2nd element in this array must be set to 6.

As a configuration restriction, only encoders 1 or 7 can be used for closing the current loop and commutating motor 1, only encoders 2 or 8 can be used for closing the current loop and commutating motor 2, etc.

See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

10026

Encoder hardware channel number

Uint8

MAX_ MOTOR 

 

 

 BT

This is an array of bytes that associates an encoder channel with a logical servo axis.  Each logical servo axis can only be connected to a single encoder channel.  If the logical servo axis is a standard position controlled axis with a motor and an amplifier, this encoder channel determines the position of the axis.  If the logical servo axis is an auxiliary (feedback only) axis, the associated encoder channel can be referenced as a conveyor belt encoder, the secondary encoder in a dual loop configuration, etc.

For the Guidance controller, the differential encoder interfaces are channels 1, 2, 3 and 4, and the single-ended encoder interfaces are channels 7, 8, 9 and 10.

As a configuration restriction, only encoders 1 or 7 can be used for closing the current loop and commutating motor 1, only encoders 2 or 8 can be used for closing the current loop and commutating motor 2, etc.

See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

10027

Encoder type

Uint8

MAX_ MOTOR 

 

 

 BT

This is an array of bytes that define the type of encoder interfaced to each logical servo axis of the robot. 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 absolute encoder
              40 - Minas-A4 or Bosch 17/33-bit serial absolute
              41 - Minas-A4 10000 count 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)
   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 10201) for the setting currently in effect for a specific axis. See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

10028

Amplifier hardware channel number

Uint8

MAX_ MOTOR 

 

 

 BT

This is an array of bytes that associates a specific hardware amplifier with a logical servo axis.  For example, if the first array value is set to 1, the first logical servo axis controls the motor attached to the first hardware amplifier channel.  For logical servo axes that are not in use or are used only to access a feedback device, the corresponding byte should be set to 0.

For the Guidance 3400 controller, the amplifier channels are numbered 1, 2, 3 and 4.

For 3rd party amplifiers, this is the number of the DAC channel (1 to 6) that connects to the amplifier.

See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

10029

Amplifier type

Uint8

MAX_ MOTOR 

 0

50 

 BT

This is an array of bytes, one for each motor of the robot, that defines the type of amplifier being used to control the motor.   In most cases, this parameter is automatically set by the servo code when the system is restarted (see "Ignore amplifier type from hardware" Dataid 10012, values marked with "*" are very old amplifer types that cannot be auto detected).

    0 - Unknown
    1 - (*) iDrive2 (Obsolete)
    2 - (*) Guidance G3x00, peak current 8A
    3 - (*) Guidance G3x10, peak current 13.3A
    4 - (*) Guidance G2x00, peak current 8A
    5 - (*) Guidance G2x10, peak current 13.3A
    6 - Guidance G3x20A, peak current 20A
    7 - Guidance G2x20A, peak current 20A
    8 - Guidance G3x30A, peak current 30A
    9 - (reserved)
  10 - Guidance G1x00, peak current 5A
  11 - Guidance G3x10A, peak current 10A
  12 - Guidance G2x10A, peak current 10A
  13 - Guidance G2x10B/C, peak current 10A
  14 - Guidance G2x20B/C, peak current 20A
  15 - Guidance G1x00A, peak currents 15/15/10/10A
  16 - Guidance G1x00B, peak currents 7.5/7.5/5/5A
  17 - Guidance single axis servo board (GSB), peak current 9.43A
  18 - Guidance G1600A, peak currents 20.625/20.625/16.5/16.5/10.312/10.312A
  19 - (reserved)
  20 - Generic 3rd party amplifier using the DAC interface
  21:50 - (reserved)

When the amplifier type is set to "20", the "Motor commutation method" (DataID 10030) is ignored and internally the commutation method is cleared to 0.  DataID 10602 displays the commutation method that's currently in effect.

See "Amplifier type" (DataID 10600) for the setting currently in effect for a specific motor. See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array when the automatic amplifier type detection is not in effect.

10030

Motor commutation method

Int16

MAX_ MOTOR 

 BT

This is an array of integers, one for each motor of the robot, that defines how the motor is to be commutated. The commutation method should be chosen based on the amplifier type. The following are the possible selections:

  -1 - Indicates an invalid commutation method, typically applied to an axis that is used for encoder feedback only.
   0 - Self-commutating, i.e., 3rd party amp/motor that accepts +/- 10V DAC
   1 - Vector control, used by the G3xxx/G2xxx amplifiers
   2 - Sine-wave commutation (defaults to vector control)
   3 - 6-step commutation (not supported)
   4 - Single phase output, special mode to control voice coils and other single phase motors

See "Motor commutation method " (DataID 10602) for the setting currently in effect for a specific motor.  See the "Servo board configuration code" (DataID 10008) for automatically setting this parameter array.

10031

(Obsolete)

 

 

 

 

  

 

10049

Robot Initialized

Uint8

 

 0

 BT

A place-holder that indicates the end of the custom configuration DataID entries within the robot PAC file. The value of this item is ignored.