<< Prev        Next >>

ID : 5933

SyncMove Option (Cooperative Control Function Option)

Function

This option is used for the cooperative control function operation. When this option is enabled, the follower robot automatically follows the motion of the leader robot.

This option is available to the following motion commands.

Approach, Depart, Draw, Move, Rotate, RotateH

This option is available in Ver.1.9.* or higher.

Syntax

[Robot*.]Motion command , SyncMove = (Follower robot number[,Follower robot number[,Follower robot number]])
If the system uses one follower robot only, you do not need to enclose the follower robot number with round brackets.
[Robot*.]Motion command , SyncMove = Follower robot number

Guaranteed Entry

Motion command

Enter a motion command. For detail of each command, refer to the manual of respective command.

Example

    Robot0.Move L, P0, SyncMove = Robot1

Note that you cannot specify multiple target positions in series. PTP interpolation method is not available.

Example
In the following example, "P5" are invalid.

    Robot0.Move L, P[2], P[5], Speed = 30, Next, SyncMove = Robot1

In the following example, "P" are invalid.

    Robot0.Move P, P[2], Speed = 30, Next, SyncMove = Robot1
Follower robot number
Specify the followers robot as Robot1, Robot2, to RobotN.
Sample code
    Robot0.Move L, P0, SyncMove = ( Robot1 )
Robot0.Move L, P0, SyncMove = ( Robot1,Robot2 )
or
    Robot0.Move L, P0, SyncMove = Robot1    'If only one follower robot is used, round brackets can be omitted.
    Robot0.Move L, P0, SyncMove = ( Robot1,Robot2 )

Description

When this option is enabled, follower robots move with keeping the specified relative coordinates against the leader robot. This motion is called as "cooperative motion". Because the follower robot automatically adjusts its position according to the motion of the leader robot, you can easily specify the workpiece transport route without specifying the follower's motion.

Before this operation, make sure to set the base coordinates of both the leader and follower robots. This option does not work properly if base coordinates settings are incorrect.

To execute a command with this option, controls of all specified robots must be obtained.

Related Terms

SyncTime

Attention

  • This option is not available to ArchMove.
  • Motion command in non-coordinate operation and motion command in coordinate operation cannot be connected with pass motion.
        Move P, @P P0 'Fail to specify @P (pass motion). Execution error will occur at the next line.
        Robot0.Move L, P0, SyncMove = Robot1
  • The following shows the restrictions when two or more cooperative motions are connected with pass motion (including the pass motion of position designation).

    Three or more robots cannot be run with pass motion.
    In two robots-used operation, to connect two motions with the pass motion, the robot combinations must be the same before and after the pass motion.

     

    The following shows the examples for available or unavailable motion patterns.

    Motion available

    To link the first and the second motion (both are performed by Robot0 and Robot1) with the pass motion. (The robot combination before and after the pass motion is the same.)

    'Sample program
      Robot0.Move L, @P P1, SyncMove = (Robot1), Next
      Robot0.Move L, P2, SyncMove = (Robot1)

    To move the first motion (performed by Robot0 and Robot1) with the Next option, move the second motion (performed by Robot2 and Robot3) with the Next option, and then start the third motion (performed by Robot0 and Robot1) with the pass motion. (The robot combination before and after the pass motion is the same.)

    'Sample program
      Robot0.Move L, @P P1, SyncMove = (Robot1), Next
      Robot2.Move L, P11, SyncMove = (Robot3), Next
      Robot0.Move L, P2, SyncMove = (Robot1)

    In this case, robots used in the first motion (Robot0 and Robot1) should not be used in the second motion. Suppose that Robot0 is used in the second motion. Robot0 is used in the first and the second motion, therefore, the system tries to link the two motions with pass motion. On the other hand, Robot1 is used in the first and the third motion and the system tries to link the two motions with the pass motion. As a result, the system gets confused because Robot0 and Robot1 specify different motion for pass motion execution (Robot0 specifies the second motion, Robot1 specifies the third motion), leading to failure.

    Motion not available

    To link the first motion (performed by Robot0 and Robot1) and the second motion (performed by Robot0, Robot1, and Robot2) with the pass motion. (Three robots moves with the pass motion and the robot combination is different before and after the pass motion.)

    'Sample program
      Robot0.Move L, @P P1, SyncMove = (Robot1), Next
      Robot0.Move L, P2, SyncMove = (Robot1,Robot2)

    To link the first motion (performed by Robot0 and Robot1) and the second motion (performed by Robot1 and Robot2) with the pass motion. (The robot combination before and after the pass motion is different.)

    'Sample program
      Robot0.Move L, @P P1, SyncMove = (Robot1), Next
      Robot1.Move L, P2, SyncMove = (Robot2)
  • If any of the following conditions are met, when a certain motion (described later in this content) is performed, the motion start timing gap among multiple robots may occur.
    Only Ethernet is used for communication method among robot controllers.
    "Cooperative control sync option" is set to other than "High accuracy". (Initial setting of "Cooperative control sync option" is "High accuracy".)
    Software version of robot controller is lower than 2.5.*.

    A certain motion mentioned above is to perform the synchronous motion (a motion that uses SyncTime command) or cooperative motion in the following order.

    1: With specifying other than @E for the pass start displacement, execute any motion that is not the synchronous nor the cooperative motion.
    2: Execute the synchronous or the cooperative motion.

     

    In the case above, to clear the motion start timing gap, change the motion that is written just before the synchronous or cooperative motion as one of the following.

    Set @E for the pass start displacement of the prior command
    Set @0 for the pass start displacement of the prior command, and then write Delay command between the prior command and the synchronous or cooperative motion to adjust timing.

    Example

        Move P, @0 P0 'Specify @0 or @E for the pass start displacement of the command that runs immediately before SyncMove.
        Delay( 30 ) 'If @0 is entered, insert Delay between SyncMove and the prior command. Delay is not required if @E is entered.
        Robot0.Move L, P1, SyncMove = Robot1
    Example 2
        'Delay is not required if the prior motion command is SyncTime or SyncMove,
        Robot0.Move L, P2, SyncMove = Robot1
        Robot0.Move L, P3, SyncMove = Robot1

About Cooperative Control Sync Option

  • Robot controller with software version before 2.5.* does not have Cooperative control sync option.
  • If a robot program (project) which has been programmed by a robot controller with software version before 2.5.* is used in a robot controller with version 2.5.* or higher, "Cooperative control sync option" is set to "Normal".
  • Once the Cooperative control sync option setting is changed, the cycle time of robot programs may be changed.
  • To set/confirm the Cooperative control sync option setting, set the user level [Maintainer], and then do the following operation with a teach pendant.

    Operation path : [F6 Setting]-[F9 Cooperation]

     

    When [Cooperative setting] window appears, set/confirm [No.76: Cooperative control sync option].

Example

    Robot0.TakeArm 'Obtain the control of Robot0
    Robot1.TakeArm 'Obtain the control of Robot1
    Robot0.Move L, P0, SyncMove = Robot1

ID : 5933

<< Prev        Next >>