VELMEX VXM-3 User manual

Important User Information
This information is for the end user of Velmex VXM Stepping Motor
Controllers.
VXM Stepping Motor Controller User’s Manual
VXM Stepping Motor Controller User’s Manual
VXMSteppingMotorController
ThisManualexplainsthegeneralandadvancedoperationoftheVXM-1,VXM-2,VXM-
3,andVXM-4steppingmotorcontrollers.
AlsoincludedontheCDROM:
1. COSMOSutility/controllersoftware(AuserfriendlyWindowsprogramforeasy
2.
setup,testing,andprogrammingofVXMcontrollers)
Softwareexamplesandsoftwaredrivers
User’s Manual
(ExtendedVersion)
Models VXM-1,2,3,4
Document#VXM-UM-E5 12-29-04

2
CAUTION:
ControllerandACpowersupplyshouldbeoperatingina
wellventilatedarea. Donotuseinawet,dirty,orexplosive
environment. Inindustrialenvironments,repackaginginto
aNEMAgradeenclosureisrequired.
Donotdisconnectmotorwhilerunning.KeepMotorand
Limitcablesminimumof2”apart.Onlyoperatewith
designatedmotor.Donotaltercablesinanywaywithout
firstconsultingVelmex
!
!
!
!WARNING:
TO REDUCE THE RISK OF ELECTRICALSHOCK, DO
NOTATTEMPT TO REMOVE COVERS ON POWER
SUPPLYOR CONTROLLER. THEREARE NO USER
SERVICEABLE PARTS INSIDE.Anyservicingshouldbe
donebyVelmexqualifiedservicepersonnel.
CAUTION:
THE VXM MUST BE SET TO THE EXACT
MODEL/TYPE MOTOR(S) BEFORE
OPERATING.
IMPROPER SETTINGS CAN CAUSE
SEVERE DAMAGE TO MOTORSAND
CONTROLLER.
UseVelmexCOSMOSsoftwareto
configureVXMbeforeuse.
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
:KHQ&RQQHFWLQJ
0RWRU6HW&RQWUROOHUWR
WKHH[DFWPRWRUPRGHO
W\SHEHIRUHRSHUDWLQJ
Motors mounted to Velmex actuators/positioners will usually provide
sufficient heat dissipation. Motor surface temperature should not exceed
152F (70°C.) In continuous duty applications when the motor is not
mounted to a suitable heat dissipating device, motor surface temperature
could exceed
°
152F (70°
°C.)

3
Table of Contents
Precautions.........................2
Features..............................4
Front VXM...........................5
Back.VXM...........................5
RS-232Port........................5
AuxiliaryI/O.........................6
Motorwiring........................6
LimitSwitchwiring..............6
Setup...................................7
JogMode............................7
OptionalJoystick.................7
CommunicationMethods....8
LinkingVXMsfor 3 & 4
Motors...............................10
Units&Directions..............11
CommandSummary
(CommonCommands)......12
CommandSummary
(AdvancedCommands)....14
CommandReference
(CommonCommands)......16
.........16
...................19
...................20
...................22
...23
....................24
.........25
Examples..........................26
Troubleshooting................30
Specifications....................31
COSMOSSoftware...........31
Warranty...........................
ContactInformation..........
MotorCommands
ProgramManagement
Commands
Looping/Branching
Commands
Pausing&I/O
Commands
OperationCommands
StatusRequest
Commands
SetupCommands
AppendixA
AppendixB
AppendixC
AppendixD
AppendixE
AppendixF
AppendixG
ComplexProfiles&CoordinatedMotion...4
AppendixH
AppendixI
AppendixJ
AppendixK
AppendixL
AppendixM
AppendixN
AppendixO
AppendixP
AppendixQ
AppendixR
AppendixS
AppendixT
Editing/DebuggingTools.........................32
AdvancedInput/Output...........................34
TheMultifunctionUserInputs.................38
ProducingTriggerOutputs.......................
GettingMotorPositionWhenMoving......4
MoreFeedback/Precision.......................4
AdvancedJogMode................................
TheAnalogInput.....................................5
TheAnalogJoystickOption.....................5
I/OElectricalSpecifications.....................
MotorTorqueCurves...............................6
AdvancedMotorSetup.............................6
LimitSwitchesandHomeSwitches.........6
ControllerMode.......................................
VXMComparisontoNF90/VP9000........
OutlineDimensions...................................7
ModelConfigurations................................
Pick-and-PlacewithJM-x..........................
Stand-aloneMethodstoSelect/Alter
Program......................................................

4
Features
TheVXMisahighperformance,advanceddesignsteppingmotorcontroller.
Highreliability,andconsistentperformanceareachievedbythesedesign
features:
Singlechipmicrocontroller(MCU)digitallycontrolsthemotorphaseswitching
andallotherinterfacefunctions(noisesensitivestepanddirectiontranslation
circuitryareeliminated)
PulsewidthmodulatedtimingispresetbytheMCU,eliminatingerrorprone
analogfeedbackcircuits
Regulatedpowersupplywitha100to240VACinputrangeassuresconsistent
motoroutputtorque
4Xoversizemotordrivesforlonglifeandoverloadtolerance
AsingleVXMcanacceptandexecutecommandsforoperating4motors
CompleteController/Indexer/Driver/ACPowerSupplywithRS-232interface
Modulatedcurrentcontroldrivehaslesslowspeedvibrationthantypical400
step/revcontrollers
Nonvolatilememoryforuserprogramstorage
IncludedexternaldesktoptypepowersupplyisUL,CE,CSA,andTUVsafety
agencycompliant
Oneandtwomotorversions.Threeandfourmotorcapabilitywithtwo
ControlslinkedbytheVXMbus
BackwardcompatiblewithVelmexNF90andVP9000StepMotorcontrollers
Userprogrammableinputsandoutputs
10bitanaloginputforexternalsensor,settingspeed,orforanalogjoystick
control
Runs6or8leadpermanentmagnetstepmotorsratedfrom0.4to4.7amps
Jog,Run,andStopinputbuttonsonfrontpanel
UseinteractivelywithaPCorrunstandalone
Opticallyisolatedlimitswitchinputs
Userresettablecircuitbreakerprotected
Softwaresettablemotorpowerandmotormodelselection
Lowvoltage24VDCoperation
Energysavingdesign,automaticallyde-energizesmotorsatastandstill,
consumingonly1.4watts
FIFObuffertocapturemotorpositionsonexternaltrigger
Specialcommandsformatrix/arraypatternsandpick-and-placeapplications
Conditionalcommandstoskipornottoskipnextcommandoninputstate
CoordinatedmotionwithtwoVXMs
Complexmotionprofileswith“continuousindexmode”
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·

RS-232 Port
5
RS-232
1
2
3
4
5
9876
TheRS-232portwillconnectdirectlytoaCOM
portofaPCwithastraightthrough9pinserial
cable(10footcableincludedwiththeVXM.)
PinAssignments:
1N/C
2Tx
3Rx
5Gnd
4
6
7
8
9N/C
N/C=NoConnection
OverCurrent
Protection
ExternalDCPowerSupply
InputConnection
(ToLambda
DT60PW240P)
SerialRS-232Port
CabletoMotor1
CabletoMotor2
CabletoLimit
SwitchesforMotor1
CabletoLimit
SwitchesforMotor2
AuxiliaryInputs
andOutputs
Rear
HostComputer
ControlledIndicating
LED
PowerSwitch
(Pressrightside
isOn)
Power
IndicatingLED
StartInternal
Program
Stop/Interrupt
Program
Busconnectionto
secondVXMfor
3and4motoroperation
MovesMotor1
CCW
MovesMotor2
CCW
MovesMotor1
CW
MovesMotor2
CW
VXM
Stepping
Motor
Controller
www.velmex.com
VXM
Bus
On-LineJog 1Jog 2
StopRunLocal
-+-+
++
+
+
Front
9DSUBSocket
DC24V 2.5A
Motor 2 Motor 1Circuit BreakerLimits 1 Limits 2
IOIOI
RS-232 I/O
Bloomfield,
NY, USA
Model VXM-2
Serial # 020835
2.5
++
+
+

Pin 6ZLWFK Cable
InnerSwitch
(MotorEnd)*
1 C W
2 R
OuterSwitch
(EndPlate)
3Gn
4
NC
NC
CBk
Pin# Name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PinMotorCable
(6wire)
Slo-SynVexta Pacific
Scientific*
1BC W W W W/Y&W/R
2B2 Gn Bu R
3AC Bk YW/Bk&W/O
4A2 W/R Bk O
5A1 RGn Bk
6B1
Gn
Bk
Or
R
Bu W/Gn R Y
Motor Wiring(forVelmexinstalledstepmotors)
*8leadmotorwithwirescombinedatACandBC
for6leadconfiguration
A1
AC
A2
B1BCB2
StepMotor
1
2
3
4
56
Amp1-480705-0
(mateswith:1-480704-0onCable)
Connector
onMotor
6
Limit Switch Wiring
43
21
*NegativedirectiononVXMcontrollers
Connectoron
SwitchHarness
Amp1-480703-0(mateswith:1-480702-0)
Switchesarewiredonthenormallyclosed(NC)terminals.
CAUTION: The VXM puts 24VDC on the limit switches,
do not connect limit inputs to any +5V logic devices
C
NC
NO
Auxiliary I/O Connection
I/O
1
2
3
45
1112
1314
15
10 9876
TheI/Oconnectionscanbeusedforsignalingexternal
equipmentorwaitingforanexternalsignal.Thefront
panelbuttoninputsarealsoavailableontheI/O
connectorforremotejog,run,andstop.
0V
+5V
Ain
Run
I1
I2
I3
I4
0V
J1-
J1+
J2-
J2+
O1
O2
Function
Logicreferencegroundforinputsandoutputs
+5VDCforJoystickpowerandotherexternallogic(75mAmax.output)
AnaloginputforJoystick,speedsetting,oranalogsensor.
Runinputtostartprogram,sameinputasRunbutton(activelow)
Input1(activelow)
Input2(activelow)
Input3(activelow)
Input4andStop(SameasStopbuttononfrontpanel)(activelow)
Logicreferencegroundforinputsandoutputs
JogMotor1CCW(Sameasfrontpanelbutton)(activelow)
JogMotor1CW(Sameasfrontpanelbutton)(activelow)
JogMotor2CCW(Sameasfrontpanelbutton)(activelow)
JogMotor2CW(Sameasfrontpanelbutton)(activelow)
Output1(normallylow)
Output2(normallylow)
NOTE:All inputs and outputs are TTLlevels (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 mAmax.FormoreinformationrefertoAppendixK.
15DSUBHDSocket

WhentheOn-Line(yellow)lightisnotlit,theVXMisintheLocal/Jogmode.Usingthe
frontpaneljogbuttons,eachmotorcanbejoggedasinglesteporslewedto2000sps(5
revs/sec.)ineitherdirection.
WhenaJogbuttonispressedthemotormoves1step(1/400rev.)Ifthebuttonisheld
for>0.3secondthemotorwillaccelerateto2000sps.PressingStopwhileusingthe
Jogbuttonswillholdthespeedat39sps.
Refertothe“setj”and“setJ”commandsinAppendixHformoreinformationabout
settingjogspeedstodifferentvalues.
7
Setup
Jog Mode
Optional Joysticks
TherearetwotypesofexternaljoysticksavailablefortheVXM.Oneisdigitalthat
functionslikethefrontpaneljogbuttons,andthesecondisananalogproportionalspeed
typethatcanoperateupto4motorswith2VXMsFormoreinformation/configuration
refertoAppendixHandJ.
1. Connectthecablestomotorsandlimitswitches(ifactuatorhaslimitswitches.)
Connectthe9pinserialcablefromtheVXM’srearpanelconnectorlabeled"RS-232"and
yourcomputer'sserialport(usuallylabeled“COM”or“|O|O|”.)Forcomputerswithonly
USBports,useaUSBtoRS-232adapter.
Motorcablesshould neverbebundledtogetherwiththeLimitSwitch,orany
I/Ocabling. putanyoftheVXM'scableswithpowercablesinacommonelectrical
keepLimit SwitchandI/Ocablesatleast2inchesfromMotorconduitorducting.
andPowercables.
CAUTION:Motorcablelengthorconnectorsshouldnotbealteredwithoutconsulting
Velmexfirst.ImproperwiringcanresultinpoorperformanceanddamagetotheVXM.
Alteredcablesandresultantdamageisnotcoveredbythewarranty.
IMPORTANT:TheVXMcanautomaticallydetectlimitswitchinputsthatarewired
normallyclosedtooperate(motorstopsonopencircuit.)Normallyclosedisthestandard
usedonallVelmexproducts.However,Velmexrotarytableswiththehomeswitchoption
requiresthatthelimitswitchinputsbereconfiguredinsetup.Refertothe“setL”
commandinAppendixN.
Neverconnectordisconnectmotorswiththepoweron,thiscanresultin
severedamagetomotordriveelectronics.
2. ConnectcablefromDCpowersupplytoVXM
3. PlugtheDCpowersupplyintoaACoutlet.
4. TurnontheVXMbypushingtherightsideoftherockerswitchlocatedonthefront
panel.
5. InitiallytheVXMissetfornomotorsselected(verylowpower,motorsbuzzbutwill
CAUTION:
Never
Always
CAUTION:
notmove.)Use the COSMOS software included on the CDROM to set VXM for the
proper motors.IfyourcomputerisnotaWindowsbasedsystem,refertothe“setM”
commandinthereferencesectionofthismanual.
BothOn-LineandPowerLEDswilllightfor1second,theOn-Linewillgoout,
thenthePowerLEDwillflash6times.

8
++
+
+
9; 0
Stepping
MotorController
www
www
.velmex.com
.velmex.com
Bus
Bus
VXM
VXM
Stop Run
On-Line
Local - -
+ +
Jog 1 Jog 2
Windowsrunning
VelmexCOSMOS,
orWindows
HyperTerminal
E“”
command
:
:
:
R“”
waitfor“^”
C“”
¬
ÿ
RS-232 Interactive Mode
TheVXMcanbecontrolledinaninteractivemode.Interactivemodeiswhenahost
computersendsonlythecommandsnecessarytoperformasingleoperation(usuallyan
Index),thenthehostwillwaitfortheVXMtofinishbeforesendinganyadditionalcommands.
ThefollowingprocedurewouldbeusedforrunningtheVXMinaninteractivemode:
1.
2.
3.
4.
5.
ThehostputstheVXMOn-Linebysendingan"F"
Thehostsendsa"N"tozeropositionregistersifnecessary
Thehostsendsspeed,andaccelerationifnecessary
ThehostsendsanIndex("I"command)
Thehostsendsa"R"tostarttheIndex
6. Thehostthenwillwaituntilitreceivesareadyprompt("")fromtheVXM
:TheVXMdoesnotsendacarriagereturnorlinefeedfollowingthe"^",refer
tothe"G"commandin$SSHQGL[2IRUPRUHLQIRUPDWLRQ
7. Theuser'sroutineforoutputting,measuring,etc.wouldbeexecutedbythehost
8. A"C"wouldbesentfromthehosttoclearthepreviousIndexcommandfromthe
9.
VXM'smemory
Theprocessisrepeatedfromstep#3
^
NOTE
Communication Methods
ProgrammingoftheVXMisaccomplishedbysendingcommands(ASCIIcharacters)to
theVXMthroughtheRS-232interface.Thesimplestmethodtosendcommandsiswith
theVelmexCOSMOSprogram,orwithHyperTerminalinMicrosoftWindows.
Anothermethodtosendcommandsiswithcommerciallyavailablelanguagessuchas
VisualBASIC,C,LabVIEW,etc.
ToputtheVXMintheOn-Linemode/programmingmode,thehostmustsendeitheran
(RU):KHQWKH&RQWUROOHUUHFHLYHVDQ(RU)WKH2QOLQHOLJKWZLOOOLJKWDQGWKH
-RJLQSXWVZLOOEHGLVDEOHG
The"E"putstheVXMon-linewithecho"on"(echoesallcharactersreceivedbacktothe
host).The"F"putstheVXMon-linewithecho"off".IfyouareusingHyperTerminalto
communicatetotheVXMusethe"E"sotypedcharacterswillbedisplayed.Whenusinga
softwarelanguagetosendcommands, usethe"F"sothehost’sinputbufferwillnotbe
burdenedwithechoedcharactersfromtheVXM.
NOTE:All command characters are case sensitive

9
Index Motor 1 Example
++
+
+
VXMStepping Motor Controller
www.velmex.com
VXM On-line -- Jog 1 -- -- Jog 2 --
Bus Stop Run Local - + - +
++
+
+
VXM
Stepping
SteppingMotor
Motor
Controller
Controller
www
www
.velmex.com
.velmex.com
Bus
Bus
VXM
VXM
Stop Run
On-Line
Local - -
+ +
Jog 1
Jog 1 Jog 2
++
+
+
VXM
Stepping
SteppingMotor
Motor
Controller
Controller
www.velmex.com
Bus
Bus
VXM
VXM
Stop Run
On-Line
Local - -
+ +
Jog 1 Jog 2
VisualBASIC,C,
LabVIEW,etc.
F“”
command
:
:
:
R“”
waitfor“^”
C“”
¬
command
:
:
:
:
:
rsm“”
RS-232 Download/ Stand-alone Mode
EntireprogramscanbetransferredtotheVXMovertheRS-232interface.Whena
program(s)hasbeendownloadedtotheVXM,itwillkeeptheprogram(s)inmemoryuntila
clear(”C”)commandisused.Topreventlossofprogramdatawhenpoweristurnedoff,
programmemorycanbepermanentlysavedbyusingthe“rsm”command.Theabilityto
retainprogramsallowstheVXMtobeusedinastand-alonemode.Inastand-alonemode
theoperatorstartstheprogrambyRunbuttonlocatedonthefrontpanel,orbyusingtheRun
inputontheI/Oconnector.
G
Sendcommands
andpermanently
savethemin
VXMwith“rsm”
command
VXMholdsprogram(s)thatcanbeactivatedwiththe
Runinput.Thedefaultprogramtorunisprogram0.
Inputs2and3canconfiguredtobinaryselectandrun
programs0to3.
&
*.
3
&*.3
&OBCMF
0O-JOF
NPEFXJUIFDIPPO
*ODSFNFOUBM
*OEFY
.PUPS
TUFQTSFW
&
*.
3
¬
¬
¬
EnableOn-Linemodewithechoon
IncrementalIndexMotor#1+400steps(1rev.)
RunIndex
Commentscanbeincludedusingasemicolon:(Never use comments after“R”)
Commandscanbeonthesameline,separatedbycommas,spacesareoptional:
Graphic Representation: ®
start end

TwocontrolslinkedtogetherbytheVXMbusmakeitpossibletorun3or4motorswith
allprogramsresidinginoneVXM,andallcommunicationfromahostwiththisoneVXM.
(Input4.)
TheVXMbusisaserialbusconformingtotheICspecification.Thisbusisusedto
transferdatabackandforthbetweentwoVXMcontrolsthatareconfiguredasMaster
andSlave.
UseonlyaVelmexapprovedcableforthebusconnection,telephonehandsetcables
willnotwork.Telephonecablesreversethe1and4connection,astraightthroughcable
isrequired.
Buscablesshouldbeshortandnotbenearothercablesorelectronicdevices.
BydefaultallVXMsareSlaves.
TolinkVXMs,onecontrolshouldbesettobeaMaster(seeControlModeFRPPDQG
"setDM"intheAppendixO.)TheVelmexCOSMOSprogramwillconfiguretheVXMs
forMaster/Slaveoperation.
AdesignatedMasterwillattempttoestablishcommunicationstoaSlaveonpower-up.
IftheMastercannotfindtheSlaveitwilltryagainwhenitisrequiredtosendamotor3
ItisnormalfortheSlavenottoflashitspowerlight(greenLED)
atpower-up.
Abuserrorwilloccur(”ËB”senttohostandVXMresets)iftheMastercannotfindthe
Slave,eitherbecausethereisnotoneconnected,oritisnotpowered.
TheMasteristheVXMthatrunsmotors1and2,communicateswithahost,andcan
bestartedwiththeRuninputandstoppedwiththeStopinput
TheSlaverunsmotors3and4(TheMasterassignsmotors3and4tomotors1and2
ontheSlave)andreceivesallcommandsovertheVXMbusfromtheMaster.
·TheMasterdisablestheRun,Stop,andRS-232inputsontheSlave.
2
Considerations when linking VXM controls together:
or4command.NOTE:
·
·
·
·
·
·
·
·
Linking VXMs for 3 & 4 Motors (VXM-3,4)
10
++
+
+
VX M
Stepping
SteppingMotor
Motor
Controller
Controller
www.velmex.com
Bus
Bus
VXM
VXM
Stop
Run
Run
On-Line
On-Line
Local
Local
- -
+ +
Jog 1 Jog 2
++
+
+
VX M
Stepping
SteppingMotor
Motor
Controller
Controller
www
www
.velmex.com
.velmex.com
Bus
Bus
VXM
VXM
Stop Run
On-Line
Local - -
+ +
Jog 1
Jog 1
Jog 2
Jog 2
M2 M4
M1 M3
L2L1 L4L3
Master Slave
VXMBusCable
Part#4-2122
$*.3
Index Motor 3 Example
Graphic Representation: ®
start end
¬Clearpreviousentries,IndexMotor3+400steps
NOTE:SlaveRS-232portisnotused

Unit Conversion for Velmex Positioners
*TypicalUniSlidemodel(wherexisfromabovetable):MB4024xJ-S4
Example#1:Tomove3.000incheswiththeBiSlideE04leadscrew(3.000÷0.001=3,000)requiresa3,000step
index.
Example#2:Tomove90degreeswiththeB5990rotarytable(90÷0.01=9,000)requiresa9,000stepindex.
Example#3:Tomove4.000incheswiththeUniSlideW1leadscrew(4.000÷0.00025=16,000)requiresa16,000
stepindex.
Other formulas:
1Motorrev=400steps
LinearSpeed=Advanceperstepxstepspersecond
RotarySpeed=Advanceperstepxstepspersecond
Stepspersecond÷400=rev/sec
**TypicalBiSlidemodel(wherexisfromabovetable):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)
11
TheVXMusesstepunitsforIndexandSpeedparameters.Onestepis1/400ofamotor
revolution.StepunitsfordistanceareusedwiththeIndexcommands(”I”command.)
SpeedisinunitsofSteps/Second(SPS.)Steps/Secondunitsforspeedareusedwith
theSpeedcommands(”S”command.)
Accelerationcommands(”A”command)arevaluesfrom1to127thatarerelativeto
steps/secunits.RefertoApplicationNote#106formoreinformationaboutacceleration
unitsandmoveprofiles.
2
Directionisrelativetothedevicethemotorisusedon.Onscrewdriveactuatorslike
UniSlidesandBiSlides,positiveisthedirectionmovingawayfromthemotor.
OnwormgeartyperotarytablesliketheVelmexB4800orB5990,positiveiscounter
clockwise(CCW.)Toreorientdirectionsrefertothe“setDM”commandinAppendix
O.
Units & Directions
Positive®
Positive
CCW
Positive
CW
WormGear
RotaryTable
ScrewDriveActuator
Motor
Lead Screw Models
UniSlide* BiSlide**Advance per turn Advance per step
Speed
@ 1000 SPS (2.5 rev/sec)
Units Units
C P40 E25 0.025inch 0.0000625inch
Units
0.0625inch/sec
B P20 E50 0.0001250inch
W1 P10 E01 0.0002500inch
W2 P5 E02 0.0005000inch
W4 P2.5 E04
0.05inch
0.1 inch
0.2 inch
0.4inch 0.0010000inch
0.125inch/sec
0.25inch/sec
0.5inch/sec
1 inch/sec
K1 Q1 M01 1mm 0.0025mm 2.5mm/sec
K2 Q2 M02 2mm 0.0050mm 5mm/sec
Rotary Tables
GearRatio
B4872 72:1 5degree 0.0125degree 12.5degree/sec
B4836 36:1 10degree 0.0250degree 25degree/sec
B4818 18:1 20degree 0.0500degree 50degree/sec
B5990 90:1 4degree 0.0100degree 10degree/sec

Command Summary (Common Commands)
12
Motorcommands:
Programmanagementcommands:
Looping/
Pausingandinput/outputcommands:
I
16,777,215
SetstepstoincrementalIndexmotorCCW(negative),m=motor#(1,2,3,4),x=1
to16,777,215
SetAbsoluteIndexdistance,m=motor#(1,2,3,4),x=±1to±16,777,215steps
IndexmotortoAbsolutezeroposition,m=motor#(1,2,3,4)
Zeromotorpositionformotor#m,m=1,2,3,4
Indexmotoruntilpositivelimitisencountered,m=motor#(1,2,3,4)
Indexmotoruntilnegativelimitisencountered,m=motor#(1,2,3,4)
SetSpeedofmotor(70%power),m=motor#(1,2,3,4),x=1to steps/sec.
(SAmMxis100%power)
Acceleration/deceleration,m=motor#(1,2,3,4),x=1to127.
AmMx
IAmM0
IAmM-0
ImM-0
AmMx
L0
LM-0
Lx
L-x
LAx
LA-x
LM-2
LM-3
ImMx
ImM-x
PMx
PM-x
PM
Jx
JMx
Px
PAx
U0
U1
U4
U5
SetstepstoincrementalIndexmotorCW(positive),m=motor#(1,2,3,4),x=1to
SelectProgramnumberx,x=0to4
SelectandclearallcommandsfromProgramnumberx,x=0to4
RequestthenumberofthecurrentProgram
branchingcommands:
LoopcontinuallyfromthebeginningorLoop-to-markerofthecurrentprogram
SetstheLoop-to-markeratthecurrentlocationintheprogram
ResetstheLoop-to-markertothebeginningofthecurrentprogram
LoopfrombeginningorLoop-to-markerx-1times(x=2to65,535),whentheloop
reachesitslastcountthenon-loopcommanddirectlyprecedingwillbeignored
LoopfrombeginningorLoop-to-markerx-1times,alternatingdirectionofmotor1,
whentheloopreachesitslastcountthenon-loopcommanddirectlyprecedingwill
beignored
LoopAlwaysfrombeginningorLoop-to-markerx-1times(x=2to65,535)
LoopAlwaysfrombeginningorLoop-to-markerx-1times,alternatingdirectionof
motor1
LooponcefrombeginningorLoop-to-markerreversingindexdirectionofmotor2
LooponcefrombeginningorLoop-to-markerreversingindexdirectionofmotor1
andmotor2
Jumptothebeginningofprogramnumberx,x=0to4
JumptothebeginningofprogramnumberxandcomebackforMoreafter
programxends,x=0to4
Pausextenthsofasecond,(x=0to65,535)tenthsofamillisecondwhenxis
negative
Pausextenthsofasecond(x=0to65,535,10μsecpausewhenx=0)Altering
output1highfordurationofthepause,tenthsofamillisecondwhenxisnegative
Waitfora"low"onuserinput1
Waitforalowonuserinput1,holdinguseroutput1highwhilewaiting
Useroutput1"low"(resetstate)
Useroutput1high
ImM0
SmMx
LM0
6000
Thefollowingarethemostcommoncommands,refertopage14foranadditionallisting
ofcommandsforadvancedusers.

13
Operationcommands:
Statusrequestcommands
Q
R
N
K
C
D
E
F
:
X
Y
Z
T
M
QuitOn-Linemode(returntoLocalmode)
Jog/slewmode,or“b”ifJog/slewing
Sendcurrentpositionofmotor1tohost(Motorcanbeinmotion)
positionofmotor2tohostSend
Send
Send
positionofmotor3tohost
positionofmotor4tohost
RequestMemoryavailableforcurrentlyselectedprogram
rsm
V
lst
getMmM
Setupcommands:
setMmMx
setBx
Runcurrentlyselectedprogram
Null(zero)motors1,2,3,4absolutepositionregisters
Killoperation/programinprogressandresetuseroutputs
Clearallcommandsfromcurrentlyselectedprogram
Deceleratetoastop(interruptscurrentindex/programinprogress)
EnableOn-Linemodewithecho"on"
EnableOn-Linemodewithecho"off”
Runsavememory(savessetup/programvaluestononvolatilememory)
VerifyController'sstatus,VXMsends"B"tohostifbusy,"R"ifready,"J"ifinthe
current
current
current
(Motorcanbeinmotion)
(Motormustbestationary)
(Motormustbestationary)
Listcurrentprogramtohost(ASCIItext)
Readmotortype/sizeselectedforaxism
Setaxismformotortype/sizex.
SetRS-232Baudrate(9=9600,19=19200,38=38400)

Command Summary (Advanced Commands)
14
ThefollowingcommandsareforadvancedVXMusers.
commandsrefertoAppendicesinthisUser’sManual.
Formoreinformationonthese
Motorcommands:
range(SAmM-xis100%power)
Programmanagementcommands:
(available only on VXM firmware versions 1.20 & up)
Input/outputcommands:
SmM-x
PMAx
PMA
JM-x
U2
U3
U6
U7
U77
U8
U9
U91
U92
U99
U11
U12
U21
U22
U13
U14
U15
U16
U17
U18
U19
U23
U30
U31
U32
U33
U50
U51
U90
Readandassignanaloginputvaluetomotormspeed(70%power),x=speed
ProgramAssociateprogramxinMastertoprogramxinSlave(LinkedVXMsstart
thesametime)
Requestthecurrentprogramassociatenumber
SimilartoJMxexceptautomaticallymovesbackfromabsoluteindexesafter
programxends:Forpick-and-placewithinmatrixloopingpatterns
EnableJogmodewhilewaitingforaninput
DisableJogmodewhilewaitingforaninput
Send"W"tohostandwaitfora"G"tocontinue
StartofContinuousIndexwithpulseonoutput2
StartofContinuousIndexwithnooutput
StartofContinuousIndexsending"@"tothehost
EndofContinuousIndexwithautodeceltostop
EndofContinuousIndexwithauto-generateadecelerationIndexasnext
command
EndofContinuousIndexusingnextIndexfordecelerationtostop
EndofContinuousIndexwithinstantaneousstop
Skipnextcommandifinput1ishigh
Skipnextcommandifinput2ishigh
Skipnextcommandifinput1islow
Skipnextcommandifinput2islow
Waitforafrontpanelbuttontojumptoaprogramorcontinue:"Motor1Jog-"
buttontojumptoprogram#1,"Motor1Jog+"button
tojumptoprogram#2,"Run"buttontoproceedincurrentprogram.
Useroutput2low(resetstate)
Useroutput2high
OptionalUseroutput3low(resetstate)
OptionalUseroutput3high
OptionalUseroutput4low(resetstate)
OptionalUseroutput4high
Waitforafrontpanelbuttontojumptoaprogramandcomeback,orcontinue:
"Motor1Jog-"buttontojumpandreturntoprogram#1,“Motor1Jog+"button
tojumpandreturntoprogram#2,"Run"buttontoproceedincurrentprogram
Waitforalowtohightransitiononuserinput1
Waitforalowtohightransitiononuserinput1,holdinguseroutput1highwhile
waiting
Waitfor"Motor1Jog-"buttontobepressedonfrontpanelwithdebouncingWait
for"Motor1Jog+"buttontobepressedonfrontpanelwithdebouncingWaitfora
lowandhighonuserinput1withdebouncingforamechanicalpush-buttonswitch
Waitforalowandhighonuserinput1withdebouncingforamechanicalpush-
buttonswitch,holdinguseroutput1highwhilewaiting
WaitforalowtohighontheRunbuttonorconnectionI/O,4withdebouncingfora
mechanicalpush-buttonswitch
Branchingcommands:
(available only on ver. 1.22 & up)
(available only on ver. 1.22 & up)
(available only on ver. 1.30 & up)
(available only on ver. 1.30 & up)

15
Operationcommands:
Statusrequestcommands:
G
H
!
res
del
x
y
#
?
~
$
@
B
O
getDx
getDA
getjmM getjAmM
getJmM getJAmM
getLmM
getPmM
getPA
getI
(i3,i1..)
[i1,i2...]
:
D
Bx
Ox
setDMx
setDAx
setjmM setjAmM
setJmM setJAmM
setLmMx
setPmMx
setPAx
setIx
EnableOn-LinemodewithechooffGroupinga<cr>with"^",":","W","O"
responses;AlsoGoafterwaitingorholding
PutControlleronHold(stopaftereachcommandandwaitforgo)
Recordmotorpositionsforlaterrecallwith“x”,”y”commands
Softwareresetcontroller
Deletelastcommand
Sendlast4positionsofmotor1tohostthatwerecapturedbythe“!”commandor
Input4trigger
Sendlast4positionsofmotor2tohostthatwerecapturedbythe“!”commandor
Input4trigger
Requestthenumberofthecurrentlyselectedmotor
Requestthepositionwhenthelastmotorstarteddecelerating(showsposition
when"D"commandorStop/Userinput4used)
Readstateoflimitswitchinputsformotor1a
nd2(8bitbinaryvalue)
ReadstateofUserInputs,Motor1and2JogInputs(8bitbinaryvalue)
ReadstateofUserOutputs(8bitbinaryvalue)(only on ver. 1.22 & up)
Readuseranaloginputvalue
ReadBacklashcompensationsetting
ReadIndicatelimitswitchsetting
Readmode/version
ReadJoystickDeadbandsetting
ReadfirstrangeJogSpeedformotorm.forJoystickrange
setting
ReadsecondrangeJogSpeedformotorm.forJoystick
rangesetting
Readmodeoflimitsformotorm
Read“PulseEveryx#Steps”valueforaxismReadPulsewidthused
bysetPmMxandU7(only on ver. 1.24 & up)Readoperatingmode
ofuserinputs
CombineIndexcommandstorunsimultaneouslyontwoVXMcontrollers
connectedbyVXMbus
SenddatatoSlavethroughMaster
Readmotorposition(Digitize)
Backlashcompensation,0=off(default),1=20steps,Ver. 1.25 up: x=0 to 255
IndicatelimitswitchOver-traveltohost,offwhenx=0,VXMsends"O"whenx=1
andhitlimit,x=3programstopstoo
SetVXM/VP9000orNF90emulationmodes,andotheroperatingparameters
SetJoystickDeadbandvalue
SetfirstrangeJogSpeedformotorm.forJoystickrangesetting
SetsecondrangeJogSpeedformotorm.forJoystickrangesetting
Setlimitswitchmodeforaxism
Set“PulseEveryx#Steps”onoutput2foraxismSetPulsewidthused
bysetPmMxandU7,x=1to255(10msecincrements)(available only on
versions 1.24 & up)
Setoperatingmodeofinputs
F
CommandsfortwocontrolsconnectedbyVXMbus:
Jogmodecommands
Specialfunctionandsetupcommands:

Command Reference (Common Commands)
16
ThissectiongivesdetailedexplanationsofthemostcommonVXMcommands.Forthe
advanceduser,refertotheAppendicesformoreinformation.
Mostcommandswithvariables(exceptsetcommands)usetheVXM'sprogrammemory
space.Therequiredmemoryneededpercommandisspecifiedinthissection.TheVXM
has256bytesofprogrammemoryforeachprogram.Thereare5(0,1,2,3,4)programs.A
programcanbeclearedbya"C"andselectedbythe"PMx"command.Thedefault
programwhentheVXMispoweredupis#0.Usingdifferentprogramsisonlyrelevantto
userswhowillbeoperatingtheVXMinastand-alonemode(P8.)UsingtheVXMina
RS-232interactivemode(P9.)wouldonlyrequirethatthedefaultprogrambecleared
aftertheRcommand.
AnabsoluteIndexis,amoverelativetoabsolutezeroposition,adistanceanddirection
fromthepresentpositioncalculatedbytheVXMbasedonabsolutezeroposition.
AbsolutezeroisestablishedwhentheVXMispowered-up,byuseofthe"N",orthe
"command.
Sending Commands to the VXM:
ThestandardRS-232communicationsettingsontheVXMare9600baud,8data,no
parity,and1stopbit.
Whensendingcommandsthatrequireavalue,thecommandsmustendwithacarriage
return(EnterkeyorReturnonmostkeyboards),comma,oraperiod.
SetstepstoincrementalIndex(move)motorCW(positive,Slider/Carriage
willmoveawayfrommotorend,RotaryTablewillrotateCCW),=motor#
(1,2,3,4),x=1to16,777,215.
.
The"<cr>"isacarriagereturncharacter(<Enter>key
onmostkeyboards).Commandcharactersarein LARGE BOLD.
<cr>
<cr>
Thisexamplesetsmotor1toindex1200stepsCW:
Thisexamplesetsmotor2toindex9200stepsCW:
Thisexamplesetsmotor3toindex10200stepsCW: <cr>
Thisexamplesetsmotor1toindex120stepsCCW: <cr>
<cr>
Thisexamplesetsmotor2toindex20stepsCCW:
Thisexamplesetsmotor4toindex1stepCCW: <cr>
"IAmM-0
Memoryusage=
Examples:
4 bytes
NOTE:
I1M1200
I2M9200
I3M10200
SetstepstoincrementalIndex(move)motorCCW(negative,UniSlideSlider
willmovetowardmotorend,UniSlideRotaryTablewillrotateCW),m=motor#
(1,2,3,4),x=1to16,777,215.
Memoryusage=4 bytes.
Examples:
1M-120
I2M-20
I4M-1
IA1M2200
m
The Difference Between Incremental andAbsolute Indexes:
AnincrementalIndexis,amoverelativetothepresentposition,adistanceanddirection
specifiedbytheIndexfromthepresentposition.
Incremental:I1M1200startend
Absolute:startend
AbsolutePosition 0 1000 2200
AbsolutePosition 0 1000 2200
MotorCommands
ImM[
ImM-[

17
positionregistershavearangeof-8,388,608to8,388,607steps,xshouldnotbe
settoanynumberlessthan-8,388,608orgreaterthan8,388,607.
Memoryusage=4 bytes.
Examples:
Thisexamplesetsmotor1toindextoabsoluteposition1200:
IA1M1200<cr>
Thisexamplesetsmotor4toindextoabsoluteposition-90200:
IA4M-90200<cr>
IAmM0
commandisusedtheVXMcalculatesthedistanceanddirectiontogetback
toabsolutezeroposition.The"absolutezero"positionwasestablishedwhenthe
"N"(NullAbsolutePositionRegisters),"IAmM-0"commandwasused,orwhen
theVXMwaspoweredup.
Memoryusage=4 bytes.
Examples:
Thisexamplesetsmotor1toindextoabsolutezeroposition:
IA1M0<cr>
Thisexamplesetsmotor2toindextoabsolutezeroposition:
IA2M0<cr>
Thisexamplesetsmotor3toindextoabsolutezeroposition:
IA3M0<cr>
IAmM-0
clearsthepositionregisterforthemotorselected,makingthispositionabsolute
zero.Thedisplaywillshowallzerosforthemotorselected.
Memoryusage=4 bytes.
Examples:
Thisexamplemakesthepresentpositionformotor1absolutezero:
IA1M-0<cr>
Thisexamplemakesthepresentpositionformotor2absolutezero:
IA2M-0<cr>
Movepositiveuntilthepositivelimitswitchisencountered(HometoPositive
LimiW),m=motor#(1,2,3,4).Ifthelimitswitchinputwasdisabledinsetup,the
limitswitchinputwillbere-enabledforthedurationofthiscommand.TheIndex
willendifthelimitswitchisnotencounteredafter16millionsteps.
4 bytes.
Thisexamplesetsmotor1toseekthepositivelimitswitch:
<cr>
Movenegativeuntilthenegativelimitswitchisencountered(Hometo
NegativeLimit),m=motor#(1,2,3,4).Ifthelimitswitchinputwasdisabledin
setup,thelimitswitchinputwillbere-enabledforthedurationofthiscommand.
TheIndexwillendifthelimitswitchisnotencounteredafter16millionsteps.
4 bytes.
Thisexamplesetsmotor1toseekthenegativelimitswitch:
<cr>
Memoryusage=
Example:
I1M0
Memoryusage=
Example:
I1M-0
,$P0[6HWDQ,QGH[WRDQ$EVROXWHSRVLWLRQWKHGLVWDQFHDQGGLUHFWLRQIRUWKHPRYH
IURPWKHSUHVHQWSRVLWLRQLVFDOFXODWHGE\WKH9;0EDVHGRQDEVROXWH]HUR
SRVLWLRQP PRWRU[ WR127(6LQFHWKHDEVROXWH
6HWDQQGH[WR$EVROXWH]HURSRVLWLRQP PRWRU:KHQWKLV
=HURPRWRUSRVLWLRQIRUPRWRUPP PRWRU7KLVFRPPDQG
ImM0
ImM-0

18
6000steps/sec.in1step/sec.intervals.Ifthiscommandisneverused,the
defaultspeedwillbe2000steps/sec.
NOTE:motortorquedecreasesasspeedincreases,andsomemotorshave
limitedtorqueabove2000steps/sec.Ifthemotortorqueisbelowtheneeded
torquetomovetheload,themotorwillstall(losesynchronismandproper
position.)
Memoryusage=3 bytes.
Example:
Thisexamplesetsthespeedofmotor1to500steps/secat70%power:
S1M500<cr>
Whenthe"S"speedcommandisusedforsettingspeed,motorrunningtorquewillbe
70%ofthemaximumoutput.Formostapplications70%motortorquewillbeadequate.
Formovingheavyloadsthe"SA"speedcommand(100%power)maybeneeded.
Motorpowerwillalwaysbezerowhenthemotorisstationary(motorsare
normallyun-energizedatastandstill.
Savesenergy.1.
2.
3.
4.
Motorsrunsmootherandquieter
Reducesmid-speedmotorresonance.
ReducesMotorandControllerheating.
6HW6SHHGRIPRWRUSRZHUDSSOLHGWRPRWRUP PRWRU[ WR
to6000steps/sec.in1step/sec.intervals.
Example:
Thisexamplesetsthespeedofmotor2to3000steps/secat100%power:
SA2M3000<cr>
Withaccelerationsetto2(default)increasespeed
untilmotorstalls,use75%ofthisspeedasthemaximumspeed.
:MotorandControllersurfacetemperaturesbecomehotwhenrunningmotors
continuously.Onlyuse100%(""command)motorpowerifmaximumtorqueis
required.Formaximumefficiencywhenliftingheavyloadsvertically,usethe"SA”
commandtosetspeedfortraversingupwards,andusethe"S"speedcommandforthe
speeddown.
is2.Thehigherthenumberused,thefasterthemotorwillreachthesetspeed,
andthefasteritwillslowdowntoastop.:motorsmaystallifthisvalueis
settohigh.
Memoryusage=2 bytes
Example:
Thisexamplesetstheacceleration/decelerationofmotor1to3:
A1M3<cr>
Withspeedsettomaximumasdetermined
increaseaccelerationuntilthemotorstalls,use1/2ofstallaccelerationasthe
above,
maximum
NOTE:
Advantages of the "S" speed command (70% motor power)
How to Determine Maximum Speed:
CAUTION
SA
NOTE
How to Determine MaximumAcceleration:
SeeApplicationNote#106formoreinformationaboutacceleration.
6P0[
6HW6SHHGRIPRWRUSRZHUDSSOLHGWRPRWRUP PRWRU[ W
6$P0[
$P0[$FFHOHUDWLRQGHFHOHUDWLRQP PRWRU[ WR7KHGHIDXOWYDOXH

19
A2,S4000,I400,
I2M200,I-200,S2000,IA0,
PM1
PM-0
Programming Shortcut:
ThemotordesignationinAcceleration,Speed,andIndexcommandsisoptionalifthe
desiredmotorhasalreadybeensetasthecurrentmotor.Thecurrentmotorismotor1
whentheControllerisfirstturnedon.Thelastmotorjog/slewedwillbethecurrentmotor
number.ThecurrentmotorwillbethenumberusedinthelastAcceleration,Speed,or
Indexcommand.UsersthathaveonlyaonemotorVXM(ModelVXM-1)donothaveto
usethemotordesignationinacommand.Forexample,thesecommandswouldalways
bemotor1commandsofaonemotorVXM:
Forrunningaparticularmotorofamulti-motorVXM,onlythefirstCommandneedsthe
motornumber.Forexample,allofthesecommandswouldbeformotor2:
Example:
Thisexampleselectsprogram#1forthecurrentprogram:
<cr>
commandwillselectprogramxasthecurrentprogramanddeleteallcommands
fromthisprogram.
Memoryusage=0 bytes.Thiscommandisimmediate(notstored)
Example:
Thisexampleselectsprogram#0anderasesallcommandswithinit:
<cr>
PM
PMx
x
hold256bytesofcommands.Thedefaultprogramnumberis0.
Program3canbeinteractivewithuserinput3,andProgram4canbeinteractive
formoreinformation.
Memoryusage=.Thiscommandisimmediate(notstored)
<cr>
6HOHFWDQGFOHDUDOOFRPPDQGVIURP3URJUDPQXPEHU[[ WR7KLV
<cr>
‘setI
0 bytes
Requestthenumberofthecurrentprogram.theVXMwillsendavaluebetween
0and4indicatingtheprogramnumberselected.
Example:
PM
3
-
PM
ProgramManagementCommands
withuserinput4.Seethe”commandintheReferenceManualonthe
CDROM
6HOHFW3URJUDPQXPEHU[DVWKHFXUUHQWSURJUDP[ WR(DFKSURJUDPFDQ
,IWKHFXUUHQWSURJUDPLVWKH9;0ZLOOVHQGWKHIROORZLQJWRWKHKRVW:

20
Looping/BranchingCommands
L0
LM0
LM-0
L
L-
LA
LoopcontinuallyfromthebeginningorLoop-to-markerofthecurrentprogram.
TheloopwilloccurtothelastLoop-to-markerofthecurrentprogramifitwasset
previously.Thiscommandcanbeusedonceinaprogramasthelastcommand,
itfunctionsthesameasa"continuousruninput".
Memoryusage=1 byte.
LoopfrombeginningorLoop-to-markerofthecurrentprogram[-1times[ WR
65,535).Amaximumof10nestedloopcommandscanbeusedperrun.
NOTE:WhentheLoopreachesitslastcount,thenon-loopcommanddirectly
precedingtheLoopwillbeignored.
Memoryusage=3 bytes.
Example:
Thisexamplesetsalooptorepeat,anypreviouscommands4000-1times,while
repeatingthedirectlyprecedingnon-loopcommand4000-2times:
L4000<cr>
LoopfrombeginningorLoop-to-markerofthecurrentprogramx-1times
alternatingdirectionofmotor1indexes(x=2to65,535).Amaximumof10
nestedloopcommandscanbeusedperrun.
NOTE:WhentheLoopreachesitslastcount,thenon-loopcommanddirectly
precedingtheLoopwillbeignored.
Memoryusage=3 bytes.
Example:
Thisexamplesetsalooptorepeat,anypreviouscommands100-1times
alternatingmotor1directioneveryrepeat,whilerepeatingthedirectlypreceding
non-loopcommand100-2times:L-100<cr>
/RRS$OwaysfrombeginningorLoop-to-markerofthecurrentprogramx-1
times(=2to65,535).Maximum10nestedloopcommandsperrunallowed.
Memoryusage=3 bytes.
Examples:
Thisexamplesetsalooptorepeatallpreviouscommands4000-1times:
LA4000<cr>
Consecutivelynestedloopsareequaltotheproductoftheirloopvalues.For
example,thefollowingloopstogetherareequalto10,000,000-1(50,000x200):
`LA50000,LA200<cr>
SetstheLoop-to-markeratthispointinthecurrentprogram.Alllooping
commandsinthecurrentprogramthatfollowwillbranchtohere.Anyloop
commandsintheprogrampriortothismarkerwillbranchtothebeginningofthe
programorapreviousmarker.
NOTE:Multiplemarkerscanbeusedinaprogram,thenumberisonlylimitedby
theprogrammemoryavailable(256bytesperprogram).
Memoryusage=1 byte
ResetstheLoop-to-markertothebeginningofthecurrentprogram.
NOTE:Multipleresetscanbeusedinaprogram,thenumberisonlylimitedby
theprogrammemoryavailable(256bytesperprogram).
Memoryusage=1 byte
x
x
x
x
This manual suits for next models
3
Table of contents
Other VELMEX Controllers manuals