Difference between revisions of "AXY:Element Synchronization/Design"
(→Master Profile) |
m (Miborich moved page Axystems:Element Synchronization/Design to AXY:Element Synchronization/Design: internal document) |
||
(6 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 45: | Line 45: | ||
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> | ||
Line 56: | Line 69: | ||
<gallery widths= 700px heights= 600px> | <gallery widths= 700px heights= 600px> | ||
+ | Image:AXY;SyncAllPreclaculation.jpg|'' Sync All pre-calculation algorithm "" | ||
Image:AXY;SyncListProfiles.png|''Sync List profiles'' | Image:AXY;SyncListProfiles.png|''Sync List profiles'' | ||
</gallery> | </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? |