VELMEX VXM-1 User manual

This information is for the end user of Velmex VXM Stepping Motor Controllers.
The end user should read this document and retain it for future reference.
Important User Information
1
Warranty
Stepping Motor Controllers manufactured by Velmex are warranted to be free from
defects for a period of two (2) years on all parts. Velmex's obligation under this
warranty does not apply to defects due, directly or indirectly, to misuse, abuse,
negligence, accidents, or unauthorized repairs, alterations, or cables/connectors that
require replacement due to wear. Claims must be authorized, and a return
authorization number issued before a product can be returned.
The warranty does not cover items which are not manufactured or constructed by
Velmex, Inc. These components are warranted by their respective manufacturer.
Under the above warranty, Velmex will, at its option, either repair or replace a
nonconforming or defective product.
The above warranty is the only warranty authorized by Velmex. Velmex shall in no
event be responsible for any loss of business or profits, downtime or delay, labor,
repair, or material costs, injury to person or property or any similar or dissimilar
incidental or consequential loss or damage incurred by purchaser, even if Velmex has
been advised of the possibility of such losses or damages.
Inasmuch as Velmex does not undertake to evaluate the suitability of any Velmex
product for any particular application, the purchaser is expected to understand the
operational characteristics of the product, as suggested in documentation supplied by
Velmex, and to assess the suitability of Velmex products for this application.
This limited warranty give you specific legal rights which vary from State to State.
By Phone: 585-657-6151 and 800-642-6446
By Fax: 585-657-6153
Email: [email protected]
On the Internet: www.velmex.com and www.bislide.com
By mail: Velmex, Inc.
7550 State Route 5 & 20
Bloomfield, NY 14469 USA
Copyright 2002 Velmex Inc. All rights reserved. Velmex, the Velmex logo, UniSlide, and BiSlide are trademarks of Velmex Inc. All
other trademarks are the property of their respective owners.
Contact Information
Document # VXM-UM-E2 7-29-03
VXM Stepping Motor Controller User’s Manual
VXM Stepping Motor Controller User’s Manual
VXM Stepping Motor Controller
This Manual explains the general and advanced operation of the VXM-1, VXM-2, VXM-
3, and VXM-4 stepping motor controllers.
Also included on the CDROM:
1. COSMOS utility/controller software (A user friendly Windows program for easy
setup, testing, and programming of VXM controllers)
2. Software examples and software drivers
User’s Manual
(Extended Version)
Models VXM-1,2,3,4
Record Controller and Motor information here for future reference:
Model#: VXM-
Serial #:
Motor #1 Motor #2
Motor #3 Motor #4
Notes:
Document # VXM-UM-E2 7-29-03

3
2
Table of Contents
Precautions.........................2
Features..............................4
Front....................................5
Back....................................5
RS-232 Port........................5
Auxiliary I/O.........................6
Motor wiring........................6
Limit Switch wiring..............6
Setup...................................7
Jog Mode............................7
Optional Joystick.................7
Communication Methods....8
Linking VXMs for 3 & 4
Motors...............................10
Units & Directions..............11
Command Summary
(Common Commands)......12
Command Summary
(Advanced Commands)....14
Command Reference
(Common Commands)......16
Motor Commands.........16
Program Management
Commands...................19
Looping/Branching
Commands...................20
Pausing & I/O
Commands...................22
Operation Commands...23
Status Request
Commands....................24
Setup Commands.........25
Examples..........................26
Troubleshooting................30
Specifications....................31
COSMOS Software...........31
Warranty..............................1
Contact Information.............1
CAUTION:
Controller and AC power supply should be operating in a
well ventilated area. Do not use in a wet, dirty, or explosive
environment. In industrial environments, repackaging into
a NEMA grade enclosure is required.
Do not disconnect motor while running. Keep Motor and
Limit cables minimum of 2” apart . Only operate with
designated motor. Do not alter cables in any way without
first consulting Velmex
!
!
!
!
WARNING:
TO REDUCE THE RISK OF ELECTRICAL SHOCK, DO
NOT ATTEMPT TO REMOVE COVERS ON POWER
SUPPLY OR CONTROLLER. THERE ARE NO USER
SERVICEABLE PARTS INSIDE. Any servicing should be
done by Velmex qualified service personnel.
CAUTION:
THE VXM MUST BE SET TO THE EXACT
MODEL/TYPE MOTOR(S) BEFORE
OPERATING.
IMPROPER SETTINGS CAN CAUSE
SEVERE DAMAGE TO MOTORS AND
CONTROLLER.
Use Velmex COSMOS software to
configure VXM before use.
CAUTION:
MOTOR(S) GET HOT WHEN RUNNING.
Motor(s) must be mounted to a metal surface
to dissipate internal heat.
Precautions
CAUTION
!!
Mismatched Motor
Settings Damage
Motor & Controller
When Connecting Motor:
Set Controller to the
exact motor model/type
before operating.
CAUTION
!!
Mismatched Motor
Settings Damage
Motor & Controller
When Connecting Motor:
Set Controller to the
exact motor model/type
before operating.
Motors mounted to Velmex actuators/positioners will usually provide
sufficient heat dissipation. Motor surface temperature should not exceed
152°F (70°C.) In continuous duty applications when the motor is not
mounted to a suitable heat dissipating device, motor surface temperature
could exceed 152°F (70°C.)
Appendix A
Appendix B
Appendix C
Appendix D
Appendix E
Appendix F
Appendix G
Appendix H
Appendix I
Appendix J
Appendix K
Appendix L
Appendix M
Appendix N
Appendix O
Appendix P
Appendix Q
Appendix R
Appendix S
Editing/Debugging Tools.........................32
Advanced Input/Output...........................34
The Multifunction User Inputs.................38
Producing Trigger Outputs.......................40
Getting Motor Position When Moving......44
More Feedback/ Precision.......................46
Complex Profiles & Coordinated Motion...48
Advanced Jog Mode................................50
The Analog Input.....................................54
The Analog Joystick Option.....................56
I/O Electrical Specifications......................60
Motor Torque Curves...............................62
Advanced Motor Setup.............................66
Limit Switches and Home Switches.........68
Controller Mode.......................................70
VXM Comparison to NF90/ VP9000........72
Outline Dimensions...................................78
Model Configurations................................80
Pick-and-Place with JM-x..........................82

RS-232 Port
5
4
Features
The VXM is a high performance, advanced design stepping motor controller.
High reliability, and consistent performance are achieved by these design
features:
·Single chip microcontroller (MCU) digitally controls the motor phase switching
and all other interface functions (noise sensitive step and direction translation
circuitry are eliminated)
·Pulse width modulated timing is preset by the MCU, eliminating error prone
analog feedback circuits
·Regulated power supply with a 100 to 240VAC input range assures consistent
motor output torque
·4X oversize motor drives for long life and overload tolerance
·A single VXM can accept and execute commands for operating 4 motors
·Complete Controller/Indexer/Driver/AC Power Supply with RS-232 interface
·Modulated current control drive has less low speed vibration than typical 400
step/rev controllers
·Nonvolatile memory for user program storage
·Included external desktop type power supply is UL, CE, CSA, and TUV safety
agency compliant
·One and two motor versions. Three and four motor capability with two Controls
linked by the VXM bus
·Backward compatible with Velmex NF90 and VP9000 Step Motor controllers
·User programmable inputs and outputs
·10 bit analog input for external sensor, setting speed, or for analog joystick
control
·Runs 6 or 8 lead permanent magnet step motors rated from 0.4 to 4.7 amps
·Jog, Run, and Stop input buttons on front panel
·Use interactively with a PC or run standalone
·Optically isolated limit switch inputs
·User resettable circuit breaker protected
·Software settable motor power and motor model selection
·Low voltage 24VDC operation
·Energy saving design, automatically de-energizes motors at a standstill,
consuming only 1.4 watts
·FIFO buffer to capture motor positions on external trigger
·Special commands for matrix/array patterns and pick-and-place applications
·Coordinated motion with two VXMs
·Complex motion profiles with “continuous index mode”
RS-232
1
2
3
4
5
9 8 7 6
The RS-232 port will connect directly to a COM
port of a PC with a straight through 9 pin serial
cable (10 foot cable included with the VXM.)
Pin Assignments:
1 N/C
2 Tx
3 Rx
5 Gnd
4
6
7
8
9 N/C
N/C = No Connection
Over Current
Protection
External DC Power Supply
Input Connection
(To Lambda DT60PW240P) Serial RS-232 Port
Cable to Motor 1
Cable to Motor 2
Cable to Limit
Switches for Motor 1
Cable to Limit
Switches for Motor 2
Auxiliary Inputs
and Outputs
Rear
Host Computer
Controlled Indicating
LED
Power Switch
(Press right side
is On)
Power
Indicating LED
Start Internal
Program
Stop/Interrupt
Program
Bus connection to
second VXM for
3 and 4 motor operation
Moves Motor 1
CCW
Moves Motor 2
CCW
Moves Motor 1
CW
Moves Motor 2
CW
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog 1 Jog 2Jog 2
++
+
+
Front
9DSUB Socket
DC24V 2.5A
Circuit Breaker
Motor 1
Motor 2 Limits 1 Limits 2
IOIOI
RS-232 I/O
Bloomfield,
NY, USA
Model VXM-2
Serial # 020835
2.5
++
+
+
++
+
+

Pin Switch Cable
Inner Switch
(Motor End)*
1 C W
2 NC R
Outer Switch
(End Plate)
3 NC Gn
4 C Bk
When the On-Line (yellow) light is not lit, the VXM is in the Local/Jog mode. Using the
front panel jog buttons, each motor can be jogged a single step or slewed to 2000 sps (5
revs/sec.) in either direction.
Refer to the “setj” and “setJ” commands in Appendix H for more information about
setting jog speeds to different values.
When a Jog button is pressed the motor moves 1 step (1/400 rev.) If the button is held
for >0.3 second the motor will accelerate to 2000 sps . Pressing Stop while using the
Jog buttons will hold the speed at 39 sps.
Pin# Name Function
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Pin Motor Cable
(6 wire)
Slo-Syn Vexta Pacific
Scientific*
1 BC W W W W/Y & W/R
2 B2 Gn Gn Bu R
3 AC Bk Bk Y W/Bk & W/O
4 A2 Or W/R Bk O
5 A1 R R Gn Bk
6 B1 Bu W/Gn R Y
Motor Wiring (for Velmex installed step motors)
* 8 lead motor with wires combined at AC and BC
for 6 lead configuration
A1
AC
A2
B1 BC B2
Step Motor
1
2
3
4
56
Amp 1-480705-0
(mates with: 1-480704-0 on Cable)
Connector
on Motor
7
6
Limit Switch Wiring
4 3 21
Amp 1-480703-0 (mates with: 1-480702-0)
* Negative direction on VXM controllers
Connector on
Switch Harness
Switches are wired on the normally closed (NC) terminals.
CAUTION: The VXM puts 24VDC on the limit switches,
do not connect limit inputs to any +5V logic devices
C
NC
NO
Setup
Auxiliary I/O Connection
Jog Mode
Optional Joysticks
There are two types of external joysticks available for the VXM. One is digital that
functions like the front panel jog buttons, and the second is an analog proportional speed
type that can operate up to 4 motors with 2 VXMs For more information/configuration
refer to Appendix H and J.
I/O
1
2
3
45
1112
1314
15
10 9 8 76
The I/O connections can be used for signaling external
equipment or waiting for an external signal. The front
panel button inputs are also available on the I/O
connector for remote jog, run, and stop.
0V
+5V
Ain
Run
I1
I2
I3
I4
0V
J1-
J1+
J2-
J2+
O1
O2
Logic reference ground for inputs and outputs
+5VDC for Joystick power and other external logic (75mA max. output)
Analog input for Joystick, speed setting, or analog sensor.
Run input to start program, same input as Run button (active low)
Input 1 (active low)
Input 2 (active low)
Input 3 (active low)
Input 4 and Stop (Same as Stop button on front panel) (active low)
Logic reference ground for inputs and outputs
Jog Motor 1 CCW (Same as front panel button) (active low)
Jog Motor 1 CW (Same as front panel button) (active low)
Jog Motor 2 CCW (Same as front panel button) (active low)
Jog Motor 2 CW (Same as front panel button) (active low)
Output 1 (normally low)
Output 2 (normally low)
NOTE: All inputs and outputs are TTL levels (0 to +5VDC.) Inputs have resistive
pull-ups, and are activated by connecting to 0V. Outputs are normally low, and can
sink and source 20 mA max. .For more information refer to Appendix K
15DSUBHD Socket
1. Connect the cables to motors and limit switches (if actuator has limit switches.)
Connect the 9 pin serial cable from the VXM’s rear panel connector labeled "RS-232" and
your computer's serial port (usually labeled “COM” or “|O|O|”.) For computers with only
USB ports, use a USB to RS-232 adapter.
CAUTION: Motor cables should never be bundled together with the Limit Switch, or any
I/O cabling. Never put any of the VXM's cables with power cables in a common electrical
conduit or ducting. Always keep Limit Switch and I/O cables at least 2 inches from Motor
and Power cables.
CAUTION: Motor cable length or connectors should not be altered without consulting
Velmex first. Improper wiring can result in poor performance and damage to the VXM.
Altered cables and resultant damage is not covered by the warranty.
IMPORTANT: The VXM can automatically detect limit switch inputs that are wired
normally closed to operate (motor stops on open circuit.) Normally closed is the standard
used on all Velmex products. However, Velmex rotary tables with the home switch option
requires that the limit switch inputs be reconfigured in setup. Refer to the “setL”
command in Extended Version User’s Manual on the CDROM for more information.
CAUTION: Never connect or disconnect motors with the power on, this can result in
severe damage to motor drive electronics.
2. Connect cable from DC power supply to VXM
3. Plug the DC power supply into a AC outlet.
4. Turn on the VXM by pushing the right side of the rocker switch located on the front
panel.
5. Initially the VXM is set for no motors selected (very low power, motors buzz but will
not move.) Use the COSMOS software included on the CDROM to set VXM for the
proper motors. If your computer is not a Windows based system, refer to the “setM”
command in the reference section of this manual.
Both On-Line and Power LEDs will light for 1 second, the On-Line will go out,
then the Power LED will flash 6 times.

89
Index Motor 1 Example
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog1 Jog 2Jog2
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog1 Jog 2Jog2
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog1 Jog 2Jog2
VisualBASIC, C,
LabVIEW, etc.
“F”
command
:
:
:
“R”
¬wait for “^”
“C”
command
:
:
:
:
:
“rsm”
RS-232 Download/ Stand-alone Mode
Entire programs can be transferred to the VXM over the RS-232 interface. When a
program(s) has been downloaded to the VXM, it will keep the program(s) in memory until a
clear (”C”) command is used. To prevent loss of program data when power is turned off,
program memory can be permanently saved by using the “rsm” command. The ability to
retain programs allows the VXM to be used in a stand-alone mode. In a stand-alone mode
the operator starts the program by Run button located on the front panel, or by using the Run
input on the I/O connector.
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog1 Jog 2Jog2
Windows running
Velmex COSMOS,
or Windows
HyperTerminal
“E”
command
:
:
:
“R”
¬wait for “^”
“C”
ÿ
G
Send commands
and permanently
save them in
VXM with “rsm”
command
VXM holds program(s) that can be activated with the
Run input. The default program to run is program 0.
Inputs 2 and 3 can configured to binary select and run
programs 0 to 3.
E
I1M400
R
E
I1M400
R
E I1M400,RE I1M400,R
E ;Enable On-Line mode with echo on
I1M400 ;Incremental Index Motor #1 +400 steps (1rev.)
R
E ;Enable On-Line mode with echo on
I1M400 ;Incremental Index Motor #1 +400 steps (1rev.)
R
¬Enable On-Line mode with echo on
¬Incremental Index Motor #1 +400 steps (1rev.)
¬Run Index
Comments can be included using a semicolon: (Never use comments after “R”)
Commands can be on the same line, separated by commas, spaces are optional:
Graphic Representation: ®
start end
RS-232 Interactive Mode
The VXM can be controlled in an interactive mode. Interactive mode is when a host
computer sends only the commands necessary to perform a single operation (usually an
Index), then the host will wait for the VXM to finish before sending any additional commands.
The following procedure would be used for running the VXM in an interactive mode:
1. The host puts the VXM On-Line by sending an "F"
2. The host sends a "N" to zero position registers if necessary
3. The host sends speed, and acceleration if necessary
4. The host sends an Index ("I" command)
5. The host sends a "R" to start the Index
6. The host then will wait until it receives a ready prompt ("^") from the VXM
NOTE: The VXM does not send a carriage return or line feed following the "^", refer
to the "G" command inAppendix O for more information
7. The user's routine for outputting, measuring, etc. would be executed by the host
8. A "C" would be sent from the host to clear the previous Index command from the
VXM's memory
9. The process is repeated from step # 3
Communication Methods
Programming of the VXM is accomplished by sending commands (ASCII characters) to
the VXM through the RS-232 interface. The simplest method to send commands is with
the Velmex COSMOS program, or with HyperTerminal in Microsoft Windows.
Another method to send commands is with commercially available languages such as
VisualBASIC, C, LabVIEW, etc.
To put the VXM in the On-Line mode/programming mode, the host must send either an
"E", or "F". When the Controller receives an "E", or "F" the On-line light will light and the
Jog inputs will be disabled.
The "E" puts the VXM on-line with echo "on" (echoes all characters received back to the
host). The "F" puts the VXM on-line with echo "off". If you are using HyperTerminal to
communicate to the VXM use the "E" so typed characters will be displayed. When using a
software language to send commands, use the "F" so the host’s input buffer will not be
burdened with echoed characters from the VXM.
NOTE: All command characters are case sensitive

Unit Conversion for Velmex Positioners
* Typical UniSlide model (where x is from above table): MB4024xJ-S4
** Typical BiSlide model (where x is from above table): MN10-0100-x-21
To convert from "real" units to steps, divide the distance desired to move by the
Advance per step. (Distance ÷ Adv per step = Steps)
Example #1: To move 3.000 inches with the BiSlide E04 lead screw (3.000 ÷ 0.001 = 3,000) requires a 3,000 step
index.
Example #2: To move 90 degrees with the B5990 rotary table (90 ÷ 0.01 = 9,000) requires a 9,000 step index.
Example #3: To move 4.000 inches with the UniSlide W1 lead screw (4.000 ÷ 0.00025 = 16,000) requires a 16,000
step index.
Other formulas:
1 Motor rev = 400 steps
Linear Speed = Advance per step x steps per second
Rotary Speed = Advance per step x steps per second
Steps per second ÷ 400 = rev/sec
Lead Screw Models Speed
UniSlide* BiSlide** Advance per turn Advance per step @ 1000 SPS (2.5 rev/sec)
Units Units Units
CP40 0.025 inch 0.0000625 inch 0.0625 inch/sec
BP20 0.05 inch 0.0001250 inch 0.125 inch/sec
W1 P10 E01 0.1 inch 0.0002500 inch 0.25 inch/sec
W2 P5 0.2 inch 0.0005000 inch 0.5 inch/sec
W4 P2.5 E04 0.4 inch 0.0010000 inch 1inch/sec
K1 Q1 1mm 0.0025 mm 2.5 mm/sec
K2 Q2 M02 2mm 0.0050 mm 5mm/sec
Rotary Tables
Gear Ratio
B4872 72:1 5degree 0.0125 degree 12.5 degree/sec
B4836 36:1 10 degree 0.0250 degree 25 degree/sec
B4818 18:1 20 degree 0.0500 degree 50 degree/sec
B5990 90:1 4degree 0.0100 degree 10 degree/sec
Two controls linked together by the VXM bus make it possible to run 3 or 4 motors with
all programs residing in one VXM, and all communication from a host with this one VXM.
2
The VXM bus is a serial bus conforming to the I C specification. This bus is used to
transfer data back and forth between two VXM controls that are configured as Master
and Slave.
Considerations when linking VXM controls together:
·Use only a Velmex approved cable for the bus connection, telephone handset cables
will not work. Telephone cables reverse the 1 and 4 connection, a straight through cable
is required.
·Bus cables should be short and not be near other cables or electronic devices.
·By default all VXMs are Slaves.
·To link VXMs, one control should be set to be a Master (see Control Mode command
"setDM" in the Appendix O.) The Velmex COSMOS program will configure the VXMs
for Master/Slave operation.
·A designated Master will attempt to establish communications to a Slave on power-up.
If the Master can not find the Slave it will try again when it is required to send a motor 3
or 4 command. NOTE: It is normal for the Slave not to flash its power light (green LED)
at power-up.
·A bus error will occur (” B” sent to host and VXM resets) if the Master can not find the
Slave, either because there is not one connected, or it is not powered.
·The Master is the VXM that runs motors 1 and 2, communicates with a host, and can
be started with the Run input and stopped with the Stop input (Input 4.)
·The Slave runs motors 3 and 4 (The Master assigns motors 3 and 4 to motors 1 and 2
on the Slave) and receives all commands over the VXM bus from the Master.
·The Master disables the Run, Stop, and RS-232 inputs on the Slave.
Ë
Linking VXMs for 3 & 4 Motors (VXM-3,4)
11
10
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog1 Jog 2Jog2
++
+
+
Stepping Motor ControllerStepping Motor ControllerVXMVXM
www.velmex.comwww.velmex.com
VXM
Bus
VXM
Bus StopStop RunRun
On-LineOn-Line
LocalLocal ----
++++
Jog 1Jog1 Jog 2Jog2
M2 M4
M1 M3
L1 L3
L2 L4
Master Slave
VXM Bus Cable
Part # 4-2122
C I3M400,RC I3M400,R
Index Motor 3 Example
The VXM uses step units for Index and Speed parameters. One step is 1/400 of a motor
revolution. Step units for distance are used with the Index commands (”I” command.)
Speed is in units of Steps/ Second (SPS.) Steps/ Second units for speed are used with
the Speed commands (”S” command.)
Acceleration commands (”A” command) are values from 1 to 127 that are relative to
2
steps/sec units. The VXM uses a nonlinear acceleration profile, therefore it does not
2
correlate directly to a constant steps/sec .
Direction is relative to the device the motor is used on. On screw drive actuators like
UniSlides and BiSlides, positive is the direction moving away from the motor.
On worm gear type rotary tables like the Velmex B4800 or B5990, positive is counter
clockwise (CCW.) To reorient directions refer to the “setDM” command in Appendix O.
Units & Directions
Positive ®
Positive
CCW
Positive
CW
Graphic Representation: ®
start end
¬Clear previous entries, Index Motor 3 +400 steps
Worm Gear
Rotary Table
Screw Drive Actuator
Motor
NOTE: Slave RS-232 port is not used

Command Summary (Common Commands)
13
12
Motor commands:
IAmMx Set Absolute Index distance, m=motor# (1,2,3,4), x= ±1 to ±16,777,215 steps
IAmM0 Index motor to Absolute zero position, m=motor# (1,2,3,4)
IAmM-0 Zero motor position for motor# m, m= 1,2,3,4
Index motor until positive limit is encountered, m=motor# (1,2,3,4)
ImM-0 Index motor until negative limit is encountered, m=motor# (1,2,3,4)
Set Speed of motor (70% power), m= motor# (1,2,3,4), x=1 to steps/sec.
( is 100% power)
AmMx Acceleration/deceleration, m= motor# (1,2,3,4), x=1 to 127.
Program management commands:
Looping/ commands:
L0 Loop continually from the beginning or Loop-to-marker of the current program
Sets the Loop-to-marker at the current location in the program
LM-0 Resets the Loop-to-marker to the beginning of the current program
Lx Loop from beginning or Loop-to-marker x-1 times (x=2 to 65,535), when the loop
reaches its last count the non-loop command directly preceding will be ignored
L-x Loop from beginning or Loop-to-marker x-1 times, alternating direction of motor 1,
when the loop reaches its last count the non-loop command directly preceding
will be ignored
LAx Loop Always from beginning or Loop-to-marker x-1 times (x=2 to 65,535)
LA-x Loop Always from beginning or Loop-to-marker x-1 times, alternating direction of
motor 1
LM-2 Loop once from beginning or Loop-to-marker reversing index direction of motor 2
LM-3 Loop once from beginning or Loop-to-marker reversing index direction of motor 1
and motor 2
Pausing and input/output commands:
ImMx Set steps to incremental Index motor CW (positive), m= motor# (1,2,3,4), x=1 to
16,777,215
ImM-x Set steps to incremental Index motor CCW (negative), m= motor# (1,2,3,4), x=1
to 16,777,215
ImM0
SmMx 6000
SAmMx
PMx Select Program number x, x= 0 to 4
PM-x Select and clear all commands from Program number x, x= 0 to 4
PM Request the number of the current Program
branching
LM0
Jx Jump to the beginning of program number x, x= 0 to 4
JMx Jump to the beginning of program number x and come back for More after
program x ends, x= 0 to 4
Px Pause x tenths of a second, (x=0 to 65,535 ) tenths of a millisecond when x is
negative
PAx Pause x tenths of a second (x=0 to 65,535, 10 µsec pause when x=0) Altering
output 1 high for duration of the pause, tenths of a millisecond when x is negative
U0 Wait for a "low" on user input 1
U1 Wait for a low on user input 1, holding user output 1 high while waiting
U4 User output 1 "low" (reset state)
U5 User output 1 high
Operation commands:
QQuit On-Line mode (return to Local mode)
NNull (zero) motors 1,2,3,4 absolute position registers
KKill operation/program in progress and reset user outputs
Decelerate to a stop (interrupts current index/ in progress)
EEnable On-Line mode with echo "on"
FEnable On-Line mode with echo "off”
Status request commands:
XSend current position of motor 1 to host (Motor can be in motion)
YSend position of motor 2 to host
ZSend position of motor 3 to host
TSend position of motor 4 to host
MRequest Memory available for currently selected program
Set axis m for motor type/size x.
RRun currently selected program
CClear all commands from currently selected program
Dprogram
rsm Run save memory (saves setup/ program values to nonvolatile memory)
VVerify Controller's status, VXM sends "B" to host if busy, "R" if ready, "J" if in the
Jog/slew mode, or “b” if Jog/slewing
current (Motor can be in motion)
current (Motor must be stationary)
current (Motor must be stationary)
lst List current program to host (ASCII text)
getMmM Read motor type/size selected for axis m
Setup commands:
setMmMx
setBx Set RS-232 Baud rate (9=9600, 19=19200, 38=38400)
The following are the most common commands, refer to page 14 for an additional listing
of commands for advanced users.

Command Summary (Advanced Commands)
15
14
The following commands are for advanced VXM users.
.
For more information on these
commands refer to Appendices in this User’s Manual
Motor commands:
Program management commands:
Input/output commands:
SmM-x Read and assign analog input value to motor m speed (70% power), x=speed
range (SAmM-x is 100% power)
PMAx Program Associate program x in Master to program x in Slave (Linked VXMs start
the same time)
PMA Request the current program associate number
Branching commands:
JM-x Similar to JMx except automatically moves back from absolute indexes after
program x ends: For pick-and-place within matrix looping patterns
U2 Enable Jog mode while waiting for an input
U3 Disable Jog mode while waiting for an input
U6 Send "W" to host and wait for a "G" to continue
U7 Start of Continuous Index with 10 µsec pulse on output 2
U77 Start of Continuous Index with no output
U8 Start of Continuous Index sending "@" to the host
U9 End of Continuous Index with autodecel to stop
U91 End of Continuous Index with auto-generate a deceleration Index as next
command
U92 End of Continuous Index using next Index for deceleration to stop
U99 End of Continuous Index with instantaneous stop
U13 Wait for a front panel button to jump to a program or continue: "Motor 1 Jog -"
button to jump to program #1, "Motor 1 Jog +" button
to jump to program #2, "Run" button to proceed in current program.
U14 User output 2 low (reset state)
U15 User output 2 high
U16 Optional User output 3 low (reset state)
U17 Optional User output 3 high
U18 Optional User output 4 low (reset state)
U19 Optional User output 4 high
U23 Wait for a front panel button to jump to a program and come back, or continue:
"Motor 1 Jog -" button to jump and return to program #1, “Motor 1 Jog +" button
to jump and return to program #2, "Run" button to proceed in current program
U30 Wait for a low to high transition on user input 1
U31 Wait for a low to high transition on user input 1, holding user output 1 high while
waiting
U32 Wait for "Motor 1 Jog -" button to be pressed on front panel with debouncing
U33 Wait for "Motor 1 Jog +" button to be pressed on front panel with debouncing
U50 Wait for a low and high on user input 1 with debouncing for a mechanical push-
button switch
U51 Wait for a low and high on user input 1 with debouncing for a mechanical push-
button switch, holding user output 1 high while waiting
U90 Wait for a low to high on the Run button or connection I/O,4 with debouncing for a
mechanical push-button switch
(NEW COMMAND: available only on VXM firmware versions 1.20 & up)
Operation commands:
Status request commands:
GEnable On-Line mode with echo off Grouping a <cr> with "^", ":", "W", "O"
responses; Also Go after waiting or holding
HPut Controller on Hold (stop after each command and wait for go)
!Record motor positions for later recall with “x”,”y” commands
res Software reset controller
del Delete last command
xSend last 4 positions of motor 1 to host that were captured by the “!” command or
Input 4 trigger
ySend last 4 positions of motor 2 to host that were captured by the “!” command or
Input 4 trigger
#Request the number of the currently selected motor
ØRequest the position when the last motor started decelerating (shows position
when "D" command or Stop/User input 4 used)
?Read state of limit switch inputs for motor 1 and 2 ( 8 bit binary value)
~Read state of User Inputs, Motor 1 and 2 Jog Inputs ( 8 bit binary value)
@Read user analog input value
BRead Backlash compensation setting
ORead Indicate limit switch setting
getDx Read mode/version
getDA Read Joystick Deadband setting
getjmM Read first range Jog Speed for motor m. getjAmM for Joystick range
setting
getJmM Read second range Jog Speed for motor m. getJAmM for Joystick
range setting
getLmM Read mode of limits for motor m
getPmMRead “Pulse Every x # Steps” value for axis m
getI Read operating mode of user inputs
Commands for two controls connected by VXM bus:
(i3,i1...) Combine Index commands to run simultaneously on two VXM controllers
connected by VXM bus
[i1,i2...] Send data to Slave through Master
Jog mode commands:
DRead motor position (Digitize)
Special function and setup commands:
Bx Backlash compensation, on when x=1, off when x=0
Ox Indicate limit switch Over-travel to host, off when x=0, VXM sends "O" when x=1
and hit limit, x=3 program stops too
setDMx Set VXM/VP9000 or NF90 emulation modes, and other operating parameters
setDAx Set Joystick Deadband value
setjmM Set first range Jog Speed for motor m. setjAmM for Joystick range setting
setJmM Set second range Jog Speed for motor m. setJAmM for Joystick range setting
setLmMx Set limit switch mode for axis m
setPmMx Set “Pulse Every x # Steps” on output 2 for axis m
setIx Set operating mode of inputs

Command Reference (Common Commands)
17
16
This section gives detailed explanations of the most common VXM commands. For the
advanced user, refer to the Appendices for more information
Most commands with variables (except set commands) use the VXM's program memory
space. The required memory needed per command is specified in this section. The VXM
has 256 bytes of program memory for each program. There are 5 (0,1,2,3,4) programs.
A program can be cleared by a "C" and selected by the "PMx" command. The default
program when the VXM is powered up is #0. Using different programs is only relevant to
users who will be operating the VXM in a stand-alone mode (P8.) Using the VXM in a
RS-232 interactive mode (P9.) would only require that the default program be cleared
after the Rcommand.
The Difference Between Incremental and Absolute Indexes:
An incremental Index is, a move relative to the present position, a distance and direction
specified by the Index from the present position.
Incremental: I1M1200
An absolute Index is, a move relative to absolute zero position, a distance and direction
from the present position calculated by the VXM based on absolute zero position.
Absolute zero is established when the VXM is powered-up, by use of the "N", or the
"IAmM-0" command.
Absolute: IA1M2200
Sending Commands to the VXM:
The standard RS-232 communication settings on the VXM are 9600 baud, 8 data, no
parity, and 1 stop bit.
When sending commands that require a value, the commands must end with a carriage
return (Enter key or Return on most keyboards), comma, or a period.
ImMxSet steps to incremental Index (move) motor CW (positive, Slider/Carriage
will move away from motor end , Rotary Table will rotate CCW), m=motor#
(1,2,3,4), x=1 to 16,777,215.
Memory usage = 4 bytes.
Examples: NOTE: The "<cr>" is a carriage return character ( <Enter> key
on most keyboards). Command characters are in LARGE BOLD.
This example sets motor 1 to index 1200 steps CW: I1M1200<cr>
This example sets motor 2 to index 9200 steps CW: I2M9200<cr>
This example sets motor 3 to index 10200 steps CW: I3M10200<cr>
ImM-xSet steps to incremental Index (move) motor CCW (negative, UniSlide Slider
will move toward motor end , UniSlide Rotary Table will rotate CW), m= motor#
(1,2,3,4), x=1 to 16,777,215.
Memory usage = 4 bytes.
Examples:
This example sets motor 1 to index 120 steps CCW: 1M-120<cr>
This example sets motor 2 to index 20 steps CCW: I2M-20<cr>
This example sets motor 4 to index 1 step CCW: I4M-1<cr>
.
start end
Absolute Position 0 1000 2200
start end
Absolute Position 0 1000 2200
Motor Commands
IAmMx Set an Index to an Absolute position, the distance and direction for the move
from the present position is calculated by the VXM based on absolute zero
position, m= motor# (1,2,3,4), x= ±1 to ±16,777,215. NOTE: Since the absolute
position registers have a range of -8,388,608 to 8,388,607 steps, xshould not be
set to any number less than -8,388,608 or greater than 8,388,607.
Memory usage = 4 bytes.
Examples:
This example sets motor 1 to index to absolute position 1200 :
IA1M1200<cr>
This example sets motor 4 to index to absolute position -90200 :
IA4M-90200<cr>
IAmM0 Set an Index to Absolute zero position, m=motor# (1,2,3,4). When this
command is used the VXM calculates the distance and direction to get back
to absolute zero position. The "absolute zero" position was established when the
"N" (Null Absolute Position Registers), "IAmM-0" command was used, or when
the VXM was powered up.
Memory usage = 4 bytes.
Examples:
This example sets motor 1 to index to absolute zero position:
IA1M0<cr>
This example sets motor 2 to index to absolute zero position:
IA2M0<cr>
This example sets motor 3 to index to absolute zero position:
IA3M0<cr>
IAmM-0 Zero motor position for motor# m, m=motor# (1,2,3,4). This command
clears the position register for the motor selected, making this position absolute
zero. The display will show all zeros for the motor selected.
Memory usage = 4 bytes.
Examples:
This example makes the present position for motor 1 absolute zero:
IA1M-0<cr>
This example makes the present position for motor 2 absolute zero:
IA2M-0<cr>
ImM0 Move positive until the positive limit switch is encountered ( Home to Positive
Limit ), m=motor# (1,2,3,4). If the limit switch input was disabled in setup, the
limit switch input will be re-enabled for the duration of this command. The Index
will end if the limit switch is not encountered after 16 million steps.
Memory usage = 4 bytes.
Example: This example sets motor 1 to seek the positive limit switch:
I1M0<cr>
ImM-0 Move negative until the negative limit switch is encountered ( Home to
Negative Limit ), m=motor# (1,2,3,4). If the limit switch input was disabled in
setup, the limit switch input will be re-enabled for the duration of this command.
The Index will end if the limit switch is not encountered after 16 million steps.
Memory usage = 4 bytes.
Example: This example sets motor 1 to seek the negative limit switch:
I1M-0<cr>

19
18
SmMx Set Speed of motor (70% power applied to motor), m= motor# (1,2,3,4), x=1 to
6000 steps/sec. in 1 step/sec. intervals. If this command is never used, the
default speed will be 2000 steps/sec.
NOTE: motor torque decreases as speed increases, and some motors have
limited torque above 2000 steps/sec. If the motor torque is below the needed
torque to move the load, the motor will stall (lose synchronism and proper
position.)
Memory usage = 3 bytes.
Example:
This example sets the speed of motor 1 to 500 steps/sec at 70% power:
S1M500<cr>
When the "S" speed command is used for setting speed, motor running torque will be
70% of the maximum output. For most applications 70% motor torque will be adequate.
For moving heavy loads the "SA" speed command (100% power) may be needed.
NOTE: Motor power will always be zero when the motor is stationary (motors are
normally un-energized at a standstill.
Advantages of the "S" speed command (70% motor power)
1. Saves energy.
2. Motors run smoother and quieter
3. Reduces mid-speed motor resonance.
4. Reduces Motor and Controller heating.
SAmMx Set Speed of motor (100% power applied to motor), m= motor# (1,2,3,4), x=1
to 6000 steps/sec. in 1 step/sec. intervals.
Example:
This example sets the speed of motor 2 to 3000 steps/sec at 100% power:
SA2M3000<cr>
How to Determine Maximum Speed: With acceleration set to 2 (default) increase speed
until motor stalls, use 75% of this speed as the maximum speed.
CAUTION: Motor and Controller surface temperatures become hot when running motors
continuously. Only use 100% ("SA" command) motor power if maximum torque is
required. For maximum efficiency when lifting heavy loads vertically, use the "SA”
command to set speed for traversing upwards, and use the "S" speed command for the
speed down.
AmMx Acceleration/deceleration, m= motor# (1,2,3,4), x=1 to 127. The default value
is 2. The higher the number used, the faster the motor will reach the set speed,
and the faster it will slow down to a stop. NOTE: motors may stall if this value is
set to high.
Memory usage = 2 bytes
Example:
This example sets the acceleration/deceleration of motor 1 to 3:
A1M3<cr>
How to Determine Maximum Acceleration: With speed set to maximum as determined
above, increase acceleration until the motor stalls, use 1/2 of stall acceleration as the
maximum
Programming Shortcut:
The motor designation in Acceleration, Speed, and Index commands is optional if the
desired motor has already been set as the current motor. The current motor is motor 1
when the Controller is first turned on. The last motor jog/slewed will be the current motor
number. The current motor will be the number used in the last Acceleration, Speed, or
Index command. Users that have only a one motor VXM (Model VXM-1) do not have to
use the motor designation in a command. For example, these commands would always
be motor 1 commands of a one motor VXM:
A2,S4000,I400,
For running a particular motor of a multi-motor VXM, only the first Command needs the
motor number. For example, all of these commands would be for motor 2:
I2M200,I-200,S2000,IA0,
PMxSelect Programnumber xas the current program, x= 0 to 4. Each program can
hold 256 bytes of commands. The default program number is 0.
Program 3 can be interactive with user input 3, and Program 4 can be interactive
with user input 4. See the ‘setI” command in the
for more information.
Memory usage = 0 bytes. This command is immediate ( not stored )
Example:
This example selects program #1 for the current program:
PM1<cr>
PM-xSelect and clear all commands from Programnumber x, x= 0 to 4. This
command will select program xas the current program and delete all commands
from this program.
Memory usage = 0 bytes. This command is immediate ( not stored )
Example:
This example selects program #0 and erases all commands within it:
PM-0<cr>
PM Request the number of the current program. the VXM will send a value between
0 and 4 indicating the program number selected.
Example:
PM<cr>
If the current program is 3, the VXM will send the following to the host:
3<cr>
Program Management Commands
Reference Manual on the
CDROM

LA-xLoop Always from beginning or Loop-to-marker of the current program x-1 times
alternating direction of motor 1 indexes (x=2 to 65,535). A maximum of 10
nested loop commands can be used per run.
Memory usage = 3 bytes.
Examples:
This example sets a loop to repeat 100-1 times all previous commands
alternating motor 1 direction every repeat: LA-100<cr>
Consecutively nested loops are equal to the product of their loop values. For
example, the following loops together are equal to 2,500,000,000-1 (50,000 x
50,000): LA-50000,LA50000<cr>
LM-2 Loop once from the beginning or Loop-to-marker of the current program,
reversing index direction of motor 2. See "Example Programs" section for use of
this command.
Memory usage = 1 byte
LM-3 Loop once from beginning or Loop-to-marker of the current program,
reversing index direction of motor 1 and motor 2. See "Example Programs"
section for use of this command.
Memory usage = 1 byte.
JxJump to the beginning of program number x, x= 0 to 4. Program number xwill
temporarily be the current program, all commands will be executed starting from
the first one that was previously entered into program x. If there is not any
commands in program x, or after executing the last command, the program will
end, and the VXM will send the ready prompt to the host ("^"). The current
program number will still be the program that was originally selected with a
"PMx" or "PM-x" command. Linking multiple programs (maximum of 5) together
is possible by using a jump command, as the last command, to make a jump to a
different program. All looping commands in program xwill be local to this
program only.
Memory usage = 2 bytes
Example:
This example will jump to program #1 : J1<cr>
JMxJump to the beginning of program number xand come back for More after
program xends, x= 0 to 4. Program number xwill temporarily be the current
program, all commands will be executed starting from the first one that was
previously entered into program x. If there is not any commands in program x, or
after executing the last command, control will be transferred back to the program
that initiated the Jump, then the next command in the initiating program will be
executed. The maximum JMxcommands active at a time is 4. This command
can be used to make programming more modular, having a main program that
jumps to other programs (modules) and returns, can make long programs easier
to maintain and edit. All looping commands in program xwill be local to this
program
CAUTION: Motor reverse-direction-flags are set by "L-x", "LM-2", and "LM-3"
looping commands. If a JMxcommand is used "inside" one of these loops,
motor 1 and motor 2 direction may be reversed in program x.
Memory usage = 2 bytes
Example:
This example will jump to program #3 and return: JM3<cr>
21
20
Looping/Branching Commands
L0 Loop continually from the beginning or Loop-to-marker of the current program.
The loop will occur to the last Loop-to-marker of the current program if it was set
previously. This command can be used once in a program as the last command,
it functions the same as a "continuous run input".
Memory usage = 1 byte.
LM0 Sets the Loop-to-marker at this point in the current program. All looping
commands in the current program that follow will branch to here. Any loop
commands in the program prior to this marker will branch to the beginning of the
program or a previous marker.
NOTE: Multiple markers can be used in a program, the number is only limited by
the program memory available (256 bytes per program).
Memory usage = 1 byte
LM-0 Resets the Loop-to-marker to the beginning of the current program.
NOTE: Multiple resets can be used in a program, the number is only limited by
the program memory available (256 bytes per program).
Memory usage = 1 byte
LxLoop from beginning or Loop-to-marker of the current program x-1 times (x=2 to
65,535). A maximum of 10 nested loop commands can be used per run.
NOTE: When the Loop reaches its last count, the non-loop command directly
preceding the Loop will be ignored.
Memory usage = 3 bytes.
Example:
This example sets a loop to repeat, any previous commands 4000-1 times, while
repeating the directly preceding non-loop command 4000-2 times:
L4000<cr>
L-xLoop from beginning or Loop-to-marker of the current program x-1 times
alternating direction of motor 1 indexes (x=2 to 65,535). A maximum of 10
nested loop commands can be used per run.
NOTE: When the Loop reaches its last count, the non-loop command directly
preceding the Loop will be ignored.
Memory usage = 3 bytes.
Example:
This example sets a loop to repeat, any previous commands 100-1 times
alternating motor 1 direction every repeat, while repeating the directly preceding
non-loop command 100-2 times: L-100<cr>
LAxLoop Always from beginning or Loop-to-marker of the current program x-1
times (x=2 to 65,535). Maximum 10 nested loop commands per run allowed.
Memory usage = 3 bytes.
Examples:
This example sets a loop to repeat all previous commands 4000-1 times:
LA4000<cr>
Consecutively nested loops are equal to the product of their loop values. For
example, the following loops together are equal to 10,000,000-1 (50,000 x 200):
` LA50000,LA200<cr>

Pausing and Input/Output Commands
Reference Manual on the CDROM)
Reference Manual on the CDROM)
PxPause xtenths of a second ( x=0 to 65,535 ).
Memory usage = 3 bytes.
Examples:
This example pauses for 1 second: P10<cr>
This example pauses for 15 seconds:P150<cr>
This example pauses for 1 hour: P36000<cr
P-xPause xtenths of a millisecond ( x=1 to 65,535 ).
Memory usage = 3 bytes.
Example:
This example pauses for 50 milliseconds (0.050 seconds): P-500<cr>
PAxPause xtenths of a second Altering the state of output 1 ( x=0 to 65,535, 10 µsec
pause when x=0 ). The user output 1 (I/O,14) will go to +5V for the duration of the
pause.
Memory usage = 3 bytes.
Example:
This example pauses for 15 seconds holding output 1 high: PA150<cr>
PA-xPause xtenths of a millisecond Altering the state of output 1 ( x=1 to 65,535 ). The
user output 1 (I/O,14) will go to +5V for the duration of the pause. Memory usage =
3 bytes.
Example:
This example pauses for 15 milliseconds (0.015 seconds) holding output 1 high:
PA-150<cr>
U0 Wait for a "low" on the user input 1. A "low" is a voltage less than 0.8 VDC (not
to be less than 0V) applied to I/O,5. A simple push-button or toggle switch can
be used between Gnd (I/O,1) and input 1 (I/O,5) to satisfy this input. The input
level must be high for at least 1 ms to be a valid input. This command is best
used when interfacing to other solid-state logic devices, refer to the "U50"
command ( for push-button switch input.
Memory usage = 2 bytes.
U1 Wait for a "low" on the user input1holding user output 1 "high" (+5V) while
waiting. A "low" is a voltage less than 0.8 VDC (not to be less than 0V) applied
to I/O,5. User output 1 (I/O,14) will go to +5V for the duration of the wait. A
simple push-button or toggle switch can be used between Gnd (I/O,1) and input
1 (I/O,5) to satisfy this input. The input level must be high for at least 1 ms to be
a valid input. This command is best used when interfacing to other solid-state
logic devices, refer to the "U50" command (
for push-button switch input.
Memory usage = 2 bytes.
23
22
U4 User output 1 "low". The user output 1 (I/O,14) will go to 0V. This is the state of
the user output 1 on power-up. This command is used in conjunction with the
"U5" command.
Memory usage = 2 bytes.
U5 User output 1 high. The user output 1 (I/O,14) will go to +5V. This
command is used in conjunction with the "U4" command.
Memory usage = 2 bytes.
These commands are immediate (not stored), they do not use the VXM's program
memory, and do not need an ending carriage return or comma.
QQuit On-Line mode (return to Local Jog/slew mode.) The "Q" command is used
to get back to the power-up state, where the VXM is in the Local Jog/slew mode
(On-Line light is off.)
RRun currently selected program. The "R" command will start execution of
commands stored (of current program) in the VXM's memory. At the end of the
"run" the single character "^" (no carriage return or line feed follows the "^"
unless put unless the VXM was put On-Line with the “G” command) will be
transmitted to the host. Additional "R" commands received by the VXM will
repeat the same program. Refer to the "C" and "PMx" command to clear a
program from memory. The Run input (I/O,4) and the front panel Run button
function the same as this "R" command.
NNull (zero) motors 1,2,3,4 Absolute Position Registers. This command can be
used in the Local Jog/slew or the On-Line mode. The "N" command zeros the
position registers that have been counting steps from indexing and/or jog/slewing
the motor(s).
KKill operation in progress. This command will immediately interrupt any running
program. The user outputs will be reset, all looping and hold flags will be reset,
and if a motor is moving it will be stopped immediately. If the motor speed is
above 1000 steps/sec. when the interrupt occurs, the motor may loose position
due to mechanical overshoot (see the "D" command for a less abrupt method to
interrupt indexes). The VXM will transmit the "^" to the host after receiving the
"K" command.
CClear all commands from the currently selected program. All setup values, motor
position values, and the state of user outputs will not be altered.
DDecelerate to a stop (interrupts current index in progress, default function of Stop
button too). When the VXM receives the single character "D" while it is indexing
a motor, that motor will be decelerated to a stop at the set deceleration. The
motor position prior to decelerating is saved, refer to the "*" command to request
this position. The VXM will then proceed to the next command in the program.
The "D" command has a different function when in the Local Jog/slew mode,
refer to the section on "Digitizing With a Host" on the CDROM for more
information.
Operation Commands

25
24
EEnable On-Line mode with echo on. The single character "E" is used to put the
VXM in the On-Line mode after power-up. All characters the VXM receives will
be echoed back to the host. Refer to the section "Communication Methods "
(p.8) for more information.
FEnable On-Line mode with echo oFF. The single character "F" is used to put the
VXM in the On-Line mode after power-up. No characters will be echoed back to
the host. The VXM will still respond to motor position and status requests. Refer
to the section "Communication Methods " (p.8) for more information.
rsm
the single character "^" after completion of the save.
CAUTION: When using the “rsm” command power should not be interrupted otherwise
data loss may occur. The host should always wait for the "^" before sending
another command.
The
VVerify Controller's status, when On-Line the VXM sends a "B" to the host if it is
busy, or an "R" if it is ready. The "V" command is used to poll the VXM to see if
it is busy running a program, or ready to receive more commands.
NOTE: Use of this command is optional, since the VXM automatically transmits a "^"
character to the host when a program has finished.
If the VXM is running a program when it receives a "V" the VXM will respond by
transmitting the single character "B". If the VXM is idle waiting for a command
the VXM will respond by transmitting the single character "R".
When in the Local Jog/slew mode the VXM will respond by sending a "J" if a
motor is not moving and a “b” if a motor is moving.
XSend position of motor 1 to the host. When the VXM receives the single
character "X" it will transmit the value from it's motor 1 Absolute Position
Register. Below is what the host would receive if motor 1 is at negative 1200.
This command can be used when the motor is indexing. See the "N" command
for information on zeroing the Absolute Position Registers.
-0001200<cr>
YSend position of motor 1 to the host. When the VXM receives the single
character "Y" it will transmit the value from it's motor 2 Absolute Position
Register. Below is what the host would receive if motor 2 is at positive 9201.
This command can be used when the motor is indexing. See the "N" command
for information on zeroing the Absolute Position Registers.
+0009201<cr>
Run save memory, saves setup/ program values to nonvolatile memory.
The VXM will send
Use this command to:
1. To permanently save setup/special function (setx commands) values
that have been modified.
2. To save programs/commands for stand-alone use.
nonvolatile memory has a limited write life (100,000 erase/write cycles),
therefore, do not use “rsm” more than necessary. It would typically be used to
save motor selection that has been updated, or to keep a program in the VXM
for use without a host computer (stand-alone use.)
ZSend position of motor 3 to the host. When the VXM (Master) receives the
single character "Z" it will transmit (from motor 1 in Slave) the value of the motor
3 Absolute Position Register. Below is what the host would receive if motor 3 is
at negative 20. This command cannot be used when the motor is indexing. See
the "N" command for information on zeroing the Absolute Position Registers.
-0000020<cr>
TSend position of motor 4 to the host. When the VXM (Master) receives the
single character "T" it will transmit (from motor 2 in Slave) the value of the motor
4 Absolute Position Register. Below is what the host would receive if motor 4 is
at negative 200000. This command cannot be used when the motor is indexing.
See the "N" command for information on zeroing the Absolute Position
Registers. -0200000<cr>
MRequest Memory available for the currently selected program. The VXM will
send the number of bytes that are unused of the current program. The value will
be 0 to 256 followed by <cr> (carriage return.)
lst List commands in current program to host (ASCII format.) Returns program
number and memory remaining prior to listing commands.
Example listing: PM0 M252
I1M400
getMmMGet motor type/size selected for axis m, m=axis# (1,2,3,4.)
Value returned will be a number between 0 and 6. Refer to the table below for
value to motor model cross reference.
These commands do not use program memory, they have their own reserved space.
setMmMxset motor type/size selected for axis m, m=axis# (1,2,3,4.)
Value for x should be a number between 0 and 6. Refer to the table below for
the proper value to use.
setBxSet RS-232 Baud rate to value x. (default=9600) x=9 for 9600 baud,
x=19 for 19,200 baud, x=38 for 38,400 baud. Data bits are always 8, with no
parity, and 1 stop bit.
Setup Commands
CAUTION: THE VXM MUST BE SET TO THE EXACT MODEL/TYPE MOTOR(S)
BEFORE OPERATING. IMPROPER SETTINGS CAN CAUSE SEVERE
DAMAGE TO MOTORS AND CONTROLLER.
Status Request Commands
xMotor Model (Amps)
0 Default (0.4A to 0.7A)
1 Vexta PK245 (1.2A)
2 Slo-Syn M061 (3.8A)
3 Slo-Syn M062 (4.7A)
Vexta PK264 (3A)
4 Slo-Syn M063 (4.6A)
Vexta PK266 (3A)
5 Slo-Syn M091 (4.7A)
Vexta PK268 (3A)
6 Slo-Syn M092 (4.6A)

27
26
Examples
The "<cr>" is a carriage return character ( <Enter> key on most keyboards). Command
characters are in a rectangle like this: C I3M400<cr>C I3M400<cr>
EE
I1M400,RI1M400,R
I2M-600,RI2M-600,R
I1M400<cr>
R
I1M400<cr>
R
I2M-600<cr>
R
I2M-600<cr>
R
®
start end
®
start end
¬
end start
A diagram of the resultant motion of a screw driven linear actuator is included showing
start/end points, direction and commands. A letter over a point on the diagram represents
the function occurring at that point. A “P” is a pause command, “U” user I/O command,
and a “Z” is a motor 3 Index. Numbers shown in the diagrams represent Loop count
values.
The following examples can be keyed into the VXM with a terminal program like
HyperTerminal in Microsoft Windows, or the Velmex COSMOS software. Another method
to send commands is with commercially available languages such as VisualBASIC, C,
LabVIEW, etc.
Example #1
Example #2
Example #4
Motors run
Motors run
Motors run
RAM used
RAM used
RAM used
Function
Function
Function
On-Line
Index
Index
--Enable On-Line mode with echo on
Incremental Index Motor #1 400 steps
(1 rev.) CW
Incremental Index Motor #2 600 steps
CCW
1
1
4
4
or
or
Example diagram:
CC
Example #3 Motors run RAM used Function
Clear --Clear all commands from current program
I1M800,I-800,RI1M800,I-800,R I1M800<cr>
I1M-800<cr>
R
I1M800<cr>
I1M-800<cr>
R
Example #5 Motors run RAM used Function
Auto-Reverse Index Motor #1 both directions
18
or
end
start
®
¬
P10,I1M400,L10,I1M-3600,RP10,I1M400,L10,I1M-3600,R
Example #6 Motors run RAM used Function
Repeating Index
Repeating Index pausing 1 second
between Indexes, return to start
114
end
end
start
®
¬
1 2 3 4 5 6 7 8 9 10
P P P P P P P P P P
S1M600,I1M0,I1M-200,IA1M-0,RS1M600,I1M0,I1M-200,IA1M-0,R
Example #7 Motors run RAM used Function
Home to Limit
115
start
®
¬
Home Motor 1 to Positive Limit Switch
and move 200 steps from Limit Switch
and zero position
STOPPED BY
LIMIT SWITCH
CAUTION: Positioning may be unreliable and limit switches may be damaged if speeds
above 1000 steps/second are used for homing.

I1M2000,U1,I2M1000,U1,LM-3,L0,RI1M2000,U1,I2M1000,U1,LM-3,L0,R
I1M2000,I2M300,L-4,LM0,I2M600,I1M3000,L-3,IA2M0<cr>I1M2000,I2M300,L-4,LM0,I2M600,I1M3000,L-3,IA2M0<cr>
I1M2000,I2M300,L-4,LM0,I2M600,I1M3000,L-3,IA2M0,LM-0,LA5<cr>I1M2000,I2M300,L-4,LM0,I2M600,I1M3000,L-3,IA2M0,LM-0,LA5<cr>
end
start
29
28
Example #9 Motors run RAM used Function
Rectangle Rectangle, with Output and
Wait at each corner
214
start
®
¬
¯
-
U
U
U
U
Example #10 Motors run RAM used Function
Raster Scans Two Different Raster Scans
using Loop-to-marker
227
start
end
®
®
®
¬
¬
¬
¯
-
¯
¯
¯
¯
¯
1
2
3
4
1
2
3
I3M2000,I3M-2000,I1M1600,L5,I2M400,L-3,IA1M0,IA2M0<cr>I3M2000,I3M-2000,I1M1600,L5,I2M400,L-3,IA1M0,IA2M0<cr>
Example #11 Motors run RAM used Function
X,Y Matrix X,Y Matrix Moving Z Axis Up
then Down at each Position
330
®
1 2 3 4 5
Z Z Z Z Z
1
2
3
Z Z Z Z Z
Z Z Z Z Z
¯
¬
¬
®
¯
-
This would do the entire pattern of the above example 5 times:
I1M200,P10,L7,I2M400,L-4,U6,LM-2,RI1M200,P10,L7,I2M400,L-4,U6,LM-2,R
Example #8 Motors run RAM used Function
Raster Scan
223
end
start
Raster scan with 1 sec. pauses and
waiting for “G” at the end; then run
backwards through raster scan
®
1 2 3 4 5 6 7
P P P P P P
¬
7 6 5 4 3 2 1
P P P P P P
P P P P P P
P P P P P P
P P P P P P
®
1 2 3 4 5 6 7
P P P P P P
¬
7 6 5 4 3 2 1
P P P P P P
U P P P P P P
Þ
¯Ý
¯Ý
ݯ
Ü
Þ
Ü
1 4
2 3
3 2
4 1
®= out
Ü= back
1 2 3 4 5 6 7
7 6 5 4 3 2 1
1 2 3 4 5 6 7
7 6 5 4 3 2 1

31
Troubleshooting
Symptom
Power (Green LED) light does not come on
Motor makes noise but is not moving (Stalled)
Motor is not making any noise and is not moving
(no power to motor)
Circuit Breaker trips when power applied to VXM
Circuit Breaker trips while running motor for a short
time
Circuit Breaker trips while running motor for a long
time
Controller is too hot to touch (It is normal for
Controller and Motor do get very warm when
running continuously)
Motor runs erratically (at lowest speeds goes either
direction, and has low torque at mid speeds)
Motor always goes opposite direction
VXM resets itself and sends “ËB” to the host.
VXM continuously resets itself (flashes power light
slowly) and sends “ËB”s to the host.
Power (Green LED) light flashes rapidly and
continuously on power-up
On-Line light flashing continuously (yellow LED)
Power and On-Line light flash rapidly and VXM
sends “ËM” to the host.
Power and On-Line light flash rapidly and VXM
sends “ËL” to the host.
Power and On-Line light flash rapidly and VXM
sends “ËJ” to the host.
Power and On-Line light flash rapidly and VXM
sends “ËC” to the host.
Possible Cause
Power supply not connected or AC cord not
attached. Power switch not on. Circuit breaker
tripped (white center protruding from breaker.)
VXM not configured for Motor, speed too high,
broken wiring, or jammed mechanism/motor.
Limit switches not connected or set for wrong
type switches
Voltage > 28 volts or polarity reversed
Wrong motor selected. Shorted wiring.
Wrong motor setting. Shorted wiring. Controller
overheating from lack of ventilation or ambient
temperature too high
Wrong motor setting. Lack of ventilation or
ambient temperature too high. NOTE: Motor
should always be mounted for heat conduction.
Broken wire to motor or broken connector pin
Directions were inverted with the “setDM”
command. Refer to the “getDM and “setDM”
command.
A motor 3 or 4 command was sent to the VXM
when there is not a second VXM connected to
the VXM bus.
A master VXM attempts communication with a
Slave that is off.
Run, Stop, or a Jog input is pulled low. The VXM
does not allow button Jog inputs to be activated
at power up.
RS-232 overrun error, host sent commands
while VXM was busy sending requested data
(release button/input to recover.)
(power off/on to recover.)
Program memory is full (send “K” to recover.)
More than 10 nested Loop commands
encountered per run (send “K” to recover.)
More than 4 nested "JMx"s encountered per run
(send “K” to recover.)
When "U9x" missing or motor not the same
when continuous indexing (send “K” to recover.)
30
Specifications
Physical:
Weight.(VXM-1)...2.6 lbs (1.2 kg)
Weight.(VXM-2)...2.9 lbs (1.3 kg)
Height .................3.27” (83 mm)
Width ..................4.37” (111 mm)
Length ................6.89” (175 mm)
AC Power Supply
Weight.................1.0 lbs (0.45kg)
Height .................1.57” (40 mm)
Width ..................2.72” (69 mm)
Length ................5.14” (131 mm)
Electrical Requirements:
AC Power Supply....... 100-240VAC 2A 50-
60Hz
VXM Controller ........ 24VDC 2.5A
Environmental:
Operating Temperature .... 35°-95° F (2°-
35°C)
Relative Humidity..... 10%-90%
(noncondensing)
Basic Models:
VXM-1 (one motor version)
VXM-2 (two motor version, one motor
operates at a time)
Velmex COSMOS Software
The COSMOS software for Windows is the easiest way to configure, program, and
become familiar with the features of the VXM controller. COSMOS has the following
capabilities:
1. Test serial port for communications
2. Retrieve and update setup information
3. Display status and error messages
4. Enter commands directly into the VXM
COSMOS is included on the VXM CDROM.
RS-232 Port Configuration: 8 Data, No Parity, 1 Stop, 9600 baud rate default

Editing/Debugging Tools
Appendix A
HPut the Controller on Hold (single step mode). When the VXM receives the
single character "H" the Hold Flag will be set. With the Hold Flag set, a
"running" program stops before each command and sends a ":" followed by the
listing* of the command to the host. When stopped, the "X", "Y", "Z", and "T"
commands can be used to read motor position. A "G" will start the listed
command and advance to the next. An "H" toggles the flag off and the program
continues as normal. The "K" terminates the program and clears the Hold Flag.
This Command allows single stepping through a program for debugging or as a
program interrupt from the host.
del Delete the last command in current program. This command should only be
used for manual editing of programs with a terminal/ terminal program. Use the
“C” command for complete deletion of commands in a program.
res Reset VXM to power-up state. This is the exact same state when power is
turned off then back on.
#Request the number of the currently selected motor. The VXM will send the
number of last motor run or last command that set a motor value. The value will
be 1 to 4 followed by <cr> (carriage return).
*Revised: Command listing only on VXM firmware versions 1.21 & up
33
32
See Also
lst, X, Y, Z, T, V
Bit 7 6 5 4 3 2 1 0
Decimal
Value
128 64 32 16 8 4 2 1 Decimal
Value
1=high Input
4
Input
3
Input
2
Input
1
Jog
2+
Jog
2-
Jog
1+
Jog
1-
No Inputs
Activated
1 1 1 1 1 1 1 1 255
Input 3
Activated
1 0 1 1 1 1 1 1 191
~Get State of User Inputs, Motor 1 and Motor 2 Jog Inputs. Each input represents
one bit of a binary value. The value the VXM sends is represented in the table
below.
NOTE: In response to this command the VXM sends a single character equal to the
above 8 bit value
?Read State of Limit Inputs. Each input represents one bit of a binary value. The
value the VXM sends is represented in the table below.
NOTE: In response to this command the VXM sends a single character equal to the
above 8 bit value
Bit 7 6 5 4 3 2 1 0
Decimal
Value
128 64 32 16 8 4 2 1 Decimal
Value
1=high Limit
4+
Limit
4-
Limit
3+
Limit
3-
Limit
2+
Limit
2-
Limit
1+
Limit
1-
No Limits
Activated or
Connected
1 1 1 1 1 1 1 1 255
Limit 1+ Low 1 1 1 1 1 1 0 1 253

35
34
Advanced Input/Output
Appendix B
Input commands:
U6 Send "W" to the host and wait for a "G" to continue. The VXM sends the
single character "W" to the host when this command is executed. The VXM will
wait until a "G" is received from the host before proceeding in the program.
Memory usage = 2 bytes.
U13 Wait for a Jog button to be pressed. This command allows user interaction, by
initiating a jump to a specific program, or allowing the current program to
proceed.
The Jog 1- button will cause a jump to program #1.
The Jog 1+ button will cause a jump to program #2.
The “Run” button will cause the current program to continue to the next command
Memory usage = 2 bytes.
U23 Wait for a Jog button to be pressed. This command allows user interaction, by
initiating a jump-and-come-back-for-more to a specific program, or allowing the
current program to proceed.
The Jog 1- button will cause a jump to program #1 and return.
The Jog 1+ button will cause a jump to program #2 and return.
The “Run” button will cause the current program to continue to the next command
Memory usage = 2 bytes.
U30 Wait for a low to high transition on the user input 1. A "high" is a voltage
between +1.5VDC and +5VDC applied to I/O,5. A simple pushbutton or toggle
switch can be used between 0V (I/O,1) and input 1 (I/O,5) to satisfy this input.
The input level must be low (less than 0.8V) for at least 1 ms, and go high for at
least 1 ms to be a valid input. This command is best used when interfacing to
other solid-state logic devices, refer to the "U50" command for push-button
switch input.
Memory usage = 2 bytes.
U31 Wait for a low to high transition on the user input 1 holding user output 1 "high"
(+5V) while waiting. A "high" is a voltage between +1.5VDC and +5VDC applied
to I/O,5. User output 1 (I/O,14) will go to +5V for the duration of the wait. A
simple pushbutton or toggle switch can be used between 0V (I/O,1) and input 1
(I/O,5) to satisfy this input. The input level must be low (less than 0.8V) for at
least 1 ms, and go high for at least 1 ms to be a valid input. This command is
best used when interfacing to other solid-state logic devices, refer to the "U51”
command for push-button switch input.
Memory usage = 2 bytes.
U32 Wait for the Jog 1- button to be pressed and debounced.
Memory usage = 2 bytes.
U33 Wait for the Jog 1+ button to be pressed and debounced.
Memory usage = 2 bytes.
U50 Wait for a low to high transition on the user input 1with debouncing for a
mechanical push-button switch. A "high" is a voltage between +1.5VDC and
+5VDC applied to I/O,5. A simple pushbutton or toggle switch can be used
between 0V (I/O,1) and input 1 (I/O,5) to satisfy this input.
When a push-button switch is pressed, the switch's electrical contacts will
bounce off each other a few times before settling into their final position. This
bouncing will produce a series of highs and lows, which could result in several
consecutive wait commands to see these electrical bounces as valid inputs from
just one push-button press. When using the "U50" command, the VXM will filter
out the electrical bounces associated with mechanical switches.
Memory usage = 2 bytes.
U51 Wait for a low to high transition on the user input 1 with debouncing for a
mechanical push-button switch, holding user output 1 "high" (+5V) while waiting.
A "high" is a voltage between +1.5VDC and +5VDC applied to I/O,5. User
output 1 (I/O,14) will go to +5V for the duration of the wait. A simple pushbutton
or toggle switch can be used between 0V (I/O,1) and input 1 (I/O,5) to satisfy
this input.
When a push-button switch is pressed, the switch's electrical contacts will
bounce off each other a few times before settling into their final position. This
bouncing will produce a series of highs and lows, which could result in several
consecutive wait commands to see these electrical bounces as valid inputs from
just one push-button press. When using the "U51” command, the VXM will filter
out the electrical bounces associated with mechanical switches.
Memory usage = 2 bytes.
U90 Wait for a low to high transition on the Run input/button with debouncing for a
mechanical push-button switch. Pressing the front panel Run button or a
connection between I/O,4 and I/O,1 (0V) will activate this input.
Memory usage = 2 bytes.
CAUTION: The Run input also starts the current program when the VXM is
in an idle state either On-Line or in Local Jog/slew mode.
See Also
U0, U1

Output commands:
U14 User output 2 "low". The user output 2 (I/O,15) will go to 0V. This is the state of
the user output 2 on power-up. This command is used in conjunction with the
"U15" command.
Memory usage = 2 bytes.
U15 User output 2 high. The user output 2 (I/O,15) will go to +5V. This
command is used in conjunction with the "U14" command.
Memory usage = 2 bytes.
U16 User output 3 "low". The user output 3 (Optional Connection) will go to 0V. This
is the state of the user output 3 on power-up. This command is used in
conjunction with the "U17" command.
Memory usage = 2 bytes.
U17 User output 3 high. The user output 3 (Optional Connection) will go to +5V. This
command is used in conjunction with the "U16" command.
Memory usage = 2 bytes.
U18 User output 4 "low". The user output 4 (Optional Connection) will go to 0V. This
is the state of the user output 4 on power-up. This command is used in
conjunction with the "U19" command.
Memory usage = 2 bytes.
U19 User output 4 high. The user output 4 (Optional Connection) will go to +5V. This
command is used in conjunction with the "U18” command.
Memory usage = 2 bytes.
See Also
U4, U5
Using the I/O on Slave (Bussed VXMs)
Most of the inputs and outputs on a Slave VXM (in a Master/ Slave bussed configuration)
are available through the Master. To access the user I/O on the second VXM (Slave) from
the Master use the standard “Ux” commands +100. The Master will subtract 100 from
the “Ux” command and send the result to the Slave.
The following are valid commands for I/O addressing on a Slave:
U100 Wait for a "low" on user input 1
U101 Wait for a low on user input 1, holding user output 1 high while waiting
U104 User output 1 "low" (reset state)
U105 User output 1 high
U102 Enable Jog mode while waiting for an input
U103 Disable Jog mode while waiting for an input
U107 Start of Continuous Index with 10 µsec pulse on output 2
U113 Wait for a front panel button to jump to a program or continue: "Motor 1 Jog -"
button to jump to program #1, "Motor 1 Jog +" button
to jump to program #2, "Run" button to proceed in current program.
U114 User output 2 low (reset state)
U115 User output 2 high
U116 Optional User output 3 low (reset state)
U117 Optional User output 3 high
U118 Optional User output 4 low (reset state)
U119 Optional User output 4 high
U123 Wait for a front panel button to jump to a program and come back, or continue:
"Motor 1 Jog -" button to jump and return to program #1, “Motor 1 Jog +" button
to jump and return to program #2, "Run" button to proceed in current program
U130 Wait for a low to high transition on user input 1
U131 Wait for a low to high transition on user input 1, holding user output 1 high while
waiting
U132 Wait for "Motor 1 Jog -" button to be pressed on front panel with debouncing
U133 Wait for "Motor 1 Jog +" button to be pressed on front panel with debouncing
U150 Wait for a low and high on user input 1 with debouncing for a mechanical push-
button switch
U151 Wait for a low and high on user input 1 with debouncing for a mechanical push-
button switch, holding user output 1 high while waiting
U190 Wait for a low to high on the Run button or connection I/O,4 with debouncing for
a mechanical push-button switch
37
36

The Multifunction User Inputs
Appendix C
setI set operating mode of User Inputs. The value for is a number between 0 and
255 that can be derived from the table below.
Example:
This example enables binary selection of programs 0 to 3 with user inputs 2 and
3
getI Get operating mode of User Inputs. The value returned will be a number
between 0 and 255 (see table below.)
xx
* VXM clears these bits automatically
** New feature: Only on VXM firmware
versions 1.21 & up
Also on versions 1.21 an up:
When Input 4 (Stop) is held low (0V)
program will not run.
When Setting Bit 7 See Also
x, y
setI67,setI67,
Program # Input 3 Input 2
0 1 1
1 1 0
2 0 1
3 0 0
1=high (no connection)
0= low (connected to 0V)
The program select feature of inputs 2 and 3 can be used to select programs 0 to 3 for
stand-alone applications. A rotary type binary switch would be attached to inputs 2 and 3
for program selection. Following the program selection, the user would press/ activate the
Run input/button. See truth table below for function of each input.
39
38
Bit 7 6 5 4 3 2 1 0
Decimal
Value
128 64 32 16 8 4 2 1 Decimal
Value
Capture
Motor
Position
on Input
4 trigger
0=disable
(bit 1 will
be 0)
Program
# Select
with
Inputs 2
and 3
0=disable
(bit 2 will
be 0)
Jump to
Program
4 after
Stop
input
(Input 4)
0=disable
Stop (Input
4)
Decel/Hard
stop
1=Hard
stop
0=Decel to
stop
Low valid
time for
Run and
Input 1
1=100usec
0=1ms
Input 3
Interrupt User
Waits and
Jump to
Program 3
enable/disable
0=disable
Stop (Input 4)
enable/disable
0=disable
“ËS” is sent **
to host when
enabled, and
Stop input
Run
enable
/disable
0=disable
x
Default 0 0 0 0 0 1 1 1 7
Pgm
Select
on
inputs
2,3
0 1 0 0 0 0* 1 1 67
Record
motor
position
on Input
4
1 0 0 0 0 1 0* 1 133
Joystick
for
motors
3/4
0 0 0 0 0 0 1 1 3
Jump to
program
4 after
Stop
input
0 0 1 0 0 1 1 1 39
This manual suits for next models
3
Table of contents
Other VELMEX Controllers manuals
Popular Controllers manuals by other brands

LEGRAND
LEGRAND Wattstopper LMRC-111-16M quick start guide

Rainbow Pool Products
Rainbow Pool Products CHEMIGEM DM52CHL manual

Oceanled
Oceanled WiFi DMX TOUCH Installation & operation manual

Streetwize
Streetwize SWPP9 user guide

Silicon Graphics
Silicon Graphics E5512 Quick install guide

BFI Automation
BFI Automation CFC 100 Original operating instructions