Robot Axis Specification

ID Label Type #Val Min Max Attr Description

2000

Number of axes

Uint16

 

1

MAX_ AXIS

BT

Number of axes configured for a robot. The value ranges from 1 to the maximum permitted by the robot's kinematic module.  See "Max number of axes" (DataID 2022) and "Min number of axes" (DataID 2023) or the information contained in the Kinematic Library.

2001

Split-axis mask

Uint16

 

 

 

BT

Bit mask that indicates any axes that are to be enabled as split-axes.  Split-axis control is a special control mode that drives pairs of motors in unison. This technique is commonly employed in gantry robots where two motors drive the opposite ends of the cross beam. These motors, often referred to as X and X’, together produce the X-axis motion for the gantry robot.

A value of 1 indicates the first axis, a value of 2 indicates the second axis, a value of 4 indicates the third axis, a value of 5 indicates the first and third axes, etc.  (Prior to GPL 3.2, only the X-X' axes of the Enhanced XYZTheta kinematic module supported split-axis and DataID 2001 was a Boolean value.)

This parameter cannot be enabled if the Split-axis capability is not built into the kinematic module. See "Robot type options" (DataID 2021) or the Kinematics Library to determine if this option is supported.

2002

Robot Name

String

 

0

60

 

Name of the robot. This can be set to an arbitrary value to assist in identifying the robot in output displays.

2003

Axis Mask

Uint16

 

 

 

BT

This contains a bit mask indicating the robot axes that are currently configured. For many robot kinematic modules, this value is not utilized. However, for kinematic modules that allow selected axes to be included or excluded (e.g. the XYZTheta robot module), this mask indicates the axes that are being controlled. The least significant bit (&H01) indicates the first logical axis of the robot.  This parameter does not control the number of axes configured (see "Number of axes" (DataID 2000)), it indicates which axes has been configured (e.g. the X and Z axes but not the Y).

2004

Number of extra, non-servoed, axes

Uint16

 

0

MAX_ AXIS-1

BT

Number of extra, non-servoed, axes configured for a robot. These extra axes may be used by dual-loop servos. The value ranges from 0 to one less than the maximum permitted for the robot's kinematic module.

2005

Motor linearity compensation

BOOL

 

 

 

 

Set to TRUE to enable linearity compensation for errors in motor positioning.  This option permits an array of correction values to be specified that is automatically applied to correct for non-linearity in the positioning of one or more motors.  These corrections are specified in encoder counts at regular intervals through a specified range of positions.  The system linearly interpolates between these values to compute a correction whenever a motor position is commanded or an encoder is read.

This switch cannot be enabled if this capability is not supported by the kinematic module in use. See "Robot type options" (DataID 2021) or the Kinematics Library to determine if this option is supported.

2006

Robot type special option flags

Uint16

 

 

 

NP

These are special bit flags whose definition is a function of the kinematic module being employed.  For example, the SCARA module tests the LSB to see if the numbering for the 2nd and 3rd axes should be reversed.  Most kinematic modules do not make use of these special flags.  Please see the information on the kinematic modules for information on bit definitions.

2007

Robot model number or version

Uint32

 

 

 

 

These values can be used to indicate the specific robot model number or version that is associated with the robot__.PAC file. These numbers are not used by GPL and can be freely changed by the robot manufacturer. For example, these parameters can be read by application programs to distinguish between specific models or versions of robots that might have different features.

For Brooks robots or robots controlled by PreciseFlex™ Controllers, the DataID 2007 value is interpreted as follows:

  • ID 2007 = 100
    • PrecisePlace 2300/2400 Robot
  • ID 2007 = 200
    • PreciseFlex™ 100 Robot
  • ID 2007 = 400
    • ID 116 = 12
      • ID 2008 = 0
        • PreciseFlex™ 400 Robot
      • ID 2008 = 1
        • PreciseFlex™ 3400 Robot
  • ID 2007 = 800
    • PreciseFlex™ 300 Robot
  • ID 2007 = 1000
    • ID 116 = 4
      • ID 2008 = 0
        • PreciseFlex™ DD4 Robot
      • ID 2008 = 2
        • PreciseFlex c10 Robot
      • ID 2008 = 6
        • PreciseFlex™ c5 Robot
      • ID 116 = 12
        • ID 2008 = 2
          • PreciseFlex™ c3 Robot
      • ID 116 = 22
        • ID 2008 = 0
          • PreciseFlex™ DD6 Robot
        • ID 2008 = 2
          • PreciseFlex™ c8A Robot
  • ID 2007 = 2000
    • DENSO robot integrated to PreciseFlex™ Controller

2008

Robot model number or version #2

Uint32

 

 

 

 

2009

GCU_Info

String

MAX_ MOTOR

0

128

 

Specially formatted text information that is utilized by the Guidance Configuration Utility (GCU) to store controller configuration data.

2010

Motor map nodes

Uint8

MAX_ MOTOR

0

16

BT

An array indexed by the robot motor number. Each value specifies the servo network node associated with the robot motor. Set to 1 for the master node.

2012

Motor name

String

MAX_ MOTOR

0

60

 

Name of each motor. This can be set to an arbitrary value to assist in identifying the motor or axis in output displays.

2013

Motor has servo parameters

BOOL

MAX_ MOTOR

 

 

RO

 (Servo Network) An array of elements corresponding to the motors of the current robot.  An element is set to 1 if the motor is mapped to a controller that supports the Parameter Database. Set to 0 if the motor is mapped to a 3rd party controller that does not support the Parameter Database and has it configuration information stored locally.

2014

Speed DAC output map: node, channel

Uint8

2

 

 

BT

For the SpeedDAC trajectory mode, this parameter must be set to the controller node number and the number of the DAC to be controlled.  If this parameter is not set, the SpeedDAC method can still be used to compute the instantaneous speed of the robot's tool tip, but no hardware analog output signal will be generated.  If this parameter is set, the output value of the specified DAC channel will be continuously written by the servo code even when the SpeedDAC method is not enabled.  During this period, the "SpeedDAC mode DAC output value" (DataID 3542) can be manually written using the Controller.PDBnum() method to output values to the DAC.

2020

Robot type

Uint16

 

 

 

RO

This parameter indicates the robot kinematic (geometric) module that has been assigned to this robot.  The kinematic module dictates how the XYZ position and orientation of the robot's end-effector is computed based upon the robot's link dimensions and current positions.  The kinematic modules are specified by the "Robot types" (DataID 116).  Please see that DataID and the Kinematics Library for a description of the possible values for this parameter.

2021

Robot type options

Uint16

 

 

 

RO

This is a group of bit flags that indicate special features that are supported by the kinematic (geometric) module that has been assigned to this robot.  Normally, such features must be enabled by a Parameter Database value before they become active.  The current list of defined bit flags is as follows:

&H01: (Unused)

&H02: Continuous turn axes supported.  Indicates that one or more axes of the robot can be configured to spin continuously without encountering a limit stop.  This is used for motors that drive a conveyor belt or the last axis of rotation of some robot modules.

&H04: Mechanically coupled motors supported.  This indicates that the motion for two or more axes are controlled by the combined actions of two or more motors.  For example, if the X and Y axes of a gantry robot are not perpendicular, they must be moved in combination in order to produce true X and Y Cartesian motions.  As another example, wrist joints are sometimes coupled by the use of differential mechanical drives.  In these situations, the "Joint to motor scale factors" (DataID 2300) contain one or more square matrices of scaling factors rather than only scalar scaling factors.

&H08: Motor linearity compensation supported.  This option permits an array of correction values to be specified that is automatically applied to correct for non-linearity in the positioning of one or more motors.  These corrections are specified in encoder counts at regular intervals through a specified range of positions.  The system linearly interpolates between these values to compute a correction whenever a motor position is commanded or an encoder is read.

&H10: Robot kinematic module does not support having the Robot.Base property rotate the robot about the Z-axis.  The yaw, pitch and roll values for the Base value must all be zero.  The Base property can still be used for shifting the robot in the X, Y and Z directions.

2022

Max number of axes

Uint8

 

 

 

RO

For the kinematic module currently assigned to the robot, defines the maximum number of axes that can be specified by "Number of axes" (DataID 2000).

2023

Min number of axes

Uint8

 

 

 

RO

For the kinematic module currently assigned to the robot, defines the minimum number of axes that can be specified by "Number of axes" (DataID 2000).

2024

Joint coupling array

Int32

10

 

 

RO

List that indicates if any "Scale Factor Coupling Matrices" apply to the joints in the robot.  An array value greater than 0 indicates a series of "N" joints that are not coupled.  Negative values indicate coupled joints.  For instance, a -2 indicates that the next two axes are coupled and -3 indicates that the next three axes are coupled.  A value of 0 marks the end of the list.  For example, if this array contains values of (2, -2, 1, 0) this would indicate that the first two joints are uncoupled, the 3rd and 4th axes are coupled by a 2x2 matrix and the 5th (and final) axis is uncoupled.  

2025

Number of motors

Uint16

 

 

 

RO

Number of motors configured to be controlled by the robot module.  In most cases, this number is the same as the "Number of axes" (DataID 2000).  However, in some cases such as robots that have extra motors utilized in split axis control, the number of motors will be greater than the number of axes.

2026

Motor disable mask

Uint16

 

 

 

BT

Bit mask for special simulation mode that permits individual motors to be ignored while still allowing a robot to operate as though all of the motors were fully functional.  Disabled motors can be connected to the controller or physically disconnected.  The operation of disabled motors is simulated in software by echoing the motor position setpoints back as the actual motor positions.

A value of 1 indicates that the first motor is disabled, etc.  This bit mask is 0 by default.

2030

Robot is collaborative

Uint8

 

 

 

 

If set to 1, this indicates that the robot has been loaded with the parameters that will operate it in collaborative mode.   This parameter does not enable collaborative mode or alter the collaborative performance of the robot.  It is only used to provide an indication to the operator that this robot is operating in collaborative mode.  If all robots have this parameter set to 1, "Collaborative mode on" (DataID 251) will be set true; the digital output specified by "Collaborative mode on DOUT" (DataID 252) will be asserted; and the banner at the top of the web pages will have text indicating the system is in collaborative mode. By default, this parameter is set to 0.

NOTE: The responsibility of the robot developer to ensure that the robot satisfies applicable safety standards when this indicator is enabled.

2031

Enhanced safety mode

Uint16

 

 

 

BT

Bit flags that enable various safety features for this robot. The safety mode is determined by adding the values from the list below:

       1 (&H0001): Enhanced safety mode enabled
       2 (&H0002): Safety FFC board required
       4 (&H0004): Dump circuit required
       8 (&H0008): Enhanced safety mode
   256 (&H0100): 1-phase power supply required
   512 (&H0200): 3-phase power supply required

If bit 1 is set, DataID 117 "Safety Mode" must be set to 4 or 5 or an error is signaled and power cannot be enabled.

In GPL 5.0 and later, when the "Enhanced safety mode" is enabled and the system is place into any manual control mode (via a Hardware MCP or the web based Virtual Pendant or the GPL program StartJogMode) the system behaves as though the Front Panel Interface is set to Manual mode using the Auto/Manual signal. For example, the value of DataID 10615 "MANUAL mode motor peak current %" goes into effect instead of DataID 10613 "AUTO mode motor peak current %" as well as DataID 10209 "Manual mode speed limit" instead of DataID 10208 "Run-time speed limit".

2032

Protection override axis mask

Uint16

 

 

 

BT

Bit mask that permits the robot DataID values for selected axes to be modified even if the robot01.pac file is protected. For example, this is useful for allowing the tuning of an integrated servo gripper to be modified even if the rest of the robot's axes are read/write protected.

If a bit is set, the robot DataIDs for this axis may be changed by user instructions Controller.Pdb and Controller.PdbNum even if the values are part of a protected robot. Any changes to protected values are not saved in any .pac files so they must be re-set each time the controller is rebooted.

A value of 1 indicates that the first axis is read/write enabled, etc. This bit mask is 0 by default.