.

Objects Relationships

Introduction | Object List | Bitmap | Array of Object Numbers
Using Lists, Bitmaps, & Arrays | Application-MPI-Controller Interface

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

       Legal Notice  |  Tech Email  |  Feedback
      
Copyright ©
2001-2021 Motion Engineering