Difference between revisions of "AXY:Element Synchronization/Design"
(→Pre-Calculation) |
m (Miborich moved page Axystems:Element Synchronization/Design to AXY:Element Synchronization/Design: internal document) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 23: | Line 23: | ||
</pre> | </pre> | ||
− | In case of SyncAll it is little bit more complicated, every element is pre-calculated in order to estimate | + | In case of SyncAll it is little bit more complicated, every element is pre-calculated in order to estimate its own max profile values: |
<pre> | <pre> | ||
Line 36: | Line 36: | ||
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{ | + | <math>L</math> , <math>min(V_i \cdot \frac{L_i} {L})</math> , <math>min(A_i \cdot \frac{L_i} {L})</math> , <math>min(D_i \cdot \frac{L_i} {L})</math> , <math>min(Ja_i \cdot \frac{L_i} {L})</math> , <math>min(Jd_i \cdot \frac{L_i} {L})</math> |
Line 43: | Line 43: | ||
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> |
+ | <math>TShort = min(TShort _i)</math><br/> | ||
+ | |||
+ | <math>TAccMin = max(TAccMin_i)</math><br/> | ||
+ | |||
+ | <math>TDecMin = max(TDecMin_i)</math> | ||
+ | |||
+ | {{Note| The global profile type is defined according to the longest (in time) movement}} | ||
+ | |||
+ | {{Note| Stopping profile continues the global profile. So in case of Proceed command this profile will be used.}} | ||
+ | |||
+ | {{Note/Caution| What happens if profiler changes its type?}} | ||
+ | |||
+ | {{Note/Caution| What happens in case of extremely short motions?}} | ||
<center> | <center> | ||
− | <gallery widths= 400px heights= | + | <gallery widths= 400px heights= 300px> |
Image:AXY;MasterProfiler.png|''Master profiler'' | Image:AXY;MasterProfiler.png|''Master profiler'' | ||
Image:AXY;MasterProfilerAcceleration.png|''Master profiler accleration'' | Image:AXY;MasterProfilerAcceleration.png|''Master profiler accleration'' | ||
Line 53: | Line 66: | ||
</center> | </center> | ||
− | + | ||
+ | |||
+ | <gallery widths= 700px heights= 600px> | ||
+ | Image:AXY;SyncAllPreclaculation.jpg|'' Sync All pre-calculation algorithm "" | ||
+ | Image:AXY;SyncListProfiles.png|''Sync List profiles'' | ||
+ | </gallery> |
Latest revision as of 13:07, 12 May 2014
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 its 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:
NOTE | |
The global profile type is defined according to the longest (in time) movement |
NOTE | |
Stopping profile continues the global profile. So in case of Proceed command this profile will be used. |
CAUTION | |
What happens if profiler changes its type? |
CAUTION | |
What happens in case of extremely short motions? |