. |
Motion ConceptsIntroduction | Motor Links | Filter Links | Axis Links | see Object Relationships IntroductionThe XMP software architecture is composed of separate modular objects that can be associated in a variety of ways to create custom systems. For example, a gantry or robot using more than one motor for a physical axis may be configured to allow the application to treat the axis as a single entity, simplifying the geometry. This flexibility does not come without a price, however, since configuration of complex systems involves a fairly large number of parameters. To overcome the need to configure simple "standard" systems, the XMP is pre-configured with a factory default configuration which can be used for most simple systems. To understand how to create a custom XMP configuration, you must understand the component objects involved. Custom configurations are created using four types of objects: Motors, Filters, Axes, and Motion Supervisors (called Motion objects). To simplify implementation of the XMP architecture, we assumed that the association of Motors, Filters, and Axis would be more or less static (created during initialization), while association of Axes with Motion Supervisors would be more dynamic (created or modified during runtime). Motor LinksThere can be up to 2 filter outputs used in calculating the output level of the Motor command. The following expression is evaluated each sample to determine this output: Filter LinksThe Filter object uses the difference between command and actual positions to calculate a control output (control algorithm). Both the command and actual positions used in these calculations can be defined as a linear combination of positions from 2 different sources. MPIFilterConfig{}.Axis[] determine the sources and weight factors for these position inputs. On each sample, the following equations are used to determine the position error and command position used by the Filter: The command velocity and acceleration used in feedforward calculations is also determined from MPIFilterConfig{}.AxisInput[], using the following equations: Axis LinksThe actual position of an axis can be calculated as a linear combination of position values from two separate sources. On each sample, the following equation is used to compute the Axis' actual position: |
| | Copyright © 2001-2021 Motion Engineering |