Motion
The robot movements are programmed as pose-to-pose movements, i.e. "move from the current position to a new position". The path between these two positions is then automatically calculated by the robot.
Programming principles
The basic motion characteristics, such as the type of path, are specified by choosing the appropriate positioning instruction.
The remaining motion characteristics are specified by defining data which are arguments of the instruction:
Position data (end position for robot and external axes)
Speed data (desired speed)
Zone data (position accuracy)
Tool data (e.g. the position of the TCP)
Work-object data (e.g. the current coordinate system)
Some of the motion characteristics of the robot are determined using logical instructions which apply to all movements :
Maximum velocity and velocity override
Acceleration
Management of different robot configurations
Payload
Behaviour close to singular points
Program displacement
Soft servo
Tuning values
Both the robot and the external axes are positioned using the same instructions. The external axes are moved at a constant velocity, arriving at the end position at the same time as the robot.
Positioning instructions
Instruction Type of movement:
MoveC TCP moves along a circular path
MoveJ Joint movement
MoveL TCP moves along a linear path
MoveAbsJ Absolute joint movement
MoveCDO Moves the robot circularly and sets a digital output in the middle of the corner path.
MoveJDO Moves the robot by joint movement and sets a digital output in the middle of the corner path.
MoveLDO Moves the robot linearly and sets a digital output in the middle of the corner path.
MoveCSync1 Moves the robot circularly and executes a RAPID procedure
MoveJSync1 Moves the robot by joint movement and executes a RAPID procedure
MoveLSync1 Moves the robot linearly and executes a RAPID procedure
1. Only if the robot is equipped with the option "Advanced Functions".
Searching
During the movement, the robot can search for the position of a work object, for example.
The searched position (indicated by a sensor signal) is stored and can be used later to position the robot or to calculate a program displacement.
Instruction Type of movement:
SearchC TCP along a circular path
SearchL TCP along a linear path
Activating outputs or interrupts at specific positions
Normally, logical instructions are executed in the transition from one positioning instruction to another. If, however, special motion instructions are used, these can be executed instead when the robot is at a specific position.
Instruction Used to:
TriggIO1 Define a trigg condition to set an output at a given position
TriggInt1 Define a trigg condition to execute a trap routine at a given position
1. Only if the robot is equipped with the option "Advanced functions"
TriggEquip1 Define a trigg condition to set an output at a given position with the possibility to include time compensation for the lag in the external equipment
TriggC1 Run the robot (TCP) circularly with an activated trigg condition
TriggJ1 Run the robot axis-by-axis with an activated trigg condition
TriggL1 Run the robot (TCP) linearly with an activated trigg condition
Data type Used to define:
triggdata1 Trigg conditions
aoitrigg Analogue I/O trigger condition
1.Only if the robot is equipped with the option "Advanced Functions".
Motion control if an error/interrupt takes place
In order to rectify an error or an interrupt, motion can be stopped temporarily and then restarted again.
Instruction Used to:
StopMove Stop the robot movements
StartMove Restart the robot movements
StorePath1 Store the last path generated
RestoPath1 Regenerate a path stored earlier
1. Only if the robot is equipped with the option "Advanced Functions".
Controlling external axes
The robot and external axes are usually positioned using the same instructions. Some instructions, however, only affect the external axis movements.
Instruction Used to:
DeactUnit Deactivate an external mechanical unit
ActUnit Activate an external mechanical unit
MechUnit Load Defines a payload for a mechanical unit
Independent axes
The robot axis 6 (and 4 on IRB 2400 /4400) or an external axis can be moved independently of other movements. The working area of an axis can also be reset, which will reduce the cycle times.
Function Used to:
IndAMove2 Change an axis to independent mode and move the axis to an absolute position
IndCMove2 Change an axis to independent mode and start the axis moving continuously
IndDMove2 Change an axis to independent mode and move the axis a delta distance
IndRMove2 Change an axis to independent mode and move the axis to a relative position (within the axis revolution)
IndReset2 Change an axis to dependent mode or/and reset the working area
IndInpos2 Check whether an independent axis is in position
IndSpeed2 Check whether an independent axis has reached programmed speed
Instruction Used to:
HollowWristReset2 Reset the position of the wrist joints on hollow wrist manipulators, such as IRB 5402 and IRB 5403.
2. Only if the robot is equipped with the option "Advanced Motion".
(The Instruction HollowWristReset can only be used on Robot IRB 5402 AND IRB 5403.)
Path Correction
Instruction Used to:
CorrCon2 Connect to a correction generator
CorrWrite2 Write offsets in the path coordinate system to a correction generator
CorrDiscon2 Disconnect from a previously connected correction generator
CorrClear2 Remove all connected correction generators
Function Used to:
CorrRead2 Read the total corrections delivered by all connected correction generators
Data type Used to:
Corrdescr2 Add geometric offsets in the path coordinate system
2. Only if the robot is equipped with the option "Advanced Motion".
(The Instruction HollowWristReset can only be used on Robots IRB 5402 and IRB 5403.)
Conveyor tracking
Instruction Used to:
WaitWObj3 Wait for work object on conveyor
DropWObj3 Drop work object on conveyor
3. Only if the robot is equipped with the option "Conveyor tracking".
Load identification and Collision detection
Instruction Used to:
MotionSup Deactivates/activates motion supervision
ParIdPosValid Valid robot position for parameter identification
ParIdRobValid Valid robot type for parameter identification
LoadId Load identification of tool or payload
Position functions
Function Used to:
Offs Add an offset to a robot position, expressed in relation to the work object
RelTool Add an offset, expressed in the tool coordinate system
CalcRobT Calculates robtarget from jointtarget
CPos Read the current position (only x, y, z of the robot)
CRobT Read the current position (the complete robtarget)
CJointT Read the current joint angles
ReadMotor Read the current motor angles
CTool Read the current tooldata value
CWObj Read the current wobjdata value
ORobT Remove a program displacement from a position
MirPos Mirror a position
CalcJointT Calculates joint angles from robtarget
Distance The distance between two positions
Motion data is used as an argument in the positioning instructions.
Data type Used to define:
robtarget The end position
jointtarget The end position for a MoveAbsJ instruction
speeddata The speed
zonedata The accuracy of the position (stop point or fly-by point)
tooldata The tool coordinate system and the load of the tool
wobjdata The work object coordinate system
Basic data for movements
Data type Used to define:
pos A position (x, y, z)
orient An orientation
pose A coordinate system (position + orientation)
confdata The configuration of the robot axes
extjoint The position of the external axes
robjoint The position of the robot axes
o_robtarget Original robot position when Limit ModPos is used
o_jointtarget Original robot position when Limit ModPos is used for
MoveAbsJ
loaddata A load
mecunit An external mechanical unit