<< Prev        Next >>

ID : 5935

SyncTime

Function

This command allows different motion commands on multiple robots to operate synchronously.

This option is available to the following motion commands.
Approach, Depart, Draw, Drive, DriveA, Move, Rotate, RotateH

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

Syntax

SyncTime (Motion command), (Motion command)[, (Motion command)[, (Motion command)]]
[, Next]

Guaranteed Entry

Motion command

Specify the robot name with the form of "Robot*." before the motion command.
For detail of each command, refer to the manual of respective command.

Example

    SyncTime ( Robot0.Move P, P0, Speed = 40 ), ( Robot1.Move P, P1, Speed = 70 ), Next

Note that you cannot specify multiple target positions in series. Next option is not available.

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

    SyncTime( Robot0.Move P, P[2], P[5], Speed = 30, Next ), ( Robot1.Move P, P1 ), Next

Description

This command allows different motion commands on multiple robots to operate synchronously. This motion is called as "synchronous motion".

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

Related Terms

SyncMove

Attention

  • This command is exclusive to the Cooperative Control Function.
  • If one of the motion option from Time, Speed, Accel, or Decel are used, a robot motion with the motion option may take longer time. As a result, robots may not behave as you have specified with SyncTime command because robots synchronize with the most slowest robot.
  • This option is not available to ArchMove.
  • An error occurs if the pass start displacement of the motion commands that move synchronously are different.

    Example

        SyncTime ( Robot0.Move P, @P P1 ), ( Robot1.Move P, @e P2 )
    However, the combination of @P, @numeric value, and @0 will work properly.

    Example

        SyncTime ( Robot0.Move P, @P P1 ), ( Robot1.Move P, @0 P2 )
    Also, the combination between @E and @C will work properly.

    Example

        SyncTime ( Robot0.Move P, @c P1 ), ( Robot1.Move P, @e P2 )
  • The following shows the restrictions when synchronous 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 motion (performed by Robot0) and the second motion (performed by Robot0 and Robot1) with the pass motion. (Two robots move with the pass motion.)

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

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

    'Sample program
      SyncTime (Robot0.Move L, @P P1),(Robot1.Move L, @P P3), Next
      SyncTime (Robot0.Move L, P2),(Robot1.Move L, P4)

    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 are the same.)

    'Sample program
      SyncTime (Robot0.Move L, @P P1),(Robot1.Move L, @P P3), Next
      SyncTime (Robot2.Move L, P11),(Robot3.Move L, P21), Next
      SyncTime (Robot0.Move L, P2),(Robot1.Move L, P4)

    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 the second motion (performed by Robot0, Robot1, and Robot2) with the pass motion. (Three robots move with the pass motion.)

    'Sample program
      Robot0.Move L, @P P1, Next
      SyncTime (Robot0.Move L, P2),(Robot1.Move L, P4),(Robot2.Move L, P14)

    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 move with the pass motion and the robot combination are different before and after the pass motion.)

    'Sample program
      SyncTime (Robot0.Move L, @P P1),(Robot1.Move L, @P P3), Next
      SyncTime (Robot0.Move L, P2),(Robot1.Move L, P4),(Robot2.Move L, P14)

    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 are different.)

    'Sample program
      SyncTime (Robot0.Move L, @P P1),(Robot1.Move L, @P P3), Next
      SyncTime (Robot1.Move L, P4),(Robot2.Move L, P14)
  • 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 or cooperative motion (a motion that uses SyncMove motion option) 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 SyncTime.
        Delay( 30 ) 'If @0 is entered, insert Delay between SyncTime and the prior command. Delay is not required if @E is entered.
        SyncTime ( Robot0.Move P, @P P1 ), ( Robot1.Move P, @P P2 )
    Example2
        'Delay is not required if the prior motion command is SyncTime or SyncMove,
        SyncTime ( Robot0.Move P, @P P3 ), ( Robot1.Move P, @P P4 ) 
        SyncTime ( Robot0.Move P, @P P5 ), ( Robot1.Move P, @P P6 )

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
    SyncTime ( Robot0.Move P, P0, Speed = 40 ), ( Robot1.Move P, P1, Speed = 70 ), Next

ID : 5935

<< Prev        Next >>