Difference between revisions of "AXY:Element Synchronization/Design"
(→Element Synchronization Design) |
(→Pre-Calculation) |
||
Line 16: | Line 16: | ||
In case of SyncStart we sperately execute MotCalc on every element from the sync-list: | In case of SyncStart we sperately execute MotCalc on every element from the sync-list: | ||
+ | |||
<pre> | <pre> | ||
FOR element FROM sync-list | FOR element FROM sync-list | ||
Line 21: | Line 22: | ||
NEXT | NEXT | ||
</pre> | </pre> | ||
+ | |||
+ | 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<br> | ||
+ | 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> | ||
+ | NEXT<br> | ||
+ | |||
+ | And then generate a master profile with the following parameters: | ||
+ | |||
+ | |||
+ | <math>\frac{L_i}{\sqrt{\sum L_i ^2}}</math> , <math>\frac{L_i}{\sqrt{\sum V_i ^2}}</math> , <math>\frac{A_i}{\sqrt{\sum A_i ^2}}</math> , <math>\frac{D_i}{\sqrt{\sum D_i ^2}}</math> , <math>\frac{Ja_i}{\sqrt{\sum Ja_i ^2}}</math> , <math>\frac{Jd_i}{\sqrt{\sum Jd_i ^2}}</math> | ||
+ | |||
+ | |||
+ | 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> |
Revision as of 12:49, 30 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.
The complete system of the sync-list motion profiles will be executed together just be scaling each of them by the factor of: