MOVE
(Statement)
Moves the robot flange to the specified coordinates.
If specified with an EX option (relative motion of extended-joints) or EXA option (absolute motion of extended-joints), the MOVE can move both the robot flange and the extended-joints synchronously. (i.e. Synchronized start and stop from/at the specified positions is possible.).
-
Interpolation method: Except "Free curve" [Version 2.3 or later]MOVE <Interpolation method>,[@<Path start displacement> ]<Pose>[,[@<Path start displacement> ]<Pose>...][,<Motion option>][,NEXT]
-
Interpolation method: "Free curve" [Version 2.3 or later]For a free curve MOVE S, [@<Pass start displacement>] <Trajectory number> [<EX or EXA option>] [, <Motion option>] [, NEXT]
This statement moves the robot from the current position to the designated coordinate <Pose>.
For <Pose>, the position type (P type), joint type (J type) or homogeneous transformation type (T type) can be used.
For the position type, a variable, a pose array by numbered variables, a constant or the current position (*, CURPOS) can be used.
For the joint type, a variable, a pose array by numbered variables, or the current angle (CURJNT) can be used.
For the homogeneous transformation type, a variable or a pose array by numbered variables can be used.
Expression of the pose array: P[3 TO 6] From P[3] to P[6].
P, L, C or S can be selected for the For <Interpolation method>.
Interpolation method
|
Meaning
|
---|---|
P (or PTP)
|
The robot moves from the current position to the designated coordinates using PTP control.
|
L
|
The robot moves from the current position to the designated coordinates using CP control.
|
C
|
The robot moves to a purpose pose performing arc interpolation via a relay point pose from the current position.
The robot performs an interpolation motion from the figure of the current position to that of the purpose pose (the figure of the relay point pose is ignored).
In arc interpolation, a relay point pose and a purpose pose must be designated.
(A pose array cannot be used for C.)
Even if pass start displacement is designated to a relay point pose, the motion does not change.
Use MOVE C, P1, @P P2 to designate the pass taken when the arc interpolation motion is finished.
|
S (Free curve)
[Version 2.3 or later]
|
Moves from the current position to the final viapoint through the registered viapoints by SETSPLINEPOINT. The path becomes a smooth curve and the tool moves at a constant speed on the path, except upon acceleration/deceleration.
The pose passes each viapoint by pass movement.
|
<Trajectory number> is the trajectory number of the free curve and represents the free curve viapoints registered by SETSPLINEPOINT for each <Axis Number> results. Up to 20 points can be designated.
The value of <Path start displacement> is expressed using the radius of the globe with the designated coordinates centered. If the motion instruction value is entered, the robot proceeds to the next control. Designate the value in millimeters. This value aims to change the pass start timing, and if the end of the arm enters the globe, the robot does not always proceed to the next control.
If the value is ignored, it is processed as the default value @0.
If the value is @0, the robot moves in the end movement.
If @P, it moves in the pass movement.
If @E, the robot checks the arrival at the target position with the value of the encoder and then proceeds to the next movement.
For <Motion option>, there are SPEED, ACCEL, and DECEL options.
Motion option
|
Meaning
|
---|---|
SPEED (or S)
|
Designates the movement speed. The meaning is the same as the SPEED statement.
|
ACCEL
|
Designates acceleration. The meaning is the same as the ACCEL statement. However, deceleration cannot be designated. Use the DECEL statement to designate deceleration.
|
DECEL
|
Designates deceleration. The meaning is the same as the DECEL statement.
|
If <NEXT option> is added, the robot proceeds to the next no-movement instruction without waiting for movement to finish. However, the following instructions are not executed until robot movement ends (pass start).
Robot motion instructions (CHANGETOOL, CHANGEWORK, SPEED, JSPEED, ACCEL, JACCEL, DECEL, JDECEL), optimal carrying mass setting library (aspACLD, aspChange), arm movement library (mvSetPulseWidth, etc.)
If this command is used with the movement option, the NEXT option is no longer valid. When <NEXT option> is added and if step stop is executed in the waiting status for the next movement instruction, the robot will stop after movement ends. Care should therefore exercised since it requires a long distance to stop.
And also, the NEXT option is no valid in the teach check mode.
Expressions such as MOVE P,P[3 TO 5] or MOVE P,P3,P6,P9 have the same expression as
MOVE P,P[3 TO 5]
|
→
|
MOVE P, P3, NEXT
MOVE P, P4, NEXT
MOVE P, P5
|
or
|
||
MOVE P,P3,P6,P9
|
→
|
MOVE P, P3, NEXT
MOVE P, P6, NEXT
MOVE P, P9
|
(The left expressions have higher priority in processing.)
Therefore,
-
If these expressions are present between IOBLOCK ON and OFF, the next non-motion instruction is not executed until the motion of the final pose (P5 or P9) motion starts. Refer to Part 2 "6.1.3 IOBLOCK ON/OFF."
-
If the NEXT option is added, the next non-motion instruction is not executed until the final pose (P5 or P9) motion starts.
The syntax of an EX or EXA option is shown below.
<EX/EXAoption> syntax
EX((<JntNumber>,<RelativeDistance>)[,(<JntNumber>, <RelativeDistance>)...])
EXA((<JntNumber>,<AxisCoordinates>)[,(<JntNumber>, <AxisCoordinates>)...])
To <JntNumber>, you can specify only an extended-joint, never specify any robot joint.
For details about other options, refer to the PROGRAMMER'S MANUAL, Section 12.1 "MOVE."
-
If a pose is designated in the position type and the homogeneous transformation type, the designated pose goes beyond the robot motion space. As a result of this an error with level 6070 (J* software motion limit over, out of motion space, singular point) may occur. Be careful when designating specific figures of 16 to 31.
-
In CP motion or arc interpolation motion, if the current figure (refer to the "Setting-up Guide, 4.1.3 Figures of the Shoulder, Elbow and Wrist") and the figure at the designated coordinates are wrong, error 607F (Robot figure incompatibility) may occur. However, no error will occur if it is possible for the robot to change its figure.
-
In CP motion, arc interpolation motion and free curve motion, if the robot passes in the vicinity of a singular point (refer to the "Setting-up Guide, 4.1.3 [2] Boundaries of Robot Figures"), an error with a level of 6080 (Command speed limit over) will occur and the robot may stop. In this case, reduce the speed or set 2 or 3 in the optimal load capacity setting mode (refer to p.4-5 4.6 "Control Sets of Motion Optimization".) If the error still occurs, avoid the path in the vicinity of the singular point.
-
In CP motion, warning 601C (Change a figure.) may occur if a figure at the end of movement is incompatible with the designated figure. Teach the robot again with a figure at the end of movement (if the warning occurs it will not affect movement).
-
For a pass motion in an arc interpolation movement or an encoder value checking movement, designate the pass start displacement amount to the destination pose. If the pass start displacement amount is designated as the relay pose, the movement does not change.
-
The arc interpolation movement ignores the figure of the relay pose. Therefore, in order to let the tool end pass the relay pose, set the tool coordinates at the tool end using the tool definition.
-
In the arc interpolation movement, if the movement is restarted after an instantaneous stop during the pass movement when the previous movement is a pass movement, error 60de "The robot executes rotation movement different from the designated one." may occur.
-
In the arc interpolation movement, if the current pose and the target pose are the same, the robot does not move. If the current pose and the relay pose are the same, or the relay pose and the target pose are the same, the robot moves toward the target pose in CP motion.
-
If the figure at the viapoint registered by SETSPLINEPOINT differs greatly from the current figure in free curve motion, error 607F (Robot posture mismatch) results.
-
If the figure change is great because of short moving distance between viapoints in free curve motion, an error at a level of 6080 (designated speed limit over) may occur and motion may stop. In this case, either slow down the speed or set 2 or 3 in optimal load capacity setting mode.
-
To repeat a pass motion on a single free curve, register the free curve to two different trajectory numbers and switch between those two trajectory numbers for each pass motion. Using the same trajectory number for a pass motion repeated on a single free curve may cause an error.
Notes of extended-joint.
-
The MOVE with EXA option (absolute motion) is not applicable to any extended-joints specified for boundless rotation.
-
Given below is an example handling a POSE array.Example: MOVE P,P[3 TO 5]EX((7,30))The above sample will produce the same result as the following; that is, the motion of the 7th joint will synchronize with that of the robot flange to P5.MOVE P,P3,NEXTMOVE P,P4,NEXTMOVE P,P5 EX((7,30))
Ex1
DIM li1 As Integer
|
|
6-axis
|
|
MOVE P, (740, 0, 480, 180, 0, 180, 5),NEXT
|
|
|
'Moves (PTP control) to the coordinates of robot figure 5
'with (740, 0, 480, 180, 0, 180). After the motion starts,
'the next instruction is executed.
|
4-axis
|
|
MOVE P, (100, 200, 300, 45, 1),NEXT
|
|
|
'Moves (PTP control) to the coordinates of robot figure 1
'with (100, 200, 300, 45, 1).
'After the motion starts, the next instruction is executed.
|
|
|
MOVE L, lp1, SPEED = 100
|
|
|
'Moves (CP control, internal speed = 100) to the coordinates of lp1.
|
MOVE P, @30 lp2, lp3, S = lil
|
|
|
'Sequentially moves (PTP control, internal speed = li1) to the
'coordinates of lp2(@30) and lp3.
|
MOVE L, @20 lp4, @50 lp5, @100 lp6
|
|
|
'Sequentially moves (CP control) to the coordinates of lp4(@20),
'lp5(@50), and lp6(@100).
|
MOVE L, @P P[6 TO 15], lp7
|
|
|
'Sequentially moves from P[6] to P[15] in pass motion and moves
'(CP motion) to the coordinates of lp7.
|
MOVE C, lp1, @p lp2
|
|
|
'Executes an arc interpolation motion via lp1 to lp2.
'Executes the pass motion at lp2 and proceeds to the next control.
|
Ex2
PROGRAM PRO1
|
|
TAKEARM 2
|
'Get Arm Group 2 involving both robot
'joints and extended-joints.
|
MOVE P, P0 EX ((7,30),(8,10))
|
'Move robot flange to P0 as well as
'moving 7th and 8th extended-joints to
'relative coordinates synchronously.
|
MOVE P, P1 EXA ((7,30))
|
'Move robot flange to P1 as well as
'moving 7th extended-joint to absolute
'coordinates synchronously.
|
END
|
|
Ex3 (Free curve) [Version 2.3 or later]
MOVE S, @P 2, S=10, NEXT
|
'Pass operation at an internal speed of
'10% for a free curve with trajectory
'number 2. The next command is executed
'after the operation starts.
|