<< Prev        Next >>

ID : 5230

Movement to the Specified Coordinates (MOVE command)

Function

This statement moves the robot from the current position to the target position.

Syntax

Move interpolation method , target position[, motion option]

"Interpolation method" and "Target position" must be input. "Motion option" is optional.

Interpolation Method

When the robot arm moves, there is not just one path. Various paths can be created with the operation of each axis.
The robot can be controlled so that it creates line or circle paths. Interpolation method must be choosen in Move command.

  • P: PTP (Point to Point) control
    When moving the robot arm from the current position to the target position, the robot decides the route.
  • L: CP (Continuous Path) control--linear interpolation
    When moving the robot arm from the current position to the target position, the robot keeps the pose and speed of the hand constant.
  • C: CP (Continuous Path) control--arc interpolation
    When moving the robot arm from the current position to the target position, the robot moves its hand along the 3-point curve.
  • S: CP (Continuous Path) control--free curve interpolation
    When moving the robot arm from the current position to the target position, the robot moves its hand with smooth interpolated motion among specified passing points.

Target Position

Target Position can have any of the position, joint, or homogeneous transform matrix type to which a target position should be assigned. Destinaion position must be input.

The configuration of variables differs depending upon the number of the robot axes. Users can enter each coordinate value with numerical value however; it is general to enter a variable name (such as Pxx or Jxx).

Variable Name Configuration of variables
Position variable X Y Z RX RY RZ FIG
Joint variable J1 J2 J3 J4 J5 J6  

Users can add target position option when specifying the target position.

Example

'!TITLE "Denso Robot Program"  'Declare program name

Sub Main 'Declare main procedure
    TakeArm Keep = 0 'Obtain arm semaphore 
    Speed 80 'Set the internal speed at 80%
    Move P, P1 'Move to P1 position under PTP control
    Move L, P2 'Move to P2 position under CP control
    Move L, P3 'Move to P3 position under CP control
    GiveArm 'Release arm semaphore
End Sub 'End of program

Target Position Option

Target position option includes Pass start displacement and Extended-joints option for target position.

Pass start displacement is the radius of a sphere whose center is located at the destination position, and it is expressed in units of mm. When the commanded motion value reaches the sphere, control passes to the next one. In other words, this value determines how to stop at the specified point. End motion, encoder value check motion, or pass motion can be selected as control transfer to the next statement.

For information on extended-joints option, please refer to "Extended-Joint Option for Target Position" in PROGRMMAR'S MANUAL.

End Motion (@0, or when omitted)

PROGRAM: PRO1.pcs

Program Motion diagram

Sub Main
Takearm
Move P,@0 P2
Move P,@0 P3

:

:

Motion waveform

In the end motion, the robot judges that the tool end has arrived at the target position when it reaches the taught position P2 (called as the end position) and the command value to the servo system becomes the target one.

The motion to the P3 starts when the commanded motion value reaches P2.
When comparing the motor command value to the encoder value, the commanded motion value goes ahead.
Due to the time difference between commanded motion value and the encoder value, the stopping time at P2 is only a short time.

Encoder Value Check Motion (@E or @C)

Program: PRO2.pcs

Program Motion diagram

Sub Main
Takearm
Move P,@E P2
Move P,@0 P3

:

:

Motion waveform

The encoder value check motion is to judge that the encoder value has arrived at the taught target position(p2).

Although this motion offers higher accuracy of stopping, it takes longer time than the end motion to eliminate the servo deviation.

There are two types of encoder value check motions, "@E" and "@C".

Encoder value check motion with @E

The next command is issued when the encoder value reachs within the specified pulse range or degree.

Encoder value check motion with @C

The next command is issued when the position and figure of the tool end converted from each axis' encoder values reachs the target position(p2)

Pass Motion (@P)

Program: PRO3.pcs

Program Motion diagram

Sub Main
Takearm
Move P,@P P2
Move P,@0 P3

:

:

Motion waveform

In the pass motion, the tool end passes near the taught target position P2 (called as the passing point).

Specifying the Motion Type

Motion type Description format Meaning
End motion Omitted Treated as the default value @0.
@0 When the motion command value reaches the target position (specified coordinates), the robot moves on to the next motion. This is the commonly used end motion.
Encoder value check motion @E The controller checks the arrival of the robot arm at the target position with the encoder value and then proceeds to the next motion. The robot comes to a complete stop once.
@C In addition to requirements of @E, the robot arm needs to meet the designated arm posture at the time of arrival.
Pass motion @P The tool end passes near the target position. (The controller automatically determines the start position.) This is the commonly used pass motion.
@1~

When the motion command value reaches the point away from the target position by the specified radius (Pass Start Displacement:1 mm or larger), the tool end moves on to the next motion.

The radius is only a guide value, not the guaranteed value.

Motion Option

Motion option is effective only for motion-related commands. Motion option includes "Speed setting option" and "Next option".

Speed Setting Option

Speed setting option is any of Speed, Accel, Decel, or Time.

Motion option Meaning
Speed (or S)

Specifies the internal speed.
If Speed=n, then Accel and Decel are equal to n2/100.
Thus, Accel and Decel vary with changes in Speed

To specify the robot speed, acceleration, and deceleration simultaneously, enter all the values in arguments of Speed (or S) (available for Ver.1.8.* or later).

    Speed = (Speed[, acceleration[, deceleration]])
    S = (Speed[, acceleration[, deceleration]])
Accel Specifies the internal acceleration.
Decel vary with change in Accel.
The value of Decel is identical with designated Accel value.
Decel Specifies the internal deceleration.
Time Specify the time to activate the motion. Traveling time with the external speed 100% is designated.

Example

    Move L, P1, Speed = 50 
    'Move to P1 position at the internal speed 50% under CP control
    Move L, P1, Accel = 10 
    'Move to P1 position at the internal acceleration 10% under CP control

If Accel and/or Decel is entered simultaneous with Speed , "Speed" has priority over Accel and/or Decel. As a result, Speed overwrites internal acceleration/deceleration that are entered by Accel and/or Decel.
To specify the robot speed, acceleration, and deceleration simultaneously, enter all the values in arguments of Speed option.

	Move L, P1, S = ( 20, 10, 100 ) 
	'Move to P1 position at the internal speed 20%, acceleration speed 20%,
	deceleration Speed 100% 'under CP control

Next Option

"Next option" is an option to executes subsequent instructions without waiting for robot motion completion of a designated motion instruction.

However, if subsequent instructions are instructions that cannot be executed during a robot motion, the robot waits until execution is allowed.

Instructions that cannot be executed during a robot motion are listed below.

  • If you do not want to execute the next command, write an Arrive command immediately behind the motion instruction with Next option in order to specify the execution timing of the next command.
  • Next option is disabled in the teach check mode.

Example

    Move P, P( 400, 300, 300, 180, 0, 180, -1 ), Next
    ' Turn OFF the I/O port number 240 when the motion
    Set IO[240]

Other Input Examples

Example1

A continuous motion specified with two points or more can be written in one line.

    Move P, P1, P2 P3, P4, Speed = 30

The above statement is the same as the following.

    Move P, P1, Speed = 30
    Move P, P2, Speed = 30
    Move P, P3, Speed = 30
    Move P, P4, Speed = 30

A single step contains all motions up to P4. A Step forward or Step stop operation, therefore, cannot stop the motion in midstream, such as at P1, P2, or P3.

Example2

Set the target position options for each target position.

    Move P, @P P1, @P P2, P3, P4, Speed = 30

The above statement is the same as the following.

    Move P, @P P1, Speed = 30
Move P, @P P2, Speed = 30
Move P, P3, Speed = 30
Move P, P4, Speed = 30

Example3

    Move L, P1, Speed = 100 
    'Move to P1 position at the internal speed 100% under CP control
    Move P, @30 P2, P3, S = 80 
    'Move to P2 (@30) and then P3 at the internal speed 80% under PTP control
    Move L, @20 P4, @50 P5, @100 P6
    'Move to P4 (@20), P5 (@50), and P6 (@100) in this order under CP control
    Move L, @P P( 1, 2, 3, 4 )
    'Move to P1, P2, P3, P4 in this order in pass motion under CP control
    Move C, P1, @P P2
    'Move to P2 via P1 in arc interpolation.
    'Move near P2 in pass motion and then transfer control to the next statement

ID : 5230

<< Prev        Next >>