Host Command Reference Drive ST10
Host Command Reference Drive ST10
920-0002 Rev. T
4/30/2019
Host Command Reference
Contents
Getting Started........................................................................................ 11
Servo Drives..................................................................................... 11
StepSERVO...................................................................................... 11
Stepper Drives.................................................................................. 11
Commands...............................................................................................13
Buffered Commands......................................................................... 13
Stored Programs in Q Drives............................................................................ 13
Multi-tasking in Q Drives.................................................................................. 13
Immediate Commands...................................................................... 13
Using Commands...............................................................................13
Commands in Q drives..................................................................... 14
SCL Utility software........................................................................... 15
Command Summary..........................................................................16
Motion Commands............................................................................ 17
Servo Commands............................................................................. 18
Configuration Commands................................................................. 19
Communications Commands............................................................ 21
Register Commands......................................................................... 21
I/O Commands.................................................................................. 22
Q Program Commands..................................................................... 23
Command Listing...............................................................................24
AC - Acceleration Rate......................................................................25
AD - Analog Deadband......................................................................26
AD - Analog Deadband (SV200 Drives).............................................27
AF - Analog Filter...............................................................................28
AG - Analog Velocity Gain..................................................................29
AI - Alarm Reset Input ......................................................................30
AL - Alarm Code................................................................................33
AM - Max Acceleration.......................................................................36
AN - Analog Torque Gain...................................................................37
AO - Alarm Output.............................................................................38
AP - Analog Position Gain.................................................................40
AR - Alarm Reset (Immediate)...........................................................41
AS - Analog Scaling...........................................................................42
AT - Analog Threshold........................................................................43
AV - Analog Offset Value....................................................................44
AV - Analog Offset Value - SV200......................................................45
AX - Alarm Reset (Buffered)..............................................................46
AZ - Analog Zero...............................................................................47
920-0002 Rev. T 2
4/30/2019
Host Command Reference
BD - Brake Disengage Delay.............................................................48
BE - Brake Engage Delay..................................................................49
BO - Brake Output.............................................................................50
BR - Baud Rate .................................................................................52
BS - Buffer Status..............................................................................53
CA - Change Acceleration Current....................................................54
CB - CANopen Baudrate....................................................................55
CC - Change Current.........................................................................56
CD - Idle Current Delay Time.............................................................58
CE - Communication Error.................................................................59
CF - Anti-resonance Filter Frequency................................................60
CG - Anti-resonance Filter Gain.........................................................61
CI - Change Idle Current....................................................................62
CJ - Commence Jogging...................................................................64
CM - Command Mode (AKA Control Mode)......................................65
CN - Secondary Control Mode...........................................................67
CO - Node ID/ IP address..................................................................68
CP - Change Peak Current................................................................69
CR - Compare Registers ...................................................................70
CS - Change Speed...........................................................................71
CT - Continue.....................................................................................72
DA - Define Address..........................................................................73
DC - Change Distance.......................................................................74
DD - Default Display Item of LEDs.....................................................75
DE - Deceleration...............................................................................76
DI - Distance/Position........................................................................77
DL - Define Limits..............................................................................78
DL - Define Limits (StepSERVO and SV200 drives)..........................80
DR - Data Register for Capture..........................................................81
DS - Switching Electronic Gearing.....................................................82
ED - Encoder Direction......................................................................83
EF - Encoder Function.......................................................................84
EG - Electronic Gearing.....................................................................86
EH - Extended Homing......................................................................87
EI - Input Noise Filter.........................................................................89
EN - Numerator of Electronic Gearing Ratio......................................90
EP - Encoder Position........................................................................91
ER - Encoder Resolution...................................................................92
ES - Single-Ended Encoder Usage...................................................93
3 920-0002 Rev. T
4/30/2019
Host Command Reference
EU - Denominator of Electronic Gearing Ratio..................................94
FA - Function of the Single-ended Analog Input................................95
FC - Feed to Length with Speed Change..........................................96
FD - Feed to Double Sensor..............................................................98
FE - Follow Encoder..........................................................................99
FH - Find Home.................................................................................100
FI - Filter Input...................................................................................103
FL - Feed to Length...........................................................................107
FM - Feed to Sensor with Mask Distance..........................................108
FO - Feed to Length and Set Output.................................................109
FP - Feed to Position.........................................................................110
FS - Feed to Sensor...........................................................................111
FX - Filter select inputs......................................................................112
FY - Feed to Sensor with Safety Distance.........................................113
GC - Current Command.....................................................................114
GG - Controller Global Gain Selection...............................................115
HA - Homing Acceleration..................................................................116
HC – Hard Stop Current....................................................................117
HD - Hard Stop Fault Delay...............................................................118
HG - 4th Harmonic Filter Gain...........................................................119
HL - Homing Deceleration..................................................................120
HO – Home Offset.............................................................................121
HP - 4th Harmonic Filter Phase.........................................................122
HS - Hard Stop Homing.....................................................................123
HV - Homing Velocity.........................................................................125
HW - Hand Wheel..............................................................................126
Immediate Status Commands...........................................................127
IA - Immediate Analog.......................................................................128
IC - Immediate Current (Commanded)..............................................130
ID - Immediate Distance....................................................................131
IE - Immediate Encoder.....................................................................132
IF - Immediate Format.......................................................................133
IH - Immediate High Output...............................................................134
IL - Immediate Low Output.................................................................135
IO - Output Status..............................................................................136
IP - Immediate Position......................................................................138
IQ - Immediate Current (Actual).........................................................139
IS - Input Status.................................................................................140
IT - Immediate Temperature...............................................................143
920-0002 Rev. T 4
4/30/2019
Host Command Reference
IU - Immediate Voltage.......................................................................145
IV - Immediate Velocity......................................................................146
IX - Immediate Position Error.............................................................147
JA - Jog Acceleration.........................................................................148
JC - Velocity (Oscillator) mode second speed...................................149
JC - 8 Jog Velocities (SV200 drives)..................................................150
JD - Jog Disable.................................................................................151
JE - Jog Enable..................................................................................152
JL - Jog Decel....................................................................................153
JM - Jog Mode...................................................................................154
JS - Jog Speed..................................................................................155
KC - Overall Servo Filter....................................................................156
KD - Differential Constant..................................................................157
KE - Differential Filter.........................................................................158
KF - Velocity Feedforward Constant...................................................159
KG – Secondary Global Gain............................................................160
KI - Integrator Constant......................................................................161
KJ - Jerk Filter Frequency..................................................................162
KK - Inertia Feedforward Constant....................................................163
KP - Proportional Constant................................................................164
KV - Velocity Feedback Constant.......................................................165
LA - Lead Angle Max Value................................................................166
LM - Software Limit CCW..................................................................168
LP - Software Limit CW......................................................................169
LS - Lead Angle Speed......................................................................170
LV - Low Voltage threshold.................................................................171
MC - Motor Current, Rated................................................................172
MD - Motor Disable............................................................................173
ME - Motor Enable.............................................................................174
MN - Model Number..........................................................................175
MO - Motion Output...........................................................................176
MR - Microstep Resolution.................................................................179
MS - Control Mode Selection.............................................................180
MT - Multi-Tasking..............................................................................181
MV - Model & Revision......................................................................182
NO - No Operation.............................................................................185
OF - On Fault.....................................................................................186
OI - On Input......................................................................................187
OP - Option board..............................................................................188
5 920-0002 Rev. T
4/30/2019
Host Command Reference
PA - Power-up Acceleration Current..................................................189
PB - Power-up Baud Rate .................................................................191
PC - Power-up Current.......................................................................192
PD - In-Position Counts.....................................................................193
PE - In-Position Timing......................................................................194
PF - Position Fault..............................................................................195
PH - Inhibit Pulse Command ............................................................196
PI - Power-up Idle Current.................................................................197
PK - Parameter Lock..........................................................................198
PL - Position Limit..............................................................................199
PM - Power-up Mode.........................................................................200
PN - Probe On Demand.....................................................................201
PP - Power-up Peak current...............................................................202
PR - Protocol.....................................................................................203
PS - Pause.........................................................................................204
PT - Pulse Type..................................................................................205
PV - Secondary Electronic Gearing...................................................206
PW - Password..................................................................................207
QC - Queue Call................................................................................208
QD - Queue Delete............................................................................209
QE - Queue Execute..........................................................................210
QG - Queue Goto..............................................................................211
QJ - Queue Jump...............................................................................212
QK - Queue Kill..................................................................................213
QL - Queue Load...............................................................................214
QR - Queue Repeat...........................................................................215
QS - Queue Save...............................................................................216
QU - Queue Upload...........................................................................217
QX - Queue Load & Execute.............................................................218
RC - Register Counter.......................................................................219
RD - Register Decrement...................................................................221
RE - Restart or Reset........................................................................222
RI - Register Increment......................................................................223
RL - Register Load - immediate.........................................................224
RM - Register Move...........................................................................225
RO - Anti-Resonance ON..................................................................226
RR - Register Read...........................................................................227
RS - Request Status..........................................................................228
RU - Register Upload.........................................................................229
RV - Revision Level............................................................................230
920-0002 Rev. T 6
4/30/2019
Host Command Reference
RW - Register Write...........................................................................231
RX - Register Load - buffered............................................................232
R+ - Register Add..............................................................................233
R- - Register Subtract........................................................................234
R* - Register Multiply.........................................................................235
R/ - Register Divide............................................................................236
R& - Register AND.............................................................................237
R| - Register OR................................................................................238
SA - Save Parameters.......................................................................239
SC - Status Code...............................................................................240
SD - Set Direction..............................................................................241
SF - Step Filter Frequency.................................................................242
SH - Seek Home................................................................................243
SI - Enable Input Usage.....................................................................244
SJ - Stop Jogging .............................................................................246
SK - Stop & Kill..................................................................................247
SM - Stop Move.................................................................................248
SO - Set Output.................................................................................249
SP - Set Position................................................................................250
SS - Send String................................................................................251
ST - Stop............................................................................................252
TD - Transmit Delay...........................................................................253
TI - Test Input.....................................................................................254
TO - Tach Output................................................................................255
TR - Test Register..............................................................................257
TS - Time Stamp................................................................................258
TT - Pulse Complete Timing..............................................................259
TV - Torque Ripple.............................................................................260
VC - Velocity Change.........................................................................261
VE - Velocity.......................................................................................262
VI - Velocity Integrator Constant........................................................263
VL - Voltage Limit...............................................................................264
VM - Maximum Velocity......................................................................265
VP - Velocity Mode Proportional Constant.........................................266
VR - Velocity Ripple...........................................................................267
WD - Wait Delay.................................................................................268
WI - Wait for Input..............................................................................269
WM - Wait on Move............................................................................270
WP - Wait Position.............................................................................271
7 920-0002 Rev. T
4/30/2019
Host Command Reference
WT - Wait Time..................................................................................272
ZC - Regen Resistor Continuous Wattage.........................................273
ZR - Regen Resistor Value................................................................274
ZT - Regen Resistor Peak Time.........................................................275
Data Registers.......................................................................................276
Read-Only data registers.................................................................. 276
Read/Write data registers................................................................. 276
User-Defined data registers.............................................................. 276
Storage data registers....................................................................... 276
Using Data Registers.........................................................................277
Loading (RL, RX).............................................................................. 277
Uploading (RL, RU)........................................................................... 277
Writing Storage registers (RW) (Q drives only)................................. 278
Reading Storage registers (RR) (Q drives only)............................... 278
Moving data registers (RM) (Q drives only)...................................... 278
Incrementing/Decrementing (RI, RD) (Q drives only)....................... 278
Counting (RC, “I” register) (Q drives only)........................................ 278
Math & Logic (R+, R-, R*, R/, R&, R|) (Q drives only)...................... 278
Conditional Testing (CR, TR) (Q drives only).................................... 279
Data Register Assignments...............................................................279
Read-Only data registers: a - z......................................................... 279
Read/Write data registers: A - Z....................................................... 284
User-Defined data registers: 0 - 9, other characters......................... 288
Appendices............................................................................................289
Appendix A: Non-Volatile Memory in Q drives................................290
Appendix B: Host Serial Communications......................................291
Appendix C: Host Serial Connections.............................................295
Appendix D: The PR Command........................................................299
Appendix E: Alarm and Status Codes..............................................308
Appendix F: Working with Inputs and Outputs...............................316
Appendix G: eSCL (SCL over Ethernet) Reference.........................324
Appendix H: EtherNet/IP....................................................................338
Input Assembly (0x64)...................................................................... 340
Input Assembly (0x65) ..................................................................... 342
Input Status Details .......................................................................... 342
Output Assembly (0x70) .................................................................. 343
Explicit Messaging............................................................................ 350
Type 2 Message Format................................................................... 356
Table 1: Message Type 1 Command List......................................... 360
920-0002 Rev. T 8
4/30/2019
Host Command Reference
Table 2: Message Type 2 Commands.............................................. 365
Table 3: Parameter read/write operands.......................................... 366
IO Encoding Table............................................................................. 369
Register Encoding Table................................................................... 370
EtherNet/IP And Q Programs............................................................ 372
EtherNet/IP on large networks.......................................................... 374
Appendix I: Troubleshooting............................................................375
Appendix J: List of Supported Drives..............................................377
Appendix K: Modbus appendix........................................................384
What is Modbus?.............................................................................. 386
Wiring................................................................................................ 386
Drive Behavior.................................................................................. 387
Monitoring......................................................................................... 387
Sending Commands......................................................................... 387
Examples.......................................................................................... 388
IO Encoding Table............................................................................. 390
Register Encoding Table................................................................... 391
Modbus Register Table for Step Drives............................................. 394
Modbus Register Table for Servo Drives........................................... 406
Modbus Register Table for StepSERVO Drives................................. 416
9 920-0002 Rev. T
4/30/2019
Host Command Reference
920-0002 Rev. T 10
4/30/2019
Host Command Reference
Getting Started
The basic procedures for integrating an Applied Motion drive into your application are the same for every
drive offered. The first step is to configure and/or tune the drive using either ST Configurator (stepper) or
Quick Tuner (servo). Depending on the specific drive, the user may now use SCL Utility, Q Programmer or Si
Servo Drives
• This series includes all SV7, SVAC3, SV200, MDX, BLuAC5, BLuDC9, and BLuDC4 drives.
• For Ethernet-enabled drives, see Appendix G of this document and your drive’s Hardware Manual for
information regarding Ethernet communications.
• Use MDX Servo Suite to tune, configure (and program) MDX series servo motors.
• Use SVX Servo Suite to tune, configure (and program) SV200 series servo drives.
• Use Quick Tuner software to tune and configure SV7, SVAC3, BLu series drives. See the appropriate
Software Manual for details on tuning servo drives.
• For SCL applications choose the SCL Operating Mode; for Q applications choose either the SCL or Q
Program Operating Mode.
• For SCL applications, theSCL Setup Utility is a useful tool to gain familiarity with the SCL command
syntax and to test commands that will be used in the final product.
• For Q applications use Q Programmer both for creating stored programs and for sending commands to
your drive. Note that SVX Servo Suite and MDX servo suite, used for SV200 series drives and MDXXX
series integrated motor has Q Programmer built in.
• For Si applications use Si Programmer for creating stored programs.
• Note: SV7-Si and BLu-Si drives are not recommended for multi-drop communications over the RS-485
port.
StepSERVO
• This series includes all SSM, TSM, SS, SSAC and TXM drives.
• For Ethernet-enabled drives, see Appendix G of this document and your drive’s Hardware Manual for
information regarding Ethernet communications.
• Use StepSERVO Quick Tuner software to tune and configure your drive. See the StepSERVO Quick Tuner
Software
Manual for details on tuning StepSERVO drives.
• For SCL applications choose the SCL Operating Mode; for Q applications choose either the SCL or Q
Program Operating Mode.
• For SCL applications, the SCL Setup Utility is a useful tool to gain familiarity with the SCL command syntax
and to test commands that will be used in the final product.
• For Q applications use Q Programmer both for creating stored programs and for sending commands to
your drive.
Stepper Drives
• This series includes all ST5/10, STF, STM, SWM, STAC5 and STAC6 drives.
• For Ethernet-enabled drives, see Appendix G of this document and your drive’s Hardware Manual for
information regarding Ethernet communications.
• Use ST Configurator software to define your motor, configure the operating mode and encoder
11 920-0002 Rev. T
4/30/2019
Host Command Reference
(if applicable), as well as any application-specific I/O requirements. For STF products, use STF
Configurator.
• For SCL applications choose the SCL Operating Mode; for Q applications choose either the SCL or Q
Program Operating Mode.
• For SCL applications, theSCL Setup Utility is a useful tool to gain familiarity with the SCL command
syntax and to test commands that will be used in the final product.
• For Q applications use Q Programmer both for creating stored programs and for sending commands to
your drive. Q Programmer is built into ST Configurator and STF Configurator.
• For Si applications use Si Programmer for creating stored programs.
• Note: ST5/10-Si and STAC6-Si drives are not recommended for multi-drop communications over the RS-
485 port.
• STAC5-Q, STAC6-Q, STAC6-QE, and STAC6-Si drives can be used in Q applications.
920-0002 Rev. T 12
4/30/2019
Host Command Reference
Commands
There are two types of host commands available: buffered and immediate. Buffered commands are loaded
into and executed out of the drive’s volatile command buffer, also known as the queue. Immediate commands are
not buffered: when received by the drive they are executed immediately.
Buffered Commands
After being loaded into the command buffer of a drive, buffered commands are executed one at a time. (See
“Multi-tasking in Q Drives” below for an exception to this rule). If you send two buffered commands to the drive in
succession, like an FL (Feed to Length) command followed by an SS (Send String) command, the SS command
sits in the command buffer and waits to execute until the FL command is completed. The command buffer can
be filled up with commands for sequential execution without the host controller needing to wait for a specific
command to execute before sending the next command. Special buffer commands, like PS (Pause) and CT
(Continue), enable the buffer to be loaded and to pause execution until the desired time.
Multi-tasking in Q Drives
Multi-tasking allows for an exception to the “one at a time” rule of buffered commands. The multi-tasking
feature of a Q drive allows you to initiate a move command (FL, FP, CJ, FS, etc.) and proceed to execute other
commands without waiting for the move command to finish. See MT command for additional details.
Immediate Commands
Immediate commands are executed right away, running in parallel with a buffered command if necessary.
For example, this allows you to check the remaining space in the buffer using the BS (Buffer Status) command,
or the immediate status of digital inputs using the IS (Input Status) command, while the drive is processing other
commands. Immediate commands are designed to access the drive at any time.
Applied Motion recommends waiting for an appropriate Ack/Nack response from the drive before sending
subsequent commands. This adds limited overhead but ensures that the drive has received and executed the
current command, preventing many common communication errors. If the Ack/Nack functionality cannot be
used in the application for any reason, the user should allow a 10ms delay between commands to allow the drive
sufficient time to receive and act on the last command sent.
This approach allows a host controller to get information from the drive at a high rate, most often for
checking drive status or motor position.
Using Commands
The basic structure of a command packet from the host to the drive is always a text string followed by a
carriage return (no line feed required). The text string is always composed of the command itself, followed by any
parameters used by the command. The carriage return denotes the end of transmission to the drive. Here is the
basic syntax.
YXXAB<cr>
In the syntax above, “Y” symbolizes the drive’s RS-485 address, and is only required when using RS-485
networking. “XX” symbolizes the command itself, which is always composed of two capital letters. “A” symbolizes
the first of two possible parameters, and “B” symbolizes the second. Parameters 1 and 2 vary in length, can
be letters or numbers, and are often optional. The “<cr>” symbolizes the carriage return which terminates the
command string. How the carriage return is generated in your application will depend on your host software.
Once a drive receives the <cr> it will determine whether or not it understood the preceding characters as a
13 920-0002 Rev. T
4/30/2019
Host Command Reference
valid command. If it did understand the command the drive will either execute or buffer the command. If Ack/Nack
is turned on (see PR command), the drive will also send an Acknowledge character (Ack) back to the host. The
Ack for an executed command is % (percent sign), and for a buffered command is * (asterisk).
It is always recommended that the user program wait for an ACK/NACK character before subsequent
commands are sent. If the ACK/NACK functionality cannot be used in the application, a 10ms delay is
recommended between non-motion commands.
If the drive did not understand the command it will do nothing. If Ack/Nack is turned on a Nack will be sent,
which is signified by a ? (question mark). The Nack is usually accompanied by a numerical code that indicates a
particular error. To see a list of these errors see the PR command details in Appendix D.
Responses from the drive will be sent with a similar syntax to the associated SCL command.
YXX=A<cr>
In the syntax above, “Y” symbolizes the drive’s RS-485 address, and is only present when using RS-485
networking. “XX” symbolizes the command itself, which is always composed of two capital letters. “A” symbolizes
the requested data, and may be presented in either Decimal or Hexadecimal format (see the IF command). The
“<cr>” symbolizes the carriage return which terminates the response string.
Commands in Q drives
Q drives have additional functionality because commands can also be composed into a stored program
that the Q drive can run stand-alone. The syntax for commands stored in a Q program is the same as if the
commands were being sent directly from the host, or “XXAB”. Q Programmer software is used to create stored Q
programs and can be downloaded for free from www.applied-motion.com/support/software.php.
The diagram below shows how commands sent from the host’s serial port interact with the volatile command
buffer (AKA the Queue), and the drive’s non-volatile program memory storage. Loading and Uploading the Queue
contents via the serial port are done with the QL and QU commands, respectively. Similarly, the Queue’s contents
can be Loaded from NV memory using the QL and QX commands, and can be saved to NV memory with the QS
command. Finally, commands currently in the Queue can be executed with the QE or QX command.
RS-232 /
RS-485 /
Ethernet
Communications
Serial /
Ethernet
Port
The Q Programmer software automates many of the functions shown in the diagram above.
920-0002 Rev. T 14
4/30/2019
Host Command Reference
SCL Utility software
The SCL Utility software is an excellent application for familiarizing yourself with host commands. SCL Utility
can be downloaded for free from www.applied-motion.com.
To send commands to your drive from SCL Utility simply type a command in the Command Line and press
the ENTER key to send it. (Remember that all commands are capital letters so pressing the Caps Lock key first
is a good tip). Pressing the ENTER key while in SCL Utility does two things: it terminates the command with a
carriage return and automatically sends the entire string. Try the example sequence below. In this example, note
that <ENTER> means press the ENTER key on your keyboard, which is the same as terminating the command
with a carriage return.
IMPORTANT: We recommend practicing with SCL commands with no load attached to the motor
shaft. You want the motor shaft to spin freely during startup to avoid damaging mechanical components
in your system.
AC25<ENTER> Set accel rate to 25 rev/sec/sec.
DE25<ENTER> Set decel rate to 25 rev/sec/sec
VE5<ENTER> Set velocity to 5 rev/sec
FL20000<ENTER> Move the motor 20000 steps in the CW direction.
If your motor didn’t move after sending the FL20000 check the LEDs on your drive to see if there is an error
present. If so send the AR command (AR<ENTER>) to clear the alarm. If after clearing the alarm you see a solid
green LED it means the drive is disabled. Enable the drive by sending the ME command (ME<ENTER>) and
verify that the you see a steady, flashing green LED. Then try the above sequence again.
Here is another sample sequence you can try.
JA10<ENTER> Set jog accel rate to 10 rev/sec/sec
JL10<ENTER> Set jog decel rate to 10 rev/sec/sec
JS1<ENTER> Set jog speed to 1 rev/sec
CJ<ENTER> Commence jogging
CS-1<ENTER> Change jog speed to 1 rev/sec in CCW direction
SJ<ENTER> Stop jogging
In the above sequence notice that the motor ramps to the new speed set by CS. This ramp is affected by
the JA and JL commands. Try the same sequence above with different JA, JL, JS, and CS values to see how the
motion of the motor shaft is affected.
15 920-0002 Rev. T
4/30/2019
Host Command Reference
Command Summary
This section contains a set of tables that list all of the Host Commands available with your drive. In each
table there are a number of columns that give information about each command.
• “Command” shows the command’s two-letter Command Code.
• “Description” shows the name of each command.
• “NV” designates which commands are Non-volatile: that is, which commands are saved in non-volatile
memory when the SA (Save) command is sent to the drive. Note that certain commands (PA, PB, PC, PI,
and PM) save their parameter data to non-volatile memory immediately upon execution, and need not be
followed by an SA command.
• “Write only” or “Read only” is checked when a command is not both Read/Write compatible.
• “Immediate” designates an immediate command (all other commands are buffered).
• “Compatibility” shows which drives use each of the commands.
The different categories for these tables - Motion, Servo, Configuration, I/O, Communications, Q Program,
Register - are set up to aid you in finding particular commands quickly.
• “Motion” commands have to do with the actual shaft rotation of the step or servo motor.
• “Servo” commands cover servo tuning parameters, enabling / disabling the motor, and filter setup.
• “Configuration” commands pertain to setting up the drive and motor for your application, including tuning
parameters for your servo drive, step resolution and anti-resonance parameters for your step motor drive,
etc.
• “I/O” commands are used to control and configure the inputs and outputs of the drive.
• “Communications” commands have to do with the configuration of the drive’s serial ports.
• “Q Program” commands deal with programming functions when creating stored programs for your Q drive.
• “Register” commands deal with data registers. Many of these commands are only compatible with Q
drives.
920-0002 Rev. T 16
4/30/2019
Host Command Reference
Motion Commands
17 920-0002 Rev. T
4/30/2019
Host Command Reference
Motion Commands (continued)
JS Jog Speed • All drives
MD Motor Disable • All drives
ME Motor Enable • All drives
Command Description NV write read Immediate Compatibility
only only
MR Microstep Resolution • Stepper drives only
PA Power-up Accel Current • STM stepper drives only
SD Set Direction • STM stepper drives with Flex I/O
only
SH Seek Home • All drives
SJ Stop Jogging • • All drives
SM Stop the Move • Q drives only
SP Set Absolute Position All drives
ST Stop Motion • • All drives
VC Velocity for Speed Change (FC) • All drives
VE Velocity Setting (For Feed Commands) • All drives
VM Velocity Max • All drives
WM Wait on Move • Q drives only
WP Wait on Position • Q drives only
920-0002 Rev. T 18
4/30/2019
Host Command Reference
Servo Commands
Command Description NV write read Immediate Compatibility
only only
CP Change Peak Current • Servo drives only
EP Encoder Position Servo drives only
GC Current Command • • Servo drives only
IC Immediate Current Command • • Servo drives only
IE Immediate Encoder Position • • Servo drives only
IQ Immediate Actual Current • • Servo drives only
IX Immediate Position Error • • Servo drives only
KC Overall Servo Filter • Servo drives only
KD Differential Constant • Servo drives only
KE Differential Filter • Servo drives only
KF Velocity Feedforward Constant • Servo drives only
KG Global Gain 1 • SV200 series only
KI Integrator Constant • Servo drives only
KJ Jerk Filter Frequency • SV7 Servo drives only
KK Inertia Feedforward Constant • Servo drives only
KP Proportional Constant • Servo drives only
KV Velocity Feedback Constant • Servo drives only
PF Position Fault • Servo drives, drives with encoder
feedback
PL Position Limit • Servo drives only
PP Power-Up Peak Current • Servo drives only
VI Velocity Integrator Constant • Servo drives only
VP Velocity Mode Proportional Constant • Servo drives only
19 920-0002 Rev. T
4/30/2019
Host Command Reference
Configuration Commands
920-0002 Rev. T 20
4/30/2019
Host Command Reference
Configuration Commands (continued)
Command Description NV write read Immediate Compatibility
only only
LP Software Travel Limit CW StepSERVO, MDX and SV200
series only
LV Low Voltage Threshold • All drives
MD Motor Disable • All drives
ME Motor Enable • All drives
MN Model Number • • All drives
MO Motion Output • All drives
MR Microstep Resolution • All drives (deprecated - see EG
command)
MS Control Mode Select • SV200 series only
MV Model & Revision • • All drives except Blu servos
OF On Fault • Q drives only
OI On Input • Q drives only
OP Option Board • • • All drives
PA Power-up Acceleration Current •
PC Power up Current • All drives
PD In Position Counts • StepSERVO, MDX and SV200
series only
PE In Position Timing • StepSERVO, MDX and SV200
series only
PF Position Fault • Servo drives, drives with encoder
feedback
PI Power up Idle Current • Stepper drives only
PK Parameter Lock • SV200 series only
PL In Position Limit • Servo drives only
PM Power up Mode • All drives
PP Power up peak current • Servo drives only
PT Pulse Type • All drives
PW Pass Word • Q drives only
RE Restart / Reset • • All drives
RL Register Load • All drives
RS Request Status • • All drives
RV Revision Level • • All drives
SA Save all NV Parameters • All drives
SC Status Code • •
SD Set Direction • STM stepper drives with Flex I/O
only
SF Step Filter Frequency • Stepper drives only
SI Enable Input usage • All drives
SK Stop & Kill • • All drives
TT Pulse Complete Timing • StepSERVO, MDX and SV200
series only
21 920-0002 Rev. T
4/30/2019
Host Command Reference
Configuration Commands (continued)
Command Description NV write read Immediate Compatibility
only only
TV Torque Value • SV200 series only
VR Velocity Ripple Value • SV200 series only
ZC Regen Resistor Continuous Wattage • BLuAC5 and STAC6 drives only
ZR Regen Resistor Value • BLuAC5 and STAC6 drives only
ZT Regen Resistor Peak Time • BLuAC5 and STAC6 drives only
Communications Commands
Command Description NV write read Immediate Compatibility
only only
BR Baud Rate • All drives
BS Buffer Status • All drives
CE Communications Error • All drives
IF Immediate Format • • All drives
PB Power up Baud Rate • All drives
PR Protocol • All drives
TD Transmit Delay • All drives
Register Commands
Command Description NV write read Immediate Compatibility
only only
CR Compare Register • Q drives only
DR Data Register for Capture • Q drives only
RC Register Counter • Q drives only
RD Register Decrement • Q drives only
RI Register Increment • Q drives only
RL Register Load • Q drives only
RM Register Move • Q drives only
RR Register Read • Q drives only
RU Register Upload • •
RW Register Write • Q drives only
RX Register Load Q drives only
R+ Register Addition • Q drives only
R- Register Subtraction • Q drives only
R* Register Multiplication • Q drives only
R/ Register Division • Q drives only
R& Register Logical AND • Q drives only
R| Register Logical OR • Q drives only
TR Test Register • Q drives only
TS Time Stamp read • Q drives only
920-0002 Rev. T 22
4/30/2019
Host Command Reference
I/O Commands
Command Description NV write read Immediate Compatibility
only only
AD Analog Deadband • All stepper drives MDX and SV
servo drives
AF Analog Filter • All drives
AG Analog Velocity Gain • All stepper drives MDX and SV
servo drives
AI Alarm Input usage • All drives
AN Analog Torque Gain • StepSERVO, MDX and SV200
series only
AO Alarm Output usage • All drives
AP Analog Position Gain • All drives
AS Analog Scaling • All stepper drives,MDX and SV
servo drives
AT Analog Threshold • All drives
AV Analog Offset • All drives
AZ Analog Zero (Auto Zero) • All drives
BD Brake Disengage Delay time • All drives
BE Brake Engage Delay time • All drives
BO Brake Output usage • All drives
CN Second Control Mode • SV200 series only
DL Define Limits • All drives
DS Dividing Select • SV200 series only
EI Input Noise Filter • All drives
FI Filter Input • All drives (Note: not NV on Blu
servos)
FX Filter Selected Inputs Blu, STAC5, STAC6, SVAC3
GG Gain Select • SV200 series only
IH Immediate High Output • • All drives
IL Immediate Low Output • • All drives
IO Output Status • All drives
IS Input Status request • • All drives
MO Motion Output • All drives
OI On Input • Q drives only
PH Pulse Command Inhibit • SV200 series only
PV Second Electronic Gearing Setting • SV200 series only
SI Enable Input usage • All drives
SO Set Output • All drives
TI Test Input • Q drives only
TO Tach Output Setting • SV200 series and TSM series
only
WI Wait on Input • All drives
23 920-0002 Rev. T
4/30/2019
Host Command Reference
Q Program Commands
Command Description NV write read Immediate Compatibility
only only
AX Alarm Reset • All drives
CT Continue • • All drives
MT Multi-Tasking Q drives only
NO No Operation • Q drives only
OF On Fault • Q drives only
OI On Input • Q drives only
PS Pause • All drives
QC Queue Call • Q drives only
QD Queue Delete • Q drives only
QE Queue Execute • • Q drives only
QG Queue Goto • Q drives only
QJ Queue Jump • Q drives only
QK Queue Kill • Q drives only
QL Queue Load • • Q drives only
QR Queue Repeat • Q drives only
QS Queue Save • • Q drives only
QU Queue Upload • • Q drives only
QX Queue Load & Execute • Q drives only
SM Stop Move • Q drives only
SS Send String • All drives
TI Test Input • Q drives only
WD Wait Delay using Data Register • Q drives only
WI Wait for Input • All drives
WM Wait for Move to complete • Q drives only
WP Wait for Position in complex move • Q drives only
WT Wait Time • All drives
920-0002 Rev. T 24
4/30/2019
Host Command Reference
Command Listing
This section is an alphabetical listing of all the commands available with your drive. Each page in this
section contains the details of one available command. Below is a sample of what these pages look like, with an
explanation of the information you will find on each page.
Sets or requests the move distance in encoder counts (servo) or steps (stepper). The sign of DI indicates move See Also - related commands
direction: no sign means CW and “-” means CCW. DI sets both the distance for relative moves, like FL, and the
position for absolute moves, like FP. DI also sets the direction of rotation for jogging (CJ). Description- an explanation of what the
Command Details: command does and how it works.
Structure DI{Parameter #1} Command Details - shows the command’s
Type BUFFERED
Usage READ/WRITE
Structure, Type, Usage, Non-Volatile status,
Non-Volatile YES and Register Access. Structure always
Register Access “D” (020)
shows the two-letter command code followed
Parameter Details: by the number of parameters it uses. Not
Parameter #1 distance all commands have parameters, some
- units encoder counts (servo) or steps (stepper)
- range -2,147,483,647 to 2,147,483,647
commands have optional parameters, and
sign determines direction: “-” for CCW, no sign for CW other commands always have a parameter.
Examples: Optional parameters are designated by { },
Command Drive sends Notes and required parameters are designated by (
DI20000 - Set distance to 20000 counts in the CW direction
DI DI=20000 ). Type can be BUFFERED or IMMEDIATE.
DI-8000 - Set distance to 8000 counts in the CCW direction Usage can be Read Only, Read/Write, or
FL - Initiate FL move Write Only. Non-Volatile will show if the
command can be saved (YES) or not (NO).
Saving Non-Volatile commands to memory
requires the SA (Save) command. Register
Access shows any data registers associated
with the command. If the command transfers
data to a register that is accessible via the
RL and RX commands, that register will be
shown here.
Parameter Details - shows a description,
the units, and the range of the parameter(s)
available with a given command. Some
920-0002 Rev. D 70
commands will also have a Response
5/7/2007 Details section which shows how the drive’s
response to the given command is formatted.
Examples - shows what to expect when you
use this command. Under “Command” are
the command strings you would send from a
host controller or write into a stored program.
Under “Drive Sends” are the responses
from the drive: no response from the drive
is denoted by “-”. “Notes” give additional
information about the results of the command
string.
25 920-0002 Rev. T
4/30/2019
Host Command Reference
AC - Acceleration Rate
Compatibility: All drives
Affects: FC, FD, FE, FL, FM, FS, FP, FY, SH commands
See also: AM, DE, DI, DC, VE commands
Sets or requests the acceleration rate used in point-to-point move commands in rev/sec/sec.
Command Details:
Structure AC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “A” (017)
Note: Units of AC command and “A” register are different.
See Data Registers section for details of “A” register.
Parameter Details:
Parameter #1 Acceleration rate
- units rev/sec/sec (rps/s)
- range 0.167 to 5461.167 (resolution is 0.167 rps/s)
Examples:
Command Drive sends Notes
AC100 - Set Acceleration to 100 rev/sec/sec
AC AC=100
920-0002 Rev. T 26
4/30/2019
Host Command Reference
AD - Analog Deadband
Compatibility: All stepper drives and SV servo drives
Affects: Analog input
See also: CM command
Sets or requests the analog deadband value in millivolts. The deadband value is the zone around the “zeroed”
value of the analog input. This deadband defines the area of the analog input range that the drive should interpret
as “zero”. This zero point can be used as the zero velocity point in analog velocity mode, or as the zero position
point in analog position mode (see CM command). The deadband is an absolute value that in usage is applied to
either side of the zero point.
Note that in Analog Positioning mode (CM22), the AD setting is used as a hysteresis value rather than a standard
deadband setting. As such, it will work over the entire analog range, not just at zero volts.
Command Details:
Structure AD{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access Setting the AD command will affect the contents of the “a”
(Analog Command) register
Parameter Details:
Parameter #1 Analog deadband value
- units millivolts
- range 0 - 255
Examples:
Command Drive sends Notes
AD100 - Set analog deadband to 0.1 volts
AD AD=100
27 920-0002 Rev. T
4/30/2019
Host Command Reference
Sets or requests the analog dead band value of the analog input in millivolts. The dead band value is the zone
around the “zeroed” value of the analog input. This dead band defines the area of the analog input range that
the drive should interpret as “zero”. The dead band is an absolute value that in usage is applied to either side of
the zero point.
The command has two parameters: the first parameter selects the analog channel (Range: 1~3); the second
parameter set the dead band value of the selected analog channel (Range:0~255).
1 – select analog channel 1
2 – select analog channel 2
3 – select differential analog
Command Details:
Structure AD{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access NONE
Parameter Details:
Parameter #1 Analog channel
- units None
- range 1~3
Parameter #2 Analog dead band value
- units millivolts
- range 0~255
Default value 0
Examples:
Command Drive sends Notes
AD110 % Set the dead band of Ain1 to 10 mV
AD1 AD1=10 The dead band of Ain1 is 10 mV
920-0002 Rev. T 28
4/30/2019
Host Command Reference
AF - Analog Filter
Compatibility: All drives
Affects: All commands using the analog inputs
See also: IA, CM commands
Applies a digital filter to the analog input(s). This is a simple single pole filter that rolls off the analog input. The
filter value of the AF command is related to the desired value of the analog filter in Hz by the following equation:
Command Details:
Structure AF{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access Setting the AF command will affect the responsiveness of
the “a”, “j”, and “k” registers to changes in analog voltage
Parameter Details:
Parameter #1 Filter value
- units integer (see formula above)
- range 0 - 32767* (0 disables the filter)
* An AF value of 28271 equates to 4000.425 Hz. Setting the AF command to anything higher than 28271 has
a negligible effect on the analog filter. In other words, the maximum value of the filter is approximately 4000
Hz.
Examples:
Command Drive sends Notes
AF5000 - Make the analog input bandwidth 114.585 Hz
AF AF=5000
29 920-0002 Rev. T
4/30/2019
Host Command Reference
AG - Analog Velocity Gain
Compatibility: All stepper drives MDX servo and SV servo drives
Affects: Analog velocity modes
See also: CM command
Sets or requests the gain value used in analog velocity / oscillator modes. The gain value is used to establish the
relationship between the analog input and the motor speed. The units are 0.25 rpm. For example, if the analog
input is scaled to 0 - 5 volt input and the gain is set to 2400, when 5 volts is read at the analog input the motor will
spin at 10 rps. TIP: To set the analog velocity gain to the desired value, multiply the desired motor speed in rps by
240, or the desired motor speed in rpm by 4.
Command Details:
Structure AG{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Analog velocity gain value
- units 0.25 rpm
- range -32767 to 32767
Examples:
Command Drive sends Notes
AG3000 - Set top speed of analog velocity mode to 12.5 rps
AG AG=3000
920-0002 Rev. T 30
4/30/2019
Host Command Reference
AI - Alarm Reset Input
Compatibility: All drives, see below
Affects: Alarm Reset input usage
See also: AL, CM, DL, SI, SD commands
There are three Alarm Reset Input states that can be defined with the AI command:
(low) (low)
AI2: For normal operation the time time
AI3: Input is not used for Alarm Reset and can be used as a general purpose input.
There are three Alarm Reset Input states that can be defined with the AI command:
AI1: For normal operation the EN input must be open (inactive, high). Alarm reset occurs when the EN
input is closed (active, low). This is an edge-triggered event. If the switch is closed when an alarm is
activated no reset will occur. The input must be opened and then closed to reset the alarm. After the
alarm is cleared, the drive will be enabled when the input is opened again.
31 920-0002 Rev. T
4/30/2019
Host Command Reference
STM24
Drives with Flex I/O allow a second parameter which allows the user to specify the I/O point used as the Alarm
Reset input. Before an I/O point can be used as an Alarm Reset input it must first be configured as an input with
the SD command. See the STM24 Hardware Manual for details of which inputs may be used as the Alarm Reset
input.
AI2n: For normal operation the designated input ‘n’ input must be closed (active, low). Alarm reset occurs
when the designated input is opened (de-energized). This is an edge-triggered event. If the switch is
open when an alarm is activated no reset will occur. The input must be closed (energized) and then
opened to reset the alarm. The drive will be enabled when the input is returned to the closed state
920-0002 Rev. T 32
4/30/2019
Host Command Reference
(active, low), unless the SI command has been used to configure hardware enable functionality.
AI3n: The designated input ‘n’ is not used for Alarm Reset and may be used as a general purpose input.
NOTE: A rule of thumb when using the Alarm Reset function is to toggle the designated input twice whenever an
alarm occurs. That is, if the input is normally open (inactive, high), it should be closed and then opened again. If
the input is normally closed (active, low), it should be opened and then closed again.
Command Details:
Structure AI{Parameter #1}{Parameter #2 (Flex I/O only)}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Input Usage
- units integer code
- range 1, 2, or 3
Parameter #2 (Flex I/O only) I/O Point (if applicable, see note below)
- units Integer Code
- range 2 or 4 (See STM24 Hardware Manual for details)
NOTES:
• For drives equipped with Flex I/O, the SD command must be executed to set an I/O point as an input before it
can be used as the Alarm Reset Input.
• Parameter #2 only applies to drives equipped with Flex I/O. Parameter #2 is not defined for drives equipped with
standard I/O.
Examples:
All drives with standard I/O:
Command Drive sends Notes
AI1 - Enables input to reset alarm when closed (active, low)
AI AI=1
NOTE: When working with digital inputs and outputs it is important to remember the designations low and high.
If current is flowing into or out of an input or output, i.e. the circuit is energized, the logic state for that input/
output is defined as low or closed. If no current is flowing, i.e. the circuit is de-energized, or the input/output is
not connected, the logic state is high or open. A low state is represented by the “L” character in parameters of
commands that affect inputs/outputs. For example, WI3L means “wait for input 3 low”, and SO1L means “set
output 1 low”. A high state is represented by the “H” character.
33 920-0002 Rev. T
4/30/2019
Host Command Reference
AL - Alarm Code
Compatibility: All drives
See also: AI, AR, AX commands, Appendix E
Reads back an equivalent hexadecimal value of the Alarm Code’s 16-bit binary word.
Command Details:
Structure AL
Command Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “f” (054)
Note: response to AL command is a different format than
the response to the RLf command. See Appendix E for
details.
Units Hexadecimal value of 16-bit binary word (see below)
Response Details:
Hex Value BLu SV, MDX STAC6 ST, STF STM
0001 Position Limit
0002 CCW Limit
0004 CW Limit
0008 Over Temp
0010 Excess Regen* Internal Voltage Excess Regen Internal Voltage Internal Voltage
0020 Over Voltage
0040 Under Voltage* Under Voltage Under Voltage Under Voltage Under Voltage
0080 Over Current
0100 Bad Hall Sensor Open Motor Winding
0200 Bad Encoder (not used)
0400 Comm Error
0800 Bad Flash
1000 Wizard Failed No Move
2000 Current Foldback Motor Resistance (not used) (not used)
Out of Range
4000 Blank Q Segment
8000 No Move (not used)
920-0002 Rev. T 34
4/30/2019
Host Command Reference
Examples:
Command Drive sends Notes
AL AL=0000 No alarms
AL AL=0001 Position limit alarm
AL AL=0201 Position limit and bad encoder signal alarms Response Details:
NOTE: Items in bold italic represent Drive Faults, which automatically disable the motor. Use the OF
command in a Q Program to branch on a Drive Fault.
NOTE: See Appendix E for more detailed information on Alarm Codes.
For SS and SV200 drives, AL command has a optional parameter 1 to read back the higher 16 bit of alarm
code.
Response Details:
Hex Value SS SV200
0001 Excess Regen AC Power Phase Lost
0002 Reserved Safe Torque Off
0004 Reserved Reserved
0008 Reserved Velocity Limit
0010 Reserved Voltage Warning
Examples:
Command Drive sends Notes
AL1 AL1=0000 No alarms
AL1 AL1=0001 Excess Regen (For SS)
35 920-0002 Rev. T
4/30/2019
Host Command Reference
Position Limit: Commonly referred to as “Motor Stall” or “Following Error”, this alarm condition, which will fault
the motor, occurs when the actual motor position (as measured by the feedback) is off from the target position
by a value equal to or greater than the Position Fault (PF) setting for servos. For stepper systems with encoder
feedback and stall prevention enabled, this value is fixed at approximately 1.8 mechanical degrees.
Internal Voltage Out of Range: This alarm occurs when one or more board-level voltage supplies are outside the
range specified in firmware. This can be caused by a short-circuit condition at the I/O connector or a failing gate
driver in the power output section.
Current Foldback: This alarm occurs on servo and StepSERVO products when the current output to the motor
exceeds the continuous current setting for more time that allowed by the drive (typically 1 sec. max). This is
common during acceleration and deceleration, so decreasing the accel/decel rate will help to eliminate the alarm.
920-0002 Rev. T 36
4/30/2019
Host Command Reference
AM - Max Acceleration
Compatibility: All drives
Affects: ST, SK , SM, QK commands; analog velocity and oscillator modes
See also: VM command
Sets or requests the maximum acceleration/deceleration allowed when using analog velocity and oscillator modes.
Also sets the deceleration rate used when an end-of-travel limit is activated during a move or when an ST (Stop)
or SK (Stop & Kill) command is sent.
Command Details:
Structure AM{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Maximum acceleration/deceleration
- units rev/sec/sec (rps/s)
- range 0.167 - 5461.167 (resolution is 0.167 rps/s)
Examples:
Command Drive sends Notes
AM2000 - Set maximum acceleration/deceleration values to 2000 rev/sec/sec.
AM AM=2000
37 920-0002 Rev. T
4/30/2019
Host Command Reference
AN - Analog Torque Gain
Compatibility: SV200 servo drives, MDX Servo and StepSERVO models (including SSM, TSM, and TXM)
Affects: CM2, 3, and 4 (Analog Torque Command Modes)
See also: AD, AF, AZ, CM, CC, SF commands
Sets or requests the gain value used in analog torque mode. This is used to set the analog input gain that relates
voltage to motor current when the drive is in analog torque mode. The analog torque gain value represents the
commanded current in units of 0.01A when the analog input is at the configured full scale value. See specific
analog input ranges in hardware manual for the StepSERVO or SV200 product being used.
Command Details:
Structure AN{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Current (A rms)
- units Amps (resolution is 0.01 A)
- range Related to CC command range
Examples:
Command Drive sends Notes
AN1 % Current range over full scale of analog input is 1A
AN AN=1
920-0002 Rev. T 38
4/30/2019
Host Command Reference
AO - Alarm Output
Compatibility: All drives
Affects: Alarm Output usage
See also: AI, BO, MO, SD, SI commands
STM24-SF/QF
Drives with Flex I/O allow a second parameter which allows the user to specify the I/O point used. Before an I/O
point can be used as an Alarm Output it must first be configured as an output with the SD command.
Possible uses for the AO command on the STM24 are as follows (‘n’ denotes the I/O point to be used):
AO1n: Designated output ‘n’ is closed (active, low) when a Drive Fault is present.
AO2n: Designated output ‘n’ is open (inactive, high) when a Drive Fault is present.
AO3n: Designated output ‘n’ is not used as an Alarm Output and can be used for another automatic output
function or as a general purpose output.
NOTE: Setting the AO command to 1 or 2 overrides previous assignments of this output’s function. Similarly, if
you use the BO or MO command to set the function of the output after setting the AO command to 1 or 2, usage
of the output will be reassigned and AO will be automatically set to 3.
Command Details:
Structure AO{Parameter #1}{Parameter #2 (Flex I/O only)}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
39 920-0002 Rev. T
4/30/2019
Host Command Reference
Parameter Details:
Parameter #1 Output Usage (see above)
- units integer code
- range 1, 2 or 3
Parameter #2 (Flex I/O only) I/O Point (if applicable, see note below)
- units integer code
- range 1-4
NOTES:
• For drives with Flex I/O, the SD command must be executed to set an I/O point as an input or output before that
output can be designated as the Alarm Output.
• Parameter #2 only applies to drives equipped with Flex I/O. This includes the STM24SF and STM24QF.
Parameter #2 is not defined for drives equipped with standard I/O.
Examples:
All drives with standard I/O:
Command Drive sends Notes
AO1 - Alarm Output will close when a Drive Fault occurs
AO AO=1
NOTE: When working with digital inputs and outputs it is important to remember the designations low and high.
If current is flowing into or out of an input or output, i.e. the circuit is energized, the logic state for that input/
output is defined as low or closed. If no current is flowing, i.e. the circuit is de-energized, or the input/output is
not connected, the logic state is high or open. A low state is represented by the “L” character in parameters of
commands that affect inputs/outputs. For example, WI3L means “wait for input 3 low”, and SO1L means “set
output 1 low”. A high state is represented by the “H” character.
920-0002 Rev. T 40
4/30/2019
Host Command Reference
AP - Analog Position Gain
Compatibility: All drives
Affects: CM22 (Analog Positioning Command Mode)
See also: AD, AF, AZ, CM, SF commands
Sets or requests the analog Input gain that relates to motor position when the drive is in analog position command
mode (see CM command, parameter value 22). Gain value sets the commanded position when the analog input
is at the configured full scale value. Quick Tuner (BLu, SV), STAC6 Configurator (STAC6), or ST Configurator (ST,
STM) can be used to configure the analog inputs for the desired input type, scaling and offsetting.
Command Details:
Structure AP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “X” (040)
Parameter Details:
Parameter #1 Analog position gain value
- units encoder counts
- range 0 - 32767
Examples:
Command Drive sends Notes
AP8000 - Position range over full scale of analog input is 8000 steps
AP AP=8000
41 920-0002 Rev. T
4/30/2019
Host Command Reference
AR - Alarm Reset (Immediate)
Compatibility: All drives
Affects: Alarm Code
See also: AL, ME, MD commands
Clears Alarms and Drive Faults. If an Alarm or Drive Fault condition persists after sending the AR command the
Alarm is not cleared.
NOTE: Does not re-enable the drive. Use ME (Motor Enable) command to re-enable drive.
Command Details:
Structure AR
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
AR - Reset Drive Fault and clear Alarm Code (if possible)
920-0002 Rev. T 42
4/30/2019
Host Command Reference
AS - Analog Scaling
Compatibility: All stepper drives, MDX servo and SV servo drives
Affects: Analog input
See also: CM command
Sets or requests the analog input scaling setting. This is a code that determines what type of analog input scaling
is desired. The codes for selecting the various settings are in the Details table below.
Command Details:
Structure AS{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Code
- units integer number
- range 0 = single-ended +/- 10 volts
1 = single-ended 0 - 10 volts
2 = single-ended +/- 5 volts
3 = single-ended 0 - 5 volts
4 = differential +/- 10 volts
5 = differential 0 - 10 volts
6 = differential +/- 5 volts
7 = differential 0 - 5 volts
- range (SV200 series) 0 = single-ended +/- 10 volts
1 = single-ended 0 - 10 volts
Examples:
Command Drive sends Notes
AS2 - Analog input scaling set to single-ended +/- 5 volts
AS AS=2
43 920-0002 Rev. T
4/30/2019
Host Command Reference
AT - Analog Threshold
Compatibility: All drives
Affects: All “Feed to Sensor” type commands
See also: AF, AZ, FS, FY, FD commands
Sets or requests the Analog Input Threshold that is used by the “Feed to Sensor” command. The threshold value
sets the Analog voltage that determines a sensor state or a trigger value.
Command Details:
Structure AT{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “Y” (041)
Parameter Details:
Parameter #1 Analog threshold value
- units volts
- range BLu, SV, STAC6, ST-Q/Si, STAC5, SVAC3: -10.000 to
10.000
ST-S, STM: 0.000 to 5.000
Examples:
Command Drive sends Notes
AT4.5 - Analog input threshold set to 4.5 volts
AT AT=4.5
920-0002 Rev. T 44
4/30/2019
Host Command Reference
AV - Analog Offset Value
Compatibility: All drives (except SV200 series)
Affects: All Analog input functions
See also: AF, AP, AZ, CM & Feed commands
Command Details:
Structure AV{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “Z” (042)
Note: Units of AV command are different than units of “Z”
register; see Data Registers section for more details
Parameter Details:
Parameter #1 Analog offset value
- units Volts
- range BLu, SV, STAC6, ST-Q/Si, STAC5, SVAC3: -10.000 to
10.000
ST-S, STM: -5.000 to 5.000
Examples:
Command Drive sends Notes
AV0.25 - Set analog offset to 0.25 Volts
AV AV=0.25
45 920-0002 Rev. T
4/30/2019
Host Command Reference
AV - Analog Offset Value - SV200
Compatibility: SV200 drives
Affects: Analog inputs
See also: AD, AF, AS commands
Command Details:
Structure AV{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Analog channel
- units None
- range 1~3
Parameter #2 Analog offset value
- units volts
- range 0~255
Default value 0
Examples:
Command Drive sends Notes
AV11 % set the offset of Ain1 to 1V
AV1 AV1=1 the offset of Ain1 is 1V
920-0002 Rev. T 46
4/30/2019
Host Command Reference
AX - Alarm Reset (Buffered)
Compatibility: All drives
Affects: Alarm Code
See also: AR, ME, OF, WT Commands
Clears Alarms and Drive Faults. This command functions the same as AR (Alarm Reset) but is a Buffered type
command.
Typically used in conjunction with OF within a Q program. Please note that while immediately executing AX will
clear the alarm code, it does not guarantee that the condition that caused the alarm has been resolved. Therefore
it is recommended to include a short delay or wait for user input before clearing the alarm and resuming normal
operation.
In addition to clearing alarms and faults, the AX command resets the LED blink timer. As such, if the AX
command is used within a tight loop in a Q program, the LED may actually appear to be solid green.
NOTE: Does not re-enable the drive. Use ME (Motor Enable) command to re-enable drive.
Command Details:
Structure AX
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
In segment 1 of a Q program...
OF9 - When a drive fault occurs load and execute program segment 9
47 920-0002 Rev. T
4/30/2019
Host Command Reference
AZ - Analog Zero
Compatibility: All drives
Affects: All Analog input functions
See also: AF, AP, AV, CM & Feed commands
Activates the analog “auto offset” algorithm. It is useful in defining the current voltage present at the analog input
as the zero reference point, or offset.
Command Details:
Structure AZ
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
AZ - Start analog offset algorithm
Example: Apply 1 VDC across the AIN and GND terminals of the drive. Then send the AZ command to the
drive. Next apply 4 VDC across the AIN and GND terminals. Send the IA command and the response will be
very close to IA=3.00 (or 4 - 1 VDC).
920-0002 Rev. T 48
4/30/2019
Host Command Reference
BD - Brake Disengage Delay
Compatibility: All drives
Affects: All “F” (Feed) and Jog commands.
See also: BE command
This command only takes effect if the BO command is set to 1 or 2. After a drive is enabled this is the time value
that may delay a move waiting for the brake to disengage. When beginning a move the delay value must expire
before a move can take place. The delay timer begins counting down immediately after the drive is enabled and
the brake output is set. The BD command sets a time in milliseconds that a move may be delayed.
Command Details:
Structure BD{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Delay time
- units seconds
- range 0 - 32.767
Examples:
Command Drive sends Notes
BD0.2 - Sets brake disengage delay to 200 ms
BD BD=0.2
49 920-0002 Rev. T
4/30/2019
Host Command Reference
BE - Brake Engage Delay
Compatibility: All drives
Affects: All “F” (Feed) and Jog commands.
See also: BD command
This command only takes effect if the BO command is set to 1 or 2. After a drive is commanded to be disabled,
this is the time value that delays the actual disabling of the driver output. When using the dedicated brake output
(see BO command) the output is activated immediately with the disable command, then the drive waits the delay
time before turning off the motor current.
Command Details:
Structure BE{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Delay time
- units seconds
- range 0 - 32.767
Examples:
Command Drive sends Notes
BE0.25 - Sets brake engage delay to 250 ms
BE BE=0.25
920-0002 Rev. T 50
4/30/2019
Host Command Reference
BO - Brake Output
Compatibility: All drives
Affects: Function of digital output
See also: AI, AO, BD, ME, MD, MO, SD, SI commands
NOTE: The digital output circuits available on Applied Motion drives are not sized for directly driving a typical
holding brake. An external relay must be wired in circuit between the digital output of the drive and the holding
brake. See the appropriate drive hardware manual for an example wiring diagram.
BO1: Output is closed (energized) when drive is enabled, and open when the drive is disabled.
BO2: Output is open (de-energized) when drive is enabled, and closed when the drive is disabled.
BO3: Output is not used as a Brake Output and can be used as a general purpose output.
BO1: Output is closed (active, low) when the drive is enabled, and open when the drives is disabled.
BO2: Output is open (inactive, high) when the drive is enabled, and closed when the drive is disabled.
BO3: Output is not used as a Brake Output and can be used for another automatic output function or as a
general purpose output.
STM24-SF/QF
Drives with Flex I/O allow a second parameter which allows the user to specify the I/O point used. Before an I/O
point can be used as a Brake Output it must first be configured as an output with the SD command.
Possible uses for the BO command on the STM24 are as follows (‘n’ denotes the I/O point to be used):
BO1n: Designated output ‘n’ is closed (active, low) when the drive is enabled and open when the drive is
disabled.
BO2n: Designated output ‘n’ is open (inactive, high) when the drive is enabled and closed when the drive is
disabled.
BO3n: Designated output ‘n’ is not used as a Brake Output and can be used for another automatic output
function or as a general purpose output.
STAC5-S, SVAC3-S
Defines usage of digital output Y2 as the Brake Output, which can be used to automatically activate and
deacti¬vate a holding brake. Output Y2 can also be configured as a Motion Output, a Tach Output, or a General
Purpose output for use with other types of output commands. There are three states that can be defined:
BO1: Output is closed (energized) when drive is enabled, and open when the drive is disabled.
BO2: Output is open (de-energized) when drive is enabled, and closed when the drive is disabled.
BO3: Output is not used as a Brake Output and can be used as a general purpose output.
51 920-0002 Rev. T
4/30/2019
Host Command Reference
STAC5-Q/IP, SVAC3-Q/IP
Defines usage of digital output Y2 as the Brake Output, which can be used to automatically activate and
deactivate a holding brake. Output Y2 can also be configured as a Tach Output, or a General Purpose output for
use with other types of output commands. There are three states that can be defined:
BO1: Output is closed (energized) when drive is enabled, and open when the drive is disabled.
BO2: Output is open (de-energized) when drive is enabled, and closed when the drive is disabled.
BO3: Output is not used as a Brake Output and can be used as a general purpose output.
MDX
Defines the drive’s digital output Y2 as a Brake Output. The output of a drive can be assigned to functions: Brake
Output, Torque Reach, Servo On/Off, or General Purpose Output. Each of these functions must exclusively use
the output, so only one function is allowed. There are two ways to define the function of this output: via softwware
or via SCL commands. To set the output as a Brake Output, use the BO command and one of the codes below.
BO1: Output is closed (active, low) when the drive is enabled, and open when the drives is disabled.
BO2: Output is open (inactive, high) when the drive is enabled, and closed when the drive is disabled.
BO3: Output is not used as a Brake Output and can be used for another automatic output function or as a
general purpose output.
NOTE: Setting the BO command to 1 or 2 overrides previous assignments of this output’s function. Similarly, if
you use the AO or MO command to set the function of the output after setting the BO command to 1 or 2, usage
of the output will be reassigned and BO will be automatically set to 3.
Command Details:
Structure BO{Parameter #1}{Parameter #2 (Flex I/O only}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Output Usage (see above)
- units integer code
- range 1, 2 or 3
Parameter #2 (Flex I/O only) I/O Point (if applicable, see note below)
- units integer code
- range 1-4
NOTES:
• For drives with Flex I/O, the SD command must be executed to set an I/O point as an output before that
output can be assigned as the Brake Output.
• Parameter #2 only applies to drives equipped with Flex I/O. This includes the STM24SF and STM24QF.
Parameter #2 is not defined for drives equipped with standard I/O.
920-0002 Rev. T 52
4/30/2019
Host Command Reference
Examples:
All drives with standard I/O:
Command Drive sends Notes
BO1 - Brake Output will be closed when drive is enabled
BO BO=1
53 920-0002 Rev. T
4/30/2019
Host Command Reference
BR - Baud Rate
Compatibility: All drives
Affects: Serial communications
See also: TD, PB, PM, PR commands
Sets or requests the bit rate (baud) for serial communications. At power up a drive will send its power-up packet
at 9600 baud. If a response from a host system (such as a software application from Applied Motion) is not
detected after 1 second and the drive is configured for SCL or Q operation (see PM command) the drive will set
the baud rate according to the value stored in the Baud Rate NV parameter. A Host system can set the baud rate
at anytime using this command. See Appendix B, “Host Serial Communications” for details.
NOTE 2: Due to processor speed limitations, -Si drives can accept only parameter values 1, 2 or 3. -S and -Q
drives will accept parameter values of 1-5.
Command Details:
Structure BR{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Baud rate (see above)
- units integer code
- range 1 = 9600 bps
2 = 19200
3 = 38400
4 = 57600 (-S and -Q drives only)
5 = 115200 (-S and -Q drives only)
Examples:
Command Drive sends Notes
BR2 - Baud rate is immediately set to 19200
BR BR=2
920-0002 Rev. T 54
4/30/2019
Host Command Reference
BS - Buffer Status
Compatibility: All drives
See also: CT, PS commands
Requests from the drive the number of available command locations in the command buffer. This technique
simplifies sending commands by eliminating the need to calculate if there is enough space in the buffer for a
command. If the drive responds with at least a “1”, a command can be sent.
If a drive responds to the BS command with the value “63” it means the buffer is empty. If a “0” is returned the
buffer is full and no more buffered commands can be accepted (a buffer overflow will occur if another command is
sent).
Command Details:
Structure BS
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Units Empty command spaces in buffer
Examples:
Command Drive sends Notes
BS BS=20 There is room in the buffer for 20 more commands
55 920-0002 Rev. T
4/30/2019
Host Command Reference
CA - Change Acceleration Current
Compatibility: STM Integrated Step Motors
Affects: Motor accel/decel current and torque
See also: PA, CC, PC commands
Sets or requests the accel/decel current setting (“peak of sine”) of the stepper drive, also known as the peak
current. CA will only accept parameter values equal to or larger than the current CC setting.
NOTE: CA has no effect in Command Mode 7 (CM7 - Step and Direction mode).
Command Details:
Structure CA{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “M” (029)
Note: The CA command uses different units than the “M”
register; see Data Registers section for details
Parameter Details:
Parameter #1 Accel/Decel Current
- units amps (resolution is 0.01 amps)
- range STM23: 0 - 5.0
STM17: 0 - 2.0
Example:
STM17, STM23
Command Drive Sends Notes
CA1.75 - Set accel/decel current to 1.75 amps (peak of sine)
CA CA=1.75
920-0002 Rev. T 56
4/30/2019
Host Command Reference
CB - CANopen Baudrate
Compatibility: SV200 and MDX series servo drives only
Affects: CANopen drives
See also: None
Command Details:
Structure CB{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Units Empty command spaces in buffer
Parameter Details:
Parameter #1 CANopen baudrate of C type drive
- units Integer
- range 0~7
Default value 0
Example:
Command Drive Sends Notes
CB1 % Set the baudrate of CANopen drive to 1 Mbps
CB CB=1 The baudrate of CANopen drive is 1 Mbps
57 920-0002 Rev. T
4/30/2019
Host Command Reference
CC - Change Current
Compatibility: All drives
Affects: Motor current and torque
See also: CA, CI, CP, PC commands
STAC6
Sets or requests the current setting (“peak of sine”) of the stepper drive, also known as the running current. The
range of the CC command may be limited from the ranges shown in the Parameters table below based on the
settings defined in the STAC6 Configurator software. Use STAC6 Configurator to select a motor and set the
maximum current setting. Note that setting CC automatically sets CI to the same value if the new CC value is less
than the starting CI value.
Command Details:
Structure CC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “N” (030)
Note: The CC command uses different units than the “N”
register; see Data Registers section for details
Parameter Details:
BLu, SV, SVAC3
Parameter #1 Continuous current setting
- units amps rms
- range BLuDC4: 0 - 4.5
BLuDC9: 0 - 9.0
BLuAC5: 0 - 5.0
MDX : 0 - 10.0
SV: 0 - 12.0
SVAC3 (120V): 0 - 3.5
SVAC3 (220V): 0 - 1.8
Note: For StepSERVO and SV200 series, see hardware
manual for peak current range.
920-0002 Rev. T 58
4/30/2019
Host Command Reference
*Current setting in stepper drives depends on the selected motor. Use Configurator software to select a motor
and set the maximum current setting.
Examples:
BLu, SV, SVAC3, MDX
Command Drive sends Notes
CC4.50 - Set continuous current to 4.5 amps rms
CC CC=4.5
STAC6
Command Drive sends Notes
CC4.50 - Set running current to 4.5 amps
CI2 - Set idle current to 2.0 amps
CC1.8 - Set idle current to 1.8 amps
CC CC=1.8
CI CI=1.8 CI automatically set to 1.8 amps along with CC1.8 command
59 920-0002 Rev. T
4/30/2019
Host Command Reference
CD - Idle Current Delay Time
Compatibility: Stepper drives only
Affects: Motor current at rest
See also: CC, CI commands
Sets or requests the amount of time the drive will delay before transitioning from full current (CC) to idle current
(CI). This transition is made after a step motor takes the final step of a move. Operating in any form of pulse &
direction mode the drive will reset the idle current delay timer each time a step pulse is received by the drive.
Command Details:
Structure CD{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Delay time
- units seconds
- range 0.00 to 10.00
Examples:
Command Drive sends Notes
CD0.4 - Idle current delay time set to 0.4 seconds
CD CD=0.4
920-0002 Rev. T 60
4/30/2019
Host Command Reference
CE - Communication Error
Compatibility: All drives
See also: AL command
Requests the hexadecimal equivalent of the communication error’s 8-bit binary word. The presence of a comm
error will also be shown in the Alarm Code (AL command) as well as the status LEDs at the front of the drive
(Appendix F). Bit assignments for the 8-bit word are shown in the Response Details table below.
Command Details:
Command Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Response Details:
Response Communication error code
- units hexadecimal code
- range bit 0 = parity flag error
bit 1 = framing error
bit 2 = noise flag error
bit 3 = overrun error
bit 4 = Rx buffer full
bit 5 = Tx buffer full
bit 6 = bad SPI op-code
bit 7 = Tx time-out
Examples:
Command Drive sends Notes
CE CE=0010 Rx buffer full
CE CE=0002 Framing error
61 920-0002 Rev. T
4/30/2019
Host Command Reference
CF - Anti-resonance Filter Frequency
Compatibility: Stepper drives only
Affects: Mid-range performance of step motors
See also: CG command
Sets or requests the anti-resonance filter frequency setting. This setting is in Hz and works in conjunction with the
anti-resonance filter gain setting (CG) to cancel instabilities due to mid-band resonance.
NOTE: We strongly suggest using the appropriate Configurator software application to set this value by entering
as accurate a load inertia value as possible in the motor settings window.
Command Details:
Structure CF{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Filter frequency
- units Hz
- range 1 - 2000
Examples:
Command Drive sends Notes
CF1400 - Set anti-resonance filter frequency to 1400 Hz
CF CF=1400
920-0002 Rev. T 62
4/30/2019
Host Command Reference
CG - Anti-resonance Filter Gain
Compatibility: Stepper drives only
Affects: Mid-range performance of step motors
See also: CF command
Sets or requests the anti-resonance filter gain setting. This setting is unit-less and works in conjunction with the
anti-resonance filter frequency setting (CF) to cancel instabilities due to mid-band resonance.
NOTE: We strongly suggest using the appropriate Configurator software application to set this value by entering
as accurate a load inertia value as possible in the motor settings window.
Command Structure:
CG{Parameter #1}
Command Details:
Structure CG{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Filter gain
- units integer number
- range 0 - 32767
Examples:
Command Drive sends Notes
CG800 - Set anti-resonance filter gain to 800
CG CG=800
63 920-0002 Rev. T
4/30/2019
Host Command Reference
CI - Change Idle Current
Compatibility: Stepper drives only
Affects: Motor current at standstill, holding torque
See also: CC, PI, CD commands
Idle current is the level of current supplied to each motor phase when the motor is not moving. Using an idle
current level lower than the running motor current level (see CC command) aids in motor cooling. A common
level used for the idle current setting is 50% of the running current. After a motor move, there is a time delay after
the motor takes its last step before the reduction to the idle current level takes place. This delay is set by the CD
command.
STAC6
CI cannot be greater than CC. If you attempt to set CI higher than CC it will be automatically limited to the CC
value. Furthermore, setting CC automatically sets CI to the same value if the new CC value is less than the
starting CI value.
Command Details:
Structure CI{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access “O” (031)
Note: The CI command uses different units than the “O”
register; see Data Registers section for more details
Parameter Details:
STAC6
Parameter #1 Idle current
- units amps
- range 0 - 100% of running current
920-0002 Rev. T 64
4/30/2019
Host Command Reference
Examples:
STAC6
Command Drive sends Notes
CI1.0 - Set idle current to 1.0 amps
CI CI=1
CC0.5 - Set running current to 0.5 amps
CI CI=0.5 CI automatically set 0.5 amps along with CC0.5 command
65 920-0002 Rev. T
4/30/2019
Host Command Reference
CJ - Commence Jogging
Compatibility: All drives
See also: JS, JA, JL, SJ, CS and DI commands.
Starts the motor jogging. The motor accelerates up to the jog speed (JS) at a rate defined by the jog accel (JA)
command, then runs continuously until stopped. To stop jogging, use the SJ (Stop Jogging) command for a
controlled decel rate (decel rate set by JL command). For a faster stop, use the ST command (decel rate set by
AM command), but beware that if the speed or load inertia is high, the drive may miss steps, stall, or fault. The
jogging direction is set by the last DI command. Use the CS command to change jog speed and direction while
already jogging. CS does not affect JS.
Command Details:
Structure CJ
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
JA10 - Set jog accel to 10 rps/s
JL25 - Set jog decel to 25 rps/s
JS1 - Set jog speed to 1 rps
CJ - Start jogging with speed set by last JS command
CS10 - Change jog speed to 10 rps
SJ - Stop jogging using decel rate set by last JL command
The following example changes the jog speed during program execution by directly loading a value into the “J”
register. This method allows for dynamically calculated jog speeds, and does not affect the original JS or DI
setting. CJ always starts a jog move using JS and DI, so this is the recommended method of changing speed
dynamically during program execution.
920-0002 Rev. T 66
4/30/2019
Host Command Reference
CM - Command Mode (AKA Control Mode)
Compatibility: All drives
Affects: Drive mode of operation
See also: PM command
Sets or requests the Command Mode that the drive operates in. For more automated setup of command modes
use the appropriate Configurator or Quick Tuner software application. The most common command mode is
Point-to-Point (21), in which all move commands can be executed. Move commands (like FL, FP, FS, and CJ) can
still be executed when the command mode is set to Step & Direction (7), because the drive will temporarily switch
to command mode 21 to execute the move, then revert back to command mode 7 when the move is finished.
However move commands are either ignored or do not function properly when the command mode is set to any
velocity mode (11-18) or the Analog Position mode (22).
WARNING: Changing the Command Mode without proper care may cause the motor to spin at a high rate of
speed or give other unexpected results. For this reason it is suggested that the appropriate Configurator or Quick
Tuner software application be used to test specific Command Modes first before changing them in the application
using the CM command.
Command Details:
Structure CM{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “m” (061)
Note: Because a drive can change Command Mode on it’s
own to complete certain moves, the CM command and the
“m” register may not always match.
Parameter Details:
Parameter #1 Command mode
- units integer code
- range 1 - Commanded Torque (servo only)
2 - Analog Torque (servo only)
7 - Step & Direction
10 - Commanded Velocity (jog mode)
11 - Analog velocity
12 to 18 - (see below)
21 - Point-to-Point
22 - Analog Position
NOTE: In Command Modes 11, 12, 13 and 14, input X2 will function to reverse the direction of motion.
For StepSERVO and SV200, additional command modes have been added for variations on analog torque control
as well as expanded velocity modes. See appropriate software and help files for details.
67 920-0002 Rev. T
4/30/2019
Host Command Reference
Command Modes 12 to 18 are for stepper drives and SV servo drives only:
NOTE: It is recommended to use Configurator or Quick Tuner software for setting up velocity mode operation.
Examples:
Command Drive sends Notes
CM2 - Sets the servo drive to Analog Torque mode, at which time there is a
linear relationship between the voltage at the drive’s analog input and the
motor current.
CM7 - Sets the drive to Step & Direction input mode, which is used for all digital
positioning schemes like Step (Pulse) & Direction, CW/CCW Pulse, and
A/B Quadrature. Use the appropriate Configurator or Quick Tuner
application to set the proper scheme within this mode.
CM10 - Sets the drive to Command Velocity, or jog mode, which in practice is
very similar to Point-to-Point mode (CM21). When in CM21 and a jog
command is issued, like CJ, the drive automatically switches to CM10
during the jog move and then back to CM21 when the jog move is
stopped. Conversely, when in CM10 and a feed move is commanded,
like FL, the drive automatically switches to CM21 during the move and
then back to CM10 when the move is finished.
CM10 is most useful with servo drives, and when the JM (Jog Mode) is
set to 2. This puts the drive into a jog mode in which position error is
ignored. Then, when the motor is at rest the drive acts somewhat like a
constant friction device in that a certain amount of torque (set by CC and
CP commands) is required to move the shaft.
CM11 - Sets the drive to Analog Velocity mode. In servo drives this will be similar
to the Analog Torque mode, where voltage level at the analog input
relates to motor speed. In stepper drives this puts the drive into
continuous oscillator mode, with speed set by the JS command.
CM22 - Sets the drive to Analog Positioning mode. In this mode it is also
possible to control the position through the use of an external encoder.
920-0002 Rev. T 68
4/30/2019
Host Command Reference
CN - Secondary Control Mode
Compatibility: SV200 series servo drives only
Affects: All control mode
See also: CM, MS commands
Sets or requests the second command mode that the servo drive operates in. This command was first introduced
on the SV200 series servo drives and is used to set a second, alternate command mode that can be triggered by
changing the state of a specific digital input (X8 input for SV200 series). Primary command mode is set with CM.
See SVX Servo Suite software and drive’s hardware manual for details.
1 - Commanded Torque
2 - Analog Torque
3 - Analog Torque with Input X2 as direction input
4 - Analog Torque with Input X2 as direction input
5 - Analog Torque with Input X1 as start/stop input
6 - Analog Torque with Input X1&X2 as start/stop & direction input
7 - Step & Direction
8 - Analog Torque with Input X1&X2 as start/stop & direction input
10 - Commanded Velocity (jog mode)
11 - Analog velocity
12 - Analog velocity mode with input X1 as run/stop input
13 - Analog velocity mode with input X10 X11 X12 as speed change input
14 - Analog velocity mode with input X1 as run/stop input and input X10~X12 as speed change input
15 - Velocity mode (JS for speed)
16 - Velocity mode (JS for speed) with input X1 as run/stop input
17 - Velocity mode (JS for speed) with input X10~X12 as speed change input
18 - Velocity mode (JS for speed) with input X1 as run/stop input and input X10~X12 as speed change input
21 - Point-to-Point
22 - Analog Position
Command Details:
Structure CN{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 The second control mode
- units Integer
- range 1~22
Default value 7
Examples:
Command Drive sends Notes
CN7 % Set the second control mode to Step & Direction
CN CN=7 The second control mode is Step & Direction
69 920-0002 Rev. T
4/30/2019
Host Command Reference
CO - Node ID/ IP address
Compatibility: MDX, SV200 series servo drives only
Affects: CANopen drives & Ethernet drives
Sets or requests the CANOpen Node ID of CANOpen type drives or the Ethernet IP address of Ethernet type
drives.
For the Ethernet type drives, the CO command sets the IP address which can be modified as necessary with SVX
Servo Suite.
Default IP address list for Ethernet type drives:
0 – 10.10.10.10
1 – 192.168.1.10
2 – 192.168.1.20
3 – 192.168.1.30
4 – 192.168.0.40
5 – 192.168.0.50
6 – 192.168.0.60
7 – 192.168.0.70
8 – 192.168.0.80
9 – 192.168.0.90
10 –192.168.0.100
11 –192.168.0.110
12 –192.168.0.120
13 –192.168.0.130
14 –192.168.0.140
15 –0.0.0.0(DHCP)
Command Details:
Structure CO{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Node ID of CANOpen type drives or the IP
address of Ethernet type drives
- units Integer
- range For CANOpen type drives
1~127
For Ethernet type drives
0~15
Default value For CANOpen type drives
1
For Ethernet type drives
0
Examples:
Command Drive sends Notes
CO1 % Set the node ID to 1 of CANOpen drive or set the
IP address to 192.168.1.10 (default IP Address list)
CO CN=7 The node ID of CANOpen drive is 1 or the IP address of Ethernet drive is
192.168.1.10 (default IP Address list)
920-0002 Rev. T 70
4/30/2019
Host Command Reference
CP - Change Peak Current
Compatibility: Servo drives only
Affects: Motor current, especially during acceleration and deceleration
See also: CC, PC, PP commands
Sets or requests the peak (RMS) current setting of the servo drive. Peak current sets the maximum current that
should be used with a given motor. When the motor position requires more than the continuous value, the peak
current time calculation is done using I2/T which integrates current values for more accurate modeling of drive
and motor heating. The servo drive will allow peak current for nor more than one second. After one second of
operation at peak current the current is reduced to the continuous current setting (see CC command).
Command Details:
Structure CP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “O” (031)
Note: The CP command uses different units than the “O”
register; see Data Registers section for more details
Parameter Details:
Parameter #1 Peak current limit
- units amps RMS
- range BLuDC4: 0 - 13.5 A
BLuDC9: 0 - 18.0 A
BLuAC5: 0 - 15.0 A
MDX: 0 - 30.0A
SV: 0 - 30.0A
SV7: 0 - 14.0 A
SVAC3 (120V): 0 - 7.5
SVAC3 (220V): 0 - 3.75
Note: For StepSERVO and SV200 series, see hardware
manual for peak current range.
Examples:
Command Drive sends Notes
CP9.0 - Peak current is set to 9.0 amps RMS
CP CP=9.0
71 920-0002 Rev. T
4/30/2019
Host Command Reference
CR - Compare Registers
Compatibility: Q drives only
Affects: Contents of condition code register “h”
See also: RI, RD, RM, RL, QJ commands
Compare the contents of two data registers. The first data register (Parameter #1) is tested by comparing it
against the data value in the second data register (Parameter #2). The result is a condition code that can be used
for program conditional processing (see QJ command). For Example, if the first data register is greater than the
second the “greater than” flag is set and the QJGx command can be used to create a conditional jump.
Command Details:
Structure CR(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All data registers
Parameter Details:
Parameter #1 First data register assignment
- units character
- range All data register assignments
Parameter #2 Second data register assignment
- units character
- range All data register assignments
Examples:
Command Drive sends Notes
CRE1 - Compare data register “E” to data register “1”
QJG5 - If “E” register is greater than “1” register jump to line 5 of Q segment,
otherwise proceed to next line.
920-0002 Rev. T 72
4/30/2019
Host Command Reference
CS - Change Speed
Compatibility: All drives
Affects: Jog speed while jogging
See also: CJ, JS, JA, JL commands
Sets or requests the jogging speed in rev/sec while jogging. When Jogging using the CJ command the Jog speed
can be changed dynamically by using this command. The sign of CS can be positive or negative allowing the
direction of jogging to be changed dynamically also. Ramping between speeds is controlled by the JA and JL
commands. Setting CS does not change JS or DI.
Command Details:
Structure CS{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile YES
Register Access “J” (026)
Note: The CS command uses different units than the “J”
register; see Data Registers section for more details.
Parameter Details:
Parameter #1 Jog Speed
- units rev/sec
- range BLu, SV, STAC6, ST-Q/Si, ST-S, STAC5, SVAC3:
-133.3333 to 133.3333 (resolution is 0.0042)
STM: -80.0000 to 80.0000 (resolution is 0.0042)
sign determines direction: “-“ for CCW, no sign for CW
Examples:
Command Drive sends Notes
JS1 - Set base jog speed to 1 rev/sec
CJ - Commence jogging
CS2.5 - Set jog speed to CW at 2.5 rev/sec
CS CS=2.5 Displays current Jog speed
CS-5 - Set jog speed to CCW at 5 rev/sec
SJ - Stop jogging
73 920-0002 Rev. T
4/30/2019
Host Command Reference
CT - Continue
Compatibility: All drives
See also: PS, ST, SK commands
Resume execution of buffered commands after a PS command has been sent. The PS (Pause) command allows
you to pause execution of commands in the command buffer. After sending the PS command, subsequent
commands are buffered in the command buffer until either a CT command is sent, at which time the buffered
commands resume execution in the order they were received, or until the command buffer is full.
Command Details:
Structure CT
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
PS - Pause command buffer
FL2000 - CW move, 2000 counts
WT.25 - Wait 0.25 seconds
FL-2000 - CCW move, 2000 counts
CT - Resume execution of buffered commands
920-0002 Rev. T 74
4/30/2019
Host Command Reference
DA - Define Address
Compatibility: All drives
Affects: Drive address for multi-drop communications
Sets individual drive address character for multi-drop RS-485 communications. This command is not required for
single-axis (point-to-point) or RS-232 communications.
Command Details:
Structure DA{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 RS-485 network address
- units character
- range Valid address characters are:
!“#$%&‘()*+,-./0123456789:;<>?@
Examples:
Command Drive sends Notes
DA1 - Set drive address to “1”
DA DA=1
75 920-0002 Rev. T
4/30/2019
Host Command Reference
DC - Change Distance
Compatibility: All drives
Affects: FC, FY, FO, FM commands.
Sets or requests the change distance. The change distance is used by various move commands to define more
than one distance parameter. All move commands use the DI command at some level, and many require DC as
well. Examples are FC, FM, FO, and FY. The moves executed by these commands change their behavior after
the change distance (DC) has been traveled. For example, FM is similar to FS, but in an FM move the sensor
input is ignored until the motor has moved the number of steps set by DC. This is useful for masking unwanted
switch or sensor triggers. Since DI sets move direction (CW or CCW), the sign of DC is ignored.
Command Details:
Structure DC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “C” (019)
Parameter Details:
Parameter #1 distance
- units encoder counts
- range 0 to 2,147,483,647
(the sign of negative values is ignored)
Examples:
Command Drive sends Notes
DC80000 - Set change distance to 80000 counts
DC DC=80000
920-0002 Rev. T 76
4/30/2019
Host Command Reference
DD - Default Display Item of LEDs
Compatibility: SV200 servo drives only
Affects: LED display
Sets or requests the default monitor item for the drive’s LED display after power up.
The item is defined as belows:
0 Velocity
1 Position Error
2 StepPosition
3 Encoder Position
4 Position Command
5 Temperature
6 DC_Bus_Voltage
7 Address
8 Alarm History 0
9 Alarm History 1
10 Alarm History 2
11 Alarm History 3
12 Alarm History 4
13 Alarm History 5
14 Alarm History 6
15 Alarm History 7
Command Details:
Structure DD{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Default display item of LEDs
- units Integer
- range 0~15
Default value 0
Examples:
Command Drive sends Notes
DD0 % Set the default display item to immediate velocity
DD DD=0 The default display item is immediate velocity
77 920-0002 Rev. T
4/30/2019
Host Command Reference
DE - Deceleration
Compatibility: All drives
Affects: FC, FD, FE, FL, FM, FO, FS, FP, FY, SH commands
See also: AM, DE, DI, DC, VE commands
Sets or requests the deceleration rate used in point-to-point move commands in rev/sec/sec.
Command Details:
Structure DE{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “B” (018)
Note: The DE command uses different units than the “B”
register; see Data Registers section for details
Parameter Details:
Parameter #1 Deceleration rate
- units rev/sec/sec (rps/s)
- range 0.167 to 5461.167 (resolution is 0.167 rps/s)
Examples:
Command Drive sends Notes
DE125 - Set deceleration rate to 125 rev/sec/sec
DE DE=125
920-0002 Rev. T 78
4/30/2019
Host Command Reference
DI - Distance/Position
Compatibility: All drives
Affects: All move commands
See also: AC, DC, DE and VE commands
Sets or requests the move distance in encoder counts (servo) or steps (stepper). The sign of DI indicates move
direction: no sign means CW and “-” means CCW. DI sets both the distance for relative moves, like FL, and the
position for absolute moves, like FP. DI also sets the direction of rotation for jogging (CJ).
Command Details:
Structure DI{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “D” (020)
Parameter Details:
Parameter #1 distance
- units encoder counts (servo) or steps (stepper)
- range -2,147,483,647 to 2,147,483,647
sign determines direction: “-” for CCW, no sign for CW
Examples:
Command Drive sends Notes
DI20000 - Set distance to 20000 counts in the CW direction
DI DI=20000
79 920-0002 Rev. T
4/30/2019
Host Command Reference
DL - Define Limits
Compatibility: All drives
Affects: All move commands
See also: AM command
CW and CCW end-of-travel limits are available on all drives and can be used to define the boundaries of
acceptable motion in a motor/drive system. If one of these inputs is activated while defined as an end-of-travel
limit, motor rotation will stop in that direction, and an alarm code will show at the drive’s status LEDs. When used
within a Q program with point-to-point position commands (FL, FP, etc.), limit switch actuation will stop the motion
that is specified by the Q program and then the program will drop down to the next line. When defining these
inputs as end-of-travel limits both inputs are defined together as either active low, active high, or not used, except
for StepSERVO series and SV200 series servo drives. See below for details.
Note that when used in conjunction with jogging commands within a Q program, the ability to jog off a
limit in the opposite direction may be limited.
BLu-S/Q, STAC6
Defines usage of inputs X6 and X7 as dedicated end-of-travel limits. X6 is the CCW limit input and X7 is the CW
limit input. If not needed, X6 and X7 can be redefined as general purpose inputs.
STAC5-S, SVAC3-S
Defines usage of inputs X1 and X2 as dedicated end-of-travel limits. X1 is the CW limit input and X2 is the CCW
limit input. If not needed, X1 and X2 can be redefined as general purpose inputs.
STAC5-Q/IP, SVAC3-Q/IP
Defines usage of inputs IN7 and IN8 as dedicated end-of-travel limits. IN7 is the CW limit input and IN8 is the
CCW limit input. If not needed, IN7 and IN8 can be redefined as general purpose inputs.
Blu-Si
Defines usage of top-board inputs IN7 and IN8 as dedicated end-of-travel limits. IN7 is the CW limit input and IN8
is the CCW limit input.
ST-Q/Si, SV
Defines the usage of inputs X7 and X8 as dedicated end-of-travel limits. X7 is the CW limit input and X8 is the
CCW limit input. If not needed, X7 and X8 can be redefined as general purpose inputs.
ST-S, STM-17/23
Defines the STEP and DIR inputs as CW end-of-travel and CCW end-of-travel limit inputs, respectively. The STEP
and DIR inputs can each be assigned to only one function in an application. If you want to use the STEP and DIR
inputs as end-of-travel limit inputs you can define them as such in two ways, with the ST Configurator software,
or with the DL command. DL takes no effect if the drive is set in Command Mode (CM) 7, 11, 12, 13, 14, 15, 16,
17 or 18, because these modes predefine these inputs and take precedence over the DL command. Also, setting
the JE command after setting the DL command reassigns the STEP and DIR inputs as jog inputs and turns off
any limit input usage (DL3). In other words, the DL and JE commands, as well as Command Modes (CM) 7, 11,
12, 13, 14, 15, 16, 17 and 18 each assign a usage to the STEP and DIR inputs. Each of these must exclusively
use the STEP and DIR inputs. Command Modes are most dominant and will continually prevent DL and JE from
using the inputs. DL and JE exclude each other by overwriting the usage of the STEP and DIR inputs.
STM24-C
Defines the usage of inputs IN1 and IN2 as dedicated end-of-travel limits. IN1 is the CW limit input and IN2 is the
CCW limit input. If not needed, IN1 and IN2 can be redefined as general purpose inputs.
920-0002 Rev. T 80
4/30/2019
Host Command Reference
STM24-SF/QF
Drives with Flex I/O allow a user to configure a drives I/O (I/O1 through I/O4) to be either an input or an output by
using the SD command. For the DL command,
the drive uses inputs I/O3 and I/O4 as dedicated end-of-travel limits. I/O3 is the CW limit input and I/O4 is the
CCW limit input. If not needed, I/O3 and I/O4 can be redefined as general purpose inputs.
There are three end-of-travel limit input states that can be defined with the DL command:
DL1: End-of-travel limit occurs when an input is closed (energized). Motion stops automatically at rate
defined by AM command.
DL2: End-of-travel limit occurs when an input is open (de-energized). Motion stops automatically at rated
defined by AM command.
DL3: Inputs are not used as end-of-travel limit inputs and can be used as a general purpose inputs. In the
case of ST-S and STM drives, DL will be automatically set to 3 if CM is set to 7, 11, 12, 13, 14, 15, 16,
17, or 18, or if JE is executed after the DL command is set.
Command Details:
Structure DL{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Limit input state (see above)
- units integer number
- range 1, 2 or 3
Examples:
Command Drive sends Notes
DL1 - Set limit inputs to work with normally open limit switches
DL DL=1
NOTE: When working with digital inputs and outputs it is important to remember the designations low and high.
If current is flowing into or out of an input or output, i.e. the circuit is energized, the logic state for that input/
output is defined as low or closed. If no current is flowing, i.e. the circuit is de-energized, or the input/output is
not connected, the logic state is high or open. A low state is represented by the “L” character in parameters of
commands that affect inputs/outputs. For example, WI3L means “wait for input 3 low”, and SO1L means “set
output 1 low”. A high state is represented by the “H” character.
81 920-0002 Rev. T
4/30/2019
Host Command Reference
DL - Define Limits (StepSERVO, MDX and SV200 drives)
Compatibility: SSM, TSM, TXM, SS, SSAC, MDX and SV200 drives
Affects: All move commands
See also: AM, EH, FH, SH commands
CW and CCW end-of-travel limits are available on all drives and can be used to define the boundaries of
acceptable motion in a motor/drive system. If one of these inputs is activated while defined as an end-of-travel
limit, motor rotation will stop in that direction, and an alarm code will show at the drive’s status LEDs. When
defining these inputs as end-of-travel limits, individual or both inputs can be defined as either active low, active
high, or not used. See below for details.
DL1: End-of-travel limit occurs when an input is closed (energized). Motion stops automatically at rate defined
by AM command.
DL2: End-of-travel limit occurs when an input is open (de-energized). Motion stops automatically at rated
defined by AM command.
DL3: Inputs are not used as end-of-travel limit inputs and can be used as a general purpose inputs. In the case
of ST-S and STM drives, DL will be automatically set to 3 if CM is set to 7, 11, 12, 13, 14, 15, 16, 17, or 18, or if JE
is executed after the DL command is set.
DL7: individually set end-of-travel in CW direction when CW Limit inputs is closed(energized).
DL8: individually set end-of-travel in CW direction when CW Limit inputs is open (de-energized).
DL9: individually set end-of-travel in CCW direction when CCW Limit inputs is closed(energized).
DL10: individually set end-of-travel in CCW direction when CCW Limit inputs is open (de-energized).
DL11~13, DL17~20: Swap the CW input and CCW input definition as above setting.
Command Details:
Structure DL{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Limit input state (see above)
- units integer number
- range 1 to 20
Examples:
Command Drive sends Notes
DL1 - Set limit inputs to work with normally open limit switches
DL DL=1
DL3 - Set limit inputs to act as general purpose inputs
NOTE: When working with digital inputs and outputs it is important to remember the designations low and high.
If current is flowing into or out of an input or output, i.e. the circuit is energized, the logic state for that input/
output is defined as low or closed. If no current is flowing, i.e. the circuit is de-energized, or the input/output is
not connected, the logic state is high or open. A low state is represented by the “L” character in parameters of
commands that affect inputs/outputs. For example, WI3L means “wait for input 3 low”, and SO1L means
“set output 1 low”. A high state is represented by the “H” character.
920-0002 Rev. T 82
4/30/2019
Host Command Reference
DR - Data Register for Capture
Compatibility: Q servo drives only (BLu-Q and SV-Q)
Affects: Quick Tuner Data Capture
Sets or requests the data register used in the register plot data source in Quick Tuner. Any data register can be
selected for viewing when capturing data using Quick Tuner.
Command Details:
Command Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range All data register assignments
Examples:
Command Drive sends Notes
DRa - Set capture data register to “a” (Analog Command) register
83 920-0002 Rev. T
4/30/2019
Host Command Reference
DS - Switching Electronic Gearing
Compatibility: SV200 series servo drives only
Affects: control mode 7, electronic gearing, input #9
See also: EG, PV, EU, EN
Command Details:
Structure DS{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 (see above)
- units integer number
- range 1~3
Default value 3
Examples:
Command Drive sends Notes
DS1 % set the usage of electronic gearing selecting to 1
DS DS=1 set the usage of input X9 as electronic gearing selecting is 1
920-0002 Rev. T 84
4/30/2019
Host Command Reference
ED - Encoder Direction
Compatibility: BLu, STAC5, STAC6, SV7, SVAC3
Affects: Encoder count direction
See also: EF, EI commands
Command Details:
Structure ED {Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access none
Parameter Details:
Parameter #1 Encoder Count Direction
- units Binary flag (0 or 1)
- range 0 = default behavior
1 = count in reverse
Examples:
Command Drive sends Notes
ED1 - Set encoder to count in reverse
ED ED=1
85 920-0002 Rev. T
4/30/2019
Host Command Reference
EF - Encoder Function
Compatibility: Stepper drives with encoder feedback
Affects: Stall Detection and Stall Prevention
See also: CC, CI, ER, HD, PF commands
NOTE: The behavior of this function was updated subsequent to firmware rev 1.04L (STM17, 23). Most notably, a
power-cycle was requried to initialize the drive with a new EF setting. Drives with more recent firmware perform a
current probe and encoder alignment immediately following execution of the EF command, and do not require the
drive to be reset. All descriptions shown here assume that the drive is running current firmware.
ST-Q/Si, STM
Sets or requests the decimal equivalent of the encoder function’s 3-bit word. The encoder function can be set
through Configurator or by using the EF command. Only stepper drives with encoder inputs (optional on ST-Q/
Si, STAC5 and STM drives) running a step motor with a shaft-mounted encoder can utilize the Stall Detection and
Stall Prevention functions. Note, this feature is NOT available on the STAC6.
AMP recommends an encoder with differential outputs and a resolution of at least 1000 lines (4000 counts/rev).
The drive performs a full current probe for encoder alignment during power-up and after each EF command is
sent. It is very important to raise the idle and continuous current settings to the maximum value and then execute
the new EF setting after a 1 second delay. Once the EF command is completed, the current may be reset to its
normal value.
Command Details:
Structure EF{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Encoder function setting
- units decimal equivalent of 3-bit binary word
- range 0 = Encoder function off
1 = Stall Detection
2 = Stall Prevention
6 = Stall Prevention with time-out
920-0002 Rev. T 86
4/30/2019
Host Command Reference
Examples:
Command Drive sends Notes
EF1 - Turn ON Stall Detection function
EF EF=1
If this is done through a Q program, add a short delay after raising current levels:
87 920-0002 Rev. T
4/30/2019
Host Command Reference
EG - Electronic Gearing
Compatibility: All drives
Affects: Command Mode 7, FE and HW commands
See also: CM, ER, FE and HW commands.
Command Details:
Structure EG{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access “R” (034)
Note: With servo drives the EG command is equal to the
“R” register. With stepper drives the EG command is equal
to twice the “R” register.
Parameter #1 Servo = electronic gearing ratio
Stepper = step resolution
- units Servo = counts/rev
Stepper = steps/rev
- range Servo = 200 - 32000
Stepper = 200 - 51200
Examples:
Command Drive sends Notes
EG20000 - Set electronic gearing resolution in servo drive to 20000 pulses/rev
EG EG=20000
RLR RLR=20000 “R” register matches the EG setting in a servo drive
920-0002 Rev. T 88
4/30/2019
Host Command Reference
EH - Extended Homing
Compatibility: SSM, TSM, TXM, SS, SSAC, MDX and SV200 series servo drives only
See also: DL, HA, HL, HV, HO commands
Executes the Extended Homing process. Requires input number and condition for the home sensor. Speeds
for each step are set by HV command, there are three velocity settings; one for each step (see graphic and
examples below). Acceleration and deceleration are set by HA (Homing Accel) and HL (Homing Decel). The
start direction comes from the sign of the HO command (“-” is CCW, no sign is CW).
HV1: Homing velocity when searching for Limit Sensor and Home sensor.
HV2: Homing velocity when moving the offset distance after home sensor has been reached.
HV3: Homing velocity when returning back to home sensor after offset move.
Here are examples of the Extended Homing process for different starting positions.
Condition: HO = 20000(no sign for CW direction) , DL = 2 (end-of-travel limit triggered when input is open)
Position
A B C D
(2) When the motor is positioned at B (between CW Limit Sensor and Home Sensor)
-The motor moves in the CW direction to find CW limit sensor with HV1 speed and HA1/HL1 acceleration/
deceleration.
-The CW limit sensor triggered and motion stops briefly.
-Then the motor moves the same as above (1).
(4) When the motor is positioned at D (between Home Sensor and CCW Limit Sensor)
-The motor moves to home sensor with speed HV1 in CW direction.
-After Home Sensor triggered, The motor moves the same as above (3)
NOTE: If the HO value is negative, the motor will start in the CCW direction.
NOTE: This command is designed for use with three physical sensors or switches tied to three separate digital
inputs of the drive: a home sensor, a CW end-of-travel limit, and a CCW end-of-travel limit.
89 920-0002 Rev. T
4/30/2019
Host Command Reference
Command Details:
Structure EH{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile No
Register Access None
Parameter Details:
Parameter #1 Input number, Input condition
- units Integer, letter
- range Integer: Input number (range depends on model)
letter: L = low, H = high, F = falling edge, R = rising edge
Examples:
Command Drive sends Notes
EH3L % Homing to home sensor wired to input 3, triggered by Low (closed
circuit) condition
920-0002 Rev. T 90
4/30/2019
Host Command Reference
EI - Input Noise Filter
Compatibility: ST, STM, SV7, SVAC3, STAC5 and STAC6
Affects: “Input Noise Filter” parameter
See also: CM, ER, FE and HW commands.
Sets or requests the Input Noise Filter parameter. This parameter acts as a low-pass filter, rejecting noise above
the specified frequency.
NOTE: On STAC5-S and SVAC3-S drives, this parameter setting affects inputs X1 - X4, and is an alternative to
the FI command if input noise filtering is required.
STM17
Given a cutoff frequency, an appropriate EI value may be calculated as follows (where ‘f’ is the target cutoff
frequency):
EI = 9,000,000 / f
EI = 15,000,000 / f
Command Details:
Structure EI {Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access none
Parameter Details:
Parameter #1 Noise Filter Constant
- units
- range 0 - 255
Examples:
Command Drive sends Notes
EI128 - (STM17) Set noise filter to 70.3 kHz (9,000,000 / 128)
EI128 - (STM23) Set noise filter to 117.2 kHz (15,000,000 / 128)
EI EI=128
91 920-0002 Rev. T
4/30/2019
Host Command Reference
EN - Numerator of Electronic Gearing Ratio
Compatibility: SV200 series servo drives only
Affects: control mode 7, electronic gearing
See also: EG, PV, EU DS commands.
Command Details:
Structure EN{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 numerator of electronic gearing
- units integer number
- range 0 - 1000
Default value 1000
Examples:
Command Drive sends Notes
EN1000 % Set the numerator of electronic gearing ratio to 1000
EN EN=1000 the numerator of electronic gearing ratio is 1000
920-0002 Rev. T 92
4/30/2019
Host Command Reference
EP - Encoder Position
Compatibility: Servo drives and stepper drives with encoder feedback
Affects: Encoder position value
See also: SP, MT, WM commands.
The EP command allows the host to define the present encoder position. For example, if the encoder is at 4500
counts, and you would like to refer to this position as 0, send EP0. To ensure that the internal position counter
resets properly, use SP immediately following EP. For example, to set the position to zero after a homing routine,
send EP0 then SP0.
Sending EP with no position parameter requests the present encoder position from the drive.
For best results when using stepper systems, AMP recommends setting both CC and CI to the motor’s maximum
ratings before issuing an EP command. This will avoid any position error caused by the motor’s detent torque.
Once EP has been changed, reset CC and CI to their running levels.
WARNING: When in Multi-tasking mode (see MT command), the EP command should not be issued while the
drive is simultaneously executing a move command (CJ, FL, FP, FS, etc.). A drive fault or other unexpected
problems may result.
Command Details:
Structure EP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile NO
Register Access “e” (053) read only
Parameter Details:
Parameter #1 Encoder position value
- units Counts
- range -2,147,483,647 to 2,147,483,647
Examples:
Command Drive sends Notes
93 920-0002 Rev. T
4/30/2019
Host Command Reference
ER - Encoder Resolution
Compatibility: Servo drives and stepper drives with encoder feedback
Affects: Motor Operation
Sets the encoder resolution in quadrature counts. For example, if the motor connected to the drive has an 8000
count (2000 line) per revolution encoder, set the encoder resolution to 8000.
WARNING: Changing this setting will affect motor commutation with servo drives. Use the Quick Tuner (for
BLu, SV7, and SVAC3 drives) setup utility to change this setting, then run the “Timing Wizard” in Quick Tuner to
properly set up the motor commutation. (for BLu, SV7, and SVAC3 drives)
Command Details:
Structure ER{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Encoder resolution
- units encoder counts/rev
- range 200 - 128000
Examples:
Command Drive sends Notes
ER8000 - Set encoder resolution to 8000 counts/rev
ER ER=8000
920-0002 Rev. T 94
4/30/2019
Host Command Reference
ES - Single-Ended Encoder Usage
Compatibility: Servo and stepper drives with encoder feedback (except STM)
Allow a single-ended encoder to be used for drive feedback and commutation. This command has the same
function as the box marked “Single Ended” in the Encoder setup screens of ST Configurator or QuickTuner.
While some applications require single-ended encoders to be used, differential signals are always recommended
due to their superior noise immunity,
Command Details:
Structure ES{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Single Ended Encoder Usage Flag
- units integer
- range 0 = Differential encoder used (recommended)
1 = Single-ended encoder used
Examples:
Command Drive sends Notes
ES0 - Drive will use a differential encoder
ES ES=0
95 920-0002 Rev. T
4/30/2019
Host Command Reference
EU - Denominator of Electronic Gearing Ratio
Compatibility: SV200 series servo drives only
Affects: control mode 7, electronic gearing
See also: EG, PV, EN, DS commands.
Command Details:
Structure EU{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Denominator of electronic gearing
- units integer number
- range 0 - 1000
Default value 1000
Examples:
Command Drive sends Notes
EU1000 % Set the denominator of electronic gearing ratio to 1000
EU EN=1000 the denominator of electronic gearing ratio is 1000
920-0002 Rev. T 96
4/30/2019
Host Command Reference
FA - Function of the Single-ended Analog Input
Compatibility: SV200 series servo drives only
Affects: Control mode relating to analog input
See also: CM, CN commands
Command Details:
Structure FA{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access NO
Parameter Details:
Parameter #1 Single-ended analog input channel
- units integer number
- range 1~2
Parameter #2 Function of the selected analog channel
- units integer number
- range 1~3
Default value 3
Examples:
Command Drive sends Notes
FA11 % Set the Analog input Ain1 to be used as velocity or position
reference input.
FA1 FA1=1 The Analog input Ain1 is used as velocity or position reference input.
97 920-0002 Rev. T
4/30/2019
Host Command Reference
FC - Feed to Length with Speed Change
Compatibility: All drives, though Q drives have added functionality (see below)
See also: VC, VE, DC, DI, SD, WP commands
Executes a feed to length (relative move) with a speed change. Overall move distance and direction come from
the last DI command. Accel and decel are from AC and DE commands, respectively. Initial speed is VE. After the
motor has moved DC counts, the speed changes to VC. If DC is equal to or greater than DI, a speed change will
not occur.
Optionally, a parameter pair may be used with the FC command to designate a switch and polarity to use as a
trigger for the final move segment. If a switch parameter is used, the motor will change speed at the DC distance
and will maintain that speed until the input is triggered. Once this input condition is met, the drive will travel the
full DI distance and decelerate to a stop per the DE ramp. In this scenario, the overall move distance is the sum
of DC, DI and the distance between the DC change point and the point where the input is triggered. The overall
distance then, depends on the location of the trigger input.
Q drives only
With Q drives there may be multiple VCs and DCs per FC command, allowing for more complex, multi-velocity
moves. To make multi-velocity moves with more than one speed change, the WP (Wait Position) command is also
required. A sample sequence is shown in the Examples section below.
(Velocity)
VE
AC
DE
VC
DC (Distance)
DI
VE SWITCH
EVENT
AC
DE
VC
(Distance)
DC DI
920-0002 Rev. T 98
4/30/2019
Host Command Reference
Command Details:
Structure FC{Parameter #1}{Parameter #2}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
DI50000 - Set distance to 50000 steps
VE5 - Set velocity to 5 rps
DC40000 - Set change distance to 40000 steps
VC0.5 - Set change velocity to 0.5 rps
FC - Initiate move
* Because multi-tasking is required for the WP command to be used, only Q models can perform multi-
segment moves.
99 920-0002 Rev. T
4/30/2019
Host Command Reference
FD - Feed to Double Sensor
Compatibility: All drives
See also: FM, FS, FY, VC commands; see AT command for using analog input as sensor input
Accelerates the motor at rate AC to speed VE. When the first sensor is reached (first input condition is made), the
motor decelerates at rate DE to speed VC. When the second sensor is reached (second input condition is made),
the motor decelerates over the distance DI to a stop at rate DE. The sign of the DI register is used to determine
both the direction of the move (CW or CCW), and the distance past the second sensor. If DI is long the motor
may not begin decel immediately after the second sensor. If DI is short the motor may decelerate using a faster
decel rate than DE. Both analog and digital inputs can be used as sensor inputs.
Command Details:
Structure FD(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
FDX2F4H - Launch Feed to Double Sensor move: decel from VE to VC when
input 2 changes from high to low (falling), then decel to a stop when
input 4 is high
FE - Follow Encoder
Compatibility: All drives
See also: EG, MT, ST commands
Puts drive in encoder following mode until the given digital or analog input condition is met. The master encoder
channels A and B must be wired to the STEP/X1 and DIR/X2 inputs of the drive. Use the EG command before
the FE command to set the following resolution, or use the “R” register to dynamically adjust the following
resolution while following (Note that in stepper drives the “R” register is equal to 1/2 the EG command). The Step
Smoothing Filter is active in FE mode; see the SF command for details.
When the FE command is initiated, the acceleration rate AC is used to ramp the motor up to the following speed.
(Doing this prevents extreme accelerations when the master encoder signal is already at its target velocity). The
motor continues to follow the master encoder pulses until the input condition is met, at which time the motor
decelerates at rate DE to a stop using the DI command as the overall decel distance. If DI is long the motor may
not begin decel immediately after the input condition is met. If DI is short the motor may have to decelerate at a
rate faster than DE.
Before the input condition is met the motor will follow the master encoder pulses in both CW and CCW directions,
regardless of the sign of the DI command. However, once the input condition is met the motor will only stop
properly if moving in the direction set by the DI command.
When done executing the drive returns to the mode it was in before executing the FE command.
NOTE: You must use the appropriate configuration software - Quick Tuner for servos, Configurator for steppers - to
set up the STEP/X1 and DIR/X2 inputs for encoder following. Do this by choosing A/B Quadrature in the Position
mode settings.
NOTE: Take care when changing the “R” register while following because some move parameters will be scaled as
well and therefore the move may change unexpectedly.
Command Details:
Structure FE(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
AC500 - Limit acceleration in encoder following to 500 rps/s
DI8000 - Set the stopping offset distance to 8000 counts
FE4L - Run in encoder following mode until input 4 is low
Find Home will execute specific homing methods as described by the CANopen standard, CiA402. Support
for homing methods 1 and 2 are available with this command. These methods require that end-of-travel limit
sensors are wired to the limit inputs and configured with the appropriate software or by using the DL (Define
Limits) command.
Homing Method 1 will home to the first index detected while moving in the CCW direction after the CW limit
switch is reached.
Homing Method 2 will home to the first index detected in the CW direction after the CCW limit switch is reached.
Homing Method 1
HOMING MODE #1
CW
W CCW
Index
Pulse
Home
Unused
Switch
Neg Limit
Switch
Pos Limit
Unused
Switch
As shown above, the initial direction of movement shall be CW if the CW limit switch is not already triggered. The
home position shall be at the first index pulse in the CCW direction after the CW limit switch becomes inactive.
First, the motor moves in CW direction and stops when CW limit switch is triggered. Then it moves in CCW
direction until the first index is reached after the CW limit switch becomes inactive. Velocity, acceleration and
deceleration are set by VE, AC and DE respectively in the first move. Velocity, acceleration and deceleration
are set by VC, AC and DE commands respectively in the second move. The index pulse is masked until motion
occurs in the CCW direction and the CW limit switch has changed to an inactive state after having been
triggered.
The DL command sets the active signal state of the limit switches: end-of-travel limit reached when low (closed)
vs. high (open).
Homing Method 2
HOMING MODE #2
CW
W CCW
Index
Pulse
Home
Unused
Switch
Neg Limit
Unused
Switch
Pos Limit
Switch
As shown above, the initial direction of movement shall be CCW if the CCW limit switch is not already triggered.
The home position shall be at the first index pulse in the CW direction after the CCW limit switch becomes
inactive.
First, the motor moves in CCW direction and stops when CCW limit switch is triggered. Then it moves in CW
direction until the first index is reached after the CCW limit switch becomes inactive. Velocity, acceleration and
deceleration are set by VE, AC and DE respectively in the first move. Velocity, acceleration and deceleration
are set by VC, AC and DE commands respectively in the second move. The index pulse is masked until motion
occurs in the CW direction and the CCW limit switch has changed to an inactive state after having been
triggered.
The DL command sets the active signal state of the limit switches: end-of-travel limit reached when low (closed)
vs. high (open).
Parameter Details:
Parameter #1 Homing Method
- units Short
- range 1-2
Examples:
Command Drive sends Notes
FH1 % Homing to the first index pulse reached in the CCW direction after the
CW limit switch is reached.
Applies a digital filter to the given input. The digital input must be at the same level for the time period specified
by the FI command before the input state is updated. For example, if the time value is set to 100 the input must
remain high for 100 processor cycles before high is updated as the input state. A value of “0” disables the filter.
BLu, STAC6
This command can be used to apply filters to low speed inputs X3 through X7 on the main driver board of all
drives, and can also be used on top board inputs IN3 through IN7 of SE, QE, and Si drives. Reassigning the
filters to top board inputs of SE, QE and Si drives is done with the FX command.
SV, ST-Q/Si
This command can be used to apply filters to low speed inputs X3 through X8.
STM24-SF/QF
For drives with Flex I/O, this command can be used to apply filters to any input.
STM24-C
This command can be used to apply filters to inputs IN1, IN2 and IN3.
STAC5-Q/IP, SVAC3-Q/IP
This command can be used to apply filters to inputs IN5 - IN8.
TSM-P
This command can be used to apply filters to inputs X1 - X4.
TSM-S/Q/C
This command can be used to apply filters to inputs X3 - X6.
TXM-S/Q/IP
This command can be used to apply filters to inputs X1 - X3.
TXM-C
This command can be used to apply filters to inputs X3 - X5.
MDX
This command can be used to apply filters to inputs X3 - X6.
SS
This command can be used to apply filters to inputs X5 - X8.
SV200
This command can be used to apply filters to inputs X9 - X12.
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
FI4100 - Requires that input X4 (if FX=1) maintain the same state (low or
high) for 100 total processor cycles before the drive registers the change
FI4 FI4=100
NOTE: A side effect of the digital filter, which is true of any filter, is to cause a lag in the response to an input level.
When an input changes state and is solid (no noise), the lag time will be the same as the filter value. When noise
is present the lag may be longer.
Executes a relative move command. Move distance and direction come from the last DI command. Speed,
accel and decel are from the VE, AC and DE commands, respectively. Executing the FL command with no
parameter initiates a feed to length move that uses the last DI command for direction and distance. Executing
the FL command with a parameter uses the parameter settings for direction and distance without changing the DI
command.
Command Details:
Structure FL{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Relative distance
- units counts or steps
- range -2,147,483,647 to 2,147,483,647
sign determines direction: “-” for CCW, no sign for CW
Examples:
Command Drive sends Notes
DI20000 - Set distance to 20000 counts in the CW direction
FL - Launch Feed to Length move
For Ethernet drives, do not use FL with a distance parameter. Instead, use DI to set the move distance.
Executes a Feed to Sensor command (see FS command) except sensor is ignored for the first DC counts of the
move. In other words the sensor is “masked” for a beginning portion of the move. This command is useful for
ignoring noise from a mechanical switch or for clearing a part before sensing the next one.
Command Details:
Structure FM(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Example: Parts are feeding on a conveyor which is being driven by the motor. A sensor detects the leading
edge of the part and stops. If the part has a hole in it, which is common, when you attempt to feed the next
part into position you may in fact stop after feeding the previous part only a short distance because the sensor
will register the hole in the part rather than the leading edge of the next part. The solution is to use the FM
command instead of the FS command, and to set the DC command for the size of the part (or greater).
Example continued: The parts on a conveyor are 6 inches long. Your mechanical linkage provides 2000 steps
per inch. You want the leading edge of the part to stop moving 1 inch past the sensor, and therefore 5 inches
of the part will not have gone past the sensor yet. To avoid holes in the part and see the next part properly, we
need to mask 5 inches or more of the move. Here are the commands you could use.
Same as Feed to Length (FL) but changes the state of an output during the move. Overall move distance is
defined by the DI command. Accel rate, decel rate, and velocity are set by the AC, DE and VE commands,
respectively. Distance within overall move at which output condition should be set is defined by the DC command.
If DC is equal to or greater than DI, the input condition will not be met during the move and the output will not be
set.
NOTE: Dedicated output functions - alarm output, brake output, motion output - must be configured as general
purpose before the FO command can be used with the drive’s output. See AO, BO, and MO commands.
Command Details:
Structured FO(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Example: You’re feeding parts to be cut to length. For maximum throughput, you want to trigger the cut-off
knife as the part is nearing the final position.
Executes an absolute move command. Move position comes from the last DI command. Speed, accel and decel
are from VE, AC and DE commands, respectively. Executing the FP command with no parameter initiates a feed
to position move that uses the last DI command for position. Executing the FP command with a parameter uses
the parameter for position without changing the DI command.
Command Details:
Structure FP{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Absolute position
- units counts or steps
- range -2,147,483,647 to 2,147,483,647
Examples:
Example: After homing the motor you want to zero the home position and move to an absolute position 8000
counts (or steps) from the new home position.
For Ethernet drives, do not use FP with a position parameter. Instead, use DI to set the target position.
Executes a Feed to Sensor command. Requires input number and condition. The motor moves until a sensor
triggers the specified input condition, then stops a precise distance beyond the sensor. The stop distance is
defined by the DI command. The direction of rotation is defined by the sign of the DI command (“-” for CCW, no
sign for CW). Speed, accel and decel are from the last VE, AC and DE commands, respectively.
A motor moving at a given speed, with a given decel rate, needs a certain distance to stop. If you specify too
short a distance for DI the drive may overshoot the target. Use the following formula to compute the minimum
decel distance, given a velocity V (in rev/sec) and decel rate D (in rev/sec/sec.). R = steps/rev, which will equal
the encoder resolution for a servo motor and the EG setting for a step motor.
(V)2(R)
minimum decel distance =
2(D)
Note that it is possible to use an analog input (AIN) as a discrete sensor by configuring a threshold point. See the
AT command for details.
Command Details:
Structure FS(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
FS1L - Launch move and decel to stop when sensor tied to input 1 is low
FS3R - Launch move and decel to stop when sensor tied to input 3 changes
from low to high (rising edge)
FSX5L - Launch move and decel to stop when sensor tied to input X5 is low
The FX command allows changing the target inputs of a drive’s digital input filters from the main board X3 through
X7 inputs to the top board IN3 through IN7 inputs. This can only be done on SE, QE, and Si drives with firmware
1.53U or later.
Command Details:
Structure FX{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Digital inputs selector
- units integer
- range 0 = top board inputs of SE, QE, and Si drives
1 = main board inputs of all drives
Examples:
Command Drive sends Notes
FX0 - Cause digital input filters set by FI command to affect top board
inputs IN3 through IN7 of SE, QE, and Si drives.
FX FX=1 Digital filters are set to be applied to main driver board inputs
X3 through X7.
Executes a Feed to Sensor move while monitoring a predefined safety distance DC. DI defines the direction of
rotation and the stop distance to move after the sensor triggers the stop input condition. Accel rate, decel rate,
and velocity are set by the AC, DE, and VE commands, respectively. Note that the maximum final motor position
will be the safety distance plus the distance required to decelerate the load, which is dependent on the decel rate
DE.
NOTE: If the safety distance is exceeded, three things will happen. The motor is stopped, the drive sends the host
an exclamation point (“!”) and adds a value of 1 to the Other Flags register (“F” register). This can occur if the
sensor is not encountered before DC is reached, or if the DI value is set high enough that the total move distance
would exceed the maximum of DC plus the deceleration distance determined by DE.
This command is useful for avoiding machine jams or detecting the end of a roll of labels. For example, you are
feeding labels and you want to stop each label 2000 steps after the sensor detects the leading edge. The labels
are 60,000 steps apart. Therefore, if you move the roll more than 60,000 steps without detecting a new label, you
must be at the end of the roll.
NOTE: DI must be assigned a value greater than zero when used with the FY command. If DI is set to zero (DI0),
the motor will not move.
Command Details:
Structure FY(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “F” (022)
Executing the FY command will put a value of 2 in the “F” register
when the sensor is successfully found, or a value of 1 in the “F”
register if the safety distance is met. If you plan to use the “F”
register for monitoring the success of the FY command you must
zero the register before each FY command by executing RLF0.
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
DI2000 - Set distance to stop beyond sensor to 2000 counts/steps
DC60000 - Set safety distance to 60000 counts/steps
FY2L - Launch Feed to Sensor: motor will stop when input 2 is low or when
60000 counts/steps are reached: whichever event comes first
When using the SE, QE, or Si drives and needing to access the main driver board inputs...
FYX2L - Launch Feed to Sensor: motor will stop when main driver board input
2 is low or when 60000 counts/steps are reached: whichever
event comes first
Sets or requests the immediate current command for the servo motor and drive when the servo drive is set for
Command Mode 1 (CM1).
NOTE: Setting this value may make the servo motor run to a very high speed, especially if there is no load on the
motor. Take care when using this command.
Command Details:
Structure GC{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile Yes
Register Access “G” (023)
Command Details:
Parameter #1 RMS Current
- units 0.01 amps rms
- range -2000 to +2000 (+/- 20 amps rms)
Examples:
Command Drive sends Notes
CM1 - Set servo drive to Commanded Current Command Mode
GC100 - Set current to motor at 1 A rms
GC-100 - Set current to motor at -1 A rms (opposite direction)
Defines the usage of input X7 for PID controller global gain selections.
GG1: select KP when input X7 is open, and select KG when input X7 is closed.
GG2: select KP when input X7 is closed, and select KG when input X7 is open.
GG3: Input X7 is used as general purpose input. Select KP as global gain.
Command Details:
Structure GG{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access No
Command Details:
Parameter #1 See above
- units integer number
- range 1~3
Examples:
Command Drive sends Notes
GG1 % Set the usage of global gain selection to 1
GG GG =1 The usage of global gain selection is 1
Sets or requests the acceleration rate used in Extended Homing Mode and Hard Stop Homing Mode in rev/sec/
sec.
NOTE: This command is designed for to set the acceleration rate for each step of the Extended Homing or Hard
Stop Homing process. Please see the detail reference to EH and HS command pages for details.
Command Details:
Structure HA{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Select Step
- units Integer
- range 1~3
Parameter #2 Acceleration rate
- units rev/sec/sec (rps/s)
- range 0.167 to 5461.167 (resolution is 0.167 rps/s)
Default value HA1: 100 rps/s HA2: 100 rps/s HA3: 10rps/s
Examples:
Command Drive sends Notes
HA120 % Sets the homing acceleration to 20 rps/s for step 1 of homing process
HA1 HA1=20 Homing accel for step 1 is set to 20 rps/s
Sets or requests the threshold current to be used in Hard Stop Homing mode (see HS command). This current
value cannot be greater than the continuous current setting (CC). The current setting is used to determine when
the motor has hit the hard stop position. To ensure the protection of mechanical components within the system, it
is important to set this value sufficiently low.
Command Details:
Structure HC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Current in Hard Stop Homing mode
- units amps (resolution is 0.01 amps)
- range 0.01 – CC (where CC is the continuous current setting)
Examples:
Command Drive sends Notes
HC1 % Sets Hard Stop Current to 1 Amp.
HC HC=1
Specifies the amount of time the drive will attempt to recover from a stall while in Stall Prevention mode.
In Stall Prevention mode (See EF command), the drive will attempt to recover from a stall condition. This delay
setting dictates the amount of time the drive will work to recover from such a stall before faulting. This allows the
machine to recover from minor disruptions without unnecessarily working to recover from an unrecoverable state.
Command Details:
Structure HD{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Hard Stop Fault Delay Time
- units integer
- range 1 - 32000 milliseconds
Examples:
Command Drive sends Notes
HD1000 - In the event of a stall, instruct the drive to attempt to recover for 1000ms
(1 second) before faulting.
Sets or requests the 4th harmonic filter gain setting. This setting works in conjunction with the 4th harmonic filter
phase setting (HP) to reduce low-speed torque ripple in step motors.
NOTE: We strongly suggest you set this value in the ST Configurator software application only.
Command Details:
Structure HG{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile YES only when set in Configurator software, otherwise NO
Register Access None
Parameter Details:
Parameter #1 Filter gain
- units integer number
- range 0 - 32767
Examples:
Command Drive sends Notes
HG8000 - Set filter gain value to 8000
HG HG=8000
Sets or requests the deceleration rate used in Extended Homing mode and Hard Stop Homing mode.
NOTE: This command is designed to set the deceleration rate for each step of the Extended Homing or Hard Stop
Homing process. Please reference EH and HS command pages for details.
Command Details:
Structure HL{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Select Step
- units Integer
- range 1~3
Parameter #2 Deceleration rate
- units rev/sec/sec (rps/s)
- range 0.167 to 5461.167 (resolution is 0.167 rps/s)
Default value HL1: 100 rps/s HL2: 100 rps/s HL3: 10rps/s
Examples:
Command Drive sends Notes
HL220 % Sets the homing deceleration to 20 rps/s for step 2 of homing process
HL2 HL2=20 Homing accel for step 2 is set to 20 rps/s
Sets or requests the move distance in steps after the home sensor has been reached in Extended Homing (EH)
and Hard Stop Homing (HS) modes. The sign of HO indicates the initial move direction when homing begins: no
sign (positive) means CW and a “-” (negative) sign means CCW.
Command Details:
Structure HO{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Distance after Home sensor reached
- units steps
- range -2,147,483,647 to 2,147,483,647
sign determines direction: “-” for CCW, no sign for CW
Default value 2000
Examples:
Command Drive sends Notes
HO20000 % Sets Home Offset distance to 20000 steps; initiates homing in CW
direction.
HO HO=20000
Sets or requests the 4th harmonic filter phase setting. This setting works in conjunction with the 4th harmonic
filter gain setting (HG) to reduce low-speed torque ripple in step motors.
NOTE: We strongly suggest you set this value in the ST Configurator software application only.
Command Details:
Structure HP{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile YES only when set in Configurator software, otherwise NO
Register Access None
Parameter Details:
Parameter #1 Filter phase
- units integer number
- range -125 to +125
Examples:
Command Drive sends Notes
HG105 - Set 4th harmonic filter gain to 105
HG HG=105
Executes the Hard Stop Homing. process, which may optionally search for the first encoder index pulse after
finding a rigid mechanical end stop in the chosen direction. The current threshold must first be set with the HC
command, as well as the homing velocity (HV), accel (HA), and decel (HL) for each step of the homing process.
The start direction comes from the sign of the HO command (“-” is CCW, no sign is CW). The Home Offset (HO)
value is used for the final offset move once the hard stop or index has been reached.
Moving direction
HV1
Home
2: Reaching one end
Home
3: Searching for the first index position
HV3
Home
4: Reaching home
Offset
distance
HV2
Home
Parameter Details:
Parameter #1 Hard Stop Home with or without index
- units none
- range 0 = without index
1 = with index
Examples:
Command Drive sends Notes
HS1 - Execute the hard stop homing process AND use encoder index
Sets or requests the shaft speed used in the Extended Homing (EF) and Hard Stop Homing (HS) modes.
HV1: Homing velocity for searching Limit Sensor and Home sensor for Extended Homing (EH). For Hard Stop
Homing (HS), this is the velocity used while seeking the hard stop.
HV2: Homing velocity for moving the offset distance.
HV3: Homing velocity for returning back to home sensor after offset distance has been reached for Extended
Homing (EH). For Hard Stop Homing (HS), this is the velocity used for seeking the index pulse after the hard stop
is reached and before the offset move..
Command Details:
Structure HV{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Select Step
- units integer
- range 1~3
Parameter #2 Move velocity
- units rev/sec (rps)
- range 0.0042 - 80.0000 (resolution is 0.0042)
Default value HV1: 10rps HV2: 5rps HV3: 0.5rps
Examples:
Command Drive sends Notes
HV110 % Setting the homing velocity to 10 rps for step 1
HV1 HV1=10 Reading Homing velocity for step 1
Puts drive in “hand wheel” mode until the given digital or analog input condition is met. Hand wheel mode is a
kind of low speed following mode, where the motor follows master encoder signals as a hand wheel is manually
turned. This command differs from the FE command in that the AC, DE, and DI commands are not used in any
way. In other words, the motor will attempt to follow the master encoder signals without injecting any ramps to
smoothly approach high frequency target speeds or to come to a stop when the stop input condition is met.
ST-S, STM17/23
Inputs STEP and DIR are used for connecting the A and B signals of the encoder-based handwheel. The EG
(Electronic Gearing) command defines the following resolution of the step motor.
Command Details:
Structure HW(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
HWX4L - Run in hand wheel mode until input X4 low
The following section describes commands that return “Immediate” results when sent. These selected commands
provide useful information for monitoring internal values from the drive.
Data can be sent out in two different formats, Hexadecimal or Decimal. By default the data is returned in
Hexadecimal because of its speed and efficiency. Conversion to ascii in the Decimal format is slower and causes
a slight delay that varies in length. Hexadecimal minimizes the overhead required to convert the internal binary
data to ascii form. This speeds up the process of sending out the requested data thus giving the most recent
value. Typically, applications written on more powerful Host computers can easily convert a hexadecimal value to
an integer value.
The Immediate Format (IF) command sets the format of the returned data to hexadecimal or decimal. For cases
where a slight delay is acceptable the data can be sent out in decimal form. Setting the format affects all of the “I”
commands (except IH and IL). See IF command in the following pages.
All the “I” commands can be used at any time and at the fastest rate possible limited only by the given Baud Rate
(See BR and PB commands). As with any immediate type command it is acted upon as soon as it’s received.
Regardless of format (hex or dec) there will be a slight delay in processing the command. “Real time” usage of
the data must be carefully analyzed.
ST-S, STM
Requests present analog input value. There are two different analog values that can be accessed. With no
parameter the IA command returns the Analog Command value which is derived from the analog input with gain
and offset values applied as set in ST Configurator or via the AD, AV and/or AZ commands. When a parameter is
given raw (unscaled) analog input values are returned.
Note: The output of the IA command is formatted by IF. See IF for further details.
Command Details:
Structure IA{Parameter #1}
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access All drives...
“a” (049) Analog Command
ST-S, STM...
“j” (058) AIN (unscaled)
Parameter Details:
BLu, SV, STAC6, ST-Q/Si, STAC5, SVAC3
Parameter #1 Analog input
- units integer
- range No parameter or 0 = Analog command
1 = Analog input 1 (unscaled)
2 = Analog input 2 (unscaled)
3 = Expanded analog input (SE, QE, and Si models)
Servo drives
Requests the present RMS current commanded by the servo loop. This may not be the actual current at the motor
windings. Most AC servo motors are commutated using a sinusoidal current waveform that is a “peak” value and
not directly represented by the commanded current. The commanded current is the average RMS current being
asked of the driver. Typically with a well tuned current loop the RMS current in the servo motor is well represented
by this value.
Stepper drives
Requests the present (peak-of-sine) current applied to each motor phase. This value will change depending on
what the motor is doing at the moment the command is processed. If the motor is moving this value will equal the
CA (STM only) or CC value. If the motor is not moving this value will equal the CI value.
Command Details:
Structure IC
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “c” (051)
Units 0.01 amps
Examples:
Command Drive sends Notes
IC IC=015E 3.5 amps
IC IC=FEA2 -3.5 amps
BLu, STAC6
Requests the total relative distance moved in the last completed move.
Command Details:
Structure ID
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “d” (052)
Units encoder counts (servo)
steps (stepper)
Examples:
Command Drive sends Notes
ID ID=00002710 10000 (10000 counts into CW move)
ID ID=FFFFD8F0 -10000 (10000 counts into CCW move)
Command Details:
Structure IE
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “e” (053)
Units encoder counts
Examples:
Command Drive sends Notes
IE IE=00002710 Encoder position is (+)10000 counts
IE IE=FFFFD8F0 Encoder position is -10000 counts
Sets the data format, hexadecimal or decimal, for data returned using all “I” commands (except IH, IL, IO and IS).
Data can be requested from the drive in two formats: hexadecimal or decimal. By default data is returned in
hexadecimal because of its speed and efficiency. Conversion to ascii in the decimal format is slower and causes
a slight delay that varies in length. Hexadecimal minimizes the overhead required to convert the internal binary
data to ascii form. This speeds up the process of sending out the requested data thus giving the most recent
value. Typically, applications written on more powerful host computers can easily convert a hexadecimal value into
a decimal value.
All “I” commands can be used at any time and at the fastest rate possible limited only by the given baud rate (see
BR and PB commands). Immediate commands are executed as they are received, regardless of what is in the
drive’s command buffer. Regardless of format (hex or dec) there will be a slight delay in processing the response
to an “I” command. “Real time” usage of the data must be carefully analyzed.
Command Details:
Structure IF{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Return format
- units letter
- range H (hexadecimal) or D (decimal)
Examples:
Command Drive sends Notes
IFH - Sets format to Hexadecimal
ID ID=00002710 Distance is 10000 counts
IF IF=H
Sets an output high (open) immediately. Use SO instead if you don’t want the output to change until a buffered
command (like a move) is complete.
Command Details:
Structure IH(Parameter #1)
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
IH1 - Output 1 goes high immediately
IH2 - Output 2 goes high immediately
Sets an output low (closed) immediately. Use SO instead if you don’t want the output to change until a buffered
command (like a move) is complete.
Command Details:
Structure IL(Parameter #1)
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
IL1 - Output 1 goes low immediately
IL2 - Output 2 goes low immediately
To force Outputs on main driver board when using an SE, QE, or Si drive
ILY1 - Output 1 of main driver board goes low immediately
ILY2 - Output 2 of main driver board goes low immediately
With no parameter this command requests the immediate status of the designated outputs. The status is
displayed as an 8-bit binary number with output 1 in the far right position (bit 0). With a parameter this command
sets the outputs high or low using the decimal equivalent of the same binary pattern. Logic zero (“0”) turns an
output on by closing it.
Command Details:
Structure IO{Parameter #1}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
BLu and STAC6-S or -Q versions (optional “Y” character is not necessary)
Command Drive sends Notes
IO IO=00000000 All 3 outputs of IN/OUT1 or main board are low (closed)
IO IO=00000111 All 3 outputs of IN/OUT1 or main board are high (open)
IO0 - Sets all 3 outputs low (closed)
IO7 - Sets all 3 outputs high (open)
STAC5-S, SVAC3-S
Command Drive sends Notes (DB-15)
IOY IO=00000000 Both outputs of IN/OUT1 are low (closed)
IOY IO=00000011 Both outputs of IN/OUT1 are high (open)
IOY0 - Sets both outputs of IN/OUT1 low (closed)
IOY3 - Sets both outputs of IN/OUT1 high (open)
STAC5-Q/IP, SVAC3-Q/IP
Command Drive sends Notes (DB25)
IO IO=00000000 All 4 outputs of IN/OUT2 are low (closed)
IO IO=00001111 All 4 outputs of IN/OUT2 are high (open)
IO0 - Sets all 4 outputs of IN/OUT2 low (closed)
IO15 - Sets all 4 outputs of IN/OUT2 high (open)
IO IO=00001111 All 4 outputs of IN/OUT2 high (open)
Notes (DB15)
IOY IO=00000000 Both outputs of IN/OUT1 low (closed)
IOY IO=00000011 Both outputs of IN/OUT1 high (open)
IOY0 - Both outputs of IN/OUT1 low (closed)
IO3 - Both outputs of IN/OUT1 high (open)
SV, ST-Q/Si
Command Drive sends Notes
IO IO=00000000 All 4 outputs are low (closed)
IO IO=00001111 All 4 outputs are high (open)
IO0 - Sets all 4 outputs low (closed)
IO15 IO=000001111 Sets all 4 outputs high (open)
IO7 IO=000000111 Closes output 4
MDX
Command Drive sends Notes
IO IO=00000000 All 4 outputs are low (closed)
IO IO=00001111 All 4 outputs are high (open)
IO0 - Sets all 4 outputs are low (closed)
IO15 - Sets all 4 outputs are high (open)
IO IO=00001111 All 4 outputs are high (open)
Requests present absolute position. This is the calculated trajectory position, which is not always equal to actual
position. The position data is assigned a 32-bit value. When sent out in Hexadecimal it will be 8 characters long.
When sent out in decimal it will range from 2147483647 to -2147483648.
Command Details:
Structure IP
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Units encoder counts (servo)
steps (stepper)
Examples:
Command Drive sends Notes
IP IP=00002710 Absolute position is 10,000 counts (or steps)
IP IP=FFFFD8F0 Absolute position is -10,000 counts (or steps)
Requests present actual current. This current reading is the actual current measured by the drive. As with the
Commanded Current this is an RMS value that represents the DC current in the motor windings.
Command Details:
Structure IQ
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Units 0.01 Amps
Examples:
Command Drive sends Notes
IQ IQ=015E 3.5 Amps
IQ IQ=FEA2 -3.5 Amps
Requests immediate status of all drive inputs. A closed input is represented by a “0” (zero), and an open input is
represented by a “1” (one). Unused positions in the response are represented by “0” (zero).
BLu, STAC6
On S and Q drives the IS command requests the status of IN/OUT1 or main driver board (DB-25) inputs X1
through X7 plus the encoder index channel (if present). On SE, QE, and Si drives the ISX command (IS
command with parameter character X) is required to request status of IN/OUT1 or main driver board (DB-25)
inputs X1 through X7 plus the encoder index channel (if present), while IS requests IN/OUT2 or top board (screw
terminal) inputs 1 through 8.
SV, ST-Q/Si
The IS command requests the status of inputs X1 through X8 plus the encoder index channel (if present).
STM17-C, STM24-C
The IS command requests the status of all three digital inputs, IN1, IN2, and IN3, plus the encoder index
channel, if present.
SSM/TSM/TXM
The IS command request the status of all inputs plus the encoder index channel.
SS
The IS command requests the status of inputs X1 - X8 plus the encoder index channel.
SV200
The IS command requests the status of inputs X1 - X12 plus the encoder index channel.
MDX
The IS command requests the status of inputs X1 - X8 plus the encoder index channel.
Command Details:
Structure IS{Parameter #1}
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Parameter Details:
BLu, STAC6
Parameter #1 Optional “X” character used to access driver board inputs
with SE, QE, and Si drives.
SVAC3, STAC5
Parameter #1 Optional “X” character used to access driver board inputs
with Q and IP drives.
Response Details:
BLu, STAC6
S and Q drives SE, QE, and Si drives
STEP (IN1)
DIR (IN2)
EN (IN3)
ISX = IS =
X1 IN1
X2 IN2
X3 IN3
X4 IN4
IN5
IN6
IN7
Encoder Index IN8
(if present)
Examples:
BLu and STAC6-S or -Q versions (optional “X” character is not necessary)
Command Drive sends Notes
IS IS=00000000 All 8 inputs are low (closed)
IS IS=11111111 All 8 inputs are high (open)
IS IS=11101100 Inputs 1, 2, and 5 are closed
IS IS=10000101 Inputs 2, 4, 5, 6, and 7 are closed
BLu and STAC6-SE, -QE, or -Si versions (optional “X” character necessary to access IN/OUT1 or main driver
board (DB-25) inputs
Command Drive sends Notes
IS IS=11010011 Inputs 3, 4, and 6 are closed
ISX IS=10101110 Inputs X1, X5, and X7 are closed
SV, ST-Q/Si
Command Drive sends Notes
IS IS=100110110 Inputs 1, 4, 7, and 8 are closed
IS IS=011111111 Encoder index channel is closed
SVAC3, STAC5
Command Drive Sends Notes
IS IS=10001111 (S drive) No inputs are closed.
IS IS=10001111 (Q or IP drive) Inputs IN5 - IN7 are closed.
MDX
Command Drive Sends Notes
IS IS=011111111 All inputs are open
NOTE: When working with digital inputs and outputs it is important to remember the designations low and high.
If current is flowing into or out of an input or output, i.e. the circuit is energized, the logic state for that input/
output is defined as low or closed. If no current is flowing, i.e. the circuit is de-energized, or the input/output is
not connected, the logic state is high or open. A low state is represented by the “L” character in parameters of
commands that affect inputs/outputs. For example, WI3L means “wait for input 3 low”, and SO1L means “set
output 1 low”. A high state is represented by the “H” character.
The temperature reads out in decivolts, or units of 0.1 degrees C. The drive will fault when the temperature
reaches a specified maximum value. (See Parameter Details section below for details).
Command Details:
Structure IT {Parameter #1}
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “t” (068)
Range 0-1
Units 0.1 deg C
Parameter Details:
BLu, STAC6, STM17
Parameter #1 Optional. IT or IT0 returns the termperature as measured
by an external, board-mounted sensor.
ST
Parameter #1 Optional. IT or IT0 returns the termperature as measured
by the internal, on-chip sensor.
SV7
Parameter #1 Optional. IT or IT0 returns the termperature as measured
by the internal, on-chip sensor.
STM23, STM24
Parameter #1 0 = Returns the temperature as measured by the internal,
on-chip sensor.
Examples:
Command Drive sends Notes
IT IT=275 Drive temperature is 27.5o C
IT0 IT=310 Drive temperature is 31.0o C
IT1 IT=412 Drive temperature is 41.2o C
Requests present value of the DC bus voltage, +/-5%. The voltage reads out in 0.1 volts resolution. The drive
will fault when the DC bus voltage reaches a specified maximum value. An Alarm will be set when the DC Bus
voltage is less then a minimum value. (See hardware manuals for details).
Command Details:
Structure IU
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “u” (069)
Units 0.1 Volts DC, +/-5%
Examples:
Command Drive sends Notes
If the IF command is set with Parameter #1=H
IU IU=01E2 DC supply voltage is 48.2 Volts
IU IU=067E DC bus voltage is 166.2 Volts
Requests present velocity of the motor in rpm. There are two different velocities that can be read back: the
motor’s actual velocity and the motor’s target velocity.
Command Details:
Structure IV(Parameter #1)
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “v” (070) Actual velocity (servo drives and stepper drives
with encoder)
“w” (071) Target velocity
Parameter Details:
Parameter #1 Velocity selector
- units integer
- range 0 = actual velocity request (servo drives and stepper drives
with encoder)
1 = target velocity request
Examples:
Command Drive sends Notes
IV0 IV=1000 Servo motor is running at 1000 rpm
IV1 IV=1000 Target motor velocity is 1000 rpm
Command Details:
Structure IX
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access “x” (072)
Units encoder counts
Examples:
Command Drive sends Notes
IX IX=10 Position error is 10 counts
Sets or requests the accel/decel rate for Jog moves in rev/sec/sec. Sending JA with no parameter causes drive to
respond with present jog accel/decel rate. Setting JA overwrites the both the last JA and JL values. This means
that to have different jog accel and jog decel values, you should first send JA to set the jog accel and then send JL
to set the jog decel. The JA value cannot be changed while jogging.
Command Details:
Structure JA{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Jog acceleration value
- units rev/sec/sec (rps/s)
- range 0.167 to 5461.167 (resolution is 0.167 rps/s)
Examples:
Command Drive sends Notes
JA100 - Set jog acceleration to 100 rev/sec/sec
JA JA=100
Sets or requests the second speed used in velocity (oscillator) mode. This only applies to Command Modes (CM)
13, 14, 17, and 18.
ST-S, STM
The EN input is used to select the speed set by the JC command while in Command Mode 13, 14, 17 or 18.
Command Details:
Structure JC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Analog velocity mode second speed
- units rev/sec
- range BLu, SV, STAC6, ST-Q/Si, ST-S: 0.0042 - 133.3333
(resolution is 0.0042)
STM: 0.0042 - 80.0000 (resolution is 0.0042)
Examples:
Command Drive sends Notes
JC11 - Set second jog speed in analog velocity mode to 11 rps
JC JC=11
Sets or requests the speed used in velocity mode. This only applies to control modes 15, 16, 17, and 18.
The command has two parameters: the first parameter selects the velocity number (1-8); the second parameter
sets the velocity value of the selected velocity number. See SVX Servo Suite software.
Command Details:
Structure JC{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access NO
Parameter Details:
Parameter #1 The velocity number
- units integer number
- range 1~8
Parameter #2 Jog velocity
- units rps
- range 1~136
Examples:
Command Drive sends Notes
JC110 % Set the first jog velocity to 10rps
JC1 JC1 =10 The first jog velocity is 10rps
Disables jog inputs (which are active during a WI instruction if previously enabled by the JE command). Jog accel/
decel and velocity are set using the JA and JS commands, respectively.
Command Details:
Structure JD
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
JD - Disable jog inputs while executing the WI command
Enables jog inputs during a WI instruction. Jog accel, decel and velocity are set using the JA, JD and JS
commands, respectively.
BLu, STAC6-Si
Inputs 5 and 6 of IN/OUT2 or top board (screw terminal) connector are the designated jog inputs during a WI
instruction.
SV, ST-Q/Si
Inputs X5 and X6 are the designated jog inputs during a WI instruction.
ST-S, STM
The STEP and DIR inputs are the designated jog inputs during a WI instruction. The STEP and DIR inputs can
each be assigned to only one function in an application. If you want to use the STEP and DIR inputs as jog inputs
you can define them as such with the JE command. JE takes no effect if the drive is set in Command Mode (CM)
7, 11, 12, 13, 14, 15, 16, 17 or 18, because these modes predefine these inputs and take precedence over the JE
command. Also, setting the DL command (to 1 or 2) after setting the JE command reassigns the STEP and DIR
inputs as end-of-travel limit inputs and turns off jogging functionality. In other words, the JE and DL commands,
as well as Command Modes (CM) 7, 11, 12, 13, 14, 15, 16, 17 and 18 each assign a usage to the STEP and DIR
inputs. Each of these must exclusively use the STEP and DIR inputs. Command Modes are most dominant and
will continually prevent JE and DL from using the inputs. JE and DL exclude each other by overwriting the usage
of the STEP and DIR inputs. To enable jogging with the STEP and DIR inputs simply execute the JE command
with CM=21 or CM=22.
Command Details:
Structure JE
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
JE - Enable jog inputs while executing the WI command
WIX4L - Wait for input X4 to close. While waiting jog inputs are active, which
means the motor can be jogged in the CW and CCW directions by
closing the jog inputs. After input X4 closes the jog function stops, at
least until the next WI command executes.
Sets or requests the decel rate for Jog moves and velocity (oscillator) modes in rev/sec/sec. The JL value cannot
be changed while jogging. To maintain compatibility with legacy products, JA sets both the JA and JL values, so
when a different JL value is required set JA first, then set JL.
Command Details:
Structure JL{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Jog deceleration rate
- units rev/sec/sec (rps/s)
- range 0.167 - 5461.167 rps/s (resolution is 0.167 rps/s)
Examples:
Command Drive sends Notes
JL25 - Sets jog deceleration rate to 25 rps/s
JL JL=25
Sets or requests the Jog mode. There are two Jog modes available:
*Stepper drives only utilize Jog Mode 1 (JM1), and therefore will ignore attempts to set JM2.
Command Details:
Structure JM{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Jog mode
- units integer
- range 1 = position-type
2 = velocity-type
Examples:
Command Drive sends Notes
JM1 - Put drive into position-type servo control when jogging
JM2 - Put drive into velocity-type servo control when jogging
JM JM=2
Sets or requests the speed for Jog moves in rev/sec. Sending JS with no parameter causes drive to respond with
present jog speed.
Command Details:
Structure JS{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access “J” (026)
Note: The JS command uses different units than the “J”
register. See Data Registers section for details.
Parameter Details:
Parameter #1 Move velocity
- units rev/sec
- range BLu, SV, STAC6, ST-Q/Si, ST-S: 0.0042 - 133.3333
(resolution is 0.0042)
STM: 0.0042 - 80.0000 (resolution is 0.0042)
Examples:
Command Drive sends Notes
JS10.35 - Set jog speed to 10.35 rps
JS JS=10.35
Sets or requests the servo control overall filter frequency. The filter is a simple one-pole, low-pass filter intended
for attenuating high frequency oscillations. The value is a constant that must be calculated from the desired roll off
frequency. See equation below.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Filter Value
- units integer
- range 0 - 32767 (see above for calculations)
Examples:
Command Drive sends Notes
KC7836 - Set servo filter to 200 Hz
KC KC=7836
Sets or requests the servo control differential gain. Gain value is relative: “0” meaning no gain, “32767” meaning
full gain. KD is part of the Damping servo parameters in Quick Tuner. It works to damp low speed oscillations.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KD{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Differential Gain value
- units integer
- range 0 - 32767 (0 = 0%, 32767 = 100%)
Examples:
Command Drive sends Notes
KD2000 - Set differential gain to 2000
KD KD=2000
Sets or requests the differential control parameter filter frequency. The filter is a simple one-pole, low-pass filter
intended for attenuating high frequency oscillations. The value is a constant that must be calculated from the
desired roll off frequency. See equation below.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KE{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Filter Value
- units integer
- range 0 - 32767
Examples:
Command Drive sends Notes
KE7836 - Set differential filter to 200 Hz
Sets or requests the servo control velocity feedforward gain. Gain value is relative: “0” meaning no gain, “32767”
meaning full gain. KF is part of the Damping servo parameters in Quick Tuner. It counters the effects of the KV
parameter which can cause large following error. KF is usually the same value as KV.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KF{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Velocity feedforward gain value
- units integer
- range 0 - 32767 (0 = 0%, 32767 = 100%)
Examples:
Command Drive sends Notes
KF4000 - Set velocity feedforward gain to 4000
KF KF=4000
Sets or requests the secondary global gain of PID controller. This is the proportional gain in the position loop and
an alternate to KP. See GG command (and SVX Servo Suite software for details on switching between KP and
KG with the X7 digital input.
Command Details:
Structure KG{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access NO
Parameter Details:
Parameter #1 Global gain
- units integer number
- range 0~32767
Examples:
Command Drive sends Notes
KG10000 % Set the secondary global gain to 10000
KG KG =10000 The secondary global gain is 10000
Sets or requests the servo control integrator gain term. Gain value is relative: “0” meaning no gain, “32767”
meaning full gain. KI is part of the Stiffness servo parameters in Quick Tuner. It minimizes (or may even
eliminate) position errors especially when holding position.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KI{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Integrator gain value
- units integer
- range 0 - 32767 (0 = 0%, 32767 = 100%)
Examples:
Command Drive sends Notes
KI5000 - Set integrator gain to 500
KI KI=500
Sets or requests the Jerk Filter frequency, in Hz. The parameter is set within SVX Servo Suite for SV200 drives
and Quick Tuner. for SV7 and SVAC3 drives; it can also be set with the SCL command KJ. The lower the
frequency value the more pronounced the S-curve profile will be. Setting the value to 0 will disable the filter.
S-curve acceleration/deceleration ramps are beneficial in positioning systems where instantaneous changes
in speed may cause the load to jerk excessively. One example is when the load is connected to the motion
actuator via a long moment arm. If the arm is not sufficiently rigid, changes in speed at the actuator can result in
undesirable oscillations and increased settling time at the load. Smoothed transitions in speed changes, such as
those provided by the jerk filter can alleviate this unwanted motion and reduce settling time.
NOTE: It is recommended to use the software for tuning and configuring your servo system.
Command Details:
Structure KJ{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Jerk Filter Frequency (Hz)
- units integer
- range 0 - 5000 (0 = disabled)
Examples:
Command Drive sends Notes
KJ500 - Set jerk filter frequency to 500Hz
KJ KJ=500
Sets or requests the servo control inertia feedforward gain. Gain value is relative: “0” meaning no gain, “32767”
meaning full gain. KK is an Inertia servo parameter in Quick Tuner. KK improves acceleration control by
compensating for the load inertia.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KK{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Inertia feedforward gain value
- units integer
- range 0 - 32767 (0 = 0%, 32767 = 100%)
Examples:
Command Drive sends Notes
KK500 - Set inertia feedforward gain to 500
KK KK=500
Sets or requests the servo control proportional gain term. Gain value is relative: “0” meaning no gain, “32767”
meaning full gain. KP is part of the Stiffness servo parameters in Quick Tuner. This parameter is the primary gain
term for minimizing the position error.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Proportional gain value
- units integer
- range 0 - 32767 (0 = 0%, 32767 = 100%)
Examples:
Command Drive sends Notes
KP5000 - Set proportional gain to 5000
KP KP=5000
Sets or requests the servo control velocity feedback gain term. Gain value is relative: “0” meaning no gain,
“32767” meaning full gain. KV is part of the Damping servo parameters in Quick Tuner. It aids the KD command
in damping system oscillation. This term helps to control larger inertial loads.
NOTE: The Velocity Feedback (KV) and Velocity Feedforward (KF) constants are typically set to similar values. The
Feedforward value may at times be set larger depending on the frictional content of the motor load.
NOTE: It is recommended to use the Quick Tuner software for tuning and configuring your servo system.
Command Details:
Structure KV{Paramter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Velocity feedback gain value
- units integer
- range 0 - 32767 (0 = 0%, 32767 = 100%)
Examples:
Command Drive sends Notes
KV4000 - Set velocity feedback gain to 4000
KV KV=4000
Returns the maximum lead angle setting for use in the Stall Prevention algorithm (see EF command for details).
This value is reached at the speed set by the LS command.
Lead Angle is the angular measurement between the internal magnetic field and the motor’s rotor. If the lead
angle is too large, the magnetic attraction fades and the motor will stall. Too small of a value makes inefficient use
of the magnetic attraction and the motor will not produce its maximum torque.
Lead angle directly affects the magnetic forces acting on the rotor, and is thus directly related to the motor’s
torque. An ideal setting for Lead Angle is essential for maximizing the motor’s torque output. During motion, the
motor’s lead angle is constantly monitored and adjusted to keep it within a speed-dependent operational range
and allow the drive to maintain control of the motor even in the event of a disturbance. The maximum lead angle
(set by LA) is reached at the Lead Angle Speed specified by LS.
This value is measured in electrical degrees. There are four physical motor steps (4 * 1.8 degrees = 7.2 degrees)
per 360 degree electrical cycle.
The relationship between electrical degrees and motor rotational displacement is given as follows:
The maximum effective setting for LA is 180 electrical degrees. If at any point the motor’s lead angle exceeds this
value, a stall condition will occur.
NOTE: While it is worthwhile to understand the meaning of the Lead Angle setting, it is intended that the ST
Configurator software be used to configure this setting.
Command Details:
Structure LA{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Lead Angle Value
- units integer
- range 1 - 180 electrical degrees
Motor decelerates to stop when the absolute position (can be requested or set by SP command) decreases to
software CCW limit value, Software limit does not work in CCW direction when software CCW limit parameter is
set to zero. This parameter is volatile and the default value will be zero upon power-up.
Command Details:
Structure LM{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile NO
Register Access NO
Parameter Details:
Parameter #1 Software Limit Value
- units Absolute position
- range +/- 2,147,483,647
Examples:
Command Drive sends Notes
LM10000 % Set software CCW limit value to 10000 counts.
LM LM =10000 Request software CCW limit value.
LM0 % Turn off software limit function in CCW direction.
Motor decelerates to stop when the absolute position (can be requested or set by SP command) increases to
software CW limit value. Software limit does not work in CW direction when software CW limit parameter is set to
zero. This parameter is volatile and the default value is zero when power-up.
Command Details:
Structure LP{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile NO
Register Access NO
Parameter Details:
Parameter #1 Software Limit Value
- units Absolute position
- range +/- 2,147,483,647
Examples:
Command Drive sends Notes
LP10000 % Set software CW limit value to 10000 counts.
LP LP =10000 Request software CW limit value.
LP0 % Turn off software limit function in CW direction
Specifies the speed at which the Lead Angle specified by the LA command will be applied. (See LA command for
a detailed description of the Lead Angle concept.)
During operation, the lead angle is continuously monitored and is dynamically adjusted to maintain maximum
torque output. The optimal setting is dependent upon motor speed, with the maximum setting occurring at the
speed specified by LS.
NOTE: While it is worthwhile to understand the meaning of the Lead Angle Speed setting, it is intended that the
ST Configurator software be used to configure this setting.
Command Details:
Structure LS{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Lead Angle Speed
- units integer
- range 1 - 80 rev/sec
Examples:
Command Drive sends Notes
LS25 - Use maximum lead angle setting (LA) at 25 rps
LS LS=25
Sets or requests the low voltage threshold for under voltage alarm / fault conditions. In AC drives (e.g. BLuAC5
and STAC6) an under voltage condition causes a Drive Fault, which disables the motor outputs of the drive. In DC
drives (SV, ST, and STM) an under voltage condition causes an Alarm. If desired, the user can change the low
voltage threshold of the drive, however in most applications it is neither necessary nor recommended. The factory
default for low voltage threshold is set to both protect the drive from damage and work with the widest range of
supply voltages possible.
Command Details:
Structure LV{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Low voltage threshold
- units All drives except BLuAC5: 0.1 volts DC
BLuAC5: 1 volt DC
- range BLuDC: 18 to 40
BLuAC: 90 to 300
STAC6: 90 to 160
ST5: 12 to 75
ST10: 12 to 75
SV7: 12 to 75
STM: 10 to 75
Examples:
Command Drive sends Notes
LV LV=180 Low voltage threshold of ST5 set at 18 VDC
LV200 - Set low voltage threshold of ST5 drive to 20 VDC
Specifies the maximum current that can be sent to the motor. This is the same value set in ST Configurator’s
Custom Motor screen for Rated Current.
This value serves as the upper ceiling for the CC command, preventing excessive current from being sent to the
motor, potentially damaging it. It is also used when the motor is probed to determine its electrical characteristics
(see PN command for details).
Command Details:
Structure MC{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Motor Rated Current
- units amps
- range 0 - 6.00 amps (STAC6 only)
0 - 10.00 amps (ST-S, ST-Q/Si)
Examples:
Command Drive sends Notes
MC2.5 - Motor maximum current set to 2.5A.
MC MC=2.5
Disables motor outputs (reduces motor current to zero). Disabling the motor also activates the Brake Output
function (see BO command). Motor current is not reduced to zero until the Brake Engage (BE command) time
has expired.
Command Details:
Structure MD
Type BUFFERED
Usage WRITE ONLY
Non-Volatile No
Register Access None
Examples:
Command Drive sends Notes
MD - Drive turns off current to the motor
Restores drive current to motor. If the drive cannot be enabled due to the Enable Input (SI) state, the drive will
respond with a “&” which indicates that the drive could not be enabled. Enabling the drive also deactivates the
Brake Output function (see BO command). Enabling of the motor is delayed by the BD (Brake Disengage) time
delay.
WARNING: This command restores the previous mode of operation. If for example the drive is operating in
Analog Velocity mode the motor may immediately start moving. External inputs to the drive must be sequenced
properly to avoid unpredictable operation.
Command Details:
Structure ME
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
ME - Drive is enabled
ME & Drive is NOT enabled: check Servo Enable input (SI) for proper state
NOTE: This command is deprecated. Please use MV to query the drive for model and revision information.
Requests the drive’s Model Number. Drive returns a single character that is a code for the model number.
Unlike most other commands that request data back from the drive, where the drive will send the original
Command Code followed by an “=” and then a value, when the MN command is sent to a drive the drive only
responds with the single character code. (See below).
Command Details:
Structure MN
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Units character code (see below)
Response Details:
Model Number Character code Model Number Character Code
BLuDC4-S* O STAC6-220-S \
BLuDC4-SE* o STAC6-220-SE |
BLuDC4-Si* P STAC6-220-Q ]
BLuDC4-Q* W STAC6-220-QE }
BLuDC4-QE* w STAC6-220-Si ^
BLuDC9-S* R ST5-S D
BLuDC9-SE* r ST10-S E
BLuDC9-Si* S ST5-Plus J
BLuDC9-Q* X ST10-Plus K
BLuDC9-QE* x ST5-Q F
BLuAC5-S T ST10-Q H
BLuAC5-SE t ST5-Si G
BLuAC5-Q U ST10-Si I
BLuAC5-QE u STM23S-xxx a
BLuAC5-Si V STM23Q-xxx b
STAC6-S Y SV7-S ;
STAC6-SE y SV7-Q <
STAC6-Q Z SV7-Si =
STAC6-QE z
STAC6-Si [
* BLu100 and BLu200 series drives have been replaced by BLuDC4 and BLuDC9 series drives, respectively.
BLu100 and BLu200 drives are still supported, but part numbers have been changed.
Examples:
Command Drive sends Notes
MN T Connected drive is a BLuAC5-S
For SV200 servo drives, this command is designed to control 4 outputs (Y3,Y4,Y5,Y6) using 2 parameters
(MO{Param#1}{Param#2}). For details, refer to the SV200 Hardware Manual and SVX Servo Suite software.
For SV servo drives (SV7 and SVAC3) there are 10 states available:
MO1: Output is open (de-energized) when static position error is less than set value.
MO2: Output is closed (energized) when static position error is less than set value.
MO3: Output is not used as a Motion Output and can be used for another automatic output function or as a
general purpose output.
MO4: Output is used as a Tach Output at 100 pulses/rev.
MO5: Output is used as a Tach Output at 200 pulses/rev.
MO6: Output is used as a Tach Output at 400 pulses/rev.
MO7: Output is used as a Tach Output at 800 pulses/rev.
MO8: Output is used as a Tach Output at 1600 pulses/rev.
MO9: Output is closed (energized) when dynamic position error is less than set value.
MO10: Output is open (de-energized) when dynamic position error is less than set value.
MO11: Output is used as a Tach Output at 50 pulses/rev.
MO3: Output is not used as a Motion Output and can be used for another automatic output function or as a
general purpose output.
NOTE: for other Motion Output settings such as static in-position and tach output for TSM products, please refer to
TO command
STM24-SF/QF
Drives with Flex I/O allow a second parameter which allows the user to specify the I/O point used. Before an I/O
point can be used as a Motion Output it must first be configured as an output with the SD command.
Possible uses for the MO command on the STM24 are as follows (‘n’ denotes the I/O point to be used):
NOTE: Setting the MO command to 1, 2, or 4 - 8 overrides previous assignments of this output’s function.
Similarly, if you use the AO or BO command to set the function of the output after setting the MO command to 1 or
2, usage of the output will be reassigned and AO will be automatically set to 3.
Command Details:
Structure MO{Parameter #1}{Parameter #2 (Flex I/O only)}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Output Usage (see above)
- units integer code
- range 1, 2 or 3
Parameter #2 (Flex I/O only) I/O Point (if applicable, see note below)
- units integer code
- range 1-4
NOTES:
• The SD command must be executed to set an I/O point as an output before that output can be designated as the
Motion Output.
• Parameter #2 only applies to drives equipped with Flex I/O. This includes the STM24-S and -Q. Parameter #2 is
not defined for drives equipped with standard I/O.
Examples:
All drives with standard I/O:
Command Drive sends Notes
MO1 - Motion Output will close when the motor is not moing
MO MO=1
STM24-S, -Q only
Command Drive sends Notes
MO14 - I/O point 4 will be closed when motor is not moving
MO MO=14
NOTE: When working with digital inputs and outputs it is important to remember the designations low and high.
If current is flowing into or out of an input or output, i.e. the circuit is energized, the logic state for that input/
output is defined as low or closed. If no current is flowing, i.e. the circuit is de-energized, or the input/output is
not connected, the logic state is high or open. A low state is represented by the “L” character in parameters of
commands that affect inputs/outputs. For example, WI3L means “wait for input 3 low”, and SO1L means “set
output 1 low”. A high state is represented by the “H” character.
The MR command allows the user to set or request the Microstep Resolution of the drive.
NOTE: The MR command has been deprecated, and should no longer be used. It is included here solely for
compatibility with older programs. New applications should make use of the EG command.
Command Details:
Structure MR{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Microstep Resolution (code)
- units Integer
- range 0 - 15:
Code, steps/rev
0 = 200
1 = 400
3 = 2000
4 = 5000
5 = 10,000
6 = 12,800
7 = 18,000
8 = 20,000
9 = 21,600
10 = 25,000
11 = 25,400
12 = 25,600
13 = 36,000
14 = 50,000
15 = 50,800
Examples:
Command Drive sends Notes
MR8 - Set the drive’s microstep resolution to 20,000 steps/rev
MR MR=8
Command Details:
Structure MS{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Control Mode Selection(see above)
- units integer code
- range 1~3
Default value: 3
Examples:
Command Drive sends Notes
MS1 % set the usage of control mode selection to 1
MS MS=1 the usage of control mode selection is 1
Sets or request the status of the multi-tasking function (on or off). When multi-tasking is enabled (on), commands
such as FL (Feed to Length) or HW (Hand Wheel) do not block execution of subsequent commands in the queue
or program segment. This allows executing other type of operations, such as setting outputs (SO), while a move
is taking place.
Command Details:
Structure MT{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile No
Register Access None
Parameter Details:
Parameter #1 Multi-tasking switch
- units integer
- range 0 = multi-tasking disabled
1 = multi-tasking enabled
Examples:
Command Drive sends Notes
MT1 - Enables multi-tasking
MT MT=1
Requests the connected drive’s DSP firmware version, model number code, and sub-model number code (if
applicable). Not all drive series utilize the sub-model number code. The response from the drive is a single string
of characters with no breaks or delimiters. The sequence of characters is firmware revision (3 numbers and 1
letter), model number code (3 numbers), sub-model number code (1 letter). See Response Details below.
Command Details:
Structure MV
Type IMMEDIATE
Usage READ ONLY
Non-Volatile No
Register Access None
Response Details:
Response will be in the format AAAABBBC, where AAAA is the firmware version, BBB is the model number
code, and C is the sub-model number code. Model and sub-model number codes are listed below by drive,
and Examples are given afterward.
Drive Model Number
SV7-S 11
SV7-Q 12
SV7-Si 13
SV7-CANopen 14
SV7-IP 15
SV7-Q Ethernet 16
ST5-Q Ethernet 17
ST10-Q Ethernet 19
ST5-S 20
ST10-S 21
ST5-Q 22
ST5-Si 23
ST10-Q 24
ST10-Si 25
ST5plus 26
ST10plus 27
ST5 can open 28
ST10 can open 29
BLuAC5-S 36
BLuAC5-Q 37
BLuAC5-Si 38
STAC6-S 41
STAC6-Q 42
MV 103F042 Drive connected has DSP firmware version 1.03F, and the drive model
number is STAC6-Q
MV 102J049A Drive connected has DSP firmware version 1.03F, and the drive model
number is STM23S-2AN
Q programs halt execution at blank lines. If a “no op” line is required in a program, for comments or other
purposes, rather than leave the line blank the NO command is used. Think of the NO command as leaving a
blank line in the middle of a sequence of commands. This is useful if after creating a sequence of commands
you would like to delete a command without the line numbers of the remaining commands changing. Instead
of deleting the line with the unwanted command, replace the unwanted command with a NO command and the
remaining commands in the sequence will maintain their respective line numbers.
NOTE: NO commands are not required after the last command in a segment.
Command Details:
Structure NO
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
NO - No operation takes place at this program line
When a drive fault occurs, the OF command causes a given program segment to immediately load from non-
volatile memory into the queue. The OF command acts as a kind of software switch in that when this function
is turned on the drive’s response to a drive fault (loading the designated program segment) is automatic. Once
a fault occurs the fault must be cleared (AX) and the motor re-enabled (ME) before continuing normal program
execution.
Please note that while immediately executing AX will clear the alarm code, it does not guarantee that the condition
that caused the alarm has been resolved. Therefore it is recommended to include a short delay or wait for user
input before clearing the alarm and resuming normal operation.
Also, a drive fault will turn the OF function off, so after a fault the OF command must be executed again to reset
the function. For this reason it is common to place the OF command in segment 1 of a Q program, and then load
segment 1 (QX1) from the designated OF segment after the fault has been cleared and the motor re-enabled.
A parameter value of “0” disables the On Fault function. See the AL (Alarm code) command for details of drive
faults.
Command Details:
Structure OF(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile No
Register Access None
Parameter Details:
Parameter #1 program segment #
- units integer
- range 1 - 12 = segment 1 - 12
0 = disable On Fault function
Examples:
Command Drive sends Notes
In segment 1 of a Q program...
OF9 - When a drive fault occurs load and execute program segment 9
When the given input condition is met the OI command causes program segment 10 to immediately load from
non-volatile memory into the queue. The OI command operates as a kind of software switch. Executing the
command turns the interrupt function on. Responding to the interrupt input (by loading segment 10) turns the
interrupt function off. Therefore after an interrupt condition is cleared in the system the OI command must be
executed again to reset the interrupt function. One way to do this is place a copy of the OI command near the end
of segment 10, before loading and executing another segment (QX command). Only one interrupt input can be
defined at a time within a program. Executing the OI command with no parameter disables the interrupt function.
If Multi-Tasking is disabled (MT0, default) when the input condition is met, any move in progress will be aborted
and Segment 10 will be loaded immediately. If Multi-Tasking is enabled (MT1) when the input condition is met, the
program will branch to Segment 10 without interrupting a move in progress. In this scenario a Stop Move (SM)
command may be used to abort the move.
Command Details:
Structure OI{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile No
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
MT0 - Turn Multi-Tasking off
OIX5F - Load and execute program segment 10 when input X5 goes from
high to low. If a move is in progress, abort it.
Requests the decimal or hexadecimal equivalent (see IF command) of the option board’s 7-bit binary word. Since
some drives - like the SV, ST-Q/Si, and STM drives - are available with different option boards, it is useful for the
host to be able to request this information from the drive. The 7 bits in the option board’s binary word are shown
below.
* This board includes encoder output so drives with this option will also have bit 0 set
Command Details:
Structure OP
Type IMMEDIATE
Usage READ ONLY
Non-Volatile Yes
Register Access None
Examples:
IF command set for decimal (IFD)...
Command Drive sends Notes
OP OP3 Drive has both encoder and RS-485 option boards installed
OP OP4 Drive has CANOpen board installed
OP OP33 Drive has MCF board installed (bits 0 and 5 are set)
Sets or requests the power-up accel/decel current setting (“peak of sine”) of the stepper drive, also known as the
peak current. PA is similar to the CA command in that a change to PA affects the current value of the accel/decel
current. However PA differs from CA in that a change to PA is automatically written to non-volatile memory at the
time of the change. For a change in CA to be written to non-volatile memory an SA command must be executed
afterwards. See below for more details. PA will only accept parameter values equal or larger than the current PC
setting.
• A change to PA automatically changes CA and the “M” register to the same value.
• A change to CA or the “M” register only affects the current accel/decel current value, but does not
automatically change PA to the same value.
• A change to CA or the “M” register is stored in non-volatile memory only after an SA command is
executed. When this occurs the PA command is also automatically changed to the new value.
NOTE: PA has no effect in Command Mode 7 (CM7 - Step and Direction mode).
Command Details:
Structure PA{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes (see note below)
Register Access “M” (029)
Note: The PA and CA commands use different units than the “M” register; see Data Registers section for details
Parameter Details:
Parameter #1 Power-up accel/decel current
- units Amps (resolution is 0.01 amps)
- range STM24: 0-6.0
STM23: 0-5.0
STM17: 0-2.0
NOTE: This data is saved to non-volatile memory immediately upon execution. It is not required to execute the SA
command to save to non-volatile memory.
Sets or requests the power-up baud rate for serial communications. When executed, this command sets the baud
rate and immediately saves it to non-volatile memory. At power-up the drive defaults to 9600 baud. If an Applied
Motion software application is not detected after 1 second and the drive is configured for host operation the drive
will set the baud rate according to the value stored in the Power-up Baud Rate non-volatile parameter. A host
system can change the baud rate at any time.
Command Details:
Structure PB{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes (see note below)
Register Access None
Parameter Details:
Parameter #1 Baud rate code
- units integer code
- range 1 = 9600
2 = 19200
3 = 38400
4 = 57600
5 = 115200
NOTE: This data is saved to non-volatile memory immediately upon execution. It is not required to execute the SA
command to save to non-volatile memory.
Examples:
Command Drive sends Notes
PB2 - Power-up baud rate is set to 19200 and this value is immediately
saved to non-volatile memory
PB PB=2
If using a stepper drive, PC sets or requests the continuous (RMS) current setting of the servo drive. If using
a servo drive, PC sets or requests the current setting (“peak of sine”) of the stepper drive, also known as the
running current.
NOTE: This command is similar to CC. It differs only in that in addition to setting the continuous current of the
drive, PC also immediately saves the setting to NV memory. See CC command for further details.
Command Details:
Structure PC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes (see note below)
Register Access “N” (030)
Note: The PC and CC commands use different units than
the “N” register; see Data Registers section for details
Parameter Details:
BLu, SV, SVAC3
Parameter #1 Power-up continuous current setting
- units amps rms (resolution is 0.01 amps)
- range BLuDC4: 0 - 4.5
BLuDC9: 0 - 9.0
BLuAC5: 0 - 5.0
SV: 0 - 7.0
SVAC3 (120V): 0 - 3.5
SVAC3 (220V): 0 - 1.8
NOTE: Applied Motion recommends using Configurator software to select a motor and set the maximum current.
Examples:
Command Drive sends Notes
PC3.2 - Set power-up continuous current to 3.2 amps RMS for servo drive or 3.2
amps running current for stepper drive
PC PC=3.2
This parameter is used to set static in-position error range. When the actual position is within the target In-
position error range for a time duration that exceeds the PE specified timing, then the driver will define the
motion complete or motor in-position.
Command Details:
Structure PD{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 In-position limit
- units encoder counts
- range 0~32767
-default
Examples:
Command Drive sends Notes
PD100 - Sets the static in-position limit to 100 encoder counts
PD PD=100
PD Target Position
Actual Position
PE
TT
In Motion
In Position
Sets or requests the time duration for in range determination. For example, when In position error PD is defined,
PE will set the time duration for in-position test condition. The drive defines the motor as in position when the
actual position is within the target position range (PD) for the defined minimum time (PE).
Time is counted as processor cycles, one cycle refers to 200µsec (250µsec for SV200).
Command Details:
Structure PE{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 In-position Timing
- units 200µsec, (250µsec for SV200)
- range 0~30000
-default 10
Examples:
Command Drive sends Notes
PE100 - Sets the static in-position timing to 20ms for in range determination on a
StepSERVO.
PE PE=100
PD Target Position
Actual Position
PE
TT
In Motion
In Position
Servo drives
Sets or requests the Position Fault limit in encoder counts. This value defines the limit threshold, in encoder
counts, reached between actual position and commanded position before the system produces a position fault
error.
Stepper drives:
Sets or requests the “percentage of torque” used in the Stall Prevention function for systems with an encoder
installed on the motor. Making this setting with the PF command requires that an SA (Save) command be sent
afterwards, then a power-down/power-up cycle before the change will take effect. It is recommended that the
Configurator software be used to make this setting.
Command Details:
Structure PF{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Servo: Position fault limit
Stepper: Percentage of torque
- units Servo: encoder counts
Stepper: percentage of torque
- range Servo: 1 - 32767
Stepper: 0 - 100 (percent)
Examples:
Command Drive sends Notes
PF2000 - Set position fault limit to 2000 counts in servo drive
PF PF=2000
PF50 - Set percentage of torque to 50% in stepper drive fitted with encoder and
with the Stall Prevention function turned on
PF PF=50
Defines the usage of input X10 as inhibiting the pulse input as position command.
PH1: Inhibit the pulse input as position command when input X10 is closed.
PH2: Inhibit the pulse input as position command when input X10 is open.
PH3: Input X10 is used as general purpose input.
Command Details:
Structure PH{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 inhibit pulse command
- units Integer
- range 1~3
-default value 3
Examples:
Command Drive sends Notes
PH1 % Sets the usage of the pulse command inhibit function to 1
PH PH=1 The usage of the pulse command inhibit function is 1
Idle current is the level of current supplied to each motor phase when the motor is not moving. Using an idle
current level lower than the running motor current (see CC and PC commands) aids in motor cooling. A common
level used for the idle current setting is 50% of the running current. After a motor move, there is a time delay
after the motor takes its last step before the reduction to the idle current takes place. This delay is set by the CD
command.
This command is similar to the CI command. It differs only in that in addition to setting the idle current of the drive,
PI also immediately saves the setting to NV memory. See CI command page for details.
Command Details:
Structure PI{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes (see note below)
Register Access “O” (031)
Note: The CI command uses different units than the “O”
register; see Data Registers section for more details
Parameter Details:
STAC6
Parameter #1 Idle current at power-up
- units amps
- range 0 - 100% of running current
NOTE: This data is saved to non-volatile memory immediately upon execution. It is not required to execute the SA
command to save to non-volatile memory.
Examples:
Command Drive sends Notes
PI0.75 - Set power-up idle current to 0.75 amps
PI PI=0.75
This parameter determines whether or not the front panel push buttons can be used to modify drive parameters.
Locking out the front panel can be done to prevent drive parameters from being changed without a connection
to a PC running SVX Servo Suite.
Command Details:
Structure PK{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 See above
- units Integer
- range 0~1
-default 0
Examples:
Command Drive sends Notes
PK0 % Allow the parameters to be modified at drive’s front panel
PK PK=0 the parameters can be modified through the front panel
Sets or requests the count value used by the servo to determine if the motor is in position. This is used by the
servo for determining the state of Motion Output (see MO command). When performing a move the Motion
Output will be set to the designated condition until the servo is in position at the end of a move. The “In Position”
status is set in the same way.
Command Details:
Structure PL{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Positioning limit
- units encoder counts
- range 0 - 32767
Examples:
Command Drive sends Notes
PL20 - Set position limit to 20 counts
PL PL=20
Sets or requests the power-up mode of the drive. PM determines how the drive is configured for serial
communications at power-up. For example, for SCL applications set PM=2 or PM=5. The power-up mode is also
set when configuring the drive with Quick Tuner or Configurator. PM2 (Q / SCL) is the same as PM7 (Q Program
Mode), except the program is not automatically executed at power up.
Q drives
When creating Q Programs for your Q drive, checking the “Execute “Q” at Power-up” box on the main screen of
the Q Programmer software will change the power-up mode of the drive to 7 (PM7) with the next download. This
will cause the drive to run its stored Q Program at power-up. You must download the program after checking this
box for the change to take effect.
Si drives
An Si drive is set to PM1 automatically when an Si program is downloaded to the drive. If the drive is currently set
to PM7 for operation in Q mode, simply uploading and executing a stored Si program will not change the power-
up mode of the drive to PM1. The program may be uploaded and executed, but the drive will not power up and
execute the Si program until after a download through the Si Programmer software.
NOTE: If the drive is configured for power-up modes 1 or 3, it will not respond to SCL commands issued by a host
device. If SCL communications are required in this scenario, the host device must recognize the drive’s power-
up packet and issue the response “00” (double-zero, no carriage return) within two seconds to force the drive into
SCL mode without altering the PM setting. See Appendix B for further information.
Command Details:
Structure PM {Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes (see note below)
Register Access None
Parameter Details:
Parameter #1 Power on mode
- units integer code
- range 1 = Si Program (Si versions only)
2 = Q / SCL (drive enabled)
3 = Quick Tuner (servos) or Configurator (steppers)
4 = SiNet Hub
5 = Q / SCL (drive disabled)
6 = not used
7 = Q Program, Auto-execute (Q drives only)
8 = Modbus (drive enabled)
9 = Modbus, auto-execute Q program
10 = Modbus (drive disabled)
NOTE: This data is saved to non-volatile memory immediately upon execution. It is not required to execute the SA
command to save to non-volatile memory.
Examples:
Command Drive sends Notes
PM2 - Drive will power up in Q / SCL mode (drive enabled)
PM PM=2
Perform a full-current probe of the motor. The motor’s maximum rated current is used as defined by the MC
command. This allows the drive to dynamically measure electrical parameters such as inductance and resistance,
which are used to optimize the drive’s control over the motor.
This probe is automatically done on power-up and after an EF command is issued, but may be performed at any
time using the PN command.
NOTE: This operation will briefly energize the motor with full current. Use caution when executing the PN
command as this may cause slight movement of the motor shaft.
Command Details:
Structure PN
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
PN - Perform a full-current probe of the motor.
Sets or requests the power-up peak (RMS) current setting of the servo drive. This command differs from the CP
command in that in addition to setting the peak current of the drive, PP also immediately saves the setting to NV
memory. In other words, PP = CP + SA.
Command Details:
Structure PP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Power-up peak current limit
- units amps RMS (resolution is 0.01 amps)
- range BLuDC4: 0 - 13.5
BLuDC9: 0 - 18.0
BLuAC5: 0 - 15.0
SV7: 0 - 7.0
SVAC3 (120V): 0 - 7.5
SVAC3 (220V): 0 - 3.75
Examples:
Command Drive sends Notes
PP6 - Set power-up peak current to 6.0 amps RMS
PP PP=6
Sets or requests the serial communication protocol settings. Sets or requests the serial communication protocol
settings. There are a number of settings that can be turned on or off in the PR command. Each setting is
assigned a bit in a 9 - bit binary word. The parameter of the PR command is the decimal equivalent of this word.
If you send the PR command without a parameter the drive will respond with the decimal equivalent of the word
as well. The different protocol settings and their bit assignments are shown below.
Command Details:
Structure PR{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Protocol code
- units decimal (integer) value of binary word
- range 1 - 511 (000000001 - 111111111)
*Bit 0 is only required when all other bits are set to 0. If any other bit in the word is set to 1, Bit 0 is ignored.
For example, PR4 and PR5 provide the same protocol settings.
Bit3 = 1: has checksum / 0: No checksum
Bit6 = 1: STM type checksum / 0: SSM type checksum
*For more details about STM type checksum and SSM type checksum, please refer to Appendix D.
Bit7 = 1: Little Endian / 0: Big Endian
Bit8 = 1: Full Duplex / 0: Half Duplex
Examples:
Command Drive sends Notes
PR1 - Set to standard SCL protocol
Suspends execution of buffered commands until the next CT (Continue) command is executed. This can be
useful for coordinating motion among axes by first pausing (PS) the drives, then loading the drives’ command
buffers with commands, and then resuming command execution (CT) in all drives at once. PS can also be useful
for holding a sequence of commands in the drive’s command buffer to time with an external event. Use the PS
command to pause the command buffer, then send each (buffered type) command in the desired sequence to
the drive. When the timing with the external event occurs, simply send the CT command which will trigger the
execution of the already buffered sequence of commands.
NOTE: It is possible to overflow the command buffer. Use the BS (Buffer Status) command to view how many
command spaces are vacant in the buffer at any given time.
Command Details:
Structure PS
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
PS - Pause execution of buffered commands
Sets or requests the type of incoming pulse used in CM7 (Pulse and Direction mode).
Command Details:
Structure PT{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Pulse Type
- units integer
- range 0, 1, 2, 4, or 6
Examples:
Command Drive sends Notes
PT0 - Instruct the drive to follow step/direction pulses from a master controller.
PT PT=0
PT2 - Instruct the drive to follow AB quadrature encoder pulses, typically from a
master encoder.
PT PT=2
This parameter determines the second electronic gearing of SV200 drives. This secondary electronic gearing
can be selected with the X9 digital input. See DS command or SVX Servo Suite for configuration of X9 input.
Command Details:
Structure PV{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 See above
- units Integer(counts/rev)
- range 10~51200
-default 20000
Examples:
Command Drive sends Notes
PV20000 % set the second electronic gearing to 20000 counts/rev
PV PV=20000 the second electronic gearing is 20000 counts/rev
Normally the stored program of a Q drive can be uploaded and downloaded at will. This allows basically any user
to access the stored program of a Q drive. To password-protect the stored program of a Q drive the PW command
can be issued with a customized key code.
The factory default key code is “1234”, which allows uploading and downloading programs freely. To password-
protect a stored program the user should enter the PW command with a new key code. This new key code can
be any 4 character alpha-numeric code (characters A-Z, a-z, and 0-9 are acceptable). After entering the new key
code the user must enter the SA (Save) command for the new key code to be saved in the drive. Then, the next
time the drive is powered up password-protection will take effect, which means the user must first “unlock” the
drive by sending the PW command with the customized key code before being able to upload (QU), save (QS), or
delete (QD) any part of the Q drive’s stored program. (All other immediate commands function even if the drive
is not “unlocked”). Furthermore, every subsequent power-up of the drive will require the same key code to be
entered before uploading. To change the key code, enter the present key code at power up and then use the PW
command to enter a new key code followed by the SA command. To return the drive to the default state of no-
password protection, unlock the drive first by using the present key code, then enter the default key code of “1234”
followed by the SA command.
NOTE: If the key code is forgotten or lost, re-entering the default code of “1234” will unlock the drive and ERASE
THE CONTENTS OF THE DRIVE’S NON-VOLATILE MEMORY AT THE SAME TIME.
Command Details:
Structure PW(Parameter #1)
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 4-digit alphanumeric key code
- units upper and lower-case letters and numbers
- range A-Z, a-z, 0-9
- default Default key code is “1234”
Examples:
Command Drive sends Notes
PWak99 - Password key code set to “ak99”
SA - New key code saved in drive
Loads a program segment from non-volatile memory into the queue and begins executing at line #1. Loads the
“calling” segment location and the line where the call occurred into a call “stack”. When a QC command without
a parameter is encountered in the segment a “return” to the calling segment is activated. The “calling” segment is
loaded from non-volatile memory back into the queue and begins executing at the line immediately following the
line number of the original “calling” QC command.
The call stack can go 5 calls deep which means you can nest up to 5 calls. If the number of calls before a “return”
(QC with no parameter) is encountered exceeds 5 the “calling” QC command (with parameter) is ignored. If a
“return” is encountered without a previous call, the return is ignored.
Command Details:
Structure QC{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Program segment, no parameter means return to calling
segment
- units integer
- range 1 - 12 = segment 1 - 12
no parameter = return to calling segment
Examples:
Command Drive sends Notes
QC4 - Call segment 4
QC - Return to calling segment
Deletes the contents of the non-volatile memory location associated with a particular program segment.
Command Details:
Structure QD(Parameter #1)
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Segment number
- units integer number
- range 1 - 12
Examples:
Command Drive sends Notes
QD5 - Delete program segment 5 from the drive’s non-volatile memory
Begins executing a program segment previously loaded into the queue. Starts executing at line #1. A segment
must have previously been loaded using the “QL” or “QX” commands.
Command Details:
Structure QE
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
QE - Begin execution of loaded segment
Causes program segment execution to jump to the given line number in the queue. Gotos directed to the same
line number as the QG command or past the end of the queue are ignored.
Command Details:
Structure QG(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Segment line number
- units integer
- range 1 - 62
Examples:
Command Drive sends Notes
QG10 - Cause a jump to line 10 in the segment
Causes program segment execution to jump to the given line number in the queue based on a “condition code”.
Jumps directed to the same line number as the QJ command or past the end of the queue are ignored. If the
condition code is met the jump occurs, if not the program proceeds to the next line. Condition codes are set by
previous commands such as the TI (Test Input) or TR (Test Register) commands. When using math commands
(“R” commands) the condition code is set based on the result of the math operation.
Command Details:
Structure QJ(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Condition code
- units letter
- range T = True
F = False
P = Positive
G = Greater than
L = Less than
E = Equals
U = Unequal
Z = Zero
Parameter #2 Segment line number
- units integer
- range 1 - 62
Examples:
Command Drive sends Notes
TI4L - Test input 4 to see if it’s low (active)
QJT15 - Jump to line 15 if condition code is “True” (i.e. input 4 is low)
Halts execution of the queue. The queue contents are not affected and can be executed again using the “QE”
command.
Command Details:
Structure QK
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
QK - Stop execution of the queue/program
Initiates the loading of a command sequence into the queue. Loading can come from the serial port (host
controller) or from non-volatile memory (stored program). When no parameter is sent with the command loading
is done from the serial port. Loading is finished when a QS (Queue Save) or QE (Queue Execute) command is
sent. When a parameter is sent with the command the parameter designates the non-volatile memory location
of the desired program segment to be loaded into the queue. QL will cause an overwrite of any commands in the
queue starting at line #1.
Command Details:
Structure QL{Parameter #1}
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Program segment number
- units integer
- range 1 - 12
Examples:
Command Drive sends Notes
QL - Initiates loading queue from serial port
QL3 - Loads segment from non-volatile memory into the queue
Causes program segment execution to jump to a previous line number in the queue for a given number of repeat
counts. The repeat count is acquired from a selected Read/Write or User-Defined data register. Jumps past the
end of the queue are ignored. Jumps to subsequent line numbers in the queue will not be repeated. If repeat
count is set to “1” no Jump is performed. The data register selected for the repeat count must be set with the
number of repeat counts prior to using the QR command: use the RX (Register Load - buffered) command to load
the data register with the repeat count. The data register contents are affected by this command and must be re-
loaded before each usage with the QR command.
NOTE: Although data registers A - Z can be used with the QR command it is not recommended. The QR
command eventually destructs the data in a register by decrementing its value each time a jump is made in the
repeat loop and could therefore lead to unexpected results in other parts of the program that make use of data
registers A - Z.
Command Details:
Structure QR(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Data register
- units register character
- range A - Z and all user-defined registers (listed in the Data
Registers section)
Parameter #2 Segment line number
- units integer
- range 1 - 62
Sample Program:
Saves a segment currently in the queue to a non-volatile memory location. Ends a QL (Queue Load) if one is in
progress. See Appendix B for more details on this command, including its limitations.
Command Details:
Structure QS(Parameter #1)
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Program segment location
- units integer
- range 1 - 12
Examples:
Command Drive sends Notes
QS2 - Save contents of queue to non-volatile memory location #2
Uploads a stored program segment from the drive’s non-volatile memory to the serial port. This command is
used to retrieve stored program segments from the drive. When using this command the drive responds with
either a “positive” or a “negative” response. A “positive” response consists of a normal acknowledge (“ack”)
followed by the contents of the requested program segment with each line number separated by a carriage
return. Program segments 1 to 12 can be uploaded, as well as the contents of the queue. A “negative” response
from the drive consists of a normal acknowledge (“ack”) followed by one of four error codes: 0, -1, -2, or -3. A
negative acknowledge (“nack” / “?”) will be sent from the drive if the command is not understood by the drive. See
Appendix D for more information on acknowledge and negative acknowledge responses.
Negative Responses:
“ack” (“%”)
QU0 = No segment at specified location
QU-1 = Program Running (Cannot upload at this time)
QU-2 = Upload currently in process
QU-3 = Password Protected (Protection must be unlocked using PW command)
Command Details:
Structure QU(Parameter #1)
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Program segment location
- units integer
- range 1 - 12, or 0 to upload queue
Examples:
Command Drive sends Notes
QU0 (queue contents) Uploads contents of queue to the serial port
QU3 (segment #3 contents) Uploads contents of segment from non-volatile memory
location #3
Loads a program segment from non-volatile memory into the queue. Begins executing the segment at line
#1. This is the similar to the combination of a QL (Queue Load) and a QE (Queue Execute) command with the
difference being the QX command can be written into a stored program segment. Use this command to “jump”
from segment to segment.
Command Details:
Structure QX(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Program segment location
- units integer
- range 1 - 12
Examples:
Command Drive sends Notes
QX2 - Loads segment #2 and begins execution
This command enables a function that increments the “I” data register when the given input condition (determined
by the RC command) is met. Typically the “R” or “F” input condition (see Details below) is used to trigger an
increment. If however the “L” or “H” input condition is used the register will be incremented at a rate of 8000
times per second. In other words the “R” and “F” input conditions are used for true input counting while the “L”
and “H” conditions act as input timers. Use the RL (Register Load - immediate) or RX (Register Load - buffered)
commands to preset or set the “I” data register to a predetermined value. Sending the RC command without a
parameter disables the function.
This command is also used in conjunction with the TS (Time Stamp) command. See the TS command for more
details.
Command Details:
Structure RC{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “I” (025)
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
RC4F - Increment data register “I” each time input 4 changes from high to
low (falling edge)
The sample Q program on the following page illustrates the interaction of the RC and TS commands. After
initialization, the program waits for a falling edge event on input X3, at which point a 5 second timer begins
counting down. During this delay, the user may trigger X3 an arbitrary number of times. After 5 seconds,
the motor will execute a series of 5000-step moves, with the delay between each corresponding to the delay
between switch closures on X3. That is, if the user trips X3 four times waiting 1 second between each event,
the motor will execute four 5000-step moves with a 1 second dwell between each.
MT 1 Multi-tasking ON
EG 20000 20,000 steps/rev
AC 250
DE 250
VE 5
FI 3 200 Filter input 3 for 200 processor ticks
RX I 0 Zero the “I” register
RC X3F Setup the “I” register for input X3
WI X3F Wait for input X3
WT 5.00 Wait 5 seconds >>> trigger inpuxt X3 a few times
TS Throw away first time stamp
LABEL2 RD I Decrement “I” register
FL 5000 Feed 5000 steps
TR I 1 Test “I” against 1
QJ L #LABEL1 Jump to end if “I” less than 1
TS Time stamp
RM W 1 Move “W” into “1”
WD 1 Delay for “1” milliseconds
QG #LABEL2 Go to Label 2
LABEL1 NO Stop program
Command Details:
Structure RD(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All Read/Write and User-Defined data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range all Read/Write and User-Defined data registers
Examples:
Command Drive sends Notes
RDV - Decrements the value of the velocity data register “V”
Restarts the drive by resetting fault conditions and re-initializing the drive with the startup parameters. Leaves the
drive in a disabled state to prevent any movement after the restart is complete.
Command Details:
Structure RE
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
RE - Resets drive condition and parameters
Command Details:
Structure RI(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All Read/Write and User-Defined data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range all Read/Write and User-Defined data registers
Examples:
Command Drive sends Notes
RIV - Increments the value of the velocity data register “V”
Sets a data register to the given immediate data value. The data value is checked and stored as a Long word.
When setting a Short-word register with the given Long-word data value only the lower word of the Long value is
used.
Command Details:
Structure RL(Paramter #1){Parameter #2}
Type IMMEDIATE
Usage READ/WRITE
Non-Volatile NO
Register Access All data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range All Read/Write and User-Defined data registers; Read-
Only data registers can be read back when Parameter #2
is not included
Parameter #2 Data register value
- units integer
- range +/- 2147483647 (long data registers)
+/- 32767 (short data registers)
Examples:
Command Drive sends Notes
RLA100 - Set acceleration register to 1000 rpm/s
RLA RLA=100 Return acceleration register value
NOTE: When setting a register no pre-processing of the data value is performed. Data is set to the internal raw
value. For example, the internal raw acceleration value is in tens of rpm/s. See the “Data Register” section at
the beginning of this manual for more details on data register assignments and units.
Units Example:
AC10 means 10 rps/s
RLA10 means 10 * 10 rpm/s = 1.667 rps/s
Multiply the desired rps/s value times 6 to convert to the “raw” acceleration value
Move the contents of a first data register into a second data register.
Command Details:
Structure RM(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All Read/Write and User-Defined data registers
Parameter Details:
Parameter #1 Source data register
- units character
- range all data register assignments
Parameter #2 Destination data register
- units character
- range all Read/Write and User-Defined data registers
Examples:
Command Drive sends Notes
RMAB - Move contents of acceleration register “A” into the deceleration
register “B”
Enables or disables the Anti-Resonance algorithm. This command has the same effect as the “Anti-Resonance
off” check box in ST Configurator’s motor configuration dialog.
Command Details:
Structure RO{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Anti-Resonance Algorithm Status
- units integer
- range 0 (Anti-Resonance OFF)
1 (Anti-Resonance ON)
Examples:
Command Drive sends Notes
RO1 - Enable Anti-Resonance algorithm
RO RO=1
Reads a data value from a non-volatile memory location into a data register. The data value is read as a Long
word. If the value being read is too large for the destination data register, the value is truncated.
Command Details:
Structure RR(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All Read/Write and User-Defined data registers
Parameter Details:
Parameter #1 Data register
- units character
- range all Read/Write and User-Defined data registers
Parameter #2 Non-volatile memory location
- units integer
- range 1 - 100
Examples:
Command Drive sends Notes
RRV10 - Read data from non-volatile memory location #10 and place it in data
register “V”
Asks the drive to respond with what it’s doing. The drive has a number of different states of operation that are
represented by character codes. The drive can send more than one code at a time to define its current status.
Command Details:
Structure RS
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
RS RS=PR Motor is in position, drive is enabled
RS RS=AED Alarm code is present, drive is faulted and disabled
RS RS=JR Motor is jogging, drive is enabled
Upload the contents of an array of data registers. Up to 16 registers can be read back with one RU command.
Each reading is terminated with a carriage return.
Command Details:
Structure RU(Parameter #1)(Parameter #2)
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access All data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range all data registers
Parameter #2 Number of consecutive data registers to upload
- units integer
- range 1 - 16
Examples:
Command Drive sends Notes
RUA5 RUA=400 “A” The Acceleration value
RUB=400 “B” The Deceleration value
RUC=16000 “C” The Distance Change value
RUD=8000 “D” The Distance value
RUE=0 “E” The Encoder value
NOTE: All Data values are “raw” meaning the data is not scaled to the drive user units. For example the velocity
value (“V”) will be returned as 0.25 rpm instead of rps: raw value of 2400 = 10 rps.
Requests the drive’s firmware version. Data is returned as a three digit value. To see the firmware version’s sub-
letter as well (if applicable) use the MV command.
Command Details:
Structure RV
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Units Drive firmware version
Examples:
Command Drive sends Notes
RV RV=150 Drive is running firmware version 1.50
Writes the data value of a given data register into non-volatile memory. The data value is written as a Long word.
See Appendix A for more details on this command, including its limitations.
NOTE: The RW function writes information to flash memory, which has a useful life of 10,000 write cycles.
Command Details:
Structure RW(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All Read/Write and User-Defined data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range all Read/Write and User-Defined data registers
Parameter #2 Non-volatile memory location
- units integer
- range 1 - 100
Examples:
Command Drive sends Notes
RWV10 - Write data from data register “V” into non-volatile memory location #10
Sets a data register to the given immediate data value. The data value is checked and stored as a Long word.
When loading a Short-word data register with the given Long-word data value only the lower word of the Long
value is used. This command is the same as the RL command except it is a buffered command and therefore can
be placed in a stored program.
Command Details:
Structure RX(Parameter #1)(Parameter #2)
Type BUFFERED
Usage READ/WRITE
Non-Volatile NO
Register Access All data registers
Parameter Details:
Parameter #1 Data register assignment
- units character
- range All Read/Write and User-Defined data registers; Read-
Only data registers can be used when Parameter #2 is not
included (i.e. for reading back the contents of a Read-Only
data register)
Parameter #2 Data register value
- units integer
- range +/- 2147483647 (long data registers)
+/- 32767 (short data registers)
Examples:
Command Drive sends Notes
RXA100 - Set acceleration register “A” to 1000 rpm/s
RXA RXA=100
Adds the contents of a first data register to a second data register and places the result in the accumulator data
register, User-Defined register “0”. This is a 32-bit operation: adding two Long word values can cause an overflow.
All math operations affect the “condition code” used by the QJ (Queue Jump) command. R+ can set condition
codes T, F, N, P, and Z
Command Details:
Structure R+(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “0” (000), Accumulator
Parameter Details:
Parameter #1 First data register assignment
- units character
- range all data registers
Parameter #2 Second data register assignment
- units character
- range all data registers
Examples:
Command Drive sends Notes
R+D1 - Add contents of distance register “D” to user-defined register “1” and
place the result in the accumulator register “0”
Subtracts the contents of the second data register from the first data register and places the result in the
accumulator data register, User-Defined register “0”. This is a 32-bit operation: subtracting two Long word values
can cause an underflow.
All math operations affect the “condition code” used by the QJ (Queue Jump) command. Can set condition codes
T, F, N, P, and Z.
Command Details:
Structure R-(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “0” (000), Accumulator
Parameter Details:
Parameter #1 First data register assignment
- units character
- range all data registers
Parameter #2 Second data register assignment
- units character
- range all data registers
Examples:
Command Drive sends Notes
R-D1 - Subtract the contents of user-defined register “1” from the distance
register “D” and place the result in the accumulator register “0”
Multiply the contents of the first data register by the second data register and place the result in the accumulator
data register, User-Defined register “0”. This is a 32-bit operation: multiplying two Long word values can cause an
overflow.
All math operations affect the “condition code” used by the QJ (Queue Jump) command. Can set condition codes
T, F, N, P, and Z.
Command Details:
Structure R*(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “0” (000), Accumulator
Parameter Details:
Parameter #1 First data register assignment
- units character
- range all data registers
Parameter #2 Second data register assignment
- units character
- range all data registers
Examples:
Command Drive sends Notes
R*D1 - Multiply contents of distance register “D” by contents of user-defined
register “1” and place result in accumulator register “0”
Divide the contents of the first data register by the second data register and place the result in the accumulator
data register, User-Defined register “0”. This is a 32-bit operation. A value of “zero” in the second data register
will cause an illegal “divide by zero”, in which case the divide operation is ignored.
All math operations affect the “condition code” used by the QJ (Queue Jump) command. Can set condition codes
T, F, N, P, and Z.
Command Details:
Structure R/(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “0” (000), Accumulator
Parameter Details:
Parameter #1 First data register
- units data register assignment
- range All data registers
Parameter #2 Second data register
- units data register assignment
- range All data registers
Examples:
Command Drive sends Notes
R/D1 - Divide contents of distance register “D” by user-defined register “1”
and place result in accumulator register “0”
Do a “bit-wise” AND of the contents of the first data register with the contents of the second data register and
place the result in the accumulator data register, User-Defined register “0”. This is a 32-bit operation. This
operation affects the “condition code” use by the QJ (Queue Jump) command.
All math operations affect the “condition code” used by the QJ (Queue Jump) command. Can set condition codes
T, F, N, P, and Z.
Command Details:
Structure R&(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “0” (000), Accumulator
Parameter Details:
Parameter #1 First data register
- units data register assignment
- range All data registers
Parameter #2 Second data register
- units data register assignment
- range All data registers
Examples:
Command Drive sends Notes
R&s1 - AND the contents of status register “s” and user-defined register “1”
and place the result in accumulator register “0”
Do a “bit-wise” OR of the contents of the first data register with the contents of the second data register and place
the result in the accumulator data register, User-Defined register “0”. This is a 32-bit operation.
All math operations affect the “condition code” used by the QJ (Queue Jump) command. Can set condition codes
T, F, N, P, and Z.
Command Details:
Structure RI(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “0” (000), Accumulator
Parameter Details:
Parameter #1 First data register
- units data register assignment
- range All data registers
Parameter #2 Second data register
- units data register assignment
- range All data registers
Examples:
Command Drive sends Notes
R|i1 - OR the contents of inputs register “i” with user-defined register “1”
and place the results in accumulator register “0”
Saves selected command parameters to non-volatile memory. This command is useful for setting up the drive
configuration with the desired defaults at power-up. (See which commands are non-volatile in the Command
Summary section.)
NOTE: Excessive use of this command will wear out the NV memory. Use of this command within a Q program is
not advised for this reason.
Command Details:
Structure SA
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
SA - Save all Non-Volatile-designated data registers
Requests the current drive status as the Hexadecimal equivalent of a binary word. Each bit in the binary word
relates to a status condition (see assignments below). The representation of this binary word as a hexadecimal
value is called the Status Code. Drives can have multiple status conditions at one time, and host systems can
typically interpret a Hexadecimal code very quickly. See Appendix E for more details on the Status Code.
Command Details:
Structure SC
Type IMMEDIATE
Usage READ ONLY
Non-Volatile NO
Register Access None
Units Hexadecimal equivalent of the binary status code word (see bit
assignments below)
Response Details:
Hex Value Status Code bit definition
0001 Motor Enabled and in position (Motor Disabled if this bit = 0)
0002 Sampling (for Quick Tuner)
0004 Drive Fault (check Alarm Code)
0008 In Position (motor is in position), only valid on servo and StepSERVO drives
0010 Moving (motor is moving)
0020 Jogging (currently in jog mode)
0040 Stopping (in the process of stopping from a stop command)
0080 Waiting (for an input; executing a WI command)
0100 Saving (parameter data is being saved)
0200 Alarm present (check Alarm Code)
0400 Homing (executing an SH command)
0800 Waiting (for time; executing a WD or WT command)
1000 Wizard running (Timing Wizard is running)
2000 Checking encoder (Timing Wizard is running)
4000 Q Program is running
8000 Initializing (happens at power up) ; Servo Ready (for SV200 drives only)
Examples:
Command Drive sends Notes
SC SC=0009 Drive is in position and enabled (hex values 0001 and 0008)
SC SC=0004 Drive is faulted and disabled (hex value 0004)
SC SC=0209 Drive has an alarm, is in position and enabled (hex values 0001, 0008,
and 0200)
The Flex I/O feature allows the user to specify the direction of each I/O point. That is, to configure each as either
an input or output. SD may be used as a query if issued without a parameter. The drive will then report the
direction of each I/O point.
WARNING: The SD command allows dynamic changes to I/O behavior of the drive, and may cause unintended
interactions with other machine components if not implemented properly. Extreme caution should be used. The
SD command is documented here only for completeness; Applied Motion Products strongly recommends that the
Configurator software be used to make changes to drive I/O behavior.
Command Details:
Structure SD{Parameter #1}{Parameter #2}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 I/O point to configure
- units Integer
- range 1-4
Parameter #2 Direction (input or output)
- units Single character
- range ‘I’ or ‘O’ (letter ‘O’, not zero)
NOTE: This command requires either the letter ‘I’ (input) or ‘O’ (output) as Parameter #2. The drive’s response
however, is composed of the numbers 1 (one = input) or 0 (zero = output).
Examples:
Command Drive sends Notes
SD2O - Set I/O point 2 as an Output
SD4I - Set I/O point 4 as an Input
SD SD=00000111 Drive reports that I/O points 1, 2 and 3 are inputs, 4 is an output. (Note:
on the STM24, I/O points 5-8 are unused)
Sets or requests the step filter frequency. The primary use of this filter is to introduce “microstep emulation”
effects, which smooth out low resolution step pulses when the drive’s microstep/gearing resolution (EG command)
is set to a low value. This command is exceptionally useful when using a low-resolution indexer and smooth motor
shaft rotation is required.
Command Details:
Structure SF{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Step filter frequency
- units Hz
- range 0 - 2500
Examples:
Command Drive sends Notes
SF500 - Set step filter frequency to 500 Hz
SF SF=500
Executes the seek home command. Requires input number and condition for the home sensor. Speed is set
by the last VE command. Accel and decel are set by AC and DE. Direction comes from the sign of the last DI
command (“-” is CCW, no sign is CW).
It should be noted that the SH command is not affected by multitasking. It will execute as shown here regardless
of the current MT setting. Please see the MT command for details.
The SH command performs a number of operations all combined into one command. The basic operation acts
like a combination of the FS (Feed to Sensor) and FP (Feed to Position) commands. First, an FS-like move is
made that runs the motor until the drive “sees” the home sensor. When the drive sees this home sensor it does
two things: it records the absolute position of the home sensor and it immediately starts decelerating the motor
to a stop. After the motor has come to a stop the drive then does an FP-like move to move the motor back to
the absolute position recorded for the home sensor. Another function of the SH command is that if an end-of-
travel limit switch is encountered before the home sensor condition is met, the move direction is reversed until the
opposite limit is found. After the opposite limit is found the move then returns to the original direction and again
attempts to find the home sensor. This always ensures that the motor is moving in the desired direction when the
drive sees the home sensor.
NOTE: This command is designed for use with three physical sensors or switches tied to three separate digital
inputs of the drive: a home sensor, a CW end-of travel limit, and a CCW end-of-travel limit.
Command Details:
Structure SH{Parameter #1}
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
SH1L - Seek home to input 1 low
SH3R - Seek home to input 3 rising edge
SHX5L - Seek home to input X5 low (main driver board input)
NOTE: It may be necessary to add an ‘X’ in front of the input number ‘0’ when using the Seek Home command
with the encoder index (X0) as Param1. This is necessary on BLu servo drives.
There are five possible usage states for the Enable function:
SI3: Neither X3 nor IN3 is used for enabling/disabling the drive, but as general purpose inputs.
SI4: Drive is enabled when IN3 is open (inactive, high). (SE, QE, and Si drives only).
SI5: Drive is enabled when IN3 is closed (active, low). (SE, QE, and Si drives only).
There are three Enable input states that can be defined with the SI command:
SI3: The EN input is not used for Enable and can be used as a general purpose input. SI will be automatically
set to 3 if CM is set to 13, 14, 17, or 18, or if AI is set to 1 or 2 after the SI command is set.
STM24-SF/QF
Drives with Flex I/O allow a second parameter which allows the user to specify the I/O point used. Before an I/O
point can be used as the Drive Enable input it must first be configured as an input with the SD command. See the
STM24 Hardware Manual for details of which inputs may be used as the Drive Enable input.
Possible uses for the SI command on the STM24 are as follows (‘n’ denotes the I/O point to be used):
SI1n: Drive is enabled when the designated input is open (inactive, high).
SI2n: Drive is enabled when the designated input is closed (active, low).
SI3n: The specified input (‘n’) is not used for Drive Enable and may be used as a general purpose input.
There are three Enable input states that can be defined with the SI command:
SI3: The X3 input is not used for Enable and can be used as a general purpose input. SI will be automatically
set to 3 if CM is set to 13, 14, 17, or 18, or if AI is set to 1 or 2 after the SI command is set.
Command Details:
Structure SI{Parameter #1} {Parameter #2 (Flex I/O only)}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Input Usage
- units integer code
- range 1 - 3 or 1 - 5 (see above)
Parameter #2 (Flex I/O only) I/O Point (if applicable, see note below)
- units Integer Code
- range 1 or 3 (See STM24 Hardware Manual for details)
NOTES:
• For drives with Flex I/O, the SD command must be executed to set an I/O point as an input or output before it
can have a dedicated function assigned to it.
• Parameter #2 only applies to drives equipped with Flex I/O. This includes the STM24SFand STM24QF.
Parameter #2 is not defined for drives equipped with standard I/O.
Examples:
All drives with standard I/O:
Command Drive sends Notes
SI1 - Cause drive to be enabled when X3 / EN input is open
SI SI=1
Stops the motor when jogging (CJ starts jogging). Jog decel rate is defined by the JA command.
Command Details:
Structure SJ
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
SJ - Stops jogging immediately using the deceleration rate set by the JA
command
Halts any buffered command in progress and removes any other buffered commands from the queue. When used
to stop a move deceleration rate is controlled by the AM (Max Acceleration) parameter. If the “D” parameter is
used deceleration rate is controlled by either DE (with “Feed” moves like FL, FP, SH) or JA (when jogging).
Command Details:
Structure SK{Parameter #1}
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Deceleration rate
- units letter
- range D = deceleration rate set by DE or JA command
no parameter = deceleration rate set by AM command
Examples:
Command Drive sends Notes
SK - Stop motion immediately using the deceleration rate set by the
AM command and erase the contents of the queue
SKD - Stop motion immediately using the deceleration rate set by the
DE command (or JA if jogging) and erase the contents of the queue
Stops any type of move in progress* such as FL or CJ. This command acts like the ST (Stop) command except it
will not stop a wait operation (like WD, WI, WP, or WT) and it can be part of a stored Q program. The contents of
the queue are not affected by the SM command
* = Exception: SH
NOTE: Requires Multi-Tasking to be enabled (MT1). By default Motion-Tasking is disabled, which means the
current move must complete before any subsequent buffered command (such as SM) can execute. With Multi-
Tasking enabled, subsequent commands may be processed while a move is in progress and the SM command
will execute properly.
Command Details:
Structure SM(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Deceleration rate
- units letter
- range D = deceleration rate set by DE command or JL command
(if jogging)
M = deceleration rate set by AM command
Examples:
Command Drive sends Notes
SMD - Stop motion immediately using the deceleration rate set by the DE
command or the JL command (if jogging)
SMM - Stop motion immediately using the deceleration rate set by the AM
command
Sets an output to the given condition. Care must be taken when using outputs on the main driver board because
those outputs are by default programmed for dedicated purposes (Alarm, Brake, Motion). Use the AO, BO and
MO commands to reconfigure main driver board output usage to general purpose before using the SO command
with those outputs.
Command Details:
Structure SO(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
SO1L - Set output 1 low (closed)
SO2H - Set output 2 high (open)
Sets or requests the motor’s absolute position. To ensure that the internal position counter resets properly, use
EP immediately prior to sending SP. For example, to set the position to zero after a homing routine, send EP0
immediately followed by SP0.
Note that EP is not supported and, therefore, not required for ST5/10-S and ST5/10-Plus drives.
Command Details:
Structure SP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Absolute position
- units encoder counts
- range +/- 2,147,483,647
Examples:
Command Drive sends Notes
SP100 - Set absolute position offset to 100 encoder counts
SP SP=100
Instructs drive to respond with the desired character string (up to 4 characters). This command is useful for letting
the host system know via the serial port when a sequence of commands has finished executing. Multiple SS
commands can be placed into the queue at any time, though care should be taken when using this command
to avoid serial data collisions. For example, the host system should avoid sending commands to the drive while
expecting a character string (from a previously buffered SS command).
NOTE: Due to the possibility of data collisions related to unscheduled communication from slave devices, this
command is nonfunctional for RS-485 drives.
Command Details:
Structure SS(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 String of characters
- units any printable characters
- range up to 4 characters
Examples:
Command Drive sends Notes
SSdone done String “done” sent when SS command is executed
Halts the current buffered command being executed, but does not affect other buffered commands in the
command buffer. When used to stop a move deceleration rate is controlled by the AM (Max Acceleration)
command. If a “D” parameter is used deceleration rate is controlled by either the DE command (with “Feed” moves
like FL, FP, and SH) or the JL* command (when jogging).
*Note that setting the JA command also sets the JL command. If distinct JA and JL values are required always
set JL after setting JA.
Command Details:
Structure ST{Parameter #1}
Type IMMEDIATE
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Deceleration rate
- units letter
- range D = deceleration rate set by DE or JA command
no parameter = deceleration rate set by AM command
Examples:
Command Drive sends Notes
ST - Stop motion immediately using the deceleration rate set by the AM
command
STD - Stop motion immediately using the deceleration rate set by the DE or
JA command
Sets or requests the time delay used by the drive when responding to a command that requests a response.
Typically this is needed when using the 2-wire RS-485 interface (Half-duplex). Because the same wires are used
for both receive and transmit a time delay is usually needed to allow transition time. The Host device’s RS-485
specification must be understood to determine the time delay needed.
Command Details:
Structure TD{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Time value
- units milliseconds
- range 0 - 32767
- default 10
Examples:
Command Drive sends Notes
TD10 - Set Tx time delay to 10 milliseconds
TD TD=10
Tests a digital or analog input against the given input state. If the input is in the state the condition code is set to
“T” (true). If not the condition code is set to “F” (false). The condition code is found in read-only register ‘h’ and is
most commonly used in conditional jump (QJ) commands. The input is tested, and the jump is performed only if
that input is in a specific state.
Command Details:
Structure TI(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
TI4L - Test input 4 for a low state
QJT15 - Jump to line 15 if the previously tested input is “True”
Defines and configures the tach pulse output function and resolution for the appropriate digital output on a TSM
integrated StepSERVO motor or SV200 servo drive.
Note: This command is only supported on TSM and SV200 models. See corresponding hardware manual and
software for additional details.
TO parameter list for TSM-P (output Y3) and TSM-S/Q (output Y4):
3: Output is not used as a Motion Output and can be used for a general purpose output.
4: Output is used as a Tach Output at 100 pulses/rev.
5: Output is used as a Tach Output at 200 pulses/rev.
6: Output is used as a Tach Output at 400 pulses/rev.
7: Output is used as a Tach Output at 800 pulses/rev.
8: Output is used as a Tach Output at 1600 pulses/rev.
12: Output is closed (energized) when motor is not moving(static in-position).
13: Output is open (de-energized) when motor is not moving(static in-position).
Command Details:
Structure TO(Parameter #1)
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Output Usage (see above)
- units integer code
- range see above
Examples:
For TSM:
Command Drive sends Notes
TO12 - Motion Output will close when the motor is not moving
TO TO=12
For SV200:
Command Drive sends Notes
TO6 - Tach Output will output 256 pulses/rev
TO TO=6”
Tests a data register against a given data value. The result of the test is the setting of the condition code, which
can be used for conditional programming (see QJ command).
All conditions codes can be set by this command. See “QJ” command for more details.
Command Details:
Structure TR(Parameter #1)(Parameter #2)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access All data registers
Parameter Details:
Parameter #1 Data register
- units data register assignment
- range All data registers
Parameter #2 Test value
- units integer
- range +/- 2,147,483,647 (long data registers)
+/- 32,767 (short data registers)
Examples:
Command Drive sends Notes
TR15 - Test user-defined register “1” against the value 5
Transfers the oldest Time Stamp value from the time stamp buffer into the “W” data register. The time stamp value
is a time value in milliseconds, recorded between two input triggers when using the RC command. Each time a
defined input condition is “True” (triggered), the elapsed time from the previous input is stored in the time stamp
buffer. The time stamp buffer is 8 words deep and acts as a FIFO buffer. The “I” data register, used by the RC
command, records when an input trigger has occurred. Sending the RC command clears the time stamp buffer.
Executing the TS command removes the oldest time value from the time stamp buffer and places it in the “W”
Data Register where it can be used. With each execution of the TS command a time value is transferred, until the
end of the time stamp buffer is reached. If a TS is sent with no time values in the time stamp buffer a “0” is placed
in the “W” data register.
Command Details:
Structure TS
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access “W” (039)
Units milliseconds
Example:
This sample Q program illustrates the interaction of the RC and TS commands. After initialization, the program
waits for a falling edge event on input X3, at which point a 5 second timer begins counting down. During this
delay, the user may trigger X3 an arbitrary number of times. After 5 seconds, the motor will execute a series
of 5000-step moves, with the delay between each corresponding to the delay between switch closures on X3.
That is, if the user trips X3 four times waiting 1 second between each event, the motor will execute four 5000-
step moves with a 1 second dwell between each.
MT 1 Multi-tasking ON
EG 20000 20,000 steps/rev
AC 250
DE 250
VE 5
FI 3 200 Filter input 3 for 200 processor ticks
RX I 0 Zero the “I” register
RC X3F Setup the “I” register for input X3
WI X3F Wait for input X3
WT 5.00 Wait 5 seconds >>> trigger inpuxt X3 a few times
TS Throw away first time stamp
LABEL2 RD I Decrement “I” register
FL 5000 Feed 5000 steps
TR I 1 Test “I” against 1
QJ L #LABEL1 Jump to end if “I” less than 1
TS Time stamp
RM W 1 Move “W” into “1”
WD 1 Delay for “1” milliseconds
QG #LABEL2 Go to Label 2
LABEL1 NO Stop program
This parameter is used to define a time duration. It is used to determine whether the driver has finished receiving
all pluses or not. If the drive does not receive any pluses for the period that is longer than TT defined time, then
the pulse input stream to the drive is considered complete.
Command Details:
Structure TT{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 Pulse Complete Timing
- units 50µsec, (125µsec for SV200)
- range 5~20000
-default 2000
Examples:
Command Drive sends Notes
TT1000 - Sets the pulse complete timing to 50ms for pulse receive complete
determination.
TT TT=1000
PD Target Position
Actual Position
PE
TT
In Motion
In Position
Defines the acceptable torque ripple value around the targeted torque in units of Amperes. If the difference
between the actual torque and targeted torque is within the ripple value for the time duration specified by PE
command, then the drive defines the actual torque as having met the target torque value. This setting is one
of the parameters that controls when the “torque reached” output, which is assigned to digital output Y3, will
change state while operating in torque mode.
Command Details:
Structure TV{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 See above
- units Amps
- range 0~4.50
-default 0
Examples:
Command Drive sends Notes
TV1 % Set the torque ripple around the targeted torque to 1Amps
TV TV=1 The torque ripple around the targeted torque is 1Amps
Command Details:
Structure VC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access “U” (037)
Parameter Details:
Parameter #1 Move velocity
- units rev/sec
- range BLu, SV, STAC6, ST-Q/Si, ST-S: 0.0042 - 133.3333
(resolution is 0.0042)
STM: 0.0042 - 80.0000 (resolution is 0.0042)
Examples:
Command Drive sends Notes
VC5 - Set change velocity to 5 rev/sec
VC VC=5
Sets or requests shaft speed for point-to-point move commands like FL, FP, FS, FD, SH, etc.
Command Details:
Structure VE{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access “V” (038)
Parameter Details:
Parameter #1 Move velocity
- units rev/sec
- range BLu, STAC6, : 0.0042 - 133.3333 (resolution is 0.0042)
Examples:
Command Drive sends Notes
VE2.525 - Set move velocity to 2.525 rev/sec
VE VE=2.525
Sets or requests the velocity-mode (“JM2”) servo control integrator gain term. Gain value is relative: 0 = no gain,
32767 = full gain. VI minimizes steady state velocity errors.
Command Details:
Structure VI{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Velocity integrator gain value
- units integer (no specific units)
- range 0 - 32767 (0% - 100%)
Examples:
Command Drive sends Notes
VI5000 - Set velocity integrator gain to 5000
VI VI=5000
Specifies the maximum voltage that will be applied to the motor by the PWM outputs on the drive.
Normally this is set to 100% for modern step motors. Some inexpensive motors are constructed with less robust
winding insulation, and require this voltage to be limited. In these rare cases, VL may be lowered. This will
directly impact motor performance, but will allow the drive to control a wider variety of motors.
Command Details:
Structure VL{Parameter #1}
Type BUFFERED
Usage READ / WRITE
Non-Volatile YES
Register Access None
Parameter Details:
Parameter #1 PWM Duty Cycle
- units
- range 10 - 1000 (1.0% - 100.0%)
Examples:
Command Drive sends Notes
VL1000 - Maximum voltage applied to the motor: 100.0% (default)
VL VL = 1000
Sets or requests the maximum motor velocity in rev/sec. Used in analog velocity mode to limit the maximum
speed of the drive.
Command Details:
Structure VM{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
BLu, SV
Parameter #1 Move velocity
- units rev/sec (rps)
- range 0.0042 - 133.3333 (resolution is 0.0042 rev/sec)
Examples:
Command Drive sends Notes
VM50 - Set maximum move velocity to 50 rev/sec
VM VM=50
Sets or requests the velocity-mode servo control Proportional gain term. Gain value is relative: 0 = no gain, 32767
= full gain. VP minimizes velocity error when in velocity mode 2 (see JM command).
Command Details:
Structure VP{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Velocity mode proportional gain
- units integer
- range 0 - 32767 (0% - 100%)
Examples:
Command Drive sends Notes
VP5000 - Set velocity mode proportional gain to 5000
VP VP=5000
Defines the acceptable velocity ripple value around the targeted velocity in units of rev/sec. If the difference
between the actual velocity and targeted velocity is within the ripple value, then the drive defines the actual
velocity as having met the target velocity value. This setting is one of the parameters that controls when the
“velocity reached” output, which is assigned to digital output Y4, will change state while operating in torque or
velocity modes.
Command Details:
Structure VR{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile YES
Register Access None
Parameter Details:
BLu, SV
Parameter #1 Velocity Ripple (see above)
- units rps
- range 0~136
Examples:
Command Drive sends Notes
VR1 % Set the velocity ripple around the targeted velocity to 1rps
VR VR=1 The velocity ripple around the targeted velocity is 1rps
Causes a time delay to occur using a time value from a given data register. The resolution is in milliseconds. Only
up to 15 bits of the data register are used, giving a maximum wait time of 32 seconds.
Command Details:
Structure WD(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Data register
- units data register assignment
- range All Read/Write and User-Defined data registers
Examples:
Command Drive sends Notes
WD5 - Wait the number of milliseconds indicated by the value in user-
defined data register “5”
Waits for an input to reach the given condition. Allows very precise triggering of moves if a WI command is
followed by a move command. When JE (Jog Enable) is active the drive’s “jog” inputs can be used to jog the
motor. JD disables jogging using inputs. (See your drive’s User’s Manual for designation of “jog” inputs).
Command Details:
Structure WI(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
(See Appendix F: Working With Inputs and Outputs)
Examples:
Command Drive sends Notes
WI3R - Wait for input 3 to go high (rising edge) before proceeding to the next
command in the queue
When in multi-tasking is turned on (see MT command) this command will block execution of subsequent
commands until the previously initiated move is complete. This can be any type of move such as “Feeds”,
“Jogging” or the “Hand Wheel” (encoder following).
Command Details:
Structure WM
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Examples:
Command Drive sends Notes
WM - Causes queue execution to wait until any move in progress is
complete
When multi-tasking is turned on (“MT1”), this command is used in conjunction with the DC command to block
program execution until a specific position(s) is reached during a move. When the position(s) specified by the DC
command is reached program execution continues.
Common example:
This command is used as a “separator” in changing the motor speed of multi-velocity move profiles created using
the FC command. The normal FC command provides for one speed change using values determined by DC
and VC commands executed prior to the FC command. Additional speed changes can be added after an FC
command is initiated by using the WP command to separate additional DC and VC commands. See the example
below.
NOTE: This command, along with the ability to create multi-velocity move profiles with the FC command, is only
available in BLu servo drive firmware revisions 1.53C or later. This command is available in all firmware revisions
of STAC stepper drives.
Command Details:
Structure WP
Type BUFFERED
Usage WRITE ONLY
Non-Volatile No
Register Access None
Examples:
Command Drive sends Notes
DI100000 - Overall move distance set to 100,000 counts
VE10 - Initial move speed set to 10 rps
DC80000 - 1st change distance set to 80,000 counts
VC15 - 1st change speed set to 15 rps
FC - Initiate FC command (complex move)
WP -
DC60000 - 2nd change distance set to 60,000 counts
VC9 - 2nd change speed set to 9 rps
WP -
DC40000 - 3rd change distance set to 40,000 counts
VC1 - 3rd change speed set to 1 rps
WP -
DC20000 - 4th change distance set to 20,000 counts
VC19 - 4th change speed set to 19 rps
Command Details:
Structure WT(Parameter #1)
Type BUFFERED
Usage WRITE ONLY
Non-Volatile NO
Register Access None
Parameter Details:
Parameter #1 Time
- units seconds
- range 0.00 - 320.00 (resolution is 0.01 seconds)
Examples:
Command Drive sends Notes
WT2.25 - Causes time delay of 2.25 seconds
Sets or requests the regeneration resistor wattage value. BLuAC and STAC drives dynamically calculate the
continuous wattage induced into an external regeneration resistor and must know the continuous wattage rating of
the regen resistor to do this effectively.
Command Details:
Structure ZC{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Continuous wattage value of regen resistor
- units Watts
- range 1 - 1000
Examples:
Command Drive sends Notes
ZC250 - External regen resistor with value of 250 continuous watts is
connected to the drive
Sets or requests the regeneration resistor value. BLuAC and STAC drives dynamically calculate the continuous
wattage induced into an external regeneration resistor and must know the value of the regen resistor to do this
effectively.
Command Details:
Structure ZR{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Value of regen resistor
- units Ohms
- range 25 - 100
Examples:
Command Drive sends Notes
ZR50 - 50 ohm external regen resistor connected to drive
Sets or requests the regeneration resistor time constant. Decides the peak time that the resistor can tolerate full
regeneration voltage. When regeneration occurs the full regeneration voltage of 400 volts is applied across the
resistor. The peak wattage is typically very high, for example with the built-in 40 ohm resistor the peak wattage is
4000 Watts. Power resistors will tolerate this for only a brief period of time. In the case of the built-in 40 ohm/ 50
Watt regen resistor it is only 0.3125 seconds. The ZT value provides the resistor time constant used to create the
“filter” for calculating average wattage in the regen resistor.
Command Details:
Structure ZT{Parameter #1}
Type BUFFERED
Usage READ/WRITE
Non-Volatile Yes
Register Access None
Parameter Details:
Parameter #1 Maximum time for peak regen
- units 0.25 milliseconds
- range 1 - 32000
Examples:
Command Drive sends Notes
ZT1250 - Regen resistor peak time set to 0.3125 seconds
ZT ZT=1250
Math & Logic (R+, R-, R*, R/, R&, R|) (Q drives only)
Math and logic functions can be performed on data registers. Math is limited to integer values. Some of the
math functions are also limited to 16-bit values. When doing math only one operation can be done per instruction.
Math and logic results are stored in the Accumulator register, “0”. This register is part of the user-defined register
set. Math functions include Add, Subtract, Multiply and Divide. Logic functions include Logical AND and Logical
OR.
NOTE: The QJ (Queue Jump) command is designed to use the “Condition Codes” above for jumping. The
Condition Code can also be accessed via the “h” register.
*Note that the “a” register is affected by the AV (Analog Offset) command, so the range may vary beyond 0
to 16383.
BLu, STAC6
The “d” register (as well as the ID command) contains the relative move distance used in the last move.
This means that the “d” register is only updated at the end of every relative move.
hexadecimal equivalent of
f Alarm Code (AL) 054 Long binary Alarm Code word All drives
(See AL command for details)
The “g” register contains the absolute position of the point at which the input condition is met during moves
like FS, FE, SH, and other “sensor-type” moves. It is common practice to use the EP and SP commands
to establish known absolute positions within an application or program, which will make the value of the “g”
register most meaningful. Otherwise, the absolute position of the motor is zeroed at every power-up of the
drive.
The response to the “RLh” command will be the decimal equivalent of the condition code’s binary word. Bit
assignments and examples are shown below.
BLu, STAC6
The bit pattern of the “i” register breaks down as follows: bit 0 is the state of the encoder’s index (Z) channel,
also known as input X0; bits 1 - 7 represent the states of driver board inputs X1 - X7, respectively; bits 8 - 10
represent the states of driver board outputs Y1 - Y3, respectively; and, bits 11 - 15 are not used. For bits
0 - 7 (inputs X0 - X7), a state of “1” means the optically isolated input is open, and a state of “0” means the
input is closed. It is the exact opposite for bits 8 - 10 (outputs Y1 - Y3), for which a state of “1” means the
optically isolated output is closed, and a state of “0” means the output is open.
SV, ST-Q/Si
The bit pattern of the “i” register breaks down as follows: bits 0 - 7 represent inputs X1 - X8, respectively;
bits 8 - 11 represent outputs Y1 - Y4, respectively; and, bit 12 is the encoder index channel (if present). For
bits 0 - 7 and 12 (inputs X1 - X8 and the Index), a state of “1” means the optically isolated input is open, and
a state of “0” means the input is closed. It is the exact opposite for bits 8 - 11 (outputs Y1 - Y4), for which a
state of “1” means the optically isolated output is closed, and a state of “0” means the output is open.
ST-S, STM
The bit pattern of the “i” register breaks down as follows: bit 0 represents the encoder index channel (if
present), bit 1 represents the STEP input, bit 2 the DIR input, and bit 3 the EN input. Bit 8 represents
the drive’s single output, OUT. For bits 0 - 3 (Index, STEP, DIR, and EN inputs), a state of “1” means the
optically isolated input is open, and a state of “0” means the input is closed.
d
d
ts
se
se
se
s
u
x
ut
tu
tu
tu
tp
de
p
no
no
no
ou
in
in
X X X X X X Y2 Y1 X X X X X4 X3 X2 X1
0 0 0000 0 0 00 00 0 0 0 0
SVAC3, STAC5
The bit pattern of the “i” register breaks down as follows: bits 0-3 represent inputs X1-X4, respectively;
bits 8 and 9 represent outputs Y1 and Y2, and bit 14 represents the encoder index channel (if present).
represents the STEP input, bit 2 the DIR input, and bit 3 the EN input. Bit 8 represents the drive’s single
output, OUT. For bits 0-3 and 14 (X1-X4 and the Index), a state of “1” means the optically isolated input is
open, and a state of “0” means the input is closed.
raw ADC counts, 0 - 32760
j Analog Input 1 (IA1) 058 Short 16383 = 0 volts for BLu, SV, All drives
STAC6, ST-Q/Si drives
n Velocity Move State 062 Short State # (see below) All drives
o Point-to-Point Move State 063 Short State # (see below) All drives
NOTE: The Point-to-Point Move State is only defined during FL, FP, and FS commands.
q Actual Motor Current (IQ) 065 Short 0.01 Amps Servo drives only
*For stepper drives, the “w” register is only updated when Stall Detection or Stall Prevention is turned on.
For example, if top board inputs 3 and 5 and top board outputs 1 and 2 were all closed, the response of the
drive to the command “RLi” would be “RLi=-29461” (1000 1100 1110 1011). For a more efficient use of the
“y” register it is recommended to mask off the ID bit and the other three not used bits. This can be done by
using the R& (Register AND) command with the “y” register and a User Defined register set with the value
4095 (0000 1111 1111 1111 1111). Following a register AND operation (&), this will reject the top 4 bits,
leaving the rest of the data untouched. For example, the command sequence would look like this.
RL14095 Load User Defined register “1” with the value 4095
R&y1 Register AND the “y” and “1” registers
RL0 Request the value stored in the Accumulator register “0” to which the
drive’s response would be RL0=3307.
The “A” register units are 10 rpm/sec, which means that the value of the “A” register is equal to 6 times the
AC command value. In other words, to achieve an acceleration value of 100 rev/sec/sec send the command
RLA600.
NOTE: Take care to ensure that this register is never set to zero. The drive may become stuck in a command
mode or program loop and/or refuse to move. See the RL, RM, and RX commands.
The “B” register units are 10 rpm/sec, which means that the value of the “B” register is equal to 6 times the
DE command value. In other words, to achieve a deceleration value of 100 rev/sec/sec send the command
RLB600.
NOTE: Take care to ensure that this register is never set to zero. The drive may become stuck in a command
mode or program loop and/or refuse to move. See the RL, RM, and RX commands.
The “E” register contains the difference between the encoder count and the motor position. This value
is most useful with servo drives (Blu / SV) where the resolution of the motor and encoder are the same,
and this offset can be useful when working with absolute positions. The register contains the difference in
counts between the “e” register and the value set by the “SP” command.
F Other Flags 022 Long bit pattern (see below) All drives
BLu
The value of the “F” register is a hexadecimal sum of various drive states, as shown below.
Description Hex Value Decimal Value
DISTANCE LIMIT FLAG 0x0001 1
SENSOR FOUND FLAG 0x0002 2
LOWSIDE OVERCURRENT 0x0004 4
HIGHSIDE OVERCURRENT 0x0008 8
Clear flags by sending “RLF0” to the drive.
SV
The value of the “F” register is a hexadecimal sum of various drive states, as shown below.
STAC6
The value of the “F” register is a hexadecimal sum of various drive states, as shown below.
Description Hex Value Decimal Value
DISTANCE LIMIT FLAG 0x0001 1
SENSOR FOUND FLAG 0x0002 2
HARDWARE OVERCURRENT 0x0004 4
SOFTWARE OVERCURRENT 0x0008 8
BAD CURRENT OFFSET - Phase A 0x0010 16
BAD CURRENT OFFSET - Phase B 0x0020 32
OPEN WINDING - Phase A 0x0040 64
OPEN WINDING - Phase B 0x0080 128
Clear flags by sending “RLF0” to the drive.
G Current Command (GC) 023 Short 0.01 Amps Servo drives only
H Analog Velocity Gain 024 Short +/- 32767 ADC counts BLu servo drives only
The “H” register in BLu servo drives is similar to the AG command in all other drives. The “H” register is
used to set the motor speed at a given DC voltage in analog velocity mode. It is recommended to make
this setting in Quick Tuner, where it is labeled Speed in rev/sec at xx Volts, under the Velocity > Analog
Operating Mode.
The “J” register units are 0.25 rpm, which means that the value of the “J” register is equal to 240 times the
JS command value. In other words, to achieve a jog speed value of 7 rev/sec send the command RLJ1680.
K RESERVED 027 - - -
L RESERVED 028 - - -
Q RESERVED 033 - - -
The “S” register counts pulses coming into the STEP/X1 and DIR/X2 inputs of the drive. This is particularly
useful when in Command Mode 7 (see CM command) or executing an FE (Follow Encoder) command. To
zero the “S” register send the command RLS0.
The “T” register is automatically saved at power down and restored at power up.
The “U” register units are 0.25 rpm, which means that the value of the “U” register is equal to 240 times the
VC command value. In other words, to achieve a change velocity value of 7 rev/sec send the command
RLU1680.
The “V” register units are 0.25 rpm, which means that the value of the “V” register is equal to 240 times the
VE command value. In other words, to achieve a velocity value of 7 rev/sec send the command RLV1680.
Y Analog Threshold (AT) 041 Short raw ADC counts All drives
Z Analog Offset (AV) 042 Short raw ADC counts All drives
The Accumulator register “0” is, aside from being a User-defined data register, the register in which the
result of every register math function is placed. For example, if the drive executes the register addition
command “R+D1” the result of this operation (i.e. the sum of the values in data registers “D” and “1”) will be
placed in the Accumulator “0” register.
[ RESERVED 043 - - -
\ RESERVED 044 - - -
] RESERVED 045 - - -
^ RESERVED 046 - - -
_ RESERVED 047 - - -
` RESERVED 048 - - -
The separation of these partitions is important in understanding how the drive writes to non-volatile memory.
For example, each time the SA command is executed by the drive, all of the Drive Parameters are re-written to
non-volatile memory partition 13. Similarly, each time an RW command is executed by the drive, all of the one
hundred NV Data Register Storage Locations are re-written in partition 15, even if only one of the locations is
being updated with a new data register value.
The significance of these operations becomes clear when we consider that the physical non-volatile memory
of the Q drive is limited to approximately 10,000 write cycles. This means that after writing to any one of the 16
partitions 10,000 times, the integrity of the data stored in that memory partition cannot be insured.
For this reason, it is not recommended to use the RW or SA commands in stored Q programs. For example,
it might be tempting for a user to include an RW command or two in a stored program in such a manner that
allows for various data register values to be written to non-volatile memory on a regular basis. The temptation
of this is that there won’t be a need to reload register values manually in the case of a power down/up cycle: the
register values can simply be loaded back into the program (using RR commands) from non-volatile memory. This
is to be avoided, though, because using the RW command (or SA command) in this manner could result in the
early failure of the non-volatile memory of the drive. The intended use of the RW command therefore is to be used
in the early stages of an application, during startup and programming, to set up a series of non-volatile register
locations that can be read into a stored program using the RR command.
The partitions designated for Q Program Segment storage are typically not going to be re-written in a
manner similar to the RW and SA commands, as they are only accessed during program/segment downloads
during startup and programming of an application.
Hardware
Details on drive terminals and connectors for wiring each of the available hardware configurations are shown
in Appendix C. Below is an overview of the three available configurations.
RS-232: This is the easiest method for drive serial communications. Using an Applied Motion supplied
adapter/programming cable (one supplied with each Applied Motion drive) a single drive can be connected directly
to any PC with a standard 9-pin RS-232 serial port. Here are some RS-232 highlights:
• Easiest to use
• Configuration of choice for using Applied Motion software applications such as Q Programmer, Quick
Tuner and STAC6 Configurator
• Short Cable Lengths
• Serial cable provided with each Applied Motion drive
• Susceptible to EMI
RS-422 (4-wire RS-485): RS-422 was originally designed for high reliability communications in point-to-point
configurations. It usually requires a special adapter to work with a PC but is common on many types of controllers
such as PLCs and HMIs. Our implementation allows for multi-drop communications with a single master (serial
network). Here are some RS-422 highlights:
• Relatively easy to use
• NOT supported by Applied Motion software applications such as Quick Tuner or STAC6 Configurator. (Q
Communications Protocol
In general, the protocol for communications between a host device and a drive is quite simple. The drives
do not initiate communications on their own, so drives are normally in a state to receive packets from the host. A
communications packet, or packet for short, includes all the characters required to complete a command (host
to drive) or response (drive to host) transmission. In other words, a host initiates communication by sending a
command packet, and the drive responds to that command (if necessary) by sending a response packet back to
the host.
Command Transmission (host to drive): The transmission of characters to the drive requires the host to
send all the required characters that form a packet in a limited time frame. At the start of receiving a packet, the
drive begins timing the space between characters. Each time a character is received an internal timer is reset
to 200 milliseconds. If the timer reaches zero before the next character in the packet is received the drive will
terminate its packet parsing (characters will still go into the receive buffer) and may send out an error response
packet depending on the protocol setting. The purpose of the time-out feature is to allow the drive to purge its
buffers automatically when a bad transmission occurs.
NOTE: This time-out feature limits the usage of host devices such as the Windows application
HyperTerminal. We recommend using Applied Motion’s SCL Setup Utility instead. This utility sends out an entire
command packet with the minimum delay between characters, and includes the packet’s terminating character
(carriage return).
Command packets are terminated by a Carriage Return (ASCII 13).
Response Transmission (drive to host): In response to a command packet from the host a drive can send
a response packet. The drive sends out its entire response packet with very limited space between characters.
Communication Details
Transmit Delay: (TD Command): The TD command allows users to define a dwell time in a drive, which is
used by the drive to delay the start of transmission of a response packet after the end of reception of a command
packet.
When using 2-wire RS-485 networks there are times when a drive’s response packet must be delayed until
the network is ready for the drive to transmit. Why is this necessary? The answer is because RS-485 networks
are by nature “half-duplex”, which means you cannot transmit and receive at the same time. Rather, a host must
first transmit, stop, then wait to receive. This is because the host and drive transmitters share the same pair
of wires. When transmitting, the device that has the transmission rights must assert its transmitter outputs and
therefore take control of the pair. At the same time all other devices on the network must de-assert, or open, their
transmitters so as not to interfere with the device that has the rights. Transmitters in this scenario have tri-state
outputs: the three states are transmit, open, and receive.
Some devices are not as quick in opening their transmitters as others. For this reason it may be necessary
for other, faster devices on the network to dwell some time while the slower devices open their transmitters.
Applied Motion drives de-assert their transmitters very quickly. Typically it is done within 100 microseconds (.0001
second) after the end of a packet transmission. However it is possible that the host device won’t be this fast, and
so the TD command allows users to set the time delay that an Applied Motion drive will delay after receiving a
command packet before sending a response packet.
Communications Packet: A Communications Packet, or packet for short, includes all the characters
required to complete a command or response transmission. This can vary depending on the settings of the PR
command. See Appendix D for more on the PR command. All packets are terminated by a Carriage Return
(ASCII 13).
Drive Startup: At power-up, all Applied Motion drives send out what is called the “power-up packet”. This
packet notifies a host of the drive’s presence. After sending the power-up packet the drive waits for a response
from the host. This is one of the rare instances in which a drive will initiate communications with the host. This
process is necessary for a number of Applied Motion software applications such as Quick Tuner and STAC6
Configurator. The power-up packet is an exception to the ASCII character rule in that all the characters in the
packet are binary value. Even if the character is printable its binary value is what is important. The power-up
packet consists of three binary characters with the first character being a binary 255 (255 is not a printable
ASCII character). This character designates to the software application that the packet is a power-up packet. The
following two characters are the firmware version number and the model number of the drive, respectively.
Power-Up Packet = (255)(F/W Version)(Model No.)
As an example, a BLuAC5-Si with f/w version 1.53 firmware will send out a power-up packet that looks
like this: (255)(53)(38). To an ASCII terminal this packet may look like “ÿ5&”. The (255) is the power-up packet
designator, the (53) actually stands for f/w version 1.53 (the “1” is implied), and the (38) is an internal model
Communication Errors
During the process of sending communication packets between the host and drive(s), two different types of
communication errors can occur.
Hardware errors: Hardware errors are displayed physically by a drive (via either LEDs or a 7-segment
display on the drive, see Appendix F), but no response packet is automatically generated from the drive to the
host. Therefore it is the responsibility of the host to check for hardware comm errors using the AL, RS, and/or SC
commands. See Appendix F for more details on the AL and SC commands. Once the host has determined the
presence of a hardware comm error, the nature of the error can be retrieved using the CE command.
Parsing errors: Parsing errors happen when a drive receives a command packet but cannot properly
interpret (parse) the command. Parsing errors can automatically generate a response packet from the drive to the
host, depending on the settings of the PR command (see Appendix D, PR command, Bit 2).
If your project calls for a Q drive (or drives) running stored programs, you will use the supplied RS-232
programming cable along with Quick Tuner or Configurator and Q Programmer to setup, configure, and program
your drive(s). If your project calls for your drive(s) only running stored programs, you can read up on the RS-232
sub-section in this section and not read any more about the other serial connections. However, if your application
calls for a serial host controller (PC, PLC, HMI, or other serial device that can act as a host) being able to
communicate to the drive(s), you will need to choose one of the three available serial connections.
Single or multi-axis
If your project calls for communicating to only one drive you can consider any of the three options. If your
project calls for communicating to more than one drive you should use 2-wire or 4-wire RS-485.
NOTE: Proper cable shielding is a must. High voltage, high frequency, high current signals that are present
on the servo motor cables can emit a significant amount of electrical interference. Without proper shielding on the
communications wiring this interference can disrupt even noise-tolerant differential line drivers.
Set the switches on the Jameco adaptor for DCE and TxON, RxON. Don’t forget to plug in the DC power
adapter that comes with the unit.
Acknowledge characters are always sent out of the RS-232 port. When operating on a 2-wire or 4-wire RS-
485 network, the acknowledge characters are sent out under the following conditions:
1. An acknowledge character is sent when the received command has an address character at the
beginning.
2. An acknowledge character is NOT sent when global commands (commands without addresses) that
do not request data from the drive are used.
3. Global commands that request data will cause data to be returned from the drive(s). This can cause
data collisions if there are more than one drive on a network. NOTE: Always use addresses with
commands in multi-drop networks to avoid data collisions.
NOTE: When possible avoid using Acknowledge characters (%, *, ?) as drive addresses in multi-drop
networks to prevent confusion.
Bit 3 - Checksum
When this bit is 1, checksum is implemented. When this bit is 0, checksum is not implemented.
RU command Example:
Command Drive Sends Notes
RU0174 RUA=100 Drive responds to register upload command by sending
RUB=150 contents of 4 sequential data registers, starting with
RUC=140 register 017 (“A”)
RUD=210
Note: 3-digit numeric register addressing may be required for some 3rd party PLCs, HMIs, etc.
Step-Servo (SSM/TSM/TXM/SS) and SV200 drives support “SSM type” checksum protocol. When bit 3 in
PR command is set to 1 and bit 6 in PR is set to 0, for example PR=13, then “SSM type” checksum protocol is
implemented.
Step-Servo (SSM/TSM/TXM/SS) and SV200 drives can also support “STM type” checksum protocol. When
both bit 3 and bit 6 in PR command are set to 1, for example PR=77, then “STM type” checksum protocol is
implemented.
ST/STM/SWM drives do not support “SSM type” checksum protocol.
Chars “C” “C” “=” “5” “{” CHKsm: 7 (2 ASCII) “Carriage Return”
If you get a Nack response “?10”, this is a comm port error that may be a bad checksum. To see what it
is use the “CE” command which will give back an error code in “Hex”.
NOTE 1: There is no checksum on the “Ack” or “Nack” packets. These are very simple responses that in the case of an “Ack” does not
have data or the “Nack” has only an error code.
NOTE 2: when checksumming is turned on, you are NOT allowed to send a packet without the checksum, otherwise it will return back
“?12”(means no Checksum), In the other hand, when checksumming is turned off, but send command with checksum, it will return a “?4”(means
too many parameters).
ST/STM/SWM drives support “STM type” checksum protocol. When bit 3 in PR command is set to 1, for
example PR=13, then “STM type” checksum protocol is implemented.
Step-Servo (SSM/TSM/TXM/SS) and SV200 drives also support “STM type” checksum protocol. When
both bit 3 and bit 6 in PR command are set to 1, for example PR=77, then “STM type” checksum protocol is
implemented.
Step-Servo (SSM/TSM/TXM/SS) and SV200 drives can also support “SSM type” checksum protocol. When
bit 3 in PR command is set to 1 and bit 6 in PR is set to 0, for example PR=13, then “SSM type” checksum
protocol is implemented.
Chars “C” “C” “=” “1” “.” “2” “{” CHKsm “Carriage Return”
Hex 0x43 0x43 0x3D 0x31 0x2E 0x32 0x7B 0xAB 0x0D
If you get a Nack response “?10”, this is a comm port error that may be a bad checksum. To see what it
is use the “CE” command which will give back an error code in “Hex”.
NOTE 1: There is no checksum on the “Ack” or “Nack” packets. These are very simple responses that in the case of an “Ack” does not
have data or the “Nack” has only an error code.
NOTE 2: when checksumming is turned on, you are NOT allowed to send a packet without the checksum, otherwise it will return back
“?12”(means no Checksum), In the other hand, when checksumming is turned off, but send command with checksum, it will return a “?4”(means
too many parameters).
PR Command Examples
Now that you know what the bits in the PR command’s 9-bit binary word mean, here are a couple examples
showing how you would set the serial communications protocol of your drive.
Example: Turn on Ack/Nack (Bit 2) and 3-digit numeric register addressing function (Bit 5)
The 9-bit word for this combination is - 000100100 - and it’s decimal equivalent is 36. Therefore, to set
your drive with this serial protocol, you would send the command “PR36” to your drive.
Example: The drive has hit the CW limit (0004), there is an under voltage condition (0040), and an encoder
wiring connection has been lost resulting in an encoder fault (0200). The resulting Alarm Code is 0244, and when
the host sends the “AL” command the drive will respond with “AL=244”.
Example: The drive has hit the CW limit (bit 2), there is an under voltage condition (bit 6), and an encoder
wiring connection has been lost resulting in an encoder fault (bit 9). The resulting Alarm Code binary word is 0000
0010 0100 0100. The decimal equivalent of this word is 580, so the response from the drive to the RLf command
will be “RLf=580”.
Example: The drive is running a stored Q program (hex value 4000), it’s in position (hex value 0008), and it’s
waiting for the input specified by the WI command (hex value 0080). The Status Code for this condition is 4088,
and when the host sends the “SC” command the drive will respond with “SC=4088”.
Example: The drive is running a stored Q program (bit 14), it’s in position (bit 3), and it’s waiting for the
input specified by the WI command (bit 7). The resulting Status Code binary word is 0100 0000 1000 1000. The
decimal equivalent of this word 16,520, so the response from the drive to the RLs command will be “RLs=16520”.
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION
DESCRIPTION
Low v. High
When working with inputs and outputs it is important to remember the designations low and high. If current
is flowing into or out of an input or output the logic state for that input/output is defined as low or closed. If no
current is flowing, or the input/output is not connected, the logic state is high or open. A low state is represented
by the “L” character in parameters of commands that affect inputs/outputs. For example, WIX4L means “wait for
input X4 low”, and SO1L means “set output 1 low”. A high state is represented by the “H” character.
When working with the analog inputs, “L” designates an analog value lower than the value set by the AT
command. Similarly “H” designates an analog value greater than the value set by the AT command.
Parameter Details
The following tables show general I/O details for commands as they relate to specific drives. There are
exceptions to these general rules, so be sure to check the command pages for the specific SCL commands
you wish to implement, as well as the list of exceptions at the end of this section. For specific voltage or wiring
questions, consult your drive’s hardware manual.
- range - integer for IN/OUT1 or main drive board connector: 0 (encoder index,
if present), 1 - 7, 8 (Analog Command), 9 (AIN1), : (AIN2)
STAC5-S, SVAC3-S
Parameter #1 Optional “X”, input number, input condition
NOTE: Including/omitting the optional “X” has no effect on the execution
of the command.
STM17C
Parameter #1 Optional “X”, input number, input condition
NOTE: Including/omitting the optional “X” has no effect on the execution
of the command.
STM23C
STM24C
Parameter #1 Optional “X”, input number, input condition
NOTE: Including/omitting the optional “X” has no effect on the execution
of the command.
STM24SF, STM24QF
Drives with Flex I/O allow a user to configure I/O1 through I/O4 as either inputs or outputs by using the Set
Direction (SD) command.
Exceptions:
• When using the Follow Encoder or Hand Wheel commands (FE or HW, respectively), the master encoder
channels A and B must be wired to drive inputs STEP/X1/IN1 and DIR/X2/IN2. In these modes, these
inputs must not be used for sensor inputs.
• Using the On Input (OI) command with no parameter will disable the interrupt function.
• The Seek Home (SH) command makes use of the drive’s CW and CCW limit functions. As such, the
home sensor may not be wired to the following inputs:
- range - integer: 1 - 3
STAC5-S
SVAC3-S
Parameter #1 Optional “Y”, output number, output condition
NOTE: Including/omitting the optional “Y” has no effect on the execution
of the command.
- range - integer: 1 - 2
STAC5-Q, STAC5-IP
SVAC3-Q, SVAC3-IP
Parameter #1 Optional “Y”, output number, output condition
NOTE: Including the optional “Y” indicates that the output(s) resides
on the IN/OUT1 connector (DB-15). Omitting the “Y” indicates that the
output(s) resides on the OPT2 connector (DB-25).
- range - integer: 1 - 4
- range - integer: 1
STM24SF, STM24QF
Drives with Flex I/O allow a user to configure I/O1 through I/O4 as either inputs or outputs by using the Set
Direction (SD) command.
- range - integer: 1 - 4
Getting Started
There are three steps required to create an eSCL application with your new Applied Motion Products motor
driver. Each of these is explained in a separate section of this manual.
• Connect the drive to your PC. This includes getting the drive physically connected to your network (or
directly to the PC), setting the drive’s IP address, and setting the appropriate networking properties on
your PC.
• Configure the drive for your motor and application. For step motor drives, you’ll need to use a suitable
version of our Configurator software. For servos, use Quick Tuner.
• Create your own application. This guide includes code examples in Visual Basic and C# to help you get
started. You can download the example in their entirety, from our website, but we recommend reading the
explanations in the guide first.
67
0 12
192.168.0.40, but not one at 192.168.1.40. If you change 4 192.168.0.40
89A
EF
your subnet mask to 255.255.0.0 (Class B) you can talk
5 192.168.0.50 BCD
to any device whose first two octets match yours. Be sure
to ask your system administrator before doing this. You
6 192.168.0.60
network may be segmented for a reason. 7 192.168.0.70
8 192.168.0.80
Your drive includes a 16 position rotary switch for
9 192.168.0.90
setting its IP address. The factory default address for each
switch setting is shown in the table to the right. A 192.168.0.100
B 192.168.0.110
Settings 1 through E can be changed using the STAC
C 192.168.0.120
Configurator software (use Quick Tuner for servo drives).
Setting 0 is always “10.10.10.10”, the universal recovery
D 192.168.0.130
address. If someone were to change the other settings and E 192.168.0.140
not write it down or tell anyone (I’m not naming names here, F DHCP
but you know who I’m talking about) then you will not be
able to communicate with your drive. The only way to “recover” it is to use the universal recovery address.
Setting F is “DHCP”, which commands the drive to get an IP address from a DHCP server on the network.
The IP address automatically assigned by the DHCP server may be “dynamic” or “static” depending on how the
administrator has configured DHCP. The DHCP setting is reserved for advanced users.
Your PC, or any other device that you use to communicate with the drive, will also have a unique address.
On the drive, switch settings 1 through E use the standard class B subnet mask (i.e. “255.255.0.0”). The
mask for the universal recovery address is the standard class A (i.e. “255.0.0.0”).
One of the great features of Ethernet is the ability for many applications to share the network at the same
time. Ports are used to direct traffic to the right application once it gets to the right IP address. The UDP eSCL
port in our drives is 7775. To send and receive commands using TCP, use port number 7776. You’ll need to know
this when you begin to write your own application. You will also need to choose an open (unused) port number
for your application. Our drive doesn’t care what that is; when the first command is sent to the drive, the drive will
make note of the IP address and port number from which it originated and direct any responses there. The drive
will also refuse any traffic from other IP addresses that is headed for the eSCL port. The first application to talk to
a drive “owns” the drive. This lock is only reset when the drive powers down.
If you need help choosing a port number for your application, you can find a list of commonly used port
numbers at http://www.iana.org/assignments/port-numbers.
One final note: Ethernet communication can use one or both of two “transport protocols”: UDP and TCP.
eSCL commands can be sent and received using either protocol. UDP is simpler and more efficient than TCP, but
TCP is more reliable on large or very busy networks where UDP packets might occasionally be dropped.
NIC PC
SWITCH
LAN or DRIVE
ROUTER
If you have a spare port on a switch or router and if you are able to set your drive to an IP address that
is compatible with your network, and not used by anything else, this is a simple way to get connected. This
technique also allows you to connect multiple drives to your PC. If you are on a corporate network, please check
with your system administrator before connecting anything new to the network. He or she should be able assign
you a suitable address and help you get going.
If you are not sure which addresses are already used on your network, you can find out using “Angry IP
scanner”, which can be downloaded free from http://www.angryip.org/w/Download. But be careful: an address
might appear to be unused because a computer or other device is currently turned off. And many networks use
dynamic addressing where a DHCP server assigns addresses “on demand”. The address you choose for your
drive might get assigned to something else by the DHCP server at another time.
Once you’ve chosen an appropriate IP address for your drive, set the rotary switch according the address
table above. If none of the default addresses are acceptable for your network, you can enter a new table of IP
addresses using Configurator. If your network uses addresses starting with 192.168.0, the most common subnet,
you will want to choose an address from switch settings 4 through E. Another common subnet is 192.168.1. If
your network uses addresses in this range, the compatible default selections are 1, 2 and 3.
If your PC address is not in one of the above private subnets, you will have to change your subnet mask to
255.255.0.0 in order to talk to your drive. To change your subnet mask:
1. On Windows XP, right click on “My Network Places” and select properties. On Windows 7, click Computer.
Scroll down the left pane until you see “Network”. Right click and select properties. Select “Change
adapter settings”
2. You should see an icon for your network interface card (NIC). Right click and select properties.
3. Scroll down until you see “Internet Properties (TCP/IP)”. Select this item and click the Properties button.
On Windows 7 and Vista, look for “(TCP/IPv4)”
Using DCHP
If you want to use your drive on a network that where all or most of the devices use dynamic IP addresses
supplied by a DHCP server, set the rotary switch to “F”. When the drive is connected to the network and powered
on, it will obtain an IP address and a subnet mask from the server that is compatible with your PC. The only catch
is that you won’t know what address the server assigns to your drive. Ethernet Configurator can find your drive
using the Drive Discovery feature, as long as your network isn’t too large. With the drive connected to the network
and powered on, select Drive Discovery from the Drive menu.
If you think this is the correct drive, click Yes. If you’re not sure, click Not Sure and Drive Discovery will look
for additional drives on you network. Once you’ve told Drive Discovery which drive is yours, it will automatically
enter that drive’s IP address in the IP address text box so that you are ready to communicate.
5. Select the option “Use the following IP address”. Then enter the address “10.10.10.11”. This will
give your PC an IP address that is on the same subnet as the drive. Windows will know to direct any
traffic intended for the drive’s IP address to this interface card.
6. Next, enter the subnet mask as “255.255.255.0”.
7. Be sure to leave “Default gateway” blank. This will prevent your PC from looking for a router on
this subnet.
8. Because you are connected directly to the drive, anytime the drive is not powered on your PC
may annoy you with a small message bubble in the corner of your screen saying “The network cable is
unplugged.”
This technique allows you to keep your PC connected to your LAN, but keeps the drive off the LAN,
preventing possible IP conflicts or excessive traffic.
1. If you use a desktop PC and have a spare card slot, install a second NIC and connect it directly
to the drive using a CAT5 cable. You don’t need a special “crossover cable”; the drive will automatically
detect the direct connection and make the necessary physical layer changes.
2. If you use a laptop and only connect to your LAN using wireless networking, you can use the
built-in RJ45 Ethernet connection as your second NIC.
3. Set the IP address on the drive to “10.10.10.10” by setting the rotary switch at “0”.
4. To set the IP address of the second NIC:
a. On Windows XP, right click on “My Network Places” and select properties.
b. On Windows 7, click Computer. Scroll down the left pane until you see “Network”. Right
click and select properties. Select “Change adapter settings”
5. You should see an icon for your newly instated NIC. Right click again and select properties.
a. Scroll down until you see “Internet Properties (TCP/IP)”. Select this item and click the
Properties button.
b. On Windows 7 and Vista, look for “(TCP/IPv4)”
6. Select the option “Use the following IP address”. Then enter the address “10.10.10.11”. This will
give your PC an IP address that is on the same subnet as the drive. Windows will know to direct any
traffic intended for the drive’s IP address to this interface card.
7. Next, enter the subnet mask as “255.255.255.0”. Be sure to leave “Default gateway” blank. This
will prevent your PC from looking for a router on this subnet.
8. Because you are connected directly to the drive, anytime the drive is not powered on your PC
will annoy you with a small message bubble in the corner of your screen saying “The network cable is
unplugged.”
The following diagram shows a basic network. Note that each device has both a MAC ID and IP address.
The router maintains an ARP table, which is really just a list that matches MAC ID’s to IP addresses. An entry is
created for every device on the network.
ARP TABLE
MAC ID: 08:A4:C3:10:0E:00 <--> IP: 192.168.1.100
MAC ID: A2:FB:3D:21:7A:01 <--> IP: 192.168.1.101
MAC ID: 03:C8:11:2B:DE:02 <--> IP: 192.168.1.102
-Q
5
T
S
l No
ria
Se
n
ree
=G d
EN
GR =ReID GRE GR RD
RD 1 RD
SOL GR-+ + 2 2 RDRD
GR- GR
1 GR + + 1 3 RDRD
ER OR
s 1 GR
2 GR + + 4 4 RDRD
de EDD
IV OT
2 GR
1 GR + + 5 5 RDRD
Co ABLBLE ED) 1 GR
2 GR + + 6 6 RDRD
DR M
D DISENA LL ABL 1 GR
2 GR + + 7
EP
LE TOR STAIT (DIS P 1 GR
2 GR
MO TOR
ST
VE TEM
MO TOR LIM ITMO R H 1
MO LIM T SE
CCW ’T OVEE HIG
LOW NAL
REN S PHA
X / DI EP +
CW
CAN VETAG E
X2 / ST EP
SIG
X3 CO DI R+ -
X1 D
TOR R
X2 / ST
GN
DRI TAG CUROHM
T
VOL R
X1 /
MO ODE OR
AL OG OG SE
VOL
X4 / MM R -
X5 / EN ON
OVE TOR
/ CCCW AR LE
AN AL WJ G RE
N ENC ERR
13
X6 / AL AB
V+
MO
JO M
M
12
OPE
BAD
11
V-
COM
10
A+
IN 2
9
IN
25
1
8
A-
24
OG
23
6
B+
22
AN
LIM IT IT+ -
5
/ CWCW LIM IT
21
4
X7 / W WLIM
B-
20
IT+ -
3
19
2
LIM
CC
18
CO V GN -
1
X7 / CC
Y4
17
X8 /
Y2 Y3 MM OU D +
X8
Y4
16
15
Y1 / MO/ FA ON T
14
T
/ BR TIOUL
Y +5
AK N
E
MAC ID: A2:FB:3D:21:7A:01 MAC ID: 03:C8:11:2B:DE:02
IP: 192.168.1.101 IP: 192.168.1.102
It should be noted that computers maintain a local ARP table as well, tracking other devices they’ve
interacted with. This is an important point because the ARP table on a PC will typically refresh more frequently
than those on a network router or switch.
So why do we care? Your application will probably require changing the IP address of a drive. The ARP
table must then be refreshed to show the same MAC ID with a different IP address. This is usually not an issue if
the drive is directly connected to the PC used to configure it, because the local ARP table will likely refresh quickly
enough to catch the new IP address and re-establish a connection.
The problem comes when the drive is connected through a router during configuration. In this scenario it is
entirely possible for IP address changes to happen more frequently than the ARP table can refresh itself. Most
routers do not allow users to refresh the ARP table directly, as this poses a significant network security risk. The
router must actually be rebooted to force a reset of the ARP table and allow a connection with the new IP address.
Obviously this is not an ideal solution.
For this reason we recommend that all configuration be performed while directly connected to a PC. Do not
use a router for drive configuration. Once an IP address is assigned the drive may be placed on the plant network
without worry.
NOTE: If you find that you are changing IP addresses often and the connection becomes unreliable, it may
be necessary to force a refresh of your PC’s local ARP table. This can be accomplished by opening a command
window and using the command arp -d. You must have administrator privileges on your PC to do this.
Visual Basic 6
Even though VB6 is an older language, its refreshing simplicity makes it a compelling choice for quickly
developing an Ethernet application.
To communicate over Ethernet from VB6, you’ll need the Winsock control (MSWINSCK.OCX), which is
included in the Professional and Enterprise editions of the language. To configure an instance of Winsock, you
must specify the protocol as UDP, choose a local port number, and set the remote IP address and port number to
match the drive. In the code example below, 7775 is the port of the drive. driveIPaddress is the IP address of the
drive (“10.10.10.10” or “192.168.0.130” for example). 7777 is the port of the PC.
Winsock1.RemotePort = 7775
Winsock1.RemoteHost = driveIPaddress
Winsock1.Protocol = sckUDPProtocol
Winsock1.Bind 7777
// if port 7777 is in use by another application, you will get an error.
// that error should be trapped using the On Error statement
// and an alternate port should be chosen.
C#.NET
The .NET languages are Microsoft’s modern, object oriented Windows application building tools and include
robust Ethernet support. We present this example in C#.
Make sure your project includes this line, providing access to an Ethernet socket:
using System.Net.Sockets;
In your form header you must declare a UdpClient object and create an instance, which can be done in
the same line. The local port number is included in the “new UdpClient” call. This is the port number that will be
reserved on the PC for your application.
static UdpClient udpClient = new UdpClient(7777);
To open the connection, invoke the Connect method, specifying the drive’s IP address and port number:
udpClient.Connect(“192.168.0.130”, 7775);
Getting responses back from the drive in C# is a more complicated than VB6. You have two choices: poll for
a response or create a callback function that will provide a true receive event.
Polling is easier to code but less efficient because you must either sit in a loop waiting for an expected
response or run a timer to periodically check for data coming in. Since the choice depends on your programming
style and the requirements of your application, we preset both techniques.
The call back function will not be called unless it is “registered” with the UdpClient object using the
BeginReceive method, as shown below. StartRecvCallback can be called from the Form Load event. It must also
be re-registered each time it is called (this is to prevent recursion), which is most easily accomplished by making a
call to StartRecvCallback each time you send a packet.
private void StartRecvCallback()
{
UdpState s = new UdpState();
s.e = new IPEndPoint(IPAddress.Any, 0);
s.u = udpClient;
udpClient.BeginReceive(new AsyncCallback(ReceiveCallback), s);
}
This example requires that you declare a class called UdpState as described below.
class UdpState
{
public UdpClient u;
public IPEndPoint e;
}
As if this event driven technique wasn’t quirky enough, it also creates a threading error unless the following
statement in included in the form load event
// this must be so for callbacks which operate in a different thread
CheckForIllegalCrossThreadCalls = false;
• The eSCL Utility will help you get familiar with the SCL language.
• ST Configuration Ethernet is needed to configure the ST5-QE and ST10-QE step motor drives. This
application also includes extensive help screens.
• QuickTuner is used to configure and tune SV7 servo drives. . Quick Tuner also includes extensive help
screens.
• Visual Basic and C# example projects can be downloaded from the software page.
To learn more about networking using Ethernet, we recommend reading Sams Teach Yourself TCP/IP in 24
Hours, available from amazon.com and other fine booksellers.
Object ID Size
Function Notes
Hex Decimal 32 bit DINTS Bytes
0x64 100 n/a 30 Input Assembly (Classic Static Assembly Object for
Version) monitoring drive status & behavior
(see below for details)
0x68 104 0 0 Heartbeat Listen Only Zero-length message that tells the
Assembly drive the controller is still active.
The data transmitted by the drive is sent in Little Endian format, so it will likely require rearranging before
use.
IP addresses said to be stored in “Internet Format” are simply encoded into hexadecimal notation and
rearranged into Little Endian format. Each octet has a value from 0-255, and can be represented by a single byte.
Note that all numbers are sent in Little Endian format, so the process for converting is the same for each
piece of data.
The data should be decoded as follows. Where possible, the values have been converted to human-
readable units. Please refer to the appropriate command page for further information. Note that Encoder Position,
Absolute Position and Velocity are signed integers, and negative values will be represented in 2’s complement
form.
SV200 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072
The first element in the Output Assembly is used to specify the type of command to be executed.
13 (Reserved) 32 Bits
14 (Reserved) 32 Bits
15 (Reserved) 32 Bits
This assembly be used to enable/disable the motor, execute velocity or position moves, or invoke the embedded SCL handler.
Note: With the exception of Send Host Command, these commands are edge triggered. Therefore, you must
send an Idle State command between successive commands such as repeated moves and alarm resets.
Host Commands can be sent without an intervening Idle State if the command or associated parameter is
changed.
Note: jog accel and jog decel cannot be changed while the motor is moving.
For commands involving inputs and outputs, such as FO, FS and SO, you’ll need to
specify the IO and condition in Data/SCL Register 1.
Example 1: SO2L
Set the SCL Command Letters field of the output assembly to ‘SO’. If your programming environment does not support ascii strings,
use the hex equivalent of ‘SO’: 0x534F.
Set the Data/SCL Register1 field to the hex code for 2L, from the table below: 0x4CB2
Set the command word bit for Host Command: bit 18 (0x40000)
Example 2: FS3R
Set the Data/SCL Register1 field to the hex code for 3R, from the table below: 0x52B3
Set the command word bit for Feed to Sensor: bit 5 (0x20)
Data/
Data/SCL SCL SSM, ST, STM,
Command TSM, SV200 STF MDX
Register 1 Register STAC5 SWM
TXM
2
AD - Analog Deadband Data 0 x x x x x
AF - Analog Filter Gain Data 0 x x x x x
AG - Analog Velocity Gain Data 0 x x x x x
AI - Alarm Reset Input Data 0 x x x x x x
AM - Max Accel Data 0 x x x x x x
AN - Analog Torque Gain Data 0 x x x
AO - Fault Output Data 0 x x x x x x
AP - Analog Position Gain Data 0 x x x x x
AS - Analog Scaling Data 0 x x x x x
AT - Analog Threshold Data 0 x x x x x
AV - Analog Offset Data 0 x x x x x
AZ - Analog Zero 0 0 x x x x x
BD - Brake Release Delay Data 0 x x x x x x
BE - Brake Engage Delay Data 0 x x x x x x
BO - Brake Output Data 0 x x x x x x
CA - Accel Current Data 0 x
CC - Continuous / Running
Data 0 x x x x x x
Current
CD - Idle Current Delay Data 0 x x
CI - Idle Current Data 0 x x x
CM - Control Mode Data 0 x x x x x x
CP - Peak Current Data 0 x x x x x
DC - Set Change Distance Data 0 x x x x x x
DL - Define Limits Data 0 x x x
ED - Encoder Direction 0 or 1 0 x x
EF - Encoder Function Data 0 x x x x
EG - Electronic Gearing Data 0 x x x x
See IO
EH - Extended Homing Encoding 0 x x x x x x
Table
EP - Encoder Position Data 0 x x x
ER - Encoder Resolution Data 0 STAC5 x
FX - Filter Select Inputs Data 0 x x
GC - Current Command Data 0 x x x
‘1’, ‘2’, or
HA - Homing Accel Data x x x x
‘3’
Services
Name Service Class Instance Attribute
Profile Code & ARM Firmware Version 0x0E 0x64 0x00 0x01
Example response message: 00.75.00.07.41.5F.00.01.03.4A (“Get Attribute
Single”)
0x00 = ARM (Ethernet board) firmware major revision, most significant byte
0x75 = ARM (Ethernet board) firmware major revision, least significant byte
0x00 = ARM (Ethernet board) firmware minor revision, most significant byte
0x07 = ARM (Ethernet board) firmware minor revision, least significant byte
0x41 = ASCII ‘A’, the profile code
0x5F = 95, Model Number (see table below)
0x00 = Sub-model Number (see table below)
0x01 = 1, Drive firmware major revision number (1.xx)
0x03 = 3, Drive firmware minor revision number (x.03)
0x4A = ASCII ‘J’, Drive firmware revision letter (x.xxJ)
DI5000 set move distance to 5,000 steps (this is the distance beyond the sensor where motor will stop)
opcode 0x00B6 from Table 1
operand 0x1388 units are steps, so 5000 is represented by 1388 hex
Type 1 Command Message Payload Type 1 Response Message Payload
byte 0 0 reserved byte 0 0 reserved
byte 1 1 message type byte 1 1 message type
byte 2 0 unused byte 2 0 unused
byte 3 B6 opcode byte 3 B6 opcode
byte 4 0 operand MSB byte 4 ? Status Code MSB
byte 5 0 operand 2nd MSB byte 5 ? Status Code LSB
byte 6 13 operand 2nd LSB byte 6 0 not used
byte 7 88 operand LSB byte 7 0 not used
FS2R start the “feed to sensor” move, stop 5000 steps after input 2 rising edge
opcode 0x006B from Table 1
operand 0x52B2 LSB is “2” = 0xB2. MSB is “R” = 0x52 (see IO Encoding Table)
Type 1 Command Message Payload Type 1 Response Message Payload
byte 0 0 reserved byte 0 0 reserved
byte 1 1 message type byte 1 1 message type
byte 2 0 unused byte 2 0 unused
byte 3 6B opcode byte 3 6B opcode
byte 4 0 not used byte 4 ? Status Code MSB
byte 5 0 not used byte 5 ? Status Code LSB
byte 6 52 condition (R) byte 6 0 not used
byte 7 B2 ionum (2) byte 7 0 not used
ST10 / STAC5
opcode (hex)
Parameter 1
Parameter 2
Parameter 3
Parameter 4
Range ST5 /
Description
Command
Reg code
Units
Motion Commands
AC P_TO_P_ACCEL, 1E 0 accel rate 1..32000 10 rpm/sec
AM MAX_ACCEL, 16 0 accel rate 1..32000 10 rpm/sec
AN analog torque gain 5F 0 gain factor 100 amps*100
AX ALARM_RESET BA 0
CJ START_JOGGING 96 0
DC SET_CHNG_DISTANCE B7 0 32 bit distance or position +/-2,147,483,647 steps
DE P_TO_P_DECEL, 1F 0 decel rate 1..32000 10 rpm/sec
DI SET_REL_DISTANCE B6 0 32 bit distance or position +/-2,147,483,647 steps
EF ENCODER_FUNCTION D6 0 function 0,1,2 or 6 0 = Encoder function off
1 = Stall Detection
2 = Stall Prevention
6 = Stall prevention w/ time-out
EG Steps/rev / 2 26 0 steps/rev 100..25600 steps/rev divided by 2
EI input noise filter 43 0 filter 0..255 filter freq = 15,000,000/EI
value
EP ENCODER_POSITION 98 0 32 bit encoder position +/-2,147,483,647 counts
EN electronic gearing numerator 2A 0 numerator 0..1000
EU electronic gearing 2B 0 denominator 0..1000 set to 0 to turn off electronic
denomintor gearing
FC P_TO_P_CHANGE 6D 0
FD feed to double sensor 69 0 cond io2 cond io1 ST: X0..X8, L/H/F/R see IO Encoding Table
2 1 STAC5: X0..X4, 1..8.
L/H/F/R
FE FOLLOW ENCODER CC 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
STAC5: X0..X4, 1..8.
L/H/F/R
FL feed to length (relative move) 66 0
FM Feed to Sensor with mask 6A 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
distance STAC5: X0..X4, 1..8.
L/H/F/R
FO feed and set output 68 0 cond io ST: Y1..Y4, L or H see IO Encoding Table
STAC5: 1..4, Y1,Y2. L
or H
FP feed to position (absolute 67 0
move)
ST10 / STAC5
opcode (hex)
Parameter 1
Parameter 2
Parameter 3
Parameter 4
Range ST5 /
Description
Command
Reg code
Units
FS Feed to Sensor 6B 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
STAC5: X0..X4, 1..8.
L/H/F/R
FY Feed to Sensor with safety 6C 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
distance STAC5: X0..X4, 1..8.
L/H/F/R
GG global gain select EF 0 gain 1..3 see HCR GG command
select
HW Hand wheel AB 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
STAC5: X0..X4, 1..8.
L/H/F/R
JA VM_ACCEL, 1B 0 jog accel rate 1..32000 10 rpm/sec
JD JOG_DISABLE A3 0
JE JOG_ENABLE A2 0 direction 1=cw enable, 2=ccw
enable, 3=both
JL VM_DECEL, 1C 0 jog decel rate 1..32000 10 rpm/sec
JS VM_VELOCITY, 1A 0 jog speed 0..32000 .25 rpm
LM CCW software limit EA 0 ccw position limit +/-2,147,483,647 steps
LP CW software limit E9 0 cw position limit +/-2,147,483,647 steps
MD MOTOR_DISABLE 9E 0
ME MOTOR_ENABLE 9F 0
PD in position counts 71 0 in position 0..32767 encoder counts
counts
PE in position time 72 0 in position 0..30000 msec*4
time
SH SEEK_HOME, ionum+cond 6E 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
STAC5: X0..X4, 1..8.
L/H/F/R
SM STOP_MOVING B5 0 decel code D (DE rate) or M (AM ‘D’ or ‘M’
rate)
SP SET_ABS_POSITION A5 0 32 bit abs position +/-2,147,483,647 steps
TO tach output 64 0 tach 0..7 see HCR TO command
code
TV torque ripple 65 0 torque ripple 100 amps*100
VC CHANGE_VELOCITY, 4A 0 speed 1..32000 .25 rpm
VE P_TO_P_VELOCITY, 1D 0 speed 1..32000 .25 rpm
VR velocity ripple 63 0 velocity 0..136 rev/sec
ripple
ST10 / STAC5
opcode (hex)
Parameter 1
Parameter 2
Parameter 3
Parameter 4
Range ST5 /
Description
Command
Reg code
Units
Configuration Commands
AS Analog Scaling D1 0 scale code 0..7 0 = single-ended +/- 10 volts
1 = single-ended 0 - 10 volts
2 = single-ended +/- 5 volts
3 = single-ended 0 - 5 volts
4 = differential +/- 10 volts
5 = differential 0 - 10 volts
6 = differential +/- 5 volts
7 = differential 0 - 5 volts
BD BRAKE RELEASE DELAY 40 0 brake release 1..32000 msec
delay
BE BRAKE ENGAGE DELAY 41 0 brake engage 1..32000 msec
delay
CA ACCEL_CURRENT, 61 0 accel current not supported 10 rpm/sec
CC Running CURRENT 18 0 motor current 500 / 1000 / 500 .01 amps
when running
CD IDLE_CURRENT_DELAY, 4F 0 delay time 1..32000 msec
CI IDLE CURRENT 19 0 motor current 500 / 1000 / 500 .01 amps
when idle
CM CONTROL_MODE, 10 0 mode code 7, 10..18, 21, 22
EF Encoder Function D6 0 function code 0,1,2 or 6 0 = Encoder function off
1 = Stall detection
2 = Stall prevention
6 = Stall prevention w/ time-out
ER ENCODER_RESOLUTION, 20 0 encoder line 50..32000 lines/rev (counts/rev/4)
count
FI Filter Input C0 io filter value 0..32767 CPU cycles
FX Filter Select Inputs D3 0 input bank 0 or 1 1=IN/OUT1, 0=IN/OUT2
HG harmonic smoothing gain 4 0 gain 0..32000
HP harmonic smoothing phase 5 0 phase +/-255
PF POSITION_FAULT, 21 0 posn fault 1..32000 encoder counts
limit
PM OPERATION_MODE, 44 0 mode code 2 or 7
SF STEP_FILTER_FREQUENCY, 6 0 freq 100..25000 0.1 Hz
I/O Commands
AD ANALOG_DEADBAND D2 0 deadband 0..255 mV
AF ANALOG_FILTER_GAIN, 4C 0 freq 0..32000 Filter value = 72090 / [ (1400 /
Hz ) + 2.2 ]. O=no filter
AG ANALOG_VELOCITY_GAIN, 3B 0 speed at full +/-32000 .25 rpm
scale
AI ALARM_RESET INPUT 46 0 state 1..3
AO FAULT OUTPUT 47 0 state 1..3
ST10 / STAC5
opcode (hex)
Parameter 1
Parameter 2
Parameter 3
Parameter 4
Range ST5 /
Description
Command
Reg code
Units
AP ANALOG_POSITION_GAIN, 4B 0 posn at full 1..32000 steps
scale
AS ANALOG_SCALING D1 0 input range 0..7 0 = single-ended +/- 10 volts
1 = single-ended 0 - 10 volts
2 = single-ended +/- 5 volts
3 = single-ended 0 - 5 volts
4 = differential +/- 10 volts
5 = differential 0 - 10 volts
6 = differential +/- 5 volts
7 = differential 0 - 5 volts
RE DSP RESET A4 0
AT ANALOG_THRESHOLD, 4D 0 threshold +/-32767 ADC Counts
voltage 32767 = +10 volts
-32767 = -10 volts
AV ANALOG_OFFSET, 3C 0 offset +/-32000 ADC counts
AZ AUTO_OFFSET A1 0
BD BRAKE RELEASE DELAY 40 0 brake release 1..32000 msec
delay
BE BRAKE ENGAGE DELAY 41 0 brake engage 1..32000 msec
delay
BO BRAKE_OUTPUT, 48 0 state 1..3
DL DEFINE_LIMITS, 42 0 state 1..3
FI FILTER_INPUT C0 io filter value 0..32767 CPU cycles
FX FILTER_SELECT_INPUTS D3 0 input bank 0=extended, 1 = main
board
JD JOG_DISABLE A3 0
JE JOG_ENABLE A2 0 direction 1=cw enable, 2=ccw
enable, 3=both
MO MOVE_OUTPUT, 49 0 state 1..3
MO MOVE OUTPUT (SV200, 49 io state 1..3
STF, TSM/TXM34)
SI ENABLE INPUT 45 0 state 1..3
SO Set Output 8B 0 cond io ST: Y1..Y4, L or H see IO Encoding Table
STAC5: 1..4, Y1,Y2. L
or H
TI Test Input A8 0 cond io ST: X0..X8, L/H/F/R see IO Encoding Table
STAC5: X0..X4, 1..8.
L/H/F/R
ST10 / STAC5
opcode (hex)
Parameter 1
Parameter 2
Parameter 3
Parameter 4
Range ST5 /
Description
Command
Reg code
Units
Register Commands
RX REGISTER_LOAD AE reg value (16 or 32 bits, reg: A..Z or 0..9 see register code table
depending on register type) value: +/- 2147483647
(long data registers)
+/- 32767 (short data
registers)
TR Test Register Immediate AC reg value (16 or 32 bits, reg: a..z or A..Z or 0..9 see register code table
depending on register type) value: +/- 2147483647
(long data registers)
+/- 32767 (short data
registers)
Q Program Commands
AX ALARM_RESET BA 0
QX Queue Load Execute 78 0 segment 1..12
WD WAIT_DELAY_REGISTER BF reg a..z or A..Z or 0..9 see register code table
Operand 00 01 02 03 04 05 80 81 82 83 84 85
ST, STF OUT1 OUT2 OUT3 OUT4 OUT1 OUT2 OUT3 OUT4
high high high high low low low low
STAC5 Y1 Y2 OUT1 OUT2 OUT3 OUT4 Y1 low Y2 low OUT1 OUT2 OUT3 OUT4
high high high high high high low low low low
STM23, STM24, Y1 Y1 low
SWM24, TXM24 high
**Q register writes are not range checked, so be careful before you write.
Once a Q segment has begun, Type 1 messages are no longer permitted, because the CPU is busy
executing the commands in the Q segment. To stop a Q program, you must use a Type 2 “SK” message (opcode
98, as shown in the next example). Q programs also stop running if they encounter a blank line in the segment.
This makes it possible to launch a segment, have it complete a task, and stop by itself.
Example: Close and reset UDP port for access by another host
opcode 0xFF from Table 2
operand 0x1 Close and reset UDP port 7775.
Type 2 Command Message Payload Type 2 Response Message Payload
byte 0 0 reserved byte 0 0 reserved
byte 1 2 message type byte 1 2 message type
byte 2 FF opcode byte 2 FF opcode
byte 3 0 not used byte 3 0 not used
byte 4 0 not used byte 4 ? Status Code MSB
byte 5 0 not used byte 5 ? Status Code LSB
byte 6 0 not used byte 6 0 not used
byte 7 1 operand byte 7 0 not used
Remember, this is a two step process. First the port must be closed and reset, as shown above. Once
reset, the port must be opened for new connections, which may be accomplished by sending opcode FF again,
but this time with an operand of 0.
A firmware download was interrupted, and Cycle power on the drive and repeat the
Drive’s LED shows solid red
the drive is unable to boot properly. firmware download process.
Integrated Steppers
STM17 NEMA 17 Integrated Stepper
STM23 NEMA 23 Integrated Stepper
STM24 NEMA 24 Integrated Stepper
ST Drives
ST5 5A DC Stepper Drive
ST10 10A DC Stepper Drive
STF Drives
STF03 3A DC Stepper Drive
STF05 5A DC Stepper Drive
STF06 6A DC Stepper Drive
STF10 10A DC Stepper Drive
StepSERVO Drives
SS03 StepSERVO™ drive 3A
SS05 StepSERVO™ drive 6A
SS10 StepSERVO™ drive 10A
SSDC03 StepSERVO™ drive 3A
SSDC06 StepSERVO™ drive 6A
SSDC10 StepSERVO™ drive 10A
SV Drives
SV7 7A DC Servo Drive
Wiring
Modbus/RTU:
Modbus RTU uses the standard RS-232 or RS-485 physical layer.
RS-232 is a point-to-point communications scheme, and as such the largest possible network would consist
of a single slave drive. Please note that even though it will be the only device on the “network”, it will still require
an address. This address may be an integer value from 1-32, and is set through the ST Configurator™ software
during initial configuration.
For drives with RS-485 communications, there are a few things to consider.
It is possible to use 2-wire RS-485 for operational communication over Modbus, however 4-wire RS-485 is
required for use with all Applied Motion configuration and programming software (i.e., ST Configurator™ and Q
Programmer™). As such, we recommend that all RS-485 networks be constructed using the 4-wire method.
Be sure to consult your drive’s hardware manual for specific wiring details.
Modbus/TCP
Modbus TCP uses the Ethernet physical layer. Connect your drive(s) to the host using standard Ethernet
cabling and if necessary an Ethernet switch or router. Port 502 is used for communication per the Modbus
standard.
Drive configuration
First, download and install the most recent version of the appropriate software from the Applied Motion
Products website (www.applied-motion.com). For the ST, STAC, and STM series, use ST Configurator™ software.
For the TSM series, use Step-Servo Quick Tuner™. For SV2 models, use SVX Servo Suite™. For RS-485 drives
you will also need a USB-to-RS-485 converter, such as the USB-COMi-M module available from AMP. Consult
your drive’s manual for wiring and general communication instructions.
1. Launch software and select the appropriate COM port. For Ethernet drives, enter the IP address of
the drive you wish to configure.
2. Apply power to the drive. Note, perform this step with only a single drive on the network. Each drive
must be configured individually before it may be used on a network.
3. The Software will automatically identify the drive, but will not upload all parameters. Click “Upload
from Drive”. This will ensure that the software accurately reflects the current state of the drive’s
configuration parameters.
4. Click “Motion & I/O” in ST Configurator™. In Step-Servo Quick Tuner™ and SVX Servo Suite™ use
the Configuration panel.
5. for Modbus RTU drives, specify the drive’s node address and baud rate.
6. For drives with Flex/IO, confirm the desired I/O settings. Click OK to return to the main screen.
7. Set any desired motor and encoder configurations your application may require.
9. Optionally, use Q Programmer™ to write and download a program for this axis. The drive may be
configured to launch the program automatically upon powerup, or to wait for the QX command to be
sent from the Modbus master.
10. Remove power from the drive and install into the main machine network.
11. Repeat for all other slave nodes, taking care to ensure each has a unique node address.
Note, the drive must be rebooted to switch between Modbus and configuration modes.
Drive Behavior
An extensive list of registers has been made available, allowing the user to monitor or change every detail
of the drive’s status It is also possible to send commands to a specific register, mimicking the behavior of our
proprietary SCL command set. The capability allows a PLC to have unparalleled control over the drive’s behavior
at runtime.
The drive will respond to the following Modbus function codes:
3 Read Holding Registers
4 Read Input Registers
6 Write Single Register
16 Write Multiple Registers
Monitoring
See the Register Map table for details on specific data that can be monitored and written in this manner.
Sending Commands
The Command Opcode register, 40125, is designated to receive encoded SCL commands via Modbus.
Many SCL commands have been made available in this manner, and will allow the user full control over the
motion capabilities of the drive.
SCL command encoding details can be found in the Modbus Register Table.
Now it’s time for the command itself. The most common point-to-point move is the Feed to Length which
uses the SCL command FL. In Modbus we do the following:
The drive will execute the move command immediately, pulling the relevant parameter data from the above
registers. It is immediately ready to accept another command. Note, it is not necessary to send parameter data
with each command, unless this data changes between moves. For example, to repeat a move simply send the
command again, leaving the relevant parameter data unchanged.
Launch a Q Program
It is possible to execute a stored Q program over Modbus using the QX command (opcode 0x78). This
command requires a value to be written to Parameter 1, the first of 5 registers set aside for command-dependant
parameter data.
To launch the program at segment 1, we would use the SCL command QX1. Over Modbus, the following
procedure applies.
First, configure the parameter data (only Parameter 1 is used by this command).
Now we can send the QX command itself.
Function Register Value Notes
Parameter 1 40126 1 Q segment to execute. Integer: 1..12
Note, to stop a command or interrupt a Q program, either the SK or SKD commands may be used.
www.applied-motion.com
920-0002 Rev. R
6/5/2018