Control Objects


A Control object manages a motion controller device. The device is typically a single board residing in a PC or an embedded system. A control object can read and write device memory through one of a variety of methods: I/O port, memory mapped or device driver.

For the case where the application and the motion controller device exist on two physically separate platforms connected by a LAN or serial line, the application creates a client control object which communicates via remote procedure calls with a server.

Unlike the methods of all other objects in the MPI, Control object methods are not thread-safe.

Are you using TCP/IP and Sockets? If yes, click here.


Create, Delete, Validate Methods
  mpiControlCreate Create Control object
  mpiControlDelete Delete Control object
  mpiControlValidate Validate Control object
Configuration and Information Methods
  mpiControlAddress Get original address of Control object (when it was created)
  mpiControlConfigGet Get Control config
  mpiControlConfigSet Set Control config
  mpiControlFlashConfigGet Get Control flash config
  mpiControlFlashConfigSet Set Control flash config
  meiControlGateGet Get the closed state (TRUE or FALSE)
  meiControlGateSet Set the closed state (TRUE or FALSE)
  meiControlSamplestoSeconds Converts samples to seconds
  meiControlSecondstoSamples Converts seconds to samples
  mpiControlType Get type of Control object (used to create Command object)
  meiControlVersionGet Read the version of XMP firmware
  meiControlVersionSet Write the version of XMP firmware
Memory Methods
  mpiControlMemory Get address of Control memory
  mpiControlMemoryAlloc Allocate bytes of firmware memory
  mpiControlMemoryCount Get number of bytes available in firmware
  mpiControlMemoryFree Free bytes of firmware memory
  mpiControlMemoryGet Copy count bytes of Control memory to application memory
  mpiControlMemorySet Copy count bytes of application memory to Control memory
Action Methods
  mpiControlCycleWait Wait for Control to execute count cycles
  mpiControlInit Initialize Control object
  mpiControlInterruptEnable Enable interrupts to Control object
  mpiControlInterruptWait Wait for controller interrupt
  mpiControlInterruptWake Wake all threads waiting for controller interrupt
  mpiControlReset Reset controller hardware
  meiControlSampleWait Specify how many samples the host waits for, while the XMP executes
Relational Methods
Data Types
  MPIControlConfig / MEIControlConfig  
  MPIControlMessage / MEIControlMessage