Difference between revisions of "Element Synchronization"

From SoftMC-Wiki
Jump to: navigation, search
(Element Synchronization)
 
(49 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Languages|Element_Synchronization}}
 
= Element Synchronization =  
 
= Element Synchronization =  
  
In the AMCS system there are several ways how to synchronize different elements (axes, groups, robots).  
+
The softMC system has several ways to synchronize different elements (axes, groups, robots).  
  
* several axes - combining in a group or using syncstart feature
+
*several axes - combining in a group or using syncstart feature
* mixed axes, groups, robots - using syncstart feature
+
*mixed axes, groups, robots - using syncstart feature
* robot and an axis - moving frame (conveyor tracking)
+
*robot and an axis - moving frame (conveyor tracking)
  
 
There are two types of synchronizations available
 
There are two types of synchronizations available
  
* [[Axystems:MC-Basic:SYNCSTART | SyncStart]] several elements(axes, groups, robots) start the motion at same moment. However the moment of motion end can be different for every element in the list.
+
*[[MC-Basic:SYNCSTART| SyncStart]] several elements(axes, groups, robots) start the motion at same moment. However the moment of motion end can be different for every element in the list.
  
* [[AXY:MC-Basic:SYNCALL | SyncAll]]<sup> new </sup> several elements(axes, groups, robots) start and finish the motion together. Means that all elements will start moving together and end moving  at same sample.
+
*[[MC-Basic:SYNCALL| SyncAll]] several elements(axes, groups, robots) start and finish the motion together. Means that all elements will start moving together and end moving  at same sample.
  
[[Image:AXY;SyncStart.png | SyncStart | SyncStart]] [[Image:AXY;SyncAll.png | SyncAll | SyncAll]]
 
  
= How it works =
+
<center>
 +
<gallery widths= 400px heights= 600px>
 +
Image:AXY;SyncStart.png|''SyncStart''
 +
Image:AXY;SyncAll.png|''SyncAll''
 +
</gallery>
 +
</center>
 +
 
 +
= SyncAll =
 +
 
 +
This is new synchronization feature enabling '''phase-synchronization''' between list of elements (axes, groups, robots) given in the <sync-list> by an arbitrary order. The function synchronizes them in such a way that they all share the same starting and the finishing moment of the motion.
 +
 
 +
SyncAll command  can be seen as a generalization of MOVE <group> command where all axes of a group are synchronized in one motion together. In SyncAll <list> command all elements of the list are synchronized in one motion together.
 +
 
 +
In MOVE command axes must be a part of a predefined group while in SyncAll the given elements are independent.
 +
 
 +
This can be summarized with the following table:
 +
 
 +
{| border="1" cellpadding="20" cellspacing="0"
 +
|+
 +
|'''Command:''' || <center>'''elements/axes'''</center> || <center>'''start-time'''</center> || <center>'''stop-time'''</center> || <center>'''phase'''</center>
 +
|-
 +
|'''MOVE <group>''' || axes-only || = || = || synchronized
 +
|-
 +
|'''SyncStart''' || elements || = ||  || not-synchronized
 +
|-
 +
|'''SyncAll''' || elements || = || = || synchronized
 +
|}
 +
 
 +
==Different Synchronization Types:==
 +
 
 +
<center>
 +
<gallery widths= 300px heights= 200px>
 +
Image:AXY;SynchronizationTypes1.png|''Synchronization Types''
 +
Image:AXY;PhaseSynchronization.png|'''''Phase Synchronization'''''
 +
Image:AXY;TimeSynchronization.png|''Time Synchronization''
 +
Image:AXY;NoSynchronization.png|''No Synchronization''
 +
</gallery>
 +
</center>
 +
 
 +
