|
Introduction
|
|
To create a motion application, you create objects, link
them in relationships (associate them), and provide the desired
parameters for motion.
|
|
There are three ways that you can associate one object with
another object:
- Using an object List
- Using bitmap
- Using an array of object numbers
Objects using bitmaps or an array of numbers must all be
present physically on the same controller, while objects on
an object list can come from different controllers (such as
objects on the EventMgr control list).
|
Three Ways to Associate Objects
with Objects
Object |
. |
When
to Use |
List
|
an ordered list
|
Use a List
when the order of the objects to be associated is important,
OR when some of the objects reside on different controllers.
|
Bitmap
|
an un-ordered list
|
Use a bitmap
when the order of the objects is not important, AND the
objects must all reside on the same controller (same Control
object). |
Array of object numbers
|
an ordered list
|
Use an array of object numbers
when the order of the objects is important, AND the objects
must all reside on the same controller (same Control object). |
|
|
|
Object List
|

|
Use an object list to associate objects when ordering is
required, such as the Axis list maintained by a Motion object.
For example, when using a Motion object, a list of Axes 0,
1, 2 is not the same as a list of Axes 0, 2, 1. Such a distinction
is not available when using an object map. Refer to the List
methods for Motion, Notify, Sequence and EventMgr objects.
|
This object: |
Can have object lists of: |
Motion |
Axes |
Notify |
Events |
EventMgr |
Controls
Notify objects |
Sequence |
Commands |
|
 |
|
|
|
Bitmap
|
|
An object map is a bitmap, where each numbered bit represents
the presence or absence of the correspondingly numbered object.
You can order the objects in the bitmap from numeric low-to-high
or high-to-low, but there is no other meaningful capability
for ordering objects with an object map.
|
|
Another consideration with object maps is that all objects
specified in the map and the object (that those objects are
being associated with) must be resident on the same controller
(Control object).
Note: Although the MPI allows an Axis to be associated with
a Motion without regard to the controller (Control), the XMP
implementation of the MPI does not allow this.
Object maps tend to be used to associate low-level objects
that:
- must all reside on the same controller (Control)
- and the order in which the objects are ordered does
not matter
Note that the objects specified in the bitmap may be associated
with another object, without those objects having to be created
and deleted. A goal of the MPI has been to minimize the need
to create and delete objects, especially objects that are
just used for configuration. For example, an MPI application
that uses the default configuration doesn't have to create
Filter or Motor objects, yet the application can still configure
an Axis, by calling mpiAxisFilterMapSet(...), where the Filters
are specified by the bitmap.
|
Object Maps for Objects
This object: |
Has associated object maps
of: |
Filter |
Axes
Motors
|
Axis |
Filters
Motors |
Motor |
Filters
Axes
Adcs |
|
|
|
Array of Object Numbers
|
|
The MPI provides a third means of associating objects, by
using object numbers. Object numbers should be used when ordering
is required, and all the resources arelocated on the same
controller.
|
|
|
Using List, Bitmaps, & Arrays
|

|
|
|
|
|
|
Application-MPI-Controller Interface
|

|
|
|
|
|
SERCOS Interface
|

|
The standard XMP controller uses an analog interface. The
analog interface requires many wires to make the connections
between amplifiers and I/O. The XMP/Sercos controller uses
a fiber optic interface coupled with a deterministic serial
communications protocol to take the place of the wires needed
with the analog XMP.
SERCOS allows the XMP controller to transmit more than just
an analog reference signal to an amplifier. SERCOS allows
the XMP controller to transmit position, velocity, torque,
I/O, tuning parameters, and other configuration parameters
to an amplifier. Because the data is transmitted to an amplifier
in digital form, the amplifier will contain an on-board processor.
Besides parsing the command data and sending feedback, the
on board processor gives the drive many capabilities. SERCOS
drives have the ability to close a position, velocity, and/or
torque loop, execute internal homing procedures, as well as
latch position based on digital inputs.
Despite the fact that the XMP/SERCOS controller has a different
physical interface than the standard XMP controller, the same
MPI is used for both controllers. The complexity of the XMP/SERCOS
controller's interface has been hidden by the MPI and by the
firmware running on the XMP. This means that the same development
tools can be used for both controllers. The XMP/SERCOS controller
requires that an initialization procedure be executed before
commands can be sent to amplifiers. Once the initialization
procedure has successfully executed, the XMP/SERCOS controller
acts the same as the standard analog XMP controller.
|
|
|
|