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

From SoftMC-Wiki
Jump to: navigation, search
(Pre-Calculation)
(Pre-Calculation)
Line 32: Line 32:
 
And then generate a master profile with the following parameters:
 
And then generate a master profile with the following parameters:
  
 +
=== Master Profile ===
  
 
+
The master profile data-structure will be copied to the profile-data-structure of all other elements. Master profile:
The master profile data-structure will be copied to the profile-data-structure of all other elements.
 
 
 
 
 
Master profile:
 
  
 
<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>
Line 45: Line 42:
  
 
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.
 
  
 
The complete system of the sync-list motion profiles will be executed together just be scaling each of them by the factor of:<math>\frac{L_i}{\sqrt{\sum L_i ^2}}</math>
 
The complete system of the sync-list motion profiles will be executed together just be scaling each of them by the factor of:<math>\frac{L_i}{\sqrt{\sum L_i ^2}}</math>

Revision as of 08:43, 6 February 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: (el1 , el2 , el3 , ... eln ):

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:

Master Profile

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:


Sync List profiles