<br/>
 +
{{Note| Movement can't end with ''vFinal> 0''}}<br/>
 +
 
 +
= Common Synchronization Rules =
 +
 
 +
 
 +
There are common rules for both ''SyncStart <sync-list>'' and ''SyncAll <sync-list>'' command:
 +
 
 +
* Axes belonging to an attached group can not be synchronized
 +
* Not executed pending motions issued with ''starttype = sync'' are cleared  after detach command
 +
* ''STOP'' command on an element of the sync-list stops that element only
 +
* Although ''Move StartType=sync'' does not execute the motion it however demands that the element is in executable state (i.e. enabled, etc.)
 +
* Synchronization has higher priority than blending (''BlendingMethod = 1,2,3'').
 +
 
 +
 
 +
 
 +
 
 +
== Clear A Pending Move ==
 +
 
 +
If you have loaded a synchronized move in the motion generator and need to delete it, use '''SYNCCLEAR'''. For example, if you entered the following command in the above sequence before issuing '''SYNCSTART''':
 +
<pre>
 +
SyncClear Group1
 +
</pre>
 +
The Group1'' ''move is deleted. Changing GROUP1.STARTTYPE only affects subsequent moves. You must use '''SYNCCLEAR''' to clear pending synchronized moves. '''SYNCCLEAR''' has no effect once the move is executing. In this case, you stop the move as you would a non-synchronized move.
 +
 
 +
= How It Works =
 +
 
 +
n - independent profiles are started at same time instance in the same way as it is done in SycnStart case. The only difference that the n-independent elemetns are running on one exactly the same profiler that is copied n-times to each of the element of the <sync-list>.
 +
 +
See: [[AXY:Element Synchronization/Design|Detailed Design]]
  
 
= See Also =
 
= See Also =
* [[AXY:SOWEMA| SOWEMA]]
+
* [[MC-Basic:SYNCSTART| SyncStart]]
* [[Axystems:MC-Basic:SYNCSTART | SyncStart]]
+
* [[MC-Basic:SYNCALL| SyncAll]]
* [[AXY:MC-Basic:SYNCALL | SyncAll]]
+
* [[MC-Basic:SYNCCLEAR| SyncClear]]
* [[Axystems:MC-Basic:SYNCCLEAR | SyncClear]]
 
  
  
[[Category:AXY:Synchronization]]
+
[[Category:Synchronization]]

Latest revision as of 13:33, 30 May 2017

Language: English  • 中文(简体)‎

Element Synchronization

The softMC system has several ways to synchronize different elements (axes, groups, robots).

  • several axes - combining in a group or using syncstart feature
  • mixed axes, groups, robots - using syncstart feature
  • robot and an axis - moving frame (conveyor tracking)

There are two types of synchronizations available

  • SyncStart several elements(axes, groups, robots) start the motion at same moment. However the moment of motion end can be different for every element in the list.
  • SyncAll several elements(axes, groups, robots) start and finish the motion together. Means that all elements will start moving together and end moving at same sample.


SyncAll

This is new synchronization feature enabling phase-synchronization between list of elements (axes, groups, robots) given in the <sync-list> by an arbitrary order. The function synchronizes them in such a way that they all share the same starting and the finishing moment of the motion.

SyncAll command can be seen as a generalization of MOVE <group> command where all axes of a group are synchronized in one motion together. In SyncAll <list> command all elements of the list are synchronized in one motion together.

In MOVE command axes must be a part of a predefined group while in SyncAll the given elements are independent.

This can be summarized with the following table:

Command:
elements/axes
start-time
stop-time
phase
MOVE <group> axes-only = = synchronized
SyncStart elements = not-synchronized
SyncAll elements = = synchronized

Different Synchronization Types:


NOTE-Info.svgNOTE
Movement can't end with vFinal> 0

Common Synchronization Rules

There are common rules for both SyncStart <sync-list> and SyncAll <sync-list> command:

  • Axes belonging to an attached group can not be synchronized
  • Not executed pending motions issued with starttype = sync are cleared after detach command
  • STOP command on an element of the sync-list stops that element only
  • Although Move StartType=sync does not execute the motion it however demands that the element is in executable state (i.e. enabled, etc.)
  • Synchronization has higher priority than blending (BlendingMethod = 1,2,3).



Clear A Pending Move

If you have loaded a synchronized move in the motion generator and need to delete it, use SYNCCLEAR. For example, if you entered the following command in the above sequence before issuing SYNCSTART:

SyncClear Group1

The Group1 move is deleted. Changing GROUP1.STARTTYPE only affects subsequent moves. You must use SYNCCLEAR to clear pending synchronized moves. SYNCCLEAR has no effect once the move is executing. In this case, you stop the move as you would a non-synchronized move.

How It Works

n - independent profiles are started at same time instance in the same way as it is done in SycnStart case. The only difference that the n-independent elemetns are running on one exactly the same profiler that is copied n-times to each of the element of the <sync-list>.

See: Detailed Design

See Also