48
MPC-325 SERIES OPERATION MANUAL – REV. 3.20F (20200303)
Ready to update UI with current position in microsteps using 32-bit integer values.
Convert microsteps to microns. Use double-precision variables for current position in microns;
initialize each to 0.
double cpxum, cpyum, cpzum;
cpxum = cpyum = cpzum = 0;
Microsteps-to-microns conversion factor (see “Microns / microsteps conversion” table for
appropriate factor)
double us2umCF = 0.0625;
Get microns from microsteps for each axis
cpxum = cpxus * us2umCF;
cpyum = cpyus * us2umCF;
cpzum = cpzus * us2umCF;
Ready to update UI with current position in microns using double-precision values. Loop for next
data block as desired until streaming ends.
For LabVIEW, a 3-byte positional value for an axis can be transferred into a byte array, and then
into a U32 data type via a byte-swap function to ensure 24-bit to 32-bit conversion while making
sure that no high-order value is misinterpreted as a sign bit (there should never be a negative
positional value in the MPC-200). LabVIEW data types (e.g., U16, U32, I32) are always in Big-
Endian bit/byte order, while MPC-200 multibyte values are always transcieved in Little-Endian
bit/byte order.
A single completion indicator byte (ASCII CR) is returned when streaming ends and
target position has been reached.