23
TRIO MP-235 THREE-AXIS MICROMANIPULATOR SYSTEM OPERATION MANUAL – REV. 2.23 (20190130) (FW V2.2 & 2.3)
binary). Each byte in a command sequence being transmitted to the controller must contain an
unsigned binary value. Attempting to code command sequences as “strings” is not advisable. Any
command data being returned from the controller must also be received and initially treated as a
sequence of unsigned byte values. Groups of contiguous bytes can later be combined to form larger
values, as appropriate (e.g., 2 bytes into 16-bit “word”, or 4 bytes into a 32-bit “long” or “double
word”). For the TRIO MP-235, all axis position values (number of microsteps) are stored as “unsigned
long” (32-bit) values, and each is transmitted and received to and from the controller as four
contiguous bytes.
4.5
Axis Position Command Parameters
All axis positional information is exchanged between the controller and the host computer in terms of
microsteps. Conversion between microsteps and microns (micrometers) is the responsibility of the
software running on the host computer. The number of microsteps for any axis position must always
be exchanged between the controller and the application running on an external computer as an
unsigned 32-bit value (“unsigned long” for C/C++ or “U32” for LabVIEW). “Unsigned” means the
value is always positive; negative values are not allowed. An unsigned long or U32 consists of four
contiguous bytes, with a byte/bit-ordering format of Little Endian (“Intel”) (most significant byte
(MSB) in the first byte and least significant (LSB) in the last byte). If the platform on which your
application is running is Little Endian, then no byte order reversal of axis position values is necessary.
Examples of platforms using Little Endian formatting include any system using an Intel processor
(including Microsoft Windows and Apple Mac OS X).
If the platform on which your application is running is Big Endian (e.g., Motorola PowerPC CPU),
then these 32-bit position values must have their bytes reverse-ordered after receiving from, or before
sending to, the controller. Examples of Big Endian platforms include many non-Intel-based systems,
LabVIEW (regardless of operating system & CPU), and Java (programming language/environment).
MATLAB adapts to the system on which it is running, so Little Endian may need to be enforced if
running on a Big Endian system.
4.6
Microsteps and Microns (Micrometers)
All coordinates sent to and received from the controller are in microsteps. To convert between
microsteps and microns (micrometers), use the following conversion factors (multipliers):
Table 4-2. Microns/microsteps conversion.
System/Device From/To
Units
Conversion Factor
(multiplier)
μ
steps
Æ
μ
m 0.09375
TRIO MP-235 with
TRIO MP-235/M
micromanipulator
μ
m
Æ
μ
steps 10.66666666667
For accuracy in your application, these conversion factors should be typed as double precision
(“double”); “float” is not recommended. If the result is in microsteps, it can be typed as a 32-bit “long”
integer; otherwise, it should be typed as floating point, preferably as double precision (“double”).
Table 4-3. Ranges.
Device Axis
Millimeters Microns Microsteps
X
0 – 25
0 – 25,000 0 – 266,667
Y
0 – 25
0 – 25,000 0 – 266,667
TRIO MP-235/M
D
0 – 50
0 – 50,000 0 – 533,334