AXY:Element Synchronization/Design

From SoftMC-Wiki
Revision as of 13:07, 12 May 2014 by Miborich (talk | contribs) (Miborich moved page Axystems:Element Synchronization/Design to AXY:Element Synchronization/Design: internal document)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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-Info.svgNOTE
The global profile type is defined according to the longest (in time) movement
NOTE-Info.svgNOTE
Stopping profile continues the global profile. So in case of Proceed command this profile will be used.
CAUTION.svgCAUTION
What happens if profiler changes its type?
CAUTION.svgCAUTION
What happens in case of extremely short motions?