. |
Objects RelationshipsIntroduction | Object List | Bitmap | 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).
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). |
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 |
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:
|
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 ObjectsThis object: | Has associated object maps of: |
Filter | Axes |
Axis | Filters Motors |
Motor | Filters Axes Adcs |
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.
| | Copyright © 2001-2021 Motion Engineering |