Compiling Program Sequencer Commands

An MPICommand will "compile" into one or more MEIXmpCommand{}s, each of which takes up a slot in the MEIXmpCommandBuffer{}. In general, an MPICommand will compile into a single MEIXmpCommand{}, but an MPICommand of type MPICommandTypeMOTION [with a motionCommand of MPICommandMotionSTART (i.e. mpiMotionStart(...))] will require several MEIXmpCommand{}s.

How many sequencer commands an MPI sequence command compiles to depends on the number of axes and number of positions in the move. The next table shows how many xmp sequencer commands it takes to do the equivalent of an mpiMotionStart(...).

Number of Sequencer Commands to be equivalent to mpiMotionStart(...)
Number of sequencer commands required
To do this:
axisCount + One MEIXmpCommand{} per axis to write the axis number to MEIXmpLinkBuffer{}.MSLink[].Axis[].AxisNumber
1+ 1 + One MEIXmpCommand{} to write axisCount to MEIXmpLinkBuffer{}.MSLink[].Axes
1+ One MEIXmpCommand{} to write the MEIXmpMotionType{} to MS[].Mode.
(((axisCount*pointCount) + 3) / 4) + One MEIXmpCommand{} for every four MEIXmpPoint{}s written to PointBuffer.Point[]
axisCount + One MEIXmpCommand{} per axis to load the MEIXmpPoint(s)
1 One MEIXmpCommand{} to start the motion