Difference between revisions of "AXY:Element Synchronization/Design"

From SoftMC-Wiki
Jump to: navigation, search
(Pre-Calculation)
(Pre-Calculation)
Line 25: Line 25:
 
In case of SyncAll it is little bit more complicated, every element is pre-calculated in order to estimate it's own max profile values:
 
In case of SyncAll it is little bit more complicated, every element is pre-calculated in order to estimate it's own max profile values:
  
 
+
<pre>
FOR element FROM sync-list<br>
+
FOR element FROM sync-list
element->MotCalc() ==> L<sub>i</sub> , V<sub>i</sub> , A<sub>i</sub> , D<sub>i</sub> , Ja<sub>i</sub> Jd<sub>i</sub> <br>
+
element->MotCalc() ==> Li , Vi , Ai , Di , Jai Jdi
NEXT<br>
+
NEXT
 
+
</pre>
 
And then generate a master profile with the following parameters:
 
And then generate a master profile with the following parameters:
  
Line 41: Line 41:
 
<math>L</math> , <math>min(V_i \cdot \frac{L} {L_i})</math> , <math>min(A_i \cdot \frac{L} {L_i})</math> , <math>min(D_i \cdot \frac{L} {L_i})</math> , <math>min(Ja_i \cdot \frac{L} {L_i})</math> , <math>min(Jd_i \cdot \frac{L} {L_i})</math>
 
<math>L</math> , <math>min(V_i \cdot \frac{L} {L_i})</math> , <math>min(A_i \cdot \frac{L} {L_i})</math> , <math>min(D_i \cdot \frac{L} {L_i})</math> , <math>min(Ja_i \cdot \frac{L} {L_i})</math> , <math>min(Jd_i \cdot \frac{L} {L_i})</math>
  
 +
 +
where <math>L = \sqrt{\sum L_i ^2}</math>
  
 
The master profile data-structure will be copied to the profile-data-structure of all other elements.
 
The master profile data-structure will be copied to the profile-data-structure of all other elements.

Revision as of 08:26, 31 January 2012

Element Synchronization Design

Common algorithms to both SyncStart and SyncAll:


Pre-Calculation

Is done in MotionManager task, initiated by message sent from SyncStart/All commands:

In case of SyncStart we sperately execute MotCalc on every element from the sync-list:

FOR element FROM sync-list
   element->MotCalc()
NEXT

In case of SyncAll it is little bit more complicated, every element is pre-calculated in order to estimate it's own max profile values:

FOR element FROM sync-list
element->MotCalc() ==> Li , Vi , Ai , Di , Jai ,  Jdi
NEXT

And then generate a master profile with the following parameters:


The master profile data-structure will be copied to the profile-data-structure of all other elements.


Master profile:

, , , , ,


where

The master profile data-structure will be copied to the profile-data-structure of all other elements.


The complete system of the sync-list motion profiles will be executed together just be scaling each of them by the factor of: