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
orRobot0.Move L, P0, SyncMove = ( Robot1 )
Robot0.Move L, P0, SyncMove = ( Robot1,Robot2 )
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
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
Example 2Move 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
'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