SmartStep User Manual
SmartStep User Manual
and
.
13. If your motor is moving when you press the arrow keys, your system is set up correctly.
If your motor does not move, see Chapter 10,
SmartStep Troubleshooting
.
14. For complete setup instructions, see Chapter 5,
Conguring Your System
, or use the
Setup Wizard in the
Application Developer
software.
JOG AXIS 1 +0.0000
<LO> HIGH
Motor Reference - 1
MOTOR
SERIES (T)
CURRENT
Inductance
Setting
Unloaded
Anti-Res
MOTOR
PARALLEL(V)
CURRENT
Inductance
Setting
Unloaded
Anti-Res
@120 @240 @120 @240
S12 1.0 1.0 LOW 29 S12 2.0 LOW 29
S21 1.2 1.2 HIGH 30 S21 2.3 LOW 27
S22 1.5 1.5 HIGH 28 S22 3.0 LOW 24
S23 1.7 1.7 HIGH 25 S23 3.4 LOW 22
S32 2.8 2.8 HIGH 22 S32 5.6 LOW 18
S33 3.5 3.5 HIGH 21 S33 7.0 LOW 17
S42 6.0 4.0 LOW 16 S42 7.9 LOW 12
P21 0.7 HIGH 30 P21 1.3 LOW 27
P22 1.0 HIGH 28 P22 2.0 LOW 24
P31 1.5 HIGH 27 P31 2.9 HIGH 23
P32 1.6 HIGH 24 P32 3.3 HIGH 20
P33 2.0 HIGH 22 P33 4.0 HIGH 18
P41 2.8 HIGH 21 P41 5.7 HIGH 17
P42 3.3 HIGH 18 P42 6.6 HIGH 17
P43 3.3 HIGH 15 P43 6.6 HIGH 14
K31 1.5 HIGH 24 K31 2.9 HIGH 20
K32 1.7 HIGH 22 K32 3.4 HIGH 18
K33 1.7 HIGH 20 K33 3.3 HIGH 16
K41 2.8 HIGH 18 K41 5.7 HIGH 14
K42 3.2 HIGH 17 K42 6.4 HIGH 13
K43 3.3 HIGH 15 K43 6.6 HIGH 11
Chapter 4 - Using the Keypad
4-1
Chapter 4 - Using the Keypad
This chapter will help the first-time user understand the basics of using the Keypad. The
keypad was designed to provide operators the quickest possible way to configure an
application, and though it functions primarily as an operator interface, it is equally effective
as a programming and troubleshooting tool. If you have chosen to program your application
using RS-232C, you may want to skip this chapter.
Keypad Hardware Features
describes physical settings and adjustments that facilitate
operator access for programming and best viewing of the keypad display.
Keypad Features
and
Description of Keys
provide an overview of functionality.The
Keypad
Menu Structure
section gives the programmer a broad overview of how the setup and programming menus
operate. Detailed information about each setup parameter is presented in Chapter 5 -
Configuring Your System
.
While keypad programming and system configuration are defined by IDC, run-time
operation (how the machine operator interfaces with the SmartDrive) falls completely
within your control.
Here are some of the operating functions you can program with the SmartDrive:
Run a program on power-up, on input signal from a PLC, or RS-232C host command
Within a program, prompt the operator for any program variable (the number of parts
to run, size of parts, speed, etc.)
Run a part or program by name
Lock-out operators from programming functions
For more information on programming your SmartDrive s operator interface, see Chapter
6 -
Programming Commands
, and Chapter 7 -
Programming Your Application
.
Keypad Features
Easy-to-read, two-line, 40-charac-
ter, back-lit display
Can be sealed to IP65 (NEMA 4)
washdown environment
Large, scratch-proof keys with
audible and tactile feedback
Connects to SmartDrive and other
controls with remote cable
Allows application programs to be
copied from one SmartDrive to
another, or to/from a PC.
Chapter 4 - Using the Keypad
4-2
Keypad Hardware Features
Setting DIP Switches to Limit Access to Keypad Menus
Four DIP switches on the back of the keypad provide a means of preventing access to
certain keypad menus. If access to a menu is denied, pressing that menu key will have no
effect. For example, if
1
is
ON
, and
2
is
OFF
, the operator will be able to stop motion by
pressing the
ESC
(escape) key, but will not be able to access the
RUN
menus to select
another program. (This is a hardware inhibit, and is independent of any firmware or setup
parameter in the SmartDrive)
Notes:
Power must be cycled before DIP switch setting changes take effect.
Access to the
JOG
menu can be enabled or disabled from software.
Using Passwords to Limit Access to Keypad Functions
Another method of limiting access to keypad functions is to assign passwords when
configuring your setup parameters. See Configuring Your Miscellaneous Setup
Parameters in Chapter 5 for more information on passwords. Please note that DIP switch
settings have priority over passwords.
Adjusting Contrast
On the back of the keypad there is a plastic potentiometer, adjustable with a flathead
screwdriver. This is used to adjust the contrast on the LCD display. If the SmartDrive and
keypad were purchased together, this adjustment has been made by IDC. Some adjustment
may still be necessary to accommodate unusual lighting or viewing angles.
Remote-Mounting the Keypad
The keypad can easily be mounted and sealed to NEMA 4 specifications by using the
included mounting gasket and 6-foot communication cable. Refer to page 9-3, Hardware
Reference, for information on mounting the keypad and extending cable length.
DIP Switch Settings
Keypad Functionality
1 2 3 4
OFF OFF * * Full keypad functionality
OFF ON * * No access to RUN, ESC, EDIT, COPY, DEL menus
ON OFF * * No access to RUN, EDIT, COPY, DEL menus
ON ON * * No access to EDIT, COPY, DEL menus
* Reserved for future functions.
ON
1 2 3 4
1 2 3 4 5
+5VDC RX GND TX N/C
Switches shown in
OFF position
Contrast Potentiometer
Turn clockwise to
increase contrast
Keypad Connector Pins
Chapter 4 - Using the Keypad
4-3
Functions of the Keypad Keys
DECIMAL POINT
Used to enter fixed-point
numbers.
COMMA
Used in multi-axis con-
trols to separate axis
command parameters.
Part of the syntax in
message and variable
prompt commands.
)
SETUP (F2)
Configure system
components and
operating limits.
In Menus:
Provides help on
moving about in
menus.
TO PAD (F2)
To upload a controls
memory to the key-
pad.
TEST (F3)
Run programs in
trace mode, amplifier
shutdown and reset,
test outputs, or
moves.
POS (F3)
Reset axis position
to zero?
YES NO
(F1) (F3)
In Sub-Menus:
Explains setup
choices.
FROM (F3)
To download keypad
memory to a control.
LIST () (F1)
Directory of stored
programs, memory
usage and available
space.
In the Editor:
Provides command
descriptions.
RUN EDIT HELP COPY DEL
Menu
Options
Chapter 4 - Using the Keypad
4-5
Using the RUN Menus
Pressing the RUN key displays a set of sub-menus. Access the
sub-menus by pressing F1 (PROG), F2 (JOG), or F3 (TEST).
Following are instructions for various activities within each
sub-menu
Select PROG To Run a Program
To run an existing program by program number
1. Press F1 (PROG).
2. Press program number 1-199 using numeric keys (1-400
with 30K option).
3. Press ENTER.
To run an existing program by name
1. Press PROG(F1).
2. Press
and
keys to scroll through the list of available
programs until you find the program you want.
3. Press ENTER.
Select JOG To Jog the Motor
To jog the motor
1. Press RUN.
2. Press JOG (F2).
3. Press
and
keys to jog the motor.
Change between LO and
HIGH
speeds with the F1 and F2 keys. Jog speeds and accelera-
tions can be changed in the EDIT > SETUP > JOG menu.
To jog an incremental distance
1. Press RUN.
2. Press JOG (F2).
3. Enter the desired distance number (i.e., 0.012).
4. Press and release an arrow key to make the motor move this distance. The arrow
pressed determines the direction of the move.
5. Repeat steps 3 and 4 until desired position is reached. Repeatedly pressing the arrow
keys will jog the same distance until a new distance is defined. This feature is intended
for very fine, final positioning. The incremental jog speed is therefore fixed at a
very
low speed.
Note: Pressing ESC at any time will terminate the incremental JOG mode.
- - - - - RUN - - - - - -
PROG JOG TEST
RUN PROGRAM
> 5
RUN PROGRAM -
>12 GRIND
JOG AXIS 1 +0.0000
<LO> HIGH
JOG AXIS 1 +0.0000
Dist: .012
Chapter 4 - Using the Keypad
4-6
Using TEST For Testing and Debugging
TEST Sub-Menus
TRACE
The trace feature allows you to debug programs by sequential-
ly executing one program command at a time.
1. Press RUN > TEST > TRACE.
2. Enter the program name or number.
3. Press ENTER.
The top line displays the program number, the number of nest-
ed loops, and the number of nested routines. The bottom line
shows the command to be executed when you press ENTER.
Each time you press ENTER, the displayed command will be
executed. Pressing ESC halts program execution. TRACE mode is not currently supported
during homing operations.
OUTPUT
This feature allows you to test the SmartDrive s outputs, as
well as the devices to which it is connected, by forcing them on
and off.
1. Press RUN > TEST > OUTPUT.
2. Press
keys to scroll through outputs 1-8.
3. Press
keys to turn the output ON and OFF.
4. Press ESC and you will be prompted as shown here:
5. Make your selection and the display will immediately
return to the Main Display.
MOVE
This selection moves your motor shaft one user-defined unit
forward and backward. This allows you to verify basic motor,
encoder, and amplifier operation.
1. Press RUN > TEST > MOVE.
2. Press F1, F2, or F3 to select the axis to move.
TRACE PROGRAM
>_
PR:5 LP:1 GS:0
DI8000
Test Output #1
ON
Save Output States
YES NO
+0.0000
00000000 00000000
Please use caution when connected to live devices.
------ TEST MOVE ------
Axis 1
Chapter 4 - Using the Keypad
4-7
SHUTDN (Shutdown)
Selecting SHUTDN allows you to enable or disable the axis.
When a drive is disabled, the amplifier is off and your motor
has no power. The shaft can easily be manually rotated.
RESET is applicable only to the B8961/2.
1. Press RUN > TEST.
2. Press or until SHUTDN appears above F1.
3. Press SHUTDN.
4. Press ENABLE or DISABLE.
RS232
The RS232 feature allows for testing and debugging of daisy chain terminal
communications through the keypad, thus eliminating the need for a PC terminal
connection.
Testing Serial Transmit
1. Press RUN > TEST.
2. Press or until RS232 appears above F2.
3. Press RS232.
4. In the Test Connection menu press TRANSMIT.
The SmartDrive will now transmit the string
ABC123 every 5 seconds.
Testing Serial Receive
1. In the Test Connection menu press RECEIVE.
2. Any character received on the terminal port will be
displayed on the keypad.
Drive 1 Disabled
ENABLE DISABLE RESET
------RUN TEST------
SHUTDN RS232 ENCODER
--Test Connection--
TRANSMIT RECEIVE
Test String ABC123
Idle....
Data Received:
Chapter 4 - Using the Keypad
4-8
ENCODER
The ENCODER sub-menu allows you to perform three differ-
ent tests to determine if encoders are working properly. Refer
to page 5-13 if your encoder has not yet been configured.
1. Press RUN > TEST.
2. Press or until ENCODER appears above F3.
3. Press ENCODER.
4. Press desired encoder test (described below).
5. Use the or arrows to select the axis of the encoder to be tested.
Note: the encoder tests are performed by toggling the F1, F2, and F3 buttons.
Disabl/Enable (F1) allows you to disable the amplifier and
manually turn the motor shaft. As you turn the shaft, you
should see position changes on the first line of the display, i.e.
plus (+) positions in one direction and minus (-)
positions the other direction.
OneRMov (F2) allows you to command the motor to turn one
full revolution in either direction. Selecting OneRMov gives
you two choices: EXTEND moves the shaft in one direction,
and RETRACT moves it back.
FindZ (F2) commands the motor to rotate until it finds the Z
pulse position. This allows you to accurately center the
position of the Home switch.
------RUN TEST------
SHUTDN RS232 ENCODER
Enc One +0.0000
Disabl OneRMov FindZ
ENC AXIS 1 +0.0000
EXTEND RETRACT
-- Find Z Marker --
Chapter 4 - Using the Keypad
4-9
Using the EDIT Menus
Pressing the EDIT key reveals three sub-menus called PROG,
SETUP and POS:
Pressing the or key reveals three more EDIT sub-menus
called LIST and TUNING:
Access the PROG, SETUP, POS, LIST, and TUNING menus
by pressing the appropriate function key. Descriptions of these sub-menus follow:
Using the PROG Sub-menu to Create and Edit Motion Control Programs
This menu allows you to edit an existing program, or enter a new program from the keypad.
Use the numeric keys to enter a program number to start a new motion program, or use the
and keys to scroll through the list of existing programs.
To Create a New Program:
1. Press EDIT
2. Press F1 (PROG) and you will see a display with a
blinking cursor as shown to the right.
3. Enter an identifying number that will be used later to call up the program. The number
you enter may be from 1-199 (1-400 with 30k memory option), but do not use a number
that is already being used for another program. If the SmartDrive contains several
programs, scroll the list to determine a number that has not been used.
Note: You may assign a name, rather than a number, to your program if you wish. See
Naming Your Programs later in this chapter.
4. Press ENTER. You will see a completely blank display
screen with only a blinking cursor in the upper left corner.
The SmartDrive is now ready to accept a program.
5. Once inside the program editor, you will enter commands by pressing a function key
and then a numeric key. Examples of creating, saving, naming, and editing programs
follow:
- - - -- EDIT - - - - -
PROG SETUP POS
- - - - - EDIT - - - - -
LIST TUNING
-- EDIT PROGRAM --
>_
_
Chapter 4 - Using the Keypad
4-10
Entering Commands with the Number Keys
The programming commands on the number keys have been color-coded to match the
color-coded function keys (F1, F2, F3). For example: the yellow function key (F2) will be
used to enter all yellow-colored commands on the number keys, e.g. AC command on the
number 2 key.
To enter a command:
1. Press the function key that matches the color of the command you wish to enter.
2. Press the number key that contains the desired command.
3. Press the ENTER key to insert a space before entering the next command.
Note: All commands that may be used by the SmartDrive are not on keypad keys. See
Chapter 6 - Programming Commands, for a listing of all available commands.
Step-by-Step Example of Entering a New Program
(You must be inside the program editor as accomplished in steps 1 through 5 on the
previous page)
To enter the program AC.3 VE2 DI1 GO:
1. Press F2.
2. Press the #2 key. This will enter the AC command.
3. Press the decimal or period key (adjacent to the #9 key).
4. Press the #3 key.
5. Press ENTER.
6. Press F1.
7. Press the #2 key. This will enter the VE command.
8. Press the #2 key.
9. Press ENTER.
10. Press F2.
11. Press the #1 key. This will enter the DI command.
12. Press the #1 key.
13. Press ENTER.
14. Press F1.
15. Press the #3 key. This will enter the GO command. You
will see the display shown here:
AC.3 VE2 DI1 GO
Chapter 4 - Using the Keypad
4-11
To Save the Program:
1. Press ESC (red octagon in lower left corner or keypad).
You will see a Save Program query as shown to the right.
2. Press F1 (YES) or F3 (NO).
To Edit an Existing Program:
Follow the same steps as in To Create a New Program, and remember that:
Inside the editor, pressing ENTER inserts spaces, which are used as delimiters for
commands.
Pressing DEL deletes characters.
The left and right arrows ( or ) scroll through programs one character at a time.
The up and down arrows ( or ) scroll through programs one line at a time.
Naming Programs
Any or all of the programs stored in the non-volatile memory of the SmartDrive can be
given descriptive names in addition to the program number that the SmartDrive assigns it.
Program names must be put inside square brackets [program name], at the start of a
program. The name can be up to 14 characters, but the first 10 must be unique. They can,
like variables, be almost any combination of characters.
Programs or subroutines are often named to help self document a program. It is usually
easier to remember and understand a name then a number. You may call a program or
branch to them by name.
This feature also makes it easier for operators to run programs and easier for the
programmer to develop systems requiring operator interfacing with our keypad. Suppose
your system will run 20 different parts and each part has a different program. With a
SmartDrive, all you have to do is name each of your programs so an operator will easily
recognize them. When the keypad RUN key is pressed, instead of entering a number,
simply scroll through the list of program names (possibly part names) using the and
keys. When the desired part is displayed, simply press ENTER to run the program for that
part.
Save Program _?
YES NO
Chapter 4 - Using the Keypad
4-12
Entering Characters Using The ALPHA Key
The ALPHA key allows you to enter almost any character into a program from the keypad.
You will nd this desirable if you want to:
Name your programs or subroutines
Call your subroutines by name
Make variable names more descriptive
Use operator messages or prompts
Send messages over RS-232C
Use commands not on the keypad, such as EA or
General Rules for Using the ALPHA key
Any letter and character located above a number on a numeric key may be inserted
into a program, i.e. the A, B, or C above #1 on the #1 key.
Press a numeric key 4, 5, and 6 times to access the lower case letters.
You must press ALPHA prior to each character you wish to enter.
Press the or arrow key to move the cursor to the next space.
Press ALPHA to move the cursor more than one space. For example, if you want to
leave more than one space between words in a message to an operator.
Entering a Character (those found above numbers on Keypad)
Example: to insert the A, B, or C on the #1 key:
1. Press ALPHA.
2. Press the #1 key once to enter A, press it twice to enter B, or press it three times to enter
the C.
Using Arrow Keys for Additional ALPHA Characters
The 19 special characters shown to the right are
available by pressing ALPHA and scrolling through
the list using the arrow keys.
1. Press ALPHA.
2. Press or to scroll through the list until the
desired character is displayed.
3. When you find the desired character press
ALPHA or ENTER to insert the character. The
character will be displayed and the cursor will
move one space to the right.
4. Scroll through the list to select your next
character, or press ESC to leave the editor.
< > ? ! @ # % & _ |
: ; \ ' ''
Chapter 4 - Using the Keypad
4-13
Example of Naming a Program
Add the name [MINE] to the program created earlier (AC.3 VE2 DI1 GO).
To insert [MINE]:
1. Press F3.
2. Press 0 (zero) key.
3. Press ALPHA.
4. Press #5 key.
5. Press ALPHA.
6. Press #3 key three times.
7. Press ALPHA.
8. Press # 5 key two times.
9. Press ALPHA.
10. Press #2 key two times.
11. Press the key to move cursor to the right of the bracket.
12. Press ESC. You will be prompted as shown.
[MINE] AC.3 VE2 DI1 GO
Save Program _?
YES NO
Chapter 4 - Using the Keypad
4-14
Using the SETUP Sub-Menus for Configuring Your System
The following table shows the structure within the EDIT > SETUP sub-menu. For com-
plete descriptions of each system parameter in the SETUP sub-menus, see Configuring
Your System.
Sub-Menu Setup Parameter Description of Setup Parameter
MOTOR
TYPE Motor parameters
D-RES Drive resolution
DIR Direction of travel
ENC
MODE Select open/closed loop mode
E-RES Encoder resolution
FOL-ERR Following error
IN-RANGE Position maintenance window
PMGAIN Position maintenance gain
PMMAX Position maintenance maximum velocity
MECH
DIST Distance Units
RATIO Scale distance to preferred user units
BKLASH Electronic backlash compensation (not implemented)
VEL Speed units
VMAX Critical speed limit
ACCEL Acceleration units
AMAX Maximum rate of acceleration/deceleration
I/O
INPUTS Input functions
OUTPUTS Output functions
OPTOS OPTO module configuration
OUTSTS State of output on Power-up, Fault, or Stop
LIMITS End-of-Travel Switch Polarity
JOG
ACCEL Jog acceleration
LO-VEL Low jog velocity
HI-VEL High jog velocity
ENABLE Enable/disable jog in RUN menu
HOME
MODE Homing method
EDGE Edge of home switch
SWITCH Type of home switch
OFFSET Position counter offset
DIR Final homing direction (positive or negative)
PROG
PWR-UP Program to run on power up, if any
SCAN How to scan program select inputs
DELAY Program Select de-bounce time
RS-232C
ECHO Echo characters
UNIT# Serial address
MISC
DISP Format Display
STOP-RATE Decel rate when stop input activated
TEST Enable Test Menu (not currently implemented)
FAULT Polarity - Fixed Active High in SmartStep
ENABLE Polarity - Fixed Active Low in SmartStep
PASWRD Password setup for operator/administrator access
Chapter 4 - Using the Keypad
4-15
Select POS to Reset the Current Position to Zero
POS is a quick way to reset the motor s current position to (absolute) zero - a very useful
setup and debugging tool.
1. Press EDIT > POS (F3). You will be queried as shown.
2. Press YES (F1) or NO (F3)
Select LIST to View Program Memory Usage
LIST provides a way to view your program memory usage. Standard program storage in
your IDC SmartDrive is 6K bytes (maximum single program is 1,024 bytes), and will store
up to 199 programs. The 30K memory option will store up to 400 programs.
Note: one byte equals one character in a program and on the keypad display.
1. Press EDIT > > LIST to display the number of programs
stored in your Smart Drive.
2. Press to display the total amount of memory your
programs have used.
3. Press to display the number of bytes of memory you still
have available.
4. Pressing continuously will take you through the list of
programs, displaying the number of bytes being used by
each program.
TUNING Necessary only on brushless-servo Smart Drives
Reset Position?
YES NO
DIRECTORY MORE
PROGRAMS: 18
DIRECTORY MORE
BYTES USED: 1186
DIRECTORY MORE
BYTES FREE: 4958
DIRECTORYMORE
5 <untitled>: 56 bytes
Chapter 4 - Using the Keypad
4-16
Using HELP
If you have a question while using the keypad, pressing HELP will display a help message
related to the currently active menu. Help messages are often several lines, which you can
scroll through using the and keys. When you are finished reading a help message, press
ESC to return to the menu.
Pressing HELP in the Main Menu
HELP explains the functions available when you press any of
the non-numeric keys.
Pressing HELP in Menus and Sub-Menus
HELP explains the selections available from your current
menu location.
Pressing HELP In the Program Edit function
HELP provides a brief, alphabetical list of commands. Command syntaxes and details on
using commands are available in the Chapter 6 - Programming Commands, or from HELP
in the Application Developer editor.
Note: A program must be selected to view the COMMAND SUMMARY.
- - - - HELP - - - -
Use RUN key to ...
This option is used to
select the motor type ..
Chapter 4 - Using the Keypad
4-17
Using COPY
Copying programs from one name (or number) to another, and downloading between key-
pads or between keypad and PC can save a significant amount of time when programming
with a keypad.
Pressing the COPY key brings up three choices that can be
accessed by pressing the function keys.
PROG
PROG allows you to copy any existing program to a new pro-
gram name.
To copy one program to another:
1. Press PROG.
2. Enter the source program number. Or, if you wish, you can scroll through your list of
program names by using the keys.
3. Press ENTER.
Then you are asked to enter the new program. If the target program already exists, you will
have to delete it first (see DEL).
1. Enter the target program number.
2. Press ENTER.
Remember to change the name of the copied programs to avoid subroutine call conflicts.
TO PAD
Allows you to copy programs from the SmartDrive to the
keypad or from a PC to the keypad.
To copy programs from the SmartDrive to the keypad:
1. Press F2 (TO PAD). The two messages to the right will
appear sequentially on the keypad display.
When the messages disappear, the programs have been
downloaded to the keypad.
To copy programs from a PC to the keypad:
1. Connect keypad to Computer using RS232 cable (IDC P/N PCS-5004).
2. In Application Developer Communications menu, click on Send All and choose To
Keypad. The keypad will display the message Receiving From PC and a few more
messages will quickly appear, then disappear from the screen.
When the keypad display goes completely blank, the PC-to-keypad download is
complete.
- - - - - - COPY - - - - --
PROG TO PAD FROM
SOURCE PROGRAM
> 5
TARGET PROGRAM
> 5
Note regarding keypad and SmartDrive memory: standard memory on both the
keypad and SmartDrive is 6K. The keypad cannot copy more than 6K of programs
from a SmartDrive equipped with the 30K memory option.
- - - - - - COPY - - - - --
PROG TO PAD FROM
Receiving From Drive
Saving to EEPROM
Chapter 4 - Using the Keypad
4-18
FROM
Provides a means of copying (sending) programs from the keypad to a SmartDrive or from
the keypad to a PC.
To copy programs from keypad to SmartDrive
1. Press FROM (F3).
The four messages to the right will appear sequentially
on the keypad display.
When the messages disappear, the download is
complete.
To copy programs from the keypad to a PC
1. Connect keypad to Computer using RS232 cable (IDC P/N PCS-5004).
2. In Application Developer Communications menu, click on Retrieve All and choose
From Keypad. The keypad will display the message Sending to PC and a few more
messages will quickly appear, then disappear from the screen.
When the keypad display goes blank, the keypad-to-PC upload is complete.
Reading From EEPROM
Sending To Drive
Waiting For Processing
Saving To Memory
Chapter 4 - Using the Keypad
4-19
Using DELETE (DEL)
The DEL key allows you to delete any motion program currently in your SmartDrive.
To delete a program
1. Press DEL.
2. Enter the number of the program to delete. Or, if you wish,
you can scroll through a list of existing program names by
using the keys.
3. Press ENTER.
To Delete a single entry (letter or number)
1. Move the cursor over the entry you wish to delete (move with or ).
2. Press DEL.
DELETE PROGRAM
> _
Chapter 5 - Configuring Your System
5-1
Chapter 5 - Configuring Your System
This chapter provides procedures for conguring your SmartStep to your specic equipment
and application requirements. SmartStep conguration is divided into two categories. First is
Connecting Your Hardware which is preceded by IDCs recommended wiring practices.
Hardware connection is accomplished also by referring to Chapter 9, Hardware Reference. The
second category is Conguring Your System which is the software setup of your application.
This includes setting motor current, scaling units, I/O conguration, and more.
All of the software conguration can be done via the keypad, or via serial communication using
Application Developer.
The conguration details presented here are from a keypad users
perspective, via the keypad menu structure and step-by-step keypad instructions.
S
erial communication users should refer to this chapter for detailed explanations of
conguration parameters. Details on using the
Application Developer
can be found in Chapter
8 -
Programming with
Serial Communication
. For PC terminal users, non-Windows PC users,
or PLC users, the equivalent 2-character ASCII conguration commands are detailed in Chapter
8. In this chapter, the 2-character ASCII command appears in brackets next to the keypad
command.
Application Developer
users will nd that the Windows dialog boxes follow the
keypad menu structure very closely.
Typical SmartStep Application
The SmartStep easily interfaces with a PC, PLC, the Keypad, or can be used as a stand-alone
machine controller. Block diagrams of several SmartStep-based applications are shown below:
J4
J1
J2
J3
J5
OPTO INPUT 1
OPTO INPUT 2
OPTO INPUT 3
OPTO INPUT 4
OPTO OUTPUT 1
OPTO OUTPUT 2
OPTO OUTPUT 3
OPTO OUTPUT 4
SmartStep
TM
RS232
or
KEYPAD
ON
Microstepping SmartDrive
DISCRETE I/O
Inputs 1-8 Common Outputs 1-8 Common OPTO 44/88
1-8: 9-13: 14-21: 22-23: 24-25:
INDUSTRIAL DEVICES CORPORATION
+5V
RX
TX
Com
Shld
SmartStep
TM
RS232
or
KEYPAD
ON
Microstepping SmartDrive
DISCRETE I/O
Inputs 1-8 Common Outputs 1-8 Common OPTO 44/88
1-8: 9-13: 14-21: 22-23: 24-25:
INDUSTRIAL DEVICES CORPORATION
+5V
RX
TX
Com
Shld
SmartStep
TM
RS232
or
KEYPAD
ON
Microstepping SmartDrive
DISCRETE I/O
Inputs 1-8 Common Outputs 1-8 Common OPTO 44/88
1-8: 9-13: 14-21: 22-23: 24-25:
INDUSTRIAL DEVICES CORPORATION
+5V
RX
TX
Com
Shld
AC
I/O
OPTO44/88
SmartSteps
As Serial Node to PC
SmartStep
TM
RS232
or
KEYPAD
ON
Microstepping SmartDrive
DISCRETE I/O
Inputs 1-8
Common
Outputs 1-8
Common
OPTO 44/88
1-8:
9-13:
14-21:
22-23:
24-25:
INDUSTRIAL DEVICES CORPORATION
+5V
RX
TX
Com
Shld
SmartStep
TM
RS232
or
KEYPAD
ON
Microstepping SmartDrive
DISCRETE I/O
Inputs 1-8
Common
Outputs 1-8
Common
OPTO 44/88
1-8:
9-13:
14-21:
22-23:
24-25:
INDUSTRIAL DEVICES CORPORATION
+5V
RX
TX
Com
Shld
J4
J1
J2
J3
J5
OPTO INPUT 1
OPTO INPUT 2
OPTO INPUT 3
OPTO INPUT 4
OPTO OUTPUT 1
OPTO OUTPUT 2
OPTO OUTPUT 3
OPTO OUTPUT 4
PLC
OPTO44/88
AC
I/O
12/24 VDC I/O
SmartSteps
As Node to PLC
Smart Step
TM
RS232
or
KEYPAD
ON
Microstepping SmartDrive
DISCRETE I/O
Inputs 1-8
Common
Outputs 1-8
Common
OPTO 44/88
1-8:
9-13:
14-21:
22-23:
24-25:
INDUSTRIAL DEVICES CORPORATION
+5V
RX
TX
Com
Shld
J4
J1
J2
J3
J5
OPTO INPUT 1
OPTO INPUT 2
OPTO INPUT 3
OPTO INPUT 4
OPTO OUTPUT 1
OPTO OUTPUT 2
OPTO OUTPUT 3
OPTO OUTPUT 4
OPTO44/88
ALPHA ESC
COPY DEL
ENTER
HELP RUN EDIT
.
+_
DC
EN
EB
ON
7
STU
4
1
JKL
ABC
DI
8 9
0
GHI
3
PQR
6
YZ VWX
5 WT
IV ST
[ ]
SP
OT
2
MNO
DEF
DE
AC
IF
GS
GI
GH
FK
DA
LP
MC
TD
VE
GT
GO
MS
CT
CL
RG =
,
F1
INDUSTRIAL DEVICES CORPORATION
+10.0001 -90.000
11111111 00000000
F2 F3
( )
Keypad
SmartStep
Stand-alone
Chapter 5 - Configuring Your System
5-2
Recommended Wiring Practices for IDC Controls
When conguring your SmartStep please follow the wiring practices listed below:
Earth ground your machine at one point using a star conguration.
Multiple earth grounds can cause a ground loop (see Preventing
Ground Loop diagram below).
Avoid long cable runs. The longer the cables, the lower the signal-to-noise ratio in your
application.
Use shielded motor and encoder cables along the entire cable run.
Separate the signal wires (I/O, encoder, etc.) from the motor wires, AC power wires, and
other sources of noise in your application.
Avoid extending cables in the eld via junction boxes, terminal strips, or Molex connec-
tors. These types of connectors are typically unshielded (as is wire going into and out
of the connector) and are places where noise may be injected into the system.
Connect cable shields at the control end of your machine. Connect the motor cable shield
to GND, and connect the encoder shield to COM on the control.
Do not connect the logic common (COM) of the IDC control to earth ground on your
machine or to the GND terminal on the control/drive. Separating earth ground from
logic common minimizes the potential for ground loops.
Use shielded cables inside your panel (if control is panel or cabinet-mounted) for I/O and
encoder wiring.
Use differential, line-driven encoders with shielded, twisted-pair encoder cables. Single-
ended TTL encoders are susceptible to noise and should be avoided.
For optimum noise immunity use IDC motors and encoders with IDC controls.
Additional Wiring Practices When Connecting an IDC Control to a PLC
Connect the PLC logic common and the IDC COM terminals together.
Disconnect the jumper between Pull-Up (or P-Up) and +12 VDC on the IDC control.
Connect the positive terminal of the PLC power supply to Pull-Up (or P-Up), and con-
nect the Power Supply common to the COM terminal on the IDC control, or to the
PLC logic common (these should both be at the same potential).
IDC inputs are Sourcing, so PLC ouputs connected to IDC inputs should be Sinking.
IDC outputs are Sinking, so PLC inputs connected to IDC ouputs should be Sourcing.
Possible Ground Loop
Insert an ungrounded adapter to
break the ground loop.
Do Not
Connect
Pig-tail
Wire
Preventing Ground Loop
Chapter 5 - Configuring Your System
5-3
Connecting Your Hardware
1. Motor Wiring
The
A+, A-, B+
and
B-
phase outputs power the motor windings.
The two
Intlk
pins must be jumpered together at
each motor connector to enable the drive to apply
power to the motor. If an interlock wire breaks, or
the connector is removed, the current to the motor
is immediately stopped and the drive will fault
(latch). Extending the interlock wire beyond 5
inches can lead to noise-generated shutdowns.
Note: this is a low-impedence safety interlock
circuit.
Gnd
is an earth ground, internally connected to
the power connector earth ground and to the
controls chassis ground. This provides a
convenient terminal for grounding the motor
frame and a motor cable shield.
IDC Motors
Refer to the motor data sheets in Chapter 9,
Hardware Reference
for wiring IDC motors with
Quick Disconnect cables.
Connecting Non-IDC Motors
Refer to Non-IDC Motor section in
Chapter 9,
Hardware Reference
.
2. Limits Connections
A typical IDC position sensor is shown connected
to a SmartStep in the illustration below. Refer to
pages 9-7 and 9-8 for more details on Limits
connections.
CAUTION
HIGH VOLTAGE
A+
A-
B+
B-
Z+
Z-
+5V
Com
Shld
Shld
Com
ET-
Com
ET+
Com
Hom
12V
12V
P-Up
L
I
M
I
T
S
E
N
C
O
D
E
R
M
O
T
O
R
Intlk
B-
B+
Gnd
A-
A+
Intlk
Shld
Com
ET-
Com
ET+
Com
Hom
12V
12V
P-Up
Shield
Black
Blue
Brown
PSN (Hall-Effect) Position Sensor
Connected to SmartStep
Chapter 5 - Configuring Your System
5-4
3. Encoder Wiring
An optional encoder port is available to allow
for stall detection, closed-loop positioning, and
position maintenance. Encoders are also used
to position to the actual load position rather
than a motor position. IDC recommends an
encoder resolution of 8000 pulses per
revolution or less with the SmartStep to
prevent the possibility of end-of-move dither,
which is caused by encoder positioning that
falls between two motor step positions.
The color codes shown to the right apply to
IDC supplied encoders only. Use the signal
names to connect other manufacturers
encoders.
Red
Pink or Purple
Green
Blue
Yellow
Orange
White
Black
Shield
A+
A-
B+
B-
Z+
Z-
+5V
Com
Shld
Connecting an Encoder
to a SmartStep
Color codes are for IDC
encoders only. Use signal
names for other manu-
facturer's encoders.
Chapter 5 - Configuring Your System
5-5
4. Connecting Your Keypad
Your FP220 Keypad will work normally with
the standard SmartStep as shown to the right.
Connect the keypad to the RS232 or KEYPAD
connector on the front of the SmartStep.
Step
Smart
Microstepping Smart Drive
RS232
or
KEYPAD
DISCRETE I/O
Inputs 1-8
Common
Outputs 1-8
Common
OPTO 44/88
1-8:
9-13:
14-21:
22-23:
24-25:
+5V
RX
TX
Com
Shld
ON
Step
Smart
Microstepping Smart Drive
RS485
DISCRETE I/O
Inputs 1-8
Common
Outputs 1-8
Common
OPTO 44/88
1-8:
9-13:
14-21:
22-23:
24-25:
RX-
RX+
TX-
TX+
Com
ON
WARNING: Your keypad will not
work with the RS-485 version of the
SmartStep.
Do Not Plug Your Keypad into the
RS-485 SmartStep (shown below).
Chapter 5 - Configuring Your System
5-6
5. Configuring Your Inputs & Outputs (I/O)
Your SmartStep has eight optically-isolated inputs, and eight discrete, optically-isolated
outputs which may be congured to specic machine control functions (see page 5-22 for
details). Unlike other IDC SmartDrives, the SmartStep does not have OPTO I/O positions.
However, the SmartStep does have provisions for convenient connections and conditioning
of machine I/O. A variety of SmartStep I/O accessories (shown below) are available to suit
your application requirements.
For more information on how to use your SmartSteps inputs and outputs in an application,
refer to
Chapter 6
,
Programming Commands,
and
Chapter 7
,
Programming Your
Application, and Chapter 9, Hardware Reference
.
SmartStep I/O Accessories
Accessory (P/N) Description
OPTO44 OPTO Rack that accepts up to 8
optional conditioning modules. (See
Opto Module in table in Chapter 9,
Hardware Reference, for list of
modules available from IDC).
OPTO88 OPTO Rack that accepts up to 16
optional conditioning modules. (See
Opto Module table in Chapter 9,
Hardware Reference, for list of
modules available from IDC).
DB25BO Screw Terminal Breakout Board.
See connection information in
Chapter 9.
SS-PNP-BO Screw Terminal Breakout Board to
Convert to Sourcing Outputs.
See connection information in
Chapter 9.
SS-IO
SS-IO-6
I/O cables that connect SmartStep
to other devices or a PLC.
SS-I/O is 2 ft.
SS-I/O-6 is 6 ft.
PCS-4991 Cable for connecting SmartStep to
PC (9-pin Comm. Port).
PCS-5004 PC-Keypad Cable for copying pro-
grams between keypad and PC.
Chapter 5 - Configuring Your System
5-7
6. AC Power
AC power is plugged into the connector on top
of the SmartStep.
SmartStep
input voltage must be in the range
of 90 - 120 VAC single phase, 50/60Hz,
500 VA max. @ 7.9 amp setting.
SmartStep240
input voltage must be in the
range of 190 - 240 VAC single phase, 50/60 Hz,
500 VA max @ 4.0 amp setting.
SmartStep23
input voltage must be in the
range of 90 - 120 VAC single phase, 50/60 Hz,
250 VA max @ 3.0 amp setting.
1
2
0
~
5
0
/
6
0
H
z
OFFSETS
CAUTION
HIGH VOLTAGE
Chapter 5 - Configuring Your System
5-8
Configuring Your System
This chapter contains details and directions for customizing the SmartStep to your specic
application and mechanical requirements. IDC recommends that even experienced users
follow this procedure in its entirety. Following all the SETUP steps will ensure that
important parameters are not overlooked. This section is presented from the point of view
of the FP220 Keypad user. The directions that follow will take you through each of the
SETUP menus in the keypad, and give you details about each of the choices you will be
asked to make.
Application Developer
and serial communication users should refer to this chapter for
detailed explanations of conguration parameters. In this chapter, the 2-character ASCII
command appears in brackets next to the keypad command.
Application Developer
users
will nd that the Windows dialog boxes follow the keypad menu structure very closely. PC,
non-Windows PC, or PLC users will nd details on using IDCs
Application Developer
in
Chapter 8
-
Programming with
Serial Communication
.
The task of conguring your SmartStep to a specic application consists of customizing a
number of software parameters to match the mechanics of the system. These parameters
include motor setup, encoder, distance, acceleration and velocity scaling, I/O, jog, home,
and serial communication.
Each SETUP procedure follows the format of the example below:
Input Definition [ID]
Default: UUUUUUUU
Information and steps that apply to conguring this parameter will appear here
> SETUP > I/O > INPUTS
EDIT
IN1: unassigned:
BBBBKREJ
Keypad display
ASCII Command
Parameter being Configured
Keypad
Steps +
Chapter 5 - Configuring Your System
5-9
Using the SETUP Parameters to Configure Your System
Press the EDIT key, then the SETUP (F2) key to reveal
three parameters as shown at top right.
Press
or
to access the remaining six parameters.
Conguring your system with the keypad begins below:
Configuring Your Stepper Motor
Adjustments for
Current, Waveform, Rest, Idle, Inductance, and Anti-Resonance
can
be made while the motor is energized and moving. Motor References 1 and 2 on the
following page will help you accurately congure your stepper motor.
Configuring Motor Type [MT11]
Note: When you select MOTOR > TYPE, you will see three motor choice; STEPER,
R-SRVO, AND L-SRVO. The SmartStep will only allow you to congure the STEPER
option. The other options are for conguring servo motors with the versatile keypad.
Configuring Motor Current [Mln]
Default: 0.0 Amps
Range: 0.0 - 8.0 Amps for SmartStep
0.0 - 3.0 Amps for SmartStep23
0.0 - 4.0 Amps for SmartStep-240
The Motor Current parameter sets the motor current for your stepper motor. Entering a
current outside the valid range will reset the motor current to 0.0 Amps.
1. Select CURRENT (F1). Default current is 0.0 Amps.
2. From the IDC MOTOR REFERENCE table, enter the
current that corresponds with the motor you are conguring.
3. Press ENTER.
- - - -- SETUP - - - --:
PROG RS232 MISC
- - - -- SETUP - - - --:
I/O JOG HOME
- - - -- SETUP - - - --:
MOTOR ENC MECH
> SETUP > MOTOR > TYPE > STEPER
EDIT
- STEPPER SETUP-:
CURRENT A-RES INDUCT
> SETUP > MOTOR > TYPE > STEPER > CURRENT
EDIT
Axis One Motor Curnt
----Amps
Chapter 5 - Configuring Your System
5-10
Motor Reference - 1
IDC
MOTOR
SERIES (T)
CURRENT
Inductance
Setting
Unloaded
Anti-Res
IDC
MOTOR
PARALLEL(V)
CURRENT
Inductance
Setting
Unloaded
Anti-Res
@120 @240 @120 @240
S12 1.0 1.0 LOW 29 S12 2.0 LOW 29
S21 1.2 1.2 HIGH 30 S21 2.3 LOW 27
S22 1.5 1.5 HIGH 28 S22 3.0 LOW 24
S23 1.7 1.7 HIGH 25 S23 3.4 LOW 22
S32 2.8 2.8 HIGH 22 S32 5.6 LOW 18
S33 3.5 3.5 HIGH 21 S33 7.0 LOW 17
S42 6.0 4.0 LOW 16 S42 7.9 LOW 12
P21 0.7 HIGH 30 P21 1.3 LOW 27
P22 1.0 HIGH 28 P22 2.0 LOW 24
P31 1.5 HIGH 27 P31 2.9 HIGH 23
P32 1.6 HIGH 24 P32 3.3 HIGH 20
P33 2.0 HIGH 22 P33 4.0 HIGH 18
P41 2.8 HIGH 21 P41 5.7 HIGH 17
P42 3.3 HIGH 18 P42 6.6 LOW 17
P43 3.3 HIGH 15 P43 6.6 HIGH 14
K31 1.5 HIGH 24 K31 2.9 HIGH 20
K32 1.7 HIGH 22 K32 3.4 HIGH 18
K33 1.7 HIGH 20 K33 3.3 HIGH 16
K41 2.8 HIGH 18 K41 5.7 HIGH 14
K42 3.2 HIGH 17 K42 6.4 HIGH 13
K43 3.3 HIGH 15 K43 6.6 HIGH 11
Motor Reference - 2
MOTOR S21 S22 S23 S32 S33 S42 P21 P22 P31 P32 P33 P41 P42 K42 K43
OFFSET
TEST SPEED
4.46
RPS
3.91 3.57 2.98 2.76 2.11 3.78 4.06 3.54 3.49 3.36 2.85 2.75 3.14 3.75
WAVEFORM
TEST SPEED
1.12
RPS
.98 .89 .74 .69 0.53 0.95 1.01 .88 .87 .84 .71 .69 .78 .94
J
rotor
(INERTIA)
1.17E-5
kg-m
2
2.34E-5 3.51E-5 1.21E-4 1.88E-4 8.0E-4 2.48E-5 4.31E-5 1.40E-4 2.70E-4 4.00E-4 5.50E-4 1.09E-3 1.09E-3 1.62E-3
Chapter 5 - Configuring Your System
5-11
Configuring Anti-Resonance [ARi]
Default: 0
Range: 0 - 30
The Anti-Resonance parameter sets the anti-resonance gain level for your motor. For
example, issuing an AR14 would set the anti-resonance gain to 14.
1. Press A-RES.
2. At this point, you have three options:
Option 1: Enter the Unloaded Anti-Res setting for your IDC motor (see Motor
Reference 1). Skip to step 4.
Option 2: Calculate an exact AR setting for your IDC motor (see Calculating AR
below, and Motor References 1 and 2). Go to step 3.
Option 3: If you are conguring a non-IDC motor, turn to Non-IDC Electric Motors,
Calculating AR
unloaded
at the end of Chapter 9. Calculate AR
unloaded
and go to step
3 if your motor is unloaded. If an exact AR value is required, use your AR
unloaded
value to calculate AR (see formula below). Proceed to step 3.
Calculating AR
AR= AR
unloaded
-K
AR
unloaded
is found in Motor Reference 1; K must be calculated using the following
formulas:
3. Enter your Anti-Res value (this will be a number between 0 and 30).
4. Press ENTER.
NOTE: Empirically, the AR value will decrease as the J
load
increases. You can observe
this by entering smaller AR settings until the motor begins to hiss - then increasing your
AR setting slightly.
5. Press ESC to return to the STEPPER SETUP menu.
> SETUP > MOTOR > TYPE > STEPER > A-RES
EDIT
-Axis One Anti-Res-
0
J
rotor is found in Motor Reference 2
J
load is customer supplied
J
rotor .155
K= N=
Log(N) J
rotor +
J
load
Chapter 5 - Configuring Your System
5-12
Configuring Motor Inductance [MHa]
Default: HIGH
The SmartStep works best with motors higher than 4 mH. The Motor Inductance parameter
congures the drive for a high or low inductance motor. Motors above 10mH are considered
HIGH for SmartStep and SmartStep 23. Motors above 40mH are considered HIGH for
SmartStep-240.
1. Press INDUCT.
2. Using Motor Reference - 1, select HIGH or LOW
Inductance using keys.
3. Press ESC to return to the STEPPER SETUP menu.
Configuring the Waveform [WAi]
Default: SINUSOID
The Waveform parameter congures the SmartStep for either a pure sinusoid waveform or
a -4% 3rd harmonic waveform.
Depending on motor design and the current level at which it is being driven, it may be
advantageous to distort the sinusoidal waveform to achieve better low speed smoothness
and step-to-step accuracy. With skewed rotors or 50-48 tooth geometry pure sine will
usually produce the best results.
1. Press WAVEFRM (F-1). Waveform is congured only
once per motor model for better low speed smoothness.
2. With the motor running at the speed indicated in the WAVEFORM TEST SPEED row
(see previous table), alternately select between SINUSOID and -4% 3rd to determine
which setting produces the smoothest running condition.
3. Press ESC to return to STEPPER SETUP.
> SETUP > MOTOR > TYPE > STEPER > INDUCT
EDIT
-Axis One Inductance-
HIGH
WAVEFORM REST IDLE
- STEPPER SETUP -
> SETUP > MOTOR > TYPE > STEPER > WAVEFRM
EDIT
- Axis One Waveform -
SINUSOID
Chapter 5 - Configuring Your System
5-13
Fine-Tuning Offsets
These potentiometers adjust the phase offset
between Phase A and Phase B.
To adjust Offsets:
1. Run the motor unloaded at the Offset Test
Speed indicated in Motor Reference 2.
2. Alternately adjust the pots for smoothest
running condition.
WARNING! - The Offset potentiometers
(see photo) are located near other holes in the
SmartStep housing. Do not insert your
screwdriver in the holes adjacent to the
CAUTION label! You could be injured by
electrical shock. See the circled holes in the
illustration on the right.
Configuring Rest Mode [REi]
Default: OFF
When Rest Mode is enabled, motor current is reduced to 1 Amp if no motion occurs for 12
minutes. Full current is restored when the next move starts. Enabling REST reduces motor
heating and improves fan life in applications where the machine is powered-up but may not
run for extended periods of time, e.g. a machine that is operated during two shifts, but is
left on 24 hours a day.
1. Use arrows () to select ON or OFF.
2. Press ESC to return to STEPPER SETUP.
Offset
Pots
> SETUP > MOTOR > TYPE > STEPER > REST
EDIT
-Axis One Rest Mode-
OFF
Chapter 5 - Configuring Your System
5-14
Configuring Idle Mode [ILi]
Default: OFF
When Idle is enabled, the motor current is reduced to 75% of the programmed value if no
motion occurs for 10ms. Full programmed current is restored on the rst pulse of the next
move.
1. Press IDLE.
2. Use arrows () to select ON or OFF.
Configuring Drive Resolution [MR10]
Default: 36000 steps/rev (xed)
1. The Drive Resolution is xed at 36,000 as shown in the display example above.
Configuring Motor Direction [MDi]
Default: POSITIVE
This option provides a convenient way to change which direction the motor moves when
you program a positive distance command.
When POSITIVE is selected as the motor direction, the EOT+ limit switch should be wired
so that moves in the plus direction (as shown on the keypad display, or via the PA
command) will activate the switch. When NEGATIVE is selected, the EOT+ limit switch
should be wired so that moves in the negative direction (as shown on the keypad display, or
via the PA command) will activate the switch.
1. Use the and ENTER keys to select a direction
> SETUP > MOTOR > TYPE > STEPER > REST
EDIT
-Axis One Idle Mode-
OFF
-Axis One Drive Res -
36000 (Fixed)
> SETUP > MOTOR > D-RES
EDIT
> SETUP > MOTOR > DIR
EDIT
Axis One Motor Dir-
POSITIVE
Chapter 5 - Configuring Your System
5-15
Configuring Your Encoder
If you are not using an encoder, only the encoder mode must be congured. Ensure that
OPEN LOOP is selected if you are not using an encoder, and skip to Configuring Your
Mechanics.
Configuring Encoder Mode [EMi]
Default: OPEN LOOP
This option sets the encoder mode. Encoder feedback is strictly optional with the
SmartStep.
1. Use the and ENTER keys to select the encoder mode.
OPEN LOOP
The OPEN LOOP position will be displayed on the keypad.
OPEN-STALL
The OPEN LOOP position will be displayed on the keypad, and the
encoder will be used for stall detection. (See Following Error)
CLOSED LOOP
The actual encoder position is displayed on the screen. All subsequent
moves are calculated from this actual position. All moves are based
on encoder pulses. Stall detection is enabled. Positioning resolution
will equal the resolution of your encoder.
SERVO-CLOSED
LOOP
Displays actual encoder position, but moves are based only on
commanded OPEN LOOP position. Stalls are detected in this mode.
CLOSED
LOOP-PM
Functionally identical to CLOSED LOOP, with the addition of post-
move position maintenance of the last commanded position.
Provides pseudo-servoing to stepper systems.
Use PM GAIN, PM VMAX, and IN-RANGE WINDOW setup
parameters to specify position maintenance tuning parameters.
Application Notes:
Following-error is still active while in CLOSED LOOP-PM mode. A
following-error will occur when the number of correction steps
exceeds the following error value. This allows the unit to signal a fault
when the displacement cannot be corrected, i.e. an obstruction.
CLOSED LOOP-PM will not attempt to correct position while
navigating menus with the keypad.
- Axis One Enc Mode- -
OPEN LOOP
> SETUP > ENC > MODE
EDIT
Chapter 5 - Configuring Your System
5-16
Configuring Encoder Resolution [ERi]
Default: 2,000 pulses per rev.
This option is used to set the encoder resolution. The resolution is specied in encoder
pulses per revolution of the motor, post-quadrature. To prevent end-of-move dither with a
SmartStep, we recommend an encoder resolution of 8000 pulses per revolution or less.
1. Use the numeric keys to enter the encoder resolution.
Configuring Following Error Limit [FEi]
Default: 750 motor steps
Range: 0-999,999 motor-step counts, 0 = OFF
*Units: motor steps
This option denes the maximum position Following Error allowed during motion.
A fault occurs when the error between the commanded and feedback signal exceeds the
Following Error value.
1. Use the numeric keys to enter the Following Error limit.
If a Following Error occurs, the control will enter a fault state where:
Any motion or program being executed is immediately terminated.
The LCD Display will indicate Following Error, along with an explanation.
A fault output will be generated if dened as a Stall or Fault output.
The fault must be cleared before motion can occur. A Stop or Kill, via programmable
inputs or serial command, the ESC key or a RESET will clear a Following Error fault
Bit 9 of SS response is set to 1
Bit 1 of SD response is set to 1
* Following Error is always set in motor steps, not encoder steps.
> SETUP > ENC > E-RES
EDIT
Axis One Encoder Res -
2000
- - Axis One Fol Error --
750 steps
> SETUP > ENC > FOL-ERR
EDIT
Chapter 5 - Configuring Your System
5-17
Configuring Position Maintenance In-Range Deadband [IRi]
Default: 25 encoder steps
In-Range Window species the position maintenance deadband or region surrounding the
set-point position. The window is specied in post-quadrature (4 x # of lines) encoder
steps.
The window is the region surrounding the commanded position in which the motor shaft
can reside and not be considered out of position. The control will try to correct the
position if the motor is outside this window.
1. Select WINDOW (F1) in the IN-RANGE SETUP menu.
2. Enter the desired number of encoder steps (must be a positive number).
3. Press ENTER.
Configuring Position Maintenance Gain [PGi]
Default: 10
Range: 1 - 32,767
PM Gain species a gain value used to determine correction velocity. The correction
velocity is calculated as displacement* correction gain in units of steps/sec. Therefore,
the larger the displacement, the faster position maintenance will attempt to correct position.
For example, if the correction gain is set to 3 and an active displacement of 3200 steps
occurs, the correction velocity will be (3 * 3200) = 9600 steps/sec.
Configuring Position Maintenance Max Velocity [PVi]
Default: 1.0 rps
Range: 0.005 - 9,999,999
PMMAX limits the velocity of a position maintenance correction. Regardless of the
magnitude of displacement or correction gain, the correction velocity will never exceed the
maximum velocity setting.
> SETUP > ENC > IN-RNGE
EDIT
- IN-RANGE SETUP-
WINDOW TIME
> SETUP > ENC > PMGAIN
EDIT
- Axis One PM Gain- -
10
> SETUP > ENC > PMMAX
EDIT
- Axis One PM MaxVel-
1.0 rps
Chapter 5 - Configuring Your System
5-18
Configuring Your Mechanics
Through the MECH SETUP menu, your SmartStep
allows you to program distance, velocity, and
acceleration units convenient for your application.
Once congured, your keypad will use these units in
all display and position reporting modes. This menu
also allows you to compensate for a known amount of
backlash in your mechanical system, and to set a
maximum allowable speed for each axis.
Pressing MECH displays three menu choices:
Pressing or reveals four additional menu choices:
Configuring the Distance Unit [DUi]
Default: revs
DIST is used along with RATIO to select your distance units and unit label. All distance
values specied in the system will be expressed in the units selected here. The relationship
between motor revolutions, system mechanics, and the distance label chosen here is
dened with the RATIO command dened below.
Use the keys to select distance units from the following list:
Notes:
You can change DIST or RATIO at any time. Changing them will not change the
associated DI or DA values in a program. (i.e. DI100 will command a 100 inch move
instead of a 100 step move if the DIST units are changed from Steps to Inches.)
Make certain that your Gear Ratio (GR) option is set to accurately reect the Distance
Unit.
If steps is chosen, the control automatically xes the RATIO (see following).
MECH SETUP
DIST RATIO BKLASH
MECH SETUP
VEL VMAX ACCEL
MECH SETUP
AMAX
> SETUP > MECH > DIST
EDIT
-- Axis One Dist Units -
revs
mils arcmin inch degrees m
feet radians yards grads
steps cm % meter
arcsec revs mm index
Chapter 5 - Configuring Your System
5-19
Configuring the Gear Ratio [GRi:i]
Default: 1 to 1
The RATIO option is used to scale DI and DA moves to your preferred distance units.
RATIO sets the ratio of motor revolutions per DIST unit. Up to 5 digits on either side of the
ratio can be entered to properly scale your DIST units. Make certain that the RATIO
accurately represents the Distance Unit (DU).
1. Use the numeric keys to enter a ratio expressed as two integers. Ex: when entering
output shaft revolutions of a 5:1 gearbox, enter 5 to 1 rather than 1 to 0.2
Notes:
You can change DIST or RATIO at any time. Changing them will not change the associated
DI or DA values in a program, so all moves will change by the same factor that RATIO was
changed.
If using an IDC supplied actuator, the proper Gear Ratios for entering units of Inches and
mm can be found in Appendix A.
Units Example - Lead Screw System
Desired distance units: inches
Leadscrew: 4 revs/inch
DIST = inch
RATIO = 4 to 1
Units Example - Rotary Index Table
Desired distance units: 1/8 of a revolution
DIST = index
RATIO = 1 to 8
Units Example - Gear Reduced Tangential Drive System
Desired distance units: mm
Reducer: 5:1 reduction
Drive pulley: 6 inch
circumference
DIST = mm
RATIO = 50 to 1524
5 revolutions of motor travel results in 152.4 mm of linear load travel. This ratio must be
expressed as an integer to be used in the Gear Ratio command. Multiply each side by 10 to
get a Gear Ratio of 50 to 1524.
> SETUP > MECH > RATIO
EDIT
- - - Axis One Ratio - - -
1 to 1
M
M
M R
Chapter 5 - Configuring Your System
5-20
Configuring the Units of Velocity [VUi]
Default: rps (motor revolutions per second)
Use this option to select your velocity units. All velocity values specied in the system will
be expressed in these units.
1. Use the and ENTER keys to select velocity units from the list:
rps (motor velocity not affected by Gear Ratio)
rpm (motor velocity not affected by Gear Ratio)
(DIST units)/sec (see SETUP>MECH>DIST)
(DIST units)/min (see SETUP>MECH>DIST)
Configuring Maximum Velocity [MVr]
Default: 50 {velocity units}
This parameter limits the top speed of your motor. Depending on the application, you may
want to limit the speed of your control to prevent accidental damage to your mechanics. For
example, in a leadscrew driven system, exceeding the critical speed will damage the
leadscrew.
1. Use the numeric keys to set the maximum velocity in VEL units.
Configuring Acceleration Units [AUi]
Default: sec
This option is used to select acceleration (and deceleration) units. All acceleration and
deceleration values specied in the system will be expressed in these units. You may specify
acceleration as a rate, or in time-to-accelerate to full speed. Motor shaft acceleration is not
affected by Gear Ratio.
1. Use the and ENTER keys to select acceleration units from the list:
sec (time to reach top speed)
(DIST units)/sec
2
rps
2
(motor revolutions/sec
2
)
> SETUP > MECH > VEL
EDIT
- Axis One Vel. Units -
mm/sec
> SETUP > MECH > VMAX
EDIT
- - Axis One Max Vel. -
50.0 inch/sec
> SETUP > MECH > ACCEL
EDIT
- Axis One Accel. Units
sec
Chapter 5 - Configuring Your System
5-21
Configuring Acceleration Maximum [AMr]
Default: 0.002 seconds or 999999 units/sec
2
Acceleration Maximum command sets a maximum acceleration and deceleration limit for
programmed move proles in the current acceleration units. Programmed accelerations and
decelerations for moves will be limited by this parameter (analogous to VMAX for
velocity).
1. Enter the desired Acceleration Maximum
2. Press ENTER.
> SETUP > MECH > AMAX
EDIT
- Axis One Max Accel -
0.002 sec
Chapter 5 - Configuring Your System
5-22
Configuring Your Inputs & Outputs
The function of each input and output in your system is easily
congured with I/O SETUP menus. Once you have dened
your I/Os, it is a good idea to document your conguration
scheme for later reference when developing future motion programs.
Configuring Your Inputs
Configuring Input Definition [IDaaaaaaaa]
Default: UUUUUUUU
The function of each input is easily congured using the keypad as described below.
The function for each input channel is indicated by a letter along the bottom of the display.
1. Use and keys to select an Input. The function of the highlighted input will be
displayed on the top line.
2. Once your cursor is on the desired input, use to select from the following list of
dedicated functions for each input:
Note: e, f, j, m, and r (lower case) are on the keypad but are not used with SmartStep.
- - - - I/O SETUP - - - -
INPUTS OUTPUTS OPTOS
> SETUP > I/O > INPUTS
EDIT
IN1:UNASSIGNED
UUUUUUUU
Input Characters and Keypad Display
Character Keypad Display
B Bin Program
C BCD Program
c Clear Command Buffer
D Lock Keypad
E Extend Jog 1
*F Set Force 1
I Interrupt (RUN 98)
J Jog Speed 1
K Kill
M Shutdown 1
N Analog Input
P Pause/Continue
R Retract Jog 1
G Registration
S Stop
U Unassigned
V Data Valid
W Warm Boot
*B8961/2 only
Chapter 5 - Configuring Your System
5-23
Input Character Descriptions
B Binary Program Select
Allows programs to be run remotely using a PLC, switches, or outputs from a computer.
Up to 255 programs may be selected using binary inputs. The lowest numbered input
becomes the least signicant selection bit (i.e., input #1 is less signicant than input #2).
The act of conguring an input as a program select input also enables binary program select
mode.
C BCD Program Select
Allows programs to be run remotely using a TM99 Thumbwheel module, PLC, switches,
or outputs from a computer. Up to 99 programs may be selected using BCD inputs. The
lowest numbered input becomes the least signicant selection bit (i.e., input #1 is less
signicant than input #2).
The act of conguring an input as a program select input also enables the BCD program
select mode.
c Clear Command Buffer
Clears the terminal input buffer and buffered command buffer
D Lock (Disable) Keypad
When activated, the keypad is disabled allowing NO user access. The keypad resumes
normal operation, subject to the DIP switch pattern, when the input is released.
E Extend Jog (E specifies axis 1)
When activated, the motor will Jog in the Extend (+) direction. When the input is released,
motion stops at the Jog Accel rate. If an End of Travel limit is hit while jogging, the motor
will stop at the Stop Rate (see Edit-Setup-Misc.). Before the motor can be moved back off
the limit, a Stop or Kill input must be activated to clear the fault generated by hitting an End
of Limit switch. Alternatively, an S or K command sent over RS-232C will also clear the
fault, as will pressing the ESC key on the keypad.
The velocity is determined by the Jog Speed Input and the Jog Low and High setup
parameters. When the input is off, the speed is low, and vice versa. If none of the inputs
are congured for Jog Speed, the motor will jog at the Jog Low setting.
G Registration
For the Registration (RG) command to function, Input #1 must be congured as a
Registration input - no other inputs will work. See the RG command for more details.
I Interrupt (Run 98)
When activated, motion on all axes is stopped at the stop-rate (see Edit-Setup-Misc-Stop-
Rate). The current program is stopped, and processing continues with the rst command in
program 98. If no program is running when the input is activated, program 98 will run. This
input is ignored while the keypad is in Edit mode. This is a positive edge sensitive input,
rather than a level sensitive input. If multiple inputs are congured as Interrupts, only the
rst edge of the rst activated input will be seen. If subsequent Interrupt inputs go active
while the rst Interrupt input is active, no additional interrupts will be seen.
Chapter 5 - Configuring Your System
5-24
Advanced Interrupt handling can be achieved using the (INT98CTRL) and (ARM INT98)
variables. The (INT98CTRL) variable determines whether Interrupts can be disabled or
not. The (ARM INT98) variable allows you to arm and disarm the Interrupt as desired.
When the SmartStep powers up (INT98CTRL) is initialized to 0. In this mode, every
interrupt results in an immediate jump to program 98, even if you just entered program 98.
This state is backwards compatible with earlier revision IDC SmartDrives. The value of
(ARM INT98) is ignored.
When (INT98CTRL)=1 you can enable and disable Interrupts at will with the (ARM
INT98) variable. Setting (INT98CTRL)=1 also initializes (ARM INT98) to 1. This means
the control is watching for interrupts. When (INT98CTRL) is set to 1 an interrupt causes
the program to jump to program 98 AND sets (ARM INT98)=0, disabling any further
interrupts until you re-enable them by setting (ARM INT98)=1. This allows you to control
when you want to re-enable Interrupts in your interrupt service routine (program 98).
To summarize, when (INT98CTRL)=1:
If (ARM INT98)=0
Interrupts are ignored. This allows for input debouncing and controlling the ability
of program 98 to interrupt itself.
If (ARM INT98)=1
The system is awaiting the rst INT98 input assert edge. Once the interrupt is seen
the control will go to program 98 and (ARM INT98) is internally set to 0 on the
rst edge if the previous (ARM INT98) value was 1. Interrupt processing will be
suspended until (ARM INT98) is reset to 1. Subsequent interrupts are ignored until
(ARM INT98) is reset to 1.
(INT98CTRL) and (ARM INT98) are reset to default values on power-up. Note: There is
a space in (ARM INT98).
When activated, any executing program or functional operation is terminated and program
I98 (interrupt program) is immediately executed. If a move is executing when the interrupt
is activated, the move is terminated (decelerated at a rate determined by the Stop
Deceleration rate setup parameter). The unit will go into Run mode once program I98 is
completed
J Jog Speed (J specifies axis 1)
This input works along with the Extend Jog and Retract Jog. When a jog input is activated,
the control checks the state of this input to determine the jog speed. If the input is OFF, the
system will jog at the Jog Low speed. If the input is ON it will jog at the Jog High speed.
If the input is not congured the jog inputs will induce motion at the low speed.
K Kill Motion
Causes the control to abruptly stop commanding further motion and terminates program
execution. No deceleration ramp is used. Caution: instantaneous deceleration could cause
damage to mechanics. The Stop input provides a more controlled halt.
Chapter 5 - Configuring Your System
5-25
M Motor Shutdown: (M specifies axis 1)
Disables amplier. May be activated when the control is not running a program and the
motor is idle. Selecting shutdown (M, m) will disconnect power to the motor, which
removes current (torque) and allows the motor to spin freely.
N Analog
The SmartStep has analog input capabilities when used in conjunction with an OPTO 44 or
OPTO 88 rack. Analog input conguration is limited to inputs #1 - #6 only. Analog input
values (AIx - the Built-In Variable) are updated every 16ms.
P Pause/Continue
When this input is grounded, program execution is stopped. Moves are not interrupted
when the Pause input goes active. Command execution will Pause at the end of the move,
and Continue when the input goes high. See the ST and RG commands in Chapter 3 for
interrupting moves in progress.
R Retract Jog (R specifies axis 1)
When activated, the motor will Jog in the Retract (-) direction. When the input is released,
motion stops at the Jog Accel rate. If an End of Travel limit is hit while jogging, the motor
will stop at the Stop Rate. (see Edit-Setup-Misc.) Before the motor can be moved back off
the limit, a Stop or Kill input must be activated to clear the fault generated by hitting an End
of Limit switch. Alternatively, an S or K command sent over serial communication will
also clear the fault, as will pressing the ESC key on the keypad.
The velocity is determined by the Jog Speed (J) input and the Jog Low and Jog High setup
parameters. When the input is OFF the speed is low, and vice versa. If none of the inputs
are congured for Jog Speed, the motor will jog at the Jog Low setting.
S Stop
When activated, any program execution or functional operation is immediately stopped.
This includes any motion, time delays, loops, and faults. Moves will be decelerated at the
stop deceleration rate. New programs will not execute until the stop input goes inactive.
See the SCAN setup parameter for more information on stopping program execution. See
the ST command in Chapter 3 for more information on stopping moves without halting
command execution.
*U Unassigned
An Unassigned input functions as a programmable input, and can be used in IF and WT
statements just like any of the dedicated function inputs.
*Default conguration
Chapter 5 - Configuring Your System
5-26
V Data Valid
When this input is congured, it determines if the Binary/BCD program select lines are
processed or ignored. If the input is active, program select lines are processed, otherwise
they are ignored. This allows applications to be wired in a pseudo-bus architecture fashion
with each unit sharing the same program select lines, and the data valid inputs determining
which units should listen. Conguring this output can greatly reduce panel wiring. In the
example shown below, using the Data Valid input reduced the number of wires by one-half.
W Warm Boot System Reset
Resets the SmartStep, clearing the RAM Buffer, and resetting the control to its power-up
state. Programs and setup parameters are not erased. This is typically used to restart system
when a fault condition occurs. The power-up program, if dened, will be run.
SmartStep SmartStep SmartStep SmartStep
#4 #3 #1 #2 PLC
Data Valid
Unit
Selection
4
3
2
1
Program
Selection
Chapter 5 - Configuring Your System
5-27
Configuring Your Outputs
Configuring Output Definition [ODaaaaaaaa]
Default: PPPPPPPP
The function for each output channel is indicated by a letter along the bottom of the display.
The rst 8 letters are for the dedicated Outputs.
1. Use and keys to select an Output channel. The function of the highlighted output
will be displayed on the top line.
2. Once your cursor is on the desired output, use to select from a list of function
congurations for each channel. See below.
Note: b, d, h, k, and m (lower case) are on the keypad but are not used with SmartStep.
> SETUP > I/O > OUTPUTS
EDIT
OUT1: PROGRAMMABLE
PPPPPPPP
Output Characters and Keypad Display
Character Keypad Display
A Amp Fault
B Brake 1
C Over Current (not yet implemented)
D Direction 1
F Fault
H At Home 1
*K At Cl Limit 1
L Limit Error
M Move Done 1
P Programmable
S Stall
*T Torque Mode
*B8961/2 only
Chapter 5 - Configuring Your System
5-28
Output Character Descriptions
A Amplifier Fault
Output goes low on any amplier fault. An amplier fault may be due to temperature,
motor short-circuits, excessive following error, over-voltage and excessive regeneration
conditions. Note: This is not an all-inclusive fault output. Use F-Fault for this.
B Brake (B species axis 1)
It is often advisable that applications using a ballscrew type actuator with a vertical load
use a brake to prevent the load from falling in the event of a fault. The Brake output is
normally disengaged, which is actually an ON condition. When a fault occurs, power to the
brake is removed and the brake is engaged. This is a fail-safe type of brake, controlled by
an OPTO module, and it requires a customer supplied, 120VAC power supply, or 24 VDC
with B Motors.
C Over Current (not yet implemented)
D Direction (D species axis 1)
The Direction Output indicates the direction of motion for a given axis. The output remains
set until motion is commanded in the reverse direction.
F Fault
The fault output acts as an all-inclusive fail-safe output. Under normal operation the output
is grounded (ON) and goes high(OFF) when any type of fault occurs. A fault can occur from
any amplier fault condition as well as for the following general faults:
BMA (Board Monitor Alarm) time-out
Error nding Home - both limits were hit.
The exact cause of the fault can be determined a number of ways:
Keypad display
Over RS-232C using the SS, SD, and SA status commands (see Chapter 8)
Other outputs can be congured to show more specic fault states
H At Home (H species axis 1)
The output is on as long as an axis is at home.
L Limit Error
The output goes low if a limit switch is hit during a normal move, or if both limits are hit
during a Go Home move.
M Move Complete (M species axis 1)
CAUTION
IDC offers brakes for the actuator screw, or as an integral part of some
motors. Though both types of brakes are highly effective, there are specic
trade-offs that the user should be aware of regarding each type of brake.
Please discuss the issue of brakes with an IDC Applications Engineer or with
your distributor. Note: Brake Output connection examples may be found on
page 9-13 of the Hardware Reference chapter.
Chapter 5 - Configuring Your System
5-29
The output goes high when an axis move is started and goes low when a move is completed.
P Programmable
Unassigned outputs default to Programmable and can be used in OT commands.
S Stall
The output goes low if the control detects a motor stall.
T Torque Mode - n/a on SmartStep
Chapter 5 - Configuring Your System
5-30
Configuring Your Optional OPTO Modules
Opto Definition [OP]
The SmartStep does not have onboard OPTO I/O. Use OPTO44 or OPTO88 module to
condition your I/O. The I/O on these racks is not bidirectional, so conguration is not
necessary.
Configuring Your Output States
Configuring Output States on Power Up [OEP]
Default: OFF
Range: n/a
This option sets the desired states of the outputs on power up.
1. Use and keys to scroll through outputs #1- #8 and any OPTO positions congured
as outputs.
2. Use the and keys to set the output state as OFF or ON and press ESC to save.
Configuring Output States on Fault [OEF]
Default: NO CHANGE
Range: n/a
This option sets the desired states of the outputs on a fault.
1. Use and keys to scroll through outputs #1- #8 and any OPTO positions congured
as outputs.
2. Use the and keys to set the output state as OFF, ON or NO CHANGE and press
ESC to save.
> SETUP > I/O > OPTOS
EDIT
with SMARTSTEP
Use OPTO 44/88 rack
On PwrUp Output #1
OFF
> SETUP > I/O > OUTSTS > PWR-UP
EDIT
> SETUP > I/O > OUTSTS > FAULT
EDIT
On Fault Output #1
OFF
Chapter 5 - Configuring Your System
5-31
Configuring Output States on Stop / Kill [OES]
Default: NO CHANGE
Range: n/a
This option sets the desired states of the outputs on a Stop or Kill.
1. Use and keys to scroll through outputs #1- #8 and any OPTO positions congured
as outputs.
2. Use the and keys to set the output state as OFF, ON or NO CHANGE and press
ESC to save.
Configuring Your End-of-Travel Switch Polarity
Configuring E-O-T Switch Polarity [ET]
Default: NORM CLOSED
Range: n/a
This option allows conguration of the EOT switch polarity as NORM OPEN or NORM
CLOSED to accommodate the use of either type of switch.
1. Use the and keys to select NORM OPEN or NORM
CLOSED and press ESC to save your choice.
> SETUP > I/O > OUTSTS > ST/K
EDIT
On ST/K Output #1
NO CHANGE
> SETUP > I/O > LIMITS
EDIT
--- I/O SETUP ---
OUTSTS LIMITS
--Axis one EOT Pol--
NORM CLOSED
Chapter 5 - Configuring Your System
5-32
Configuring Your Jog Parameters
Your SmartSteps keypad gives the programmer (and the
machine operator if desired) a convenient way to jog the motor.
The parameters which control your jog operation are
congured using the JOG SETUP menu:
Note: The Units used by the Jog parameters are congured from the SETUP > MECH menu.
Configuring Jog Acceleration [JAr]
Default: 0.3 {Accel Units}
This option sets the acceleration and deceleration used during a jog move.
1. Use the numeric keys to enter a new Jog Accel/Decel value in the same units you
selected in the SETUP > MECH > ACCEL menu.
Configuring Jog Low Velocity [JLr]
Default: 0.5 {Velocity Units}
This option sets the low speed jog velocity used during a jog move.
1. Use the numeric keys to enter new low jog velocity value in the same units you selected
in the SETUP > MECH > VEL menu.
Configuring Jog High Velocity [JHr]
Default: 2.0 {Velocity Units}
This option sets the high speed jog velocity used during a jog move.
1. Use the numeric keys to enter new high jog velocity value in the same units you
selected in the SETUP > MECH > VEL menu.
JOG SETUP
ACCEL LO-VEL HI-VEL
JOG SETUP
ENABLE
> SETUP > JOG > ACCEL
EDIT
-Axis One Jog Accel
0.3 sec
> SETUP > JOG > LO-VEL
EDIT
- Axis One Jog Lo-Vel -
0.5 in/sec
> SETUP > JOG > HI-VEL
EDIT
-Axis One Jog Hi-Vel -
2.0 in/sec
Chapter 5 - Configuring Your System
5-33
Configuring Jog Enable [JEi]
Default: Enabled
This option enables or disables the jogging features of the control. When disabled, an error
message is displayed when the jog buttons are pressed. Jogging functions are often
disabled once a machine is installed to prevent an operator from accessing them.
1. Use keys to enable and disable the function.
> SETUP > JOG > ENABLE
EDIT
-Axis One Jog Enable -
ENABLED
Chapter 5 - Configuring Your System
5-34
Configuring Your HOME Parameters
Your SmartStep has a built-in homing function which
combines the exibility of a customized homing routine with
the ease of use of calling a canned program. Also see the GH
command in the IDeal Command Reference chapter for more details on homing.
Configuring Home Edge [HEi]
Default: NEGATIVE
This option selects which side (positive or negative) of the home switch active region the
Smart Drive must nd before searching for the index channel of the encoder.
1. Use keys to select the active edge as the positive or negative side of the home switch.
Configuring Home Switch [HSi]
Default: Norm Open
This option selects the type of switch used for the home input for each axis. A Normally
Open switch connects to ground when activated. A Normally Closed switch is pulled high
when activated.
2. Use keys to select the switch type. (NORM OPEN or NORM CLOSED)
NOTE: To save inventory (part numbers) you may want to use only N.C. switches.
HOME SETUP
EDGE LEVEL OFFSET
> SETUP > HOME > EDGE
EDIT
-Axis One Home Edge -
NEGATIVE
> SETUP > HOME > SWITCH
EDIT
Axis One Home Switch-
Norm Open
Chapter 5 - Configuring Your System
5-35
Configuring Home Offset [HOr]
Default: 0.0 {Distance Units}
This option sets the home offset. After a successful homing move, the home position (the
default home position is +0.0000) is set to the offset value.
1. Use the numeric keys to enter a new home offset value in DIST units.
A home offset allows you to have separate systems with identical programs in them. All
you have to change is the home offset value for each machine. It helps reduce start up time,
since your home limit switch can now be almost anywhere. It also reduces the time
necessary to get a system back up and running should your home switch ever get damaged
or moved.
Example: Home Offset = 1.0000
When the control nds the home position, it sets the position counter to 1.0000 distance
unit. The absolute zero position counter is now referenced 1 unit behind the mechanical
home position. All absolute moves will be referenced from the absolute zero position.
Configuring Home Final Direction [HFi]
Default: POSITIVE
Specify the nal approach direction of your Go Home (GH) move with this option. This is
the direction used to search for the encoder index mark (Z channel) after the appropriate
home switch edge is found.
1. Use keys to select the nal approach direction.
> SETUP > HOME > OFFSET
EDIT
Axis One Home Offset-
0.0 rev
> SETUP > HOME > FINAL
EDIT
--Axis One Final Dir- -
POSITIVE
Chapter 5 - Configuring Your System
5-36
Configuring Homing Mode [HMi]
Default: Switch Only
The Homing Mode parameter establishes how a Go Home (GH) command will execute
homing routines. There are three modes of operation:
Use keys to select the homing method.
--Axis One Home Mode -
Switch Only
> SETUP > HOME > MODE
EDIT
Switch Only
The control will only search for the appropriate edge of a
switch.
*Switch Then Z Channel The control first looks for a home switch, aligns to the
edge, and then slowly moves until an encoder Z pulse is
found.
*Z Channel Only The control does not search for a home switch, instead it
rotates at a slow speed until an encoder Z pulse is found,
regardless of the home switch state. The magnitude of
GH velocity parameter is ignored. The sign of the velocity
parameter determines the low speed direction.
*Requires an encoder
Chapter 5 - Configuring Your System
5-37
Configuring Your PROGRAM SETUP Parameters
The Program Setup menu allows selection of (1) a program to
be immediately run when the SmartStep is powered-up and (2)
scanning conditions for the BCD or binary program select
inputs.
Configuring Power-Up Program [PUi]
Range: n = 0 to 400
Default: 0
This option selects a power-up program. The selected program is executed (run) when your
SmartStep is powered-up or reset. If a value of 0 is entered in this menu, or if the specied
program does not exist, no program is run.
1. Use numeric keys to enter a program number.
Configuring Scan Conditions [SNaaaaaaaa]
Default: YYYYYYY
The SCAN menu allows you to select which events will cause the control to stop scanning
program-select congured inputs. It is used to enable or disable stop-scan events. If a given
stop-scan event is enabled, the system will stop scanning the inputs for program numbers
when that condition occurs. The SmartStep must be reset via a Warm Boot input or by
cycling power to start program scanning after an active Stop Scan event. This option has no
effect if the inputs have not been congured as program select inputs (either BCD or
Binary). Each event is represented by one of seven Y/N positions on the bottom display line.
1. Use and keys to select a stop-scan condition. The selected event will be listed to
the right of these 7 characters: ESCape, STOP, LIMIT+, LIMIT-, KILL, FAULT or
INTerrupt.
2. Use keys to enable (Y) or disable (N) the selected event.
- PROGRAM SETUP -
PWR-UP SCAN DELAY
> SETUP > PROG > PWR-UP
EDIT
-Power Up Program -
PROGRAM: 0
> SETUP > PROG > SCAN
EDIT
- - -Stop Scan After- - -
YYYYYYY ESC
Chapter 5 - Configuring Your System
5-38
Configuring Scan Delay [DYi]
Default: 100 ms
The DELAY time sets the amount of time the control requires the program-select inputs
(BCD or Binary) to remain stable before the control will recognize and run a program. The
minimum time is 2 ms. If program-select inputs are not stable for a time equal to or greater
than the specied delay, the program will not be executed.
1. Use the numeric keys to enter a value in ms.
Note: See Data Valid Input Conguration for an alternate approach.
> SETUP > PROG > DELAY
EDIT
- -Scan Debounce- -
DELAY(ms): _
Chapter 5 - Configuring Your System
5-39
Configuring Your Serial Communications
If you plan to use the serial communications port on your
SmartStep, you can use your keypad to turn the auto-echo on
and off and set the units daisy chain address. The baud rate
of 9600 is xed on the SmartStep.
Fixed RS-232C parameters:
Baud rate: 9600
Data bits: 8
Stop bits: 1
Parity: none
Configuring Echo Enable [ECi]
Default: ENABLED
This option is used to enable or disable the RS-232C ECHO. If ECHO is disabled,
characters received by the control's serial port will not be re-transmitted. ECHO must be
enabled in daisy-chaining applications. Note: when a SmartStep is used to control a daisy
chain as a master to several slave units, the ECHO must be disabled on the master
unit.
1. Use the keys to enable or disable ECHO.
Configuring Unit Number [UNi]
Range: 1-99
Default: 1
This option is used to set the unit address. Each unit in an RS-232C serial daisy chain of
multiple units must have a unique Unit Address. Refer to the section on daisy chain
operation in the RS-232 Operation chapter more information on this type of application.
1. Use the numeric keys to enter the unit address.
Note: See AA Command in Programming with RS-232C for Auto-Addressing.
- - RS-232C SETUP-- -
ECHO UNIT#
> SETUP > RS232 > ECHO
EDIT
ENABLED
- - RS-232C Echo --
> SETUP > RS232 > UNIT#
EDIT
Unit Number
NUMBER: _
Chapter 5 - Configuring Your System
5-40
Configuring Your Miscellaneous Setup Parameters
The miscellaneous setup (MISC SETUP) parameters include
auto-formatting of the keypad display, and setting the
deceleration rate used with a stop input (or with the ESC key
while an axis is moving).
Configuring Display Format [DF]
Default: Quad #1: POS1
Quad #2: BLANK on SmartStep
Quad #3: INPUTS
Quad #4: OUTPUTS
Range: n/a
Display format allows the user to customize the data displayed on the keypad run time
screen. The run time screen has been divided into 4, 10-character congurable quadrants.
The DISP menu displays labels for the 4 quadrants with carets (< >) denoting the selected
quadrant.
1. Use and keys to move quadrant selection delimiters (< >).
2. Press ENTER to edit quadrant.
Once a quadrant is selected, there are 9 possible data types that can be displayed in that
quadrant.
3. Use the and key to scroll through the data types. Press ESC to save all data types
except TEXT (see step 4).
4. In order to dene a text eld, scroll to the TEXT data type and then press the ALPHA
key or a number key. A cursor will appear allowing up to 10 characters to be entered.
Type the desired text, press the ENTER key and then press ESC to register.
MISC SETUP
DISP STOP-RATE TEST
> SETUP > MISC > DISP
EDIT
MISC SETUP
DISP STOP-RATE TEST
<QUAD#1> QUAD#2
QUAD#1 QUAD#2
Data Type Quadrant Display
BLANK No display
POS1 Axis position
POS1+UNIT Axis position with axis units
VEL1 Axis commanded velocity
INPUTS Discreet input status (0 off, 1 on)
OUTPUTS Discreet output status (0 off, 1 on)
SA_STATUS1 Displays SA serial command response for axis
SS_STATUS Displays SS serial command response
TEXT Display user defined text in a quadrant
Chapter 5 - Configuring Your System
5-41
Configuring Stop Decel Rate [SRi]
Default: 100 rps
2
(units xed at motor rps
2
)
This option is used to set the deceleration rate whenever a congurable stop input is
activated, or when the ESC key is pressed while moving. This is usually set to the fastest
controllable deceleration rate possible with mechanics in your application, or whenever a
limit switch is hit.
1. Use the numeric keys to enter a stop deceleration.
Configuring Enable Line Polarity [EL0]
Default: ACTIVE LOW (Fixed Low on SmartStep)
This parameter is xed in the SmartStep.
Configuring Fault Line Polarity [FL1]
Default: ACTIVE HIGH (Fixed High on SmartStep)
This parameter is xed in the SmartStep.
> SETUP > MISC > STOP-RATE
EDIT
--Axis One Stop Decel -
0.1 (rps
2
)
> SETUP > MISC > ENABLE
EDIT
- Axis One EnablePol -
ACTIVE LOW
> SETUP > MISC > FAULT
EDIT
- Axis One FaultPol -
ACTIVE HIGH
Chapter 5 - Configuring Your System
5-42
Configuring Passwords [PWaaaa,aaaa]
Default: None
In addition to the keypad DIP switches, user-denable passwords also enable you to restrict
access to the RUN, EDIT, COPY and DEL menus.
1. Enter your desired password, using the same keypad entry techniques described in
Chapter 1. Use and DEL keys to edit the password.
2. Press ENTER to register the password.
SmartStep allows up to two types of passwords: OPRATR (Operator) and ADMIN.
General Password Rules:
Passwords can be a maximum of 4 characters - consisting of 0-9, upper and lower case
letters A-Z, or a combination of numbers and letters.
If no password is entered, there is no restriction.
Entering the wrong password or pressing ESC at the password prompt will return the
keypad to the standard run-time display.
Select EDIT > SETUP > MISC > PASWRD > CLEAR to delete all passwords.
NOTE: Subsequent attempts to RUN or EDIT a program do not require the password to be
entered each time. You will be prompted to: Use Last (F1) or Reset (F3). Select Use Last
to run or edit another program. Select Reset to require the next user to enter a password.
- -PASSWORD SETUP--
OPRATR ADMIN CLEAR
> SETUP > MISC > PASWRD
EDIT
Passwords and Menu Accessibility
This Password Will Give You Access to These Menus
OPRATR only RUN, EDIT, COPY, DEL
ADMIN only RUN, EDIT, COPY, DEL
OPRATR + ADMIN ADMIN = RUN, EDIT, COPY, DEL
OPRATR = RUN only (All RUN functions except TEST)
Chapter 6 - Programming Commands
6-1
Chapter 6 - Programming Commands
This chapter denes, in alphabetical order, all of IDCs IDeal commands that can be used
in a program. Please refer to
Chapter 4
,
Using the Keypad,
for more information on entering
these commands with the keypad.
Some IDeal commands are supported only in serial communication mode. These
commands are listed and dened in
Chapter 8, Programming with Serial Communication
,
and they can also be found in the
Summary of Commands
immediately inside the back cover
of this manual.
The commands in this chapter are dened according to the following example:
Summary of IDeal Commands
Command Description Command Description Command Description
AC
Acceleration
GI
Go Immediate
ON
On Command
BR
Break
GO
Go (Start a Move)
OT
Output
DA
Distance Absolute
GS
Gosub
__
Message to Serial Port
DC
Distance to a Change
GT
Go To
RG
Registration Move
DE
Deceleration
IF
If Then
SP
Set Position
DI
Distance Incremental
IV
Input Variable
SQ
Square Root
EA
Enable Amplier
LP
Loop
ST
Stop on Input
EB
End of Block
LU
Loop Until
TD
Time Delay
EN
End of Routine
LW
Loop While
VE
Velocity
FK
Function Key
MC
Move Continuous
WT
Wait
GH
Go Home
MS
Message to Display
Distance Incremental .......................................... syntax - DIr,r [v1.00]
Units: selected from the EDIT > SETUP > MECH menu
Range: unit scaling dependent
Default: If the command has a default, it will be listed here (n/a if there is no default)
DI
DI species a move distance relative to the current position. Such moves are called
incremental moves, as opposed to the absolute zero reference used in DA. Incremental
moves are typically used in applications where there is no concern for origin, such as feed-
to-length applications. Incremental moves are also often used inside a loop to shorten a
program. Incremental and absolute moves may be mixed - the control always keeps track
of the absolute position.
Example: Move 2 units in the + (positive) direction. Move 1 more unit in the + direction.
Move 4 units in the - (negative) direction.
Program: AC.1 VE60 DI2 GO DI1 GO DI-4 GO
Note: Additional programming examples are found in the next chapter.
Command implemented
in this rmware version
Chapter 6 - Programming Commands
6-2
IDeal
TM
Commands
AC sets the acceleration and deceleration ramp on all velocity changes. The deceleration
value (DE) will be the same as the acceleration value unless it is specically set after the
AC command., The value of DE must be reset every time AC is changed. Use
only
AC if
you want a symmetrical move prole. Use DE if you want a different deceleration rate.
Subsequent moves will use the last DE or AC value specied.
Examples: AC2
VE12 DA3 GO {Sets acceleration and deceleration to 2}
DE.5 VE12 DA6 GO {Accel stays at 2, decel changes to 0.5}
VE20 DA0 GO {Acceleration and deceleration remain at 2 and 0.5}
AC4 DA2 GO {Acceleration and deceleration become 4}
DE3 AC1 DI3 GO {DE reset to 1 by AC1 before the move is made}
The Break command instantly breaks a loop block in which it is dened and continues
program execution from the loops terminating EB command. This allows for more
complex loop conditioning than LU or LW commands.
Example:
(A)=0 {Dene variable A}
(B)=0 {Dene variable B}
LP {Dene loop block}
IF(A)>10 {Check if A is greater than 10}
IF2,0 {Check if input #2 is off}
BR {Break loop}
EB
EB
(A)++ {Increment variable A by 1}
EB {BR command jumps here}
MS1,A is greater than 10 {Display message}
Acceleration............................................................... syntax - ACr [v1.00]
Units: sec, rps
2
or unit/s
2
(selected from the EDIT > SETUP > MECH menu)
Range: unit scaling dependent
Default: n/a
AC
Break .........................................................................syntax - BR [v1.20]
Units: selected from the EDIT > SETUP > MECH menu
Default: n/a
BR
Chapter 6 - Programming Commands
6-3
DA sets the next move position, referenced from absolute zero. The absolute zero position
is established after a Go Home move (GH) and/or with the Set Position (SP) command.
Absolute positioning is typically used in applications where you are moving to a number of
known locations, or if your physical work area is restricted.
Incremental (DI) and absolute moves may be mixed; the control always keeps track of the
absolute position.
Examples: AC2 DE.5 VE12 DA3 GO {Moves to absolute position 3 units}
DA3 GO DA3GO {Moves
once
to absolute position 3 units}
Distance Absolute .................................................. syntax - DAr [v1.00]
Units: selected from the EDIT > SETUP > MECH menu
Range: unit scaling dependent
Default: n/a
DA
Chapter 6 - Programming Commands
6-4
DC is used to dene complex, multiple velocity move proles, or to change an output at a
specic point during the move. It denes the distance at which a change will occur on the
y while the motor is still moving. At the specied distance you can change the velocity,
or change the state of one or more outputs.
The DC command must follow the DA or DI commands which specify the total move
distance. The DC distance is interpreted as an absolute position when used with DA and an
incremental position when used with DI. When used with DI, the value of DC must be
specied as a positive number. When multiple DCs are specied within an incremental
move (DI), the incremental distance specied by the DC command is taken from the last
DC command, not from the beginning of the move. See the incremental move examples
below for more clarication. The
standard
software supports a maximum of 20 DC
commands within a move prole.
Application Note: The DC command can only be used when the motor is moving at
constant speed, i.e. not accelerating or decelerating.
Issuing a DC command (or trigger
position) before a previous DC has nished execution is invalid and can cause
unpredictable results. For example, the following programmed move prole is an incorrect
use of the DC command: AC1 VE5 DA20 DC1.75 VE7.5 GO
Since the initial acceleration ramp requires 2.5 units of distance to reach velocity ,
the DC1.75 is an invalid trigger position and will be ignored.
The following formula ensures the use of valid DC trigger positions:
Where
n
is the current DC command distance (n=19 in this example),
n-1
is the previous
DC command distance (e.g. 10),
V
is the velocity, and
t
is acceleration time (for the rst DC
specied in a move prole,
n-1
would correspond to the beginning of the move).
In the following move prole, AC units = seconds, VE units = RPS (see illustration):
AC1.6 DE0.8 VE5 DA20 DC10 AC2.5 VE3 DC? VE2.5 GO
Distance to a Change.............................................. syntax - DCr [v1.00]
Units: selected from the EDIT > SETUP > MECH menu
Range: unit scaling dependent
Default: n/a
DC
S
1
2
---
Vt =
DC
n
DC
n 1
V
n 1
V
n
t
2
-----------------------------
0
5
10
?
19
20 Units
Chapter 6 - Programming Commands
6-5
Using the DC formula and solving for DC
n
, therefore, the
? must be greater than or equal to a position of 12.5 distance units. In addition to verifying
the DC trigger position, it must also be veried that the DC? VE2.5 segment can be
completed before the beginning of the move deceleration. Suppose the ? was chosen to
be 13.35 (a valid trigger position), use the beginning of the decel ramp as the DC
n
in the
DC formula. A deceleration from 2.5 to 0 requires 1 distance unit in 0.8 seconds
therefore, Since the result is positive, the DC13.35 VE2.5
is a valid segment.
Examples of DC move proles:
AC.05 DE.05 VE10 DA4 DC1 OT100 DC2
OT010 DC3 OT001 GO
{While moving to an absolute position of 4 units, turn on output 1 at 1 unit, output 2 at 2
units and output 3 at 3 units}
AC.05 DE.09 VE30 DA6 DC3 VE15 GO
{Move to absolute position 6 units with a starting speed of 30. At 3 units, reduce speed to
15 (change-on-y) and complete move}
AC1 DE.5 VE20 DI-8 DC1 OT10
DC3 OT01 GO
{Move an incremental distance of
negative
8 units. After 1 unit, turn on output 1, and after
3
additional
units of motion, turn off output 1 and turn on output 2}
AC.05 DE.15 VE50 DI15 DC5 VE10 DC5 VE5 GO
{At a starting speed of 50, begin moving an incremental distance of 15 units. After 5 units,
ramp down to 10 speed. After an
additional
5 distance units, ramp down to 5 speed and
continue until the nal position is reached}
DC
n
5 3 ( ) 2.5 ( )
2
--------------------------------
10 12.5 = + =
S
1
2
---
Vt =
19 13.35
0 2.5 ( ) 0.8 ( )
2
-------------------------------------
5.65 =
Chapter 6 - Programming Commands
6-6
Sets the deceleration ramp on all negative velocity changes. The deceleration value will be
the same as the acceleration value unless a deceleration is specied. The value set will be
used on subsequent moves unless it is re-specied by
either
an acceleration (AC) or
deceleration (DE) command.
Examples: AC2 VE12 DA3 GO {Sets acceleration and deceleration to 2}
DE.5 VE12 DA6 GO {Accel stays at 2 and decel changes to 0.5}
VE20 DA0 GO {Acceleration and deceleration remain at 2 and 0.5}
AC4 DA2 GO {Both acceleration and deceleration become 4}
DE3 AC1 DI3 GO {AC1 sets
both
the accel and decel to 1}
DI species a move distance relative to the current position. Such moves are called
incremental moves, as opposed to the absolute zero reference used in DA. Incremental
moves are typically used in applications where there is no concern for origin, such as feed-
to-length applications. Incremental moves are also often used inside a loop to shorten a
program. Incremental and absolute moves may be mixed - the control always keeps track
of the absolute position.
Example: AC.1 VE60 DI2 GO DI1 GO DI-4 GO
{Move 2 units in the + direction. Move 1 more unit in the positive direction. Move 4 units
in the negative direction. The nal absolute position is -1.0000}
EA sets the state of the amplier enable signal. The polarity can be changed in
EDIT > SETUP > MISC > ENABLE.
Example: EA0 {Disables the amplier on axis one}
Deceleration............................................................... syntax - DEr [v1.00]
Units: sec, rps
2
or unit/s
2
Range: unit scaling dependent
Default: n/a
DE
Distance Incremental .............................................. syntax - DIr [v1.00]
Units: selected from the EDIT > SETUP > MECH menu
Range: unit scaling dependent
Default: n/a
DI
Enable/Disable Amplifier.......................................... syntax - EAi [v1.00]
Units: n/a
Range: 0 (disable), 1 (enable), 2 (standby)
Default: n/a
EA
Chapter 6 - Programming Commands
6-7
The EB command designates the End of a Block of loop or IF commands. Every LP, LW,
LU, and IF statement must have an EB associated with it.
Examples:
LP2 DI3 GO EB {Performs the move twice}
IF1,1 DI5 GO DI10 GO EB GH3 {If input 1 is ON, make 2 moves before homing.
If input 1 is OFF, jump to the GH command}
EN marks the end of a program or subroutine. It is optional at the end of a program. If EN
marks the end of a subroutine, command execution continues from the command following
the gosub (GS) command which called the subroutine. If the routine was not called from
another program, the EN command simply stops command execution. The control
continues to monitor the program select inputs (if dened).
The EN command can be used anywhere in a program to stop command execution.
Example:
IF2,1 EN EB DI2 GO {If input #2 is ON, stop the program, or returnto
the calling program. If not, move 2 units}
End of Block ............................................................... syntax - EB [v1.00]
Units: n/a
Range: n/a
Default: n/a
EB
EN
End of Routine............................................................ syntax - EN [v1.00]
Units: n/a
Range: n/a
Default: n/a
Chapter 6 - Programming Commands
6-8
Note: 24, the ESC key, cannot be assigned since it stops a program
The FK command allows you to redene a keypad key function within your program. The
FK command pauses processing until the buttons you have armed are pressed. The
number of the armed button is assigned to the system variable, (FKEY). You can then
manipulate or directly use this variable to branch to other routines or make other decisions.
FK allows the programmer to redene the keypad function keys as operator menu selection
buttons. You can even write your program with menus that look and feel like IDCs setup
menus.
Example: FK1,2,3,4
GS(FKEY)
Pauses command execution until F1, F2, F3, or RUN is pressed on
the keypad. (FKEY) is assigned a value of 1-4. Subroutine 1-4 is
called with the GS (gosub) command.
See the illustration below for the value of (FKEY) returned for each key:
The following example shows how to use the keypad function keys as an operator interface.
1. Write a menu message (MS) on the keypad display above the corresponding function
keys.
2. Use the FK command to pause command processing until the operator selects a valid
function key. Only keys explicitly dened in the FK statement are considered valid.
3. Gosub to the appropriate program.
Function Key .......................................................syntax - FKi,i,..,i [v1.00]
Units: n/a
Range: i = 1-28
Default: n/a
FK
ALPHA
=27
COPY
=7
DEL
=8
ENTER
=28
HELP
=6
RUN
=4
EDIT
=5
.
+_
1
=9
,
F1=1 F2=2 F3=3
=22 =23
=17 =18
=12 =13
NOT
USED
3
=11
2
=10
4
=14
6
=16
5
=15
7
=19
9
=21
8
=20
0
=25
=26
Chapter 6 - Programming Commands
6-9
Example of a 3-screen menu program:
Program 20:
[SCREEN 1] {Name the main program}
MS1, {Clears keypad screen}
MS3,Select a Part {Writes a Message}
MS21,Part A Part B Part C {Writes a message above function keys}
FK1,2,3,17,18 {Wait for selected key press}
GT(FKEY) {Jumps to prog # 1, #2, or #3
if F1,F2, or F3 is pressed. Jumps to prog #17, or
#18 if the up or down arrow keys are pressed}
EN {End of Routine}
Program 18:
[SCREEN 2]
MS21,Part D Part E Part F {Writes a message above F1, F2, F3}
FK1,2,3,17,18 {Wait for selected key press}
IF(FKEY)=17 GT[SCREEN 1] EB {If Up arrow goto screen 1}
IF(FKEY)=18 GT[SCREEN 3] EB {If Down arrow goto screen 3}
(FKEY)=(FKEY)+3 {Add offset to FKEY variable to goto correct part
subroutine}
GT(FKEY) {Jumps to part D, E, F in program #4, 5, or 6}
EN {End of Routine}
Program 17:
[SCREEN 3]
MS21,Part G Part H Part J {Writes a message above function keys}
FK1,2,3,17,18 {Wait for selected key press}
IF(FKEY)=17 GT[SCREEN 2] EB {If Up arrow goto screen 2}
IF(FKEY)=18 GT[SCREEN 1] EB {If Down arrow goto screen 1}
(FKEY)=(FKEY)+6 {Add offset to FKEY variable to goto correct part
subroutine}
GT(FKEY) {Jumps to part G, H, J in program #7, 8 or 9}
EN {End of Routine}
The programs to make Parts A, B, C, D, etc. are in program numbers 1-9. To continuously
cycle through put a GT[SCREEN 1] at the end of each part program.
Chapter 6 - Programming Commands
6-10
The GH command initiates a homing routine (seeks the home switch) to establish a home
reference position. When it reaches home, the position counter is set to zero or to the Home
Offset value selected in the EDIT > SETUP > HOME menu.
The motor will move at the GH velocity (n) and direction () specied until it either nds
a home limit switch or determines that it can not nd one between the two end-of-travel
limit switches. The Go Home move uses the last acceleration and deceleration specied.
The exact homing routine used, and the ultimate end position of your systems home
reference, depends upon the values of your EDIT > SETUP > HOME parameters (edge,
level, nal approach direction, and offset,) and whether or not you have specied open or
closed loop moves in the EDIT > SETUP > ENCODER menu.
The control will reverse direction when the rst End-of-Travel limit switch is encountered
while searching for a Home switch. If the second End-of-Travel switch is encountered, the
unit will abort the Go Home move and generate a fault.
Assuming the presence of an operational home switch, the control will ultimately seek a
home position according to the home setup parameters you specied (edge, level, nal
approach direction, and offset).
Closed-loop systems will normally home with more accuracy than open loop systems
because encoders come with a Z marker pulse (1/8000 of a revolution on our B Series.) In
a typical Go Home routine, the control will rst sense the edge of the switch dened in the
Go Home SETUP menu. It will then decelerate the motor to a stop at the last dened
deceleration rate. The nal homing motion will now be determined by the Go Home
options selected in the SETUP menu.
The nal homing direction dictates the direction from which the nal approach to the
switch is made. The edge selected will determine which side of the home switch this nal
approach will be based from. In a closed loop mode Go Home routine, the control will
additionally slow to a creep speed and stop when it sees the encoders Z Marker Pulse
after seeing the reference edge of the switch. If a marker pulse is not seen within one motor
revolution after the reference edge of the switch is seen, the nal homing routine will be
aborted.
Note: Homing Mode directly affects or recongures the function of the GH command (see
Conguring Your Home Parameters in Chapter 5).
Examples:
AC.5 DE.5 GH-20 {Go Home in the negative direction at a speed of 20}
AC.5 DE.5 GH20 {Axis one Go Home in the positive direction at a speed of 20}
Go Home ..................................................................syntax - GHr [v1.00]
Units: velocity units selected from the EDIT > SETUP > MECH menu
Range: unit scaling dependent
Direction: positive (+) direction established in EDIT > SETUP > MOTOR menu
Default: n/a
GH
Chapter 6 - Programming Commands
6-11
The GI command begins a dened move prole in the same manner as the GO command.
Unlike the GO command, where program execution waits until all dened moves have
terminated, GI allows program execution to continue once the move has begun. This
allows for other program dened processes to take place while an axis is moving, such as
independent multi-axis moves, OT commands, and conditional IF blocks. One axis is not
required to wait for another axis to nish a move before beginning its own move.
Following is an example of a program using the GI command:
VE1 DI20 GI MS1, Axis #1 is moving TD2
In this example, once the DI20 move begins, program execution immediately displays the
Axis #1 is moving message for 2 seconds. Once the TD2 command has executed, the
program will terminate; however, axis #1 will continue to move until the DI20 distance is
reached. A Stop, Kill, or press of the ESC key will halt a GI based move either inside or
outside program execution.
The GI command can cause program execution and moves to be asynchronous. In order to
re-synchronize the end of a GI move with program execution, use the Wait (WT) command
and its new syntax, i.e. WT#1 will wait for only axis #1.
If a program error occurs during a GI move, the move will stop at the Stop Decel Rate.
USING THE GI COMMAND - EXAMPLES
The following examples are provided to help further explain the use of the command:
A. If a GI move is in progress and an additional move is commanded on the same axis, the
additional move will not begin until the GI move has completed. For example:
VE1 DA100 GI OT1,1 DA0 GI IF1,1 MS1, All moves done TD5 EB
In this program, one may expect to see the message All moves done immediately after
the DA100 move begins. In reality, the program will wait at the DA0 GI until the DA100
move has completed before continuing. More simply stated, a move cannot be
commanded to begin on an axis that is already moving.
Go Immediate ..................................................... syntax -GI or GIi [v1.00]
Units: n/a
Range: n/a
Default: n/a
GI
Chapter 6 - Programming Commands
6-12
B. Since GI allows program execution to continue, there can be programming issues when
using GI. For example, in the following program fragment:
LP VE2 DI10 GI OT1 TD1 OT0 EB
After the first pass through, the Loop command (LP) will wait at the GI command since
subsequent GI moves must wait for the present move to finish.
Axis1
Output1
Axis1
Output1
V
V
T
T
NOT as shown here
The programabovewill
functio n asshownhere
1 second 1 second
Chapter 6 - Programming Commands
6-13
GO executes a move prole dened by some combination of AC,VE, DE, DI, DA, DC, or
MC commands. Actual motion of a new prole will occur after a short calculation of the
motion trajectory.
GOi pre-calculates the move and waits for Input number i to activate before executing.
This variation is sometimes useful for applications needing very short, repeatable move
calculation delays. It is more often used simply to shorten code, since it functions like the
combination of Wait on Input and Go (WTi GO) yet it pre-calculates the move. Like other
commands using I/O, GOi does not restrict you from using an input even if it has been
congured for some predened function.
Example: AC.05 DE.05 VE50 DI5 GO GO initiates calculation of a move prole
using buffered parameters (.05 unit Accel
and Decel Ramp, speed 50, 5 unit
incremental move) and then executes it.
AC.05 DE.05 VE50 DI5 GO2 When input 2 is activated, immediate
execution of the motion calculation already
in the buffer is performed.
Go (Start a Move) .........................................syntax - GO or GOi [v1.00]
Units: n/a
Range: i = 1-16
Default: n/a
GO
Chapter 6 - Programming Commands
6-14
Jumps to program number or name and returns to the calling program when command
processing reaches the EN command in the sub-routine. After the return, execution
continues at the command immediately following the GS. Subroutines may be nested in
the standard rmware up to 16 levels deep. A Goto (GT) will clear the subroutine stack,
preventing future Gosubs from overowing the stack or returning to the wrong location.
Example: DI10 GS[Part A] GO {Run program Part A, return and make a 10
unit incremental move}
GT branches to the program number or name specied. All subsequent commands in the
calling program are ignored. Nested loops and subroutines calls are cleared by a GT
command.
Example: IF10 GT[PART A] EB {IF input 1 is on and input 2 is off, jump to
program Part A}
IF01 GT20 GT30 EB EN {IF input 1 is off and input 2 is on, run program
20. Program 30 will never run. Use the GS
command if you want to return to this program
and goto program 30}
Gosub................................................ syntax - GSi and GS[name] [v1.00]
Units: n/a
Range: i = 1-400, [name] = any legal program name
Default: n/a
GS
Go to Program..................................... syntax - GTi or GT[name] [v1.00]
Units: n/a
Range: i = 1-199 (1-400 with 30K memory option), [name] = any legal program name
Default: n/a
GT
Chapter 6 - Programming Commands
6-15
Syntax(s): IFi,xx...(checks input range beginning at input ;)
IFxx... (assumes rst input is input 1)
IF (mathematical expression) or expressions (2)
Range: i = starting input number, 1-8
x = 0; input high
x = 1; input low (grounded)
x = anything else (ignore input changes)
expression = any valid expression (dened in math and variables section).
Allows the conditional execution of a block of commands based on the evaluation of an
expression or input state. If the expression or input state is TRUE, the commands between
the IF and the EB are executed. If FALSE, execution continues with the command
following the EB. An IF statement should not be confused with a WT statement. An IF
statement evaluates, true or false, based on the conditions that the SmartDrive sees at the
instant the command is processed. A WT statement pauses command processing until the
condition is true.
Note: An End of Block (EB) command must be used with every IF command.
IF blocks can be nested up to 16 levels deep.
To increase exibility (primarily with programmable logic controllers or PLCs) the IF
command allows you to use congured inputs in the command. To help prevent this added
exibility from causing programming confusion, you can specify any character as an input
(x). This allows you to self-document your IF statements. For example, assume you
congured input #3 as a JOG SPEED input. Programming such as IF01J10 can help
remind you that you are already using input #3 as JOG SPEED.
Example:
IF14,1 GO EB {If input 14 equals 1 Go}
IF12,010 GO EB {If inputs 12-14 equal 010 Go}
IF110 GO OT3,1 EB {If inputs 1-3 equal 110 Go and turn on Output #3}
IF(A19)<5500 OT11 GO EB {If analog input 9 is less than 5500, turn on output 1 and 2,
then GO}
IF(TEMP)>50 OT1 EB {If temperature variable >50 turn on Output 1}
IF(PARTS)=25 GS20 EB {If PARTS variable = 25 Gosub to Program 20}
If ................................................................ syntax - IF (See Below) [v1.00]
Units: n/a
Range: see below
Default: n/a
IF
Chapter 6 - Programming Commands
6-16
This command allows an operator to input variable information under program control. It
is typically used with the message command, MS, to prompt for operator input of the
variable specied in IV. The cursor is placed on the display at character position "i". The
program waits until a number is entered before continuing execution. The command will
not allow you to type past the end of either line on the display. Variables will store 4 digits
to the right of the decimal place.
When minimum and/or maximum range values are specied, the IV command will not
accept inputs from outside this range. When a value outside the range is entered, one of the
following messages is displayed on the keypad:
"Input below minimum, Press ESC to resume"
"Input above maximum, Press ESC to resume"
These variables can then be used in a math equation, conditional expression, or to set any
command parameters (Example: DA, DC, VE, AC, LP, IF, TD, etc.). A variable can be
used anywhere in a program where a real number or integer could be used.
Due to the nature of converting decimal numbers to binary and back, care must be taken in
performing math on variables used in LP statements. LP will truncate the non-integer
portion of the variable. For example: (COUNT)=25*.2 LP(COUNT) will only loop 4 times
because (COUNT)=4.9999. A small offset can be added to variables used in LP statements
to avoid this problem. (COUNT)=(COUNT)+.1 will guarantee that (COUNT) will be
greater than 5, so the program will loop 5 times.
Example:
MS1, Clears the Display
MS1, How many?: Writes string beginning at character 1, top line
IV12,(PIECES),1,15 Waits at 12th character for the # of pieces in the
range 1-15.
MS1, Clears the Display
MS1,How long?: Writes string beginning at character 1, top line
IV12,(LENGTH) Waits at 12th character for the # of pieces.
LP(PIECES) Loops the number of pieces entered
DI(LENGTH) Denes the desired move length/distance.
GO Moves the length commanded
EB Ends the loop.
Input Variable ............................. syntax - IVi,(variable),min,max [v1.00]
Units: n/a
Range: i = 1-40 display position characters
variable = any legal variable name
min= the minimum range value (optional)
max= the maximum range value (optional)
Default: n/a
IV
Chapter 6 - Programming Commands
6-17
LP will cause all commands between LP and EB to be repeated i times. If LP is followed
by a 0 or no number, the loop will repeat continuously.
Note: An End of Block (EB) command must be used with every LP command.
The standard software allows up to 16 nested loops (one inside the other). Each LP
command must have a corresponding EB command to end the block (loop). A GT
command within a loop will terminate the loop, clear the loop stack, and jump to a new
program.
Example: AC.09 DE.09 LP3 VE30 DI1 GO EB VE7 DI-3 GO EN
The motor will perform an incremental 1 unit move at speed 30 three times and then a 3
unit move at speed 7 in the other direction.
Loop ............................................................................ syntax - LPi [v1.00]
Units: n/a
Range: n/a
Default: 0
LP
Chapter 6 - Programming Commands
6-18
The Loop Until (LU) command denes a loop block in which loop iterations are based on
a conditional result. The syntax for LU, which is identical to the IF command, is as follows:
Syntax: LUi,xx
LUxx
LU(Mathematical expression) or expressions (2)
where,
i = starting input number, 1-8 (SmartStep), 1-16 (SmartDrive)
x = 0, (Input Off)
x = 1 (Input On)
x = anything else (ignore input changes)
Mathematical expression = Any valid conditional or logical expression
Note: An End of Block (EB) command must be used with every LU command.
The LU loop will continue to iterate until the specied conditional result is true. LU checks
the conditional at the end of the loop block, therefore, the block is always executed at least
once, even if the condition is true on the rst iteration. Loop While (LW) denes loops
where the conditional is checked at the beginning of the loop.
The standard software allows up to 16 nested loops (one inside the other). A GT command
within a LU loop will terminate the loop, clear the loop stack and jump to the new program.
Following are examples of programs using LU:
Example #1: (A)=0 LU(A)=10 DI10 GO (A)=(A)+1 EB
In this example, the loop is executed 10 times with a nal position 110 distance units.
Example #2:(A)=10 LU(A)<20 DI10 GO EB
In this example, the loop is executed once since the (A)<20 condition is true on the rst
iteration.
Example #3:LUXX1X1 MS1,Inputs 3 & 5 are off EB GT[Inputs On]
In this example, the loop will continue to execute as long as inputs #3 and #5 are off.
Example #4:LU4,1 MS1,Input 4 is off EB GT[Input On]
In this example, the loop will continue to execute as long as input #4 is off.
Loop Until Condition True...................... syntax - LU (See Below) [v1.00]
Units: n/a
Range: n/a
Default: n/a
LU
Chapter 6 - Programming Commands
6-19
The Loop While (LW) command denes a loop block in which loop iterations are based on
a conditional result. The syntax for LW, which is identical to the IF command, is as follows:
Syntax: LWi,xx
LWxx
LW(Mathematical expression) or expressions (2)
where,
i = starting input number, 1-8 (SmartStep), 1-16 (SmartDrive)
x = 0, (Input Off)
x = 1 (Input On)
x = anything else (ignore input changes)
Mathematical expression = Any valid conditional or logical expression
Note: An End of Block (EB) command must be used with every LW command.
LW will continue to iterate while the specied condition is true. LW checks the condition
at the beginning of the loop block, therefore if the condition is false on the rst iteration,
the block is immediately skipped. Loop Until (LU) denes loops where the condition is
checked at the end of the loop block.
The standard software allows up to 16 nested loops (one inside the other). A GT command
within an LW loop will terminate the loop, clear the loop stack, and jump to the new
program. Following are examples of programs using LW:
Example #1:(A)=0 LW(A)<=10 DI10 GO (A)=(A)+1 EB
In this example, the loop is executed 11 times with a nal position 110 distance units.
Example #2:(A)=10 LW(A)>20 DI10 GO EB
In this example, the loop is immediately skipped since the (A)>20 condition is false.
Example #3:LWXX1X1 MS1,Inputs 3 & 5 are on EB GT[Inputs Off]
In this example, the loop will continue to execute as long as inputs #3 and #5 are on.
Example #4:LW4,1 MS1,Input 4 is on EB GT[Input Off]
In this example, the loop will continue to execute as long as input #4 is on
Loop While Condition True ................... syntax - LW (See Below) [v1.00]
Units: n/a
Range: n/a
Default: n/a
LW
Chapter 6 - Programming Commands
6-20
MC sets move proles to continuous move, utilizing AC and VE parameters. Move
Continuous is enabled on an axis with the + sign. MC+ enables the mode for axis one;
MC,+ enables the command on axis two; and MC+,+ enables both axes. DI, DA and DC
commands reset the mode to distance.
Each Move Continuous segment must contain a GO command. Accelerations and
velocities may be changed in any segment. If no change is specied to one of these
parameters, the last value will be used. It is not valid to issue positional commands (DI,
DA, DC, GH, SP) to an axis while it is in a Move Continuous mode. However, you may
make distance-based moves on the other axis while running one axis continuously. Any
command is valid within an MC segment except Distance Commands (DA, DC, & DI).
The direction of the move is specied by the sign of the VE parameter. If the sign of the VE
parameter changes between two segments, the control will automatically stop the motor (at
the programmed rate) and change directions to the new speed. This makes changing
directions based on variable inputs very easy to program using a scaled variable as the VE
parameter.
Once a Move Continuous segment is started, it will continue to move at the speed specied
by VE until either another VE is commanded, the ESC Key is pressed, or an End-of-Travel,
Kill Motion, Interrupt, or Stop Input is activated. A commanded velocity of zero (VE0)
stops an MC move. Motion will also stop if you enter the Edit, Help, Copy, or Delete
menus.
After a continuous move segment has started, command processing will continue when
constant velocity is reached. Other commands are then processed sequentially.
This allows you to:
Have asynchronous inputs change the speed of an axis
Make motion prole changes based on time delays or input states
Manipulate I/O while moving as a function of time, distance, or input states
Change speed based on analog inputs or variables
Have an operator update the speed of an axis through the keypad
Servo to an analog input
Make a one or two-axis joystick using analog inputs
Start a continuous move on one axis, and make distance based moves on another
If a motor is making a move when it comes to the end of a program, the motor will continue
moving, even after the program ends. This allows you to:
Put different MC moves in different programs and select different speeds by running
different programs.
Change speeds based on Binary or BCD program select lines
Move Continuous.....................................................syntax - MC+ [v1.00]
Units: n/a
Range: n/a
Default: n/a
MC
Chapter 6 - Programming Commands
6-21
Call MC moves as subroutines
Run from hosted RS-232C mode, where the computer commands speed changes
Run another program from the keypad that does not violate MC syntax. So you could
run another program from the keypad to change speeds, move the other axis,
manipulate I/O, interface with an operator or calculate arithmetic.
Example 1: Basic Move Continuous syntax. Demonstrates how to change speed and stop
MC moves based on time delays and input conditions.
MC+ {Enable Move Continuous on axis 1}
AC.1 {Set the acceleration rate}
VE50 {Set top speed to 50}
GO {Start the Move Continuous move, command processing will
continue when axis 1 reaches constant velocity}
TD2 {Delay for 2 seconds at speed}
VE25 GO {Decel to 25}
WT111 {Wait for inputs 1,2, and 3 to go active}
VE0 GO {Stop the move}
Example 2: Demonstrates how to prompt an operator for speed changes on a single-axis
SmartDrive. The move is started after the initial velocity prompt. The velocity only changes
when the operator enters a new value via the keypad. The move can be stopped by entering
a velocity of zero, or when any of the stop conditions dened above exist.
[One Axis MC]
MS1,"Enter the Velocity" {Prompt the operator}
IV23,(V) {Put the operator input in variable (V)}
MC+ AC1
VE(V) {Use operator-entered variable (V) as new speed}
GO {Change velocity of axis 1 to the new speed}
GT[One Axis MC] {Repeat}
Example 3: Demonstrates the use of WT, OT and TD commands in continuous move.
MC+ AC3 VE3 GO {Start rst segment}
WT8,1 AC.1 VE10 GO {Wait for input 8 and change speed}
TD5 AC.3 VE.2 GO {Wait for 5 seconds and change speed}
WT3,1 VE-10 GO {Wait for input 3 and change speed and direction}
OT11 {Turn on outputs 1 and 2}
TD10 VE0 GO {Wait 10 seconds and stop the move}
Chapter 6 - Programming Commands
6-22
Syntax: MS, returns to the default runtime display
MSn,
MSn,user text
MSn,(variable)
MS allows you to put messages on the keypad display. Messages are typically used to
prompt for operator input, display function key prompts, or as a diagnostic tool.
MSn, clears the display from the n
th
character on. MSn,user text prints user text
beginning at the n
th
character. MSn,(variable) writes the value of the variable on the display
beginning at the n
th
character. The above variations to MS will disable the default position
and I/O display until program execution stops. MS, can be used to restore the default axis
position and I/O display during program execution.
Examples:
MS1, Clears the Display.
MS3, Part Count Writes string beginning at character 3, top line.
MS27,(COUNT) Displays the value of the variable (COUNT), beginning
at position number 27 (7th character, 2nd line).
Below is an example of one segment of the Keypad Programming Template which can be
found immediately inside the back cover of this manual. The template is provided to allow
you to write MS programs by hand exactly as they will appear on the 40-character keypad
display. Please feel free to make copies of the template for writing your programs.
Message to Display........................................ syntax - see below [v1.00]
Units: n/a
Range: n = 1-40 display position in characters; Characters 1-20 on top line, 21-40
on the bottom display line.
Default: n/a
MS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
M S 2 7 , ( C O U N T )
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
Chapter 6 - Programming Commands
6-23
The ON command allows the user to dene conditional program execution based on the
occurrence of a certain event. When the programmable event occurs, the current program
and move are interrupted, and program execution begins at the predened interrupt
program. The interrupt program can be dened as a GT or a GS. Dening the interrupt as
a GS allows program execution to return to the exact point in the original program where
the interrupt occurred. The ON command supports End-of-Travel (EOT) as an event
conditional.
The syntax for dening an event interrupt program number, and type is ONn,GTx or
ONn,GSx where n is the event type and x is the interrupt program number or name:
n: L On EOT Limit
The syntax for clearing a previously dened event conditional is ONn,0 where n is the
event type as listed above and 0 (zero) is the clear event designator.
Once an ON event has been dened, it is active in all user programs and need not be
redened. The ON event should be redened if the user wishes to change the interrupt
program type, number or name, or clear the event condition.
Example: Using ON to handle an EOT event
[POWERUP]
ONL,GT[ON EOT] {Goto [ON EOT] on an End-of-Travel input}
GT[HOME] {Home the machine}
[MAIN]
LP {Loop innitely}
VE5 DA20 GO {Dene move}
DA0 GO {Dene move}
EB
[ON EOT]
IF(SA1)&256 {Check if EOT- switch was hit (bit #9 in SA)}
VE1 DA0.5 GO {Move off EOT- switch}
GT[HOME] {Home the machine}
EB
VE1 DA-0.5 GO {Move off EOT+ switch}
GT[HOME] {Home the machine}
[HOME]
GH3 {Home}
GT[MAIN] {Jump to main loop}
ON Command (On Event) .........syntax - ONn,GTx, ONn,GSx, ONn,0 [v1.8]
Units: n/a
Range: n/a
Default: n/a
ON
Chapter 6 - Programming Commands
6-24
Syntax: OTi,xx...(sets output states starting with output ;)
OTxx...(assumes rst output is # 1)
Sets both discrete and digital Opto output states. Once an output is turned on, it will remain
set until changed by another output command, a reset input (software warm-boot), or power
is cycled. All outputs are turned off upon power up or during a reset.
To increase exibility, the OT command allows you to use congured outputs anytime. To
help prevent this added exibility from causing programming confusion, you can use any
character in the dont change section of your output statement. This allows you to self-
document your OT statements. For example, assume you congured output #3 as a
FAULT output. Programming like OT01F10 can help remind you that you are already
using output # 3.
Example:
OT4,1 {Turn on Output 4}
OT2,0D1 {Turn Output 2 off, leave 3 as is, and turn 4 on}
OT110 {Turn Outputs 1 and 2 on, and 3 off}
The (Quote) command transmits a string out the serial communications interface. A
without any string will transmit a carriage return character (ASCII 13). Variable values
may be transmitted over a serial interface with the (TERM) variable (see page 7-3).
Example:
Move Complete Transmits string only out serial interface.
Transmits a carriage return only.
Output ............................................................. syntax - see below [v1.00]
Units: n/a
Range: i = starting output number, 1-16
x = 0; output high (OFF)
x = 1; output low (ON)
x = anything but a 1 or 0; the state of the output remains unchanged
Default: n/a
OT
Quote........................................... syntax - Any ASCII character [v1.00]
Units: n/a
Range: n/a
Default: n/a
Chapter 6 - Programming Commands
6-25
The Registration Command (RG) species a distance to be indexed from the current
position - as commanded by a specic input trigger. For example, in the following program
of 10 user-units on axis #1, the input trigger is received at user-unit 4, to move 3 user-units
from the point where the input trigger was received.
VE2 AC.1 DA10 RG3 GO
In the program above, assume the input was an optical sensor which triggered on a
registration mark at a position of 4 user-units. The gure below shows the commanded
move related to the registration move.
Accompanying the programmable Registration Command is the congurable Registration
Input: G (also G in Serial Setup Commands). To congure a Registration input from the
keypad, choose EDIT > SETUP > I/O > INPUTS. An input congured as a Registration
Input will be designated by a G on the keypad input status display. The RG Command will
only function if the corresponding input has been congured as a Registration Input (see
note).
Note: Registration Input is only congurable on input #1 for axis #1.
System Performance when Using the RG (Registration) Command
The input capture delay is 5
s. Worst case position error is 9 steps at 50 rps.
Registration...............................................................syntax - RGr [v1.00]
Units: n/a
Range: n/a
Default: n/a
RG
RG index
distance
RG Input
Trigger
RG
End of Move
v
t
Ends at Commanded Position
10 7 4
Chapter 6 - Programming Commands
6-26
SP sets the current absolute position to n. This command is typically used to readjust or
shift a coordinate system. It is often done after a series of incremental moves to reset the
absolute coordinate frame.
Example:
MC+ GO WT1,1 VE0 GO SP10.5 {After the move is complete, sets the current
position of axis 1 to 10.5.}
The SQ command calculates the square root of a number and returns the result in a user
dened variable. The n parameter in the syntax can be a number or a variable parameter,
however, the second parameter must be a previously dened variable for which the square
root result is stored. If the second parameter is not a dened variable, you will get a Bad
Variable Name error. Following mathematical convention, SQ will produce an Invalid
Parameter error for negative r values. The return value is accurate to the 0.01 place.
Example:The following example program calculates the square root of 27.96 and stores the
value in the user dened variable (SQRESULT).
Program: (SQRESULT)=0 SQ27,(SQRESULT)
The returned value in (SQRESULT) would be 5.28.
Set Position ............................................................. syntax - SPr [v1.00]
Units: selected in EDIT > SETUP > MECH menu
Range: varies based upon Distance Units
Default: 0
SP
Square Root...................................................... syntax - SQr,(var) [v1.00]
Units: n/a
Range: 0.0001 to 214748.3645
Default: n/a
SQ
Chapter 6 - Programming Commands
6-27
Syntaxes:
ST stops move execution upon activating the input specied by n.
ST0 disables (turns off) the STn command.
ST#1 stops move execution on axis #1.
ST#n functions identically to the STn command without the use of an input allowing
program command conditional motion termination.
After the ST command is executed, the specied input is monitored during every move
prole. If the input is activated, the current move in progress is terminated, stopping all
motion until the input is deactivated or a ST0 is processed. the drive will process and
calculate commands, but it will wait at the next GO command until the ST input changes.
The motor is stopped at the deceleration rate specied in the Stop Decel Rate setup
parameter. Once issued, Stop on Input remains active until it is turned off by the ST0
command, a reset is issued, or power is cycled.
Example: Move to absolute position of 6 distance units. If (A)>10, motion is stopped.
AC,1 VE25,25 DA6,6 GI {Move to 6 absolute distance units and Go Immediate}
IF(A)>10 {Check value of A (assume A was previously dened}
ST#1 TD1 ST,#2 {Stop motion on axis #1 wait 1 sec. then stop axis #2}
EB
ST#1,#2 {Stop motion on both axes}
Delay r seconds before executing the next command.
Example: VE50 DI4 GO OT11 TD.5 OT00
{Move 4 units, turn outputs 1 and 2 on, delay 0.5 seconds, and turn outputs 1 and 2 off.}
See also: System variable (TIME), in Chapter 7, Programming Your Application.
Stop On Input ............................................ syntax - STn or ST#n [v1.00]
Units: n/a
Range: 0-8 (Inputs)
#1 (Axes)
Default: n/a
ST
Time Delay ................................................................ syntax - TDr [v1.00]
Units: seconds
Range: r =.01 to 99999.99 seconds
Default: n/a
TD
Chapter 6 - Programming Commands
6-28
VE sets the maximum velocity during a move prole. If the acceleration rate is not high
enough or the move distance is not long enough the motor may end up making a triangular
(velocity vs. time) move and the motor may never reach the specied speed. Once VE is
specied, the value is used in all subsequent moves until re-dened.
Example:
AC.1 DE.2 VE50 DA4 GO {Move to absolute position 4 units with a top speed of
50 units/sec.}
Velocity ..................................................................... syntax - VEr [v1.00]
Units: selected from the EDIT > SETUP > MECH menu
Range: .002 - 50 rps. Range is scaled to velocity units
Default: 1 motor rev per sec (rps)
VE
Chapter 6 - Programming Commands
6-29
Syntax: WTi,xx...
WTxx... (assumes rst input is input 1)
WTexpression
WT#1, used with GI moves
This command waits for the specied condition to be true before continuing execution of a
program. Either digital or analog input conditions may be used.
To increase exibility the WT command allows you to use congured inputs in the
expression. To help prevent this added exibility from causing programming confusion,
you can specify any character as an input (x). This allows you to self document your WT
statements. For example, assume you congured input #3 as a JOG SPEED input.
Programming like WT01J10 can help remind you that you are already using input # 3.
Example:
WT4,1 GO {Wait for input 4 to equal 1 before moving}
WT2,010 GO {Wait for inputs 2-4 to equal 010 before moving}
WT110 GO {Wait for inputs 1-3 to equal 110 before moving}
WT#1 {Causes program execution to halt until GI move is complete}
Note: In order to synchronize program execution with the end of a GI move, there is new
syntax associated with the WT command: WT#1,#2 will halt program execution until the
respective axis has completed its move. WT#1 will wait for only axis #1; WT,#2 will wait
only for axis #2; WT#1,#2 will wait until both axes have stopped.
Wait.................................................................. syntax - see below [v1.00]
Units: n/a
Range: i = starting input number, 1-16
x = 0; input high
x = 1; input low (grounded)
x = anything but 1 or 0; ignore the input level
expression = any valid expression as dened in the math and variables
section.
Default: n/a
WT
Chapter 6 - Programming Commands
6-30
Refer to Chapter 7, Programming Your Application, for more details and examples of how
to use the above operators, functions, and expressions.
Summary of Operators, Functions, and
Expressions
[ ] Name Program
( ) Name Variable
&& Logical AND
|| Logical OR
! Logical NOT
!= Not Equal
+ Add
- Subtract
* Multiply
/ Divide
= Equal
> Greater Than
< Less Than
>= Greater Than or Equal to
<= Less Than or Equal to
& Bitwise Boolean AND
| Bitwise Boolean OR
++ Increment Variable
+= Increment by n
-- Decrement Variable
-= Decrement by n
<< Shift Left
>> Shift Right
Chapter 7 - Programming Your Application
7-1
Chapter 7 - Programming Your Application
The purpose of this chapter is to give the programmer the information necessary to begin
developing an application with a SmartStep. Also in this chapter are several practical
examples that may be copied and modied. More program examples are available in
Application Developer
by selecting Help > Command Help.
SmartStep Programming Overview
Before beginning to develop a machine control program with a SmartStep, the user must
decide how the SmartStep ts into the overall machine control hierarchy. The information
in this chapter applies to the following three ways that an SmartStep may be used:
1. In a stand-alone mode where the SmartStep controls all the Inputs/Outputs and motion.
2. With a PLC, where the PLC runs the machine and calls on the SmartStep via program
select lines for motion.
3. In a hosted mode, the PC sends serial commands to the SmartStep for execution.
The SmartStep uses a sequential, interpretive command processor. This means that
commands in a program are executed one at a time, and that one command must be
completed before the next command is processed. The following example shows this type
of program:
Program:
[Move] VE4 DI10 OT01 GO OT10
In the program [Move], the maximum move velocity is set to 4, the command incremental
distance is set to 10, output 1 and output 2 are turned off and on simultaneously, axis one
then moves 10 units. After axis one stops moving, output 1 is turned on and output 2 is
turned off. These changes of outputs 1 and 2 occur at the same time.
The programmer can control the ow of the program with WT (wait for an event or
condition to occur), TD (wait for a pre-set amount of time to elapse), and IF (if a certain
condition is true at this instant, then execute a block of commands) statements. External
controllers such as PLC and computers can be coordinated via digital outputs and ASCII
strings sent out the serial port.
Creating or Editing Programs with the Keypad
IDCs IDeal Command language is easy to remember and powerful. Command
descriptions are available on-line using the HELP key within the editor.
If you need help with basic keypad operation, please refer to
Chapter 1 -
Using the Keypad,
and
Chapter 2 - Conguring Your System.
Chapter 7 - Programming Your Application
7-2
Command Summary
The chart below lists all the IDeal commands that can be stored, and executed as a part
of a program. In
Chapter 5, Programming with Serial Communication
, there is more
information on serial commands, such as Setup, Immediate Status, and Supervisory
Commands. Also included in Chapter 5 is a list of Commands Not Available in Hosted
Mode.
Variables and Arithmetic
Variables
The SmartStep will accept a variables in a commands instead of a constant.
Examples include:
Arithmetic
Conditional Expressions
Loop Counts
Distance and velocity commands
Set values
Set command values or parameters
Set analog signals
Read analog or temperature input
Display information such as position or velocity
Any place that a number can be used, a variable can be used
Command Description Command Description
AC Acceleration IV Input Variable
BR Break LP Loop
DA Distance Absolute LU Loop Until
DC Distance to a Change LW Loop While
DE Deceleration MC Move Continuous
DI Distance Incremental MS Message to Display
EA Enable Amplifier ON On Command
EB End of Block OT Output
EN End of Routine RG Registration Move
FK Function Key SP Set Position
GH Go Home SQ Square Root
GI Go Immediate ST Stop on Input
GO Go (Start a Move) TD Time Delay
GP Go Point VE Velocity
GS Gosub WT Wait
GT Go to " " "Message to Serial Port"
IF If Then
Chapter 7 - Programming Your Application
7-3
Legal Variable Names
The SmartStep allows you to create descriptive variable names, as opposed to V1, V2, etc.
Variables can be up to 14 characters, but the rst 10 characters must be unique. They can
contain other printable ASCII characters, such as numbers, underscores, exclamation
points, even spaces. Upper and lower case characters are supported within variable names,
and these variable names are case sensitive. ASCII control characters such as LF and CR
are not supported. All variables must be enclosed in parentheses,
(
variable name
)
.
Parentheses are not legal variable characters.
The standard software allows for up to 100 variables. All variables are stored as xed point
numbers. All variables are global. All standard variables are volatile, though non-volatile
variables are available as well.
Built-In Variables
The following variable names are pre-dened in the control. They can be used throughout
your programs in expressions, to set voltages, to test conditions, or even to display
information to the keypad screen or some other external serial device.
Variable Name Description Type
(AI1) thru (AI6) Analog Input 1 thru 6 Read Only
(AROWREL) Current status of any of the four arrow keys Read Only
(CPOS1) Commanded position of axis 1 Read Only
(EPOS1) Encoder position of axis 1 Read Only
(VEL1) Commanded velocity of axis 1 Read Only
(POS1), (POS2) Current Position of axis 1-2 Read Only
(#F1) thru (#F50) Non-volatile, limited use, user system variables Read/Ltd. Write
(FKEY) Value of Function Key pressed Read Only
(LASTKEY) Value of last Function key pressed Read Only
(TERM) Sends variable out RS-232 port Write only
(1TW) Scans inputs 1-4 for BCD Digit Read Only
(2TW) Scans inputs 1-8 for BCD Digit Read Only
(TIME) Elapsed Time (ms) since power up or since reset Read Only
(CRCS) Value of the EEPROM setup checksum Read Only
(CRCP) Value of the EEPROM program checksum Read Only
(SA1), (SA2) Integer value of the status of axis 1-2 (See RS232
command SA)
Read Only
(SD1), (SD2) Integer value of the drive status of axis 1-2 (See
RS232 command SD)
Read Only
(SS) Integer value of the system status (See RS232
command SS)
Read Only
(INT98CTRL) Enables/disables (ARM INT98) trigger option -
Refer to Ch. 2, Configuring Your Inputs, Input De-
scriptions, Input I.
Read and Write
(ARM INT98) Enables/disables INT98 input if (INT98CTRL) is
enabled
Read and Write
Chapter 7 - Programming Your Application
7-4
Examples of Built-In Variables:
(PIECES)=10 Assigns 10 to variable
(SPEED)=(AI4)*(VEL SCALE) Speed = analog input times a scalar
MS21,Enter Length IV32,(LENGTH) Prompts user and gets feed length
VE(SPEED) Sets velocity to value in variable
MS1,(POS2) Displays current position of axis 2 on
keypad screen
(TERM)=(POS1) Sends the current position of axis 1 out
the RS-232 port of the Smart Drive
(TEMPERATURE)=(AI6) Reads in temperature from an analog
input
(#F1)=(PIECES) Stores the value of Pieces in the
FLASH variable #F1
Using the Built-In Variable (AROWREL)
(AROWREL) is a built-in Boolean read only variable which determines the status of any
of the 4 arrow keys. When used in conjunction with (FKEY), the user can detect whether
or not an arrow key is being held down. (AROWREL)
will return one of the following
values:
(AROWREL) = 0 One of the arrow keys is being held down.
(AROWREL) = 1 The arrow key has been released.
(AROWREL)
will return key status for the 4 arrow keys only. If any other key is pressed,
(AROWREL)
will return zero regardless if the key is held down or not. The following is
an example jog application using (AROWREL)
and (FKEY):
[MAIN] {Program #1}
FK12,13 {Wait for a Left or Right arrow key}
GT(FKEY) {Jump to arrow key program #12 or #13}
[LEFTARROW]{Program #12}
MC+ {Enable MC mode}
AC.1 {Start MC move}
VE1 {Move in positive direction}
GO
LP
IF(AROWREL)=1{Check status of arrow key}
VE0 {Stop MC move on key release}
GO
GT1 {Return to main program}
EB
EB {End loop block}
[RIGHTARROW]{Program #13}
MC+ {Enable MC mode}
AC.1 {Start MC move}
VE-1 {Move in negative direction}
GO
Chapter 7 - Programming Your Application
7-5
LP
IF(AROWREL)=1 {Check status of arrow key}
VE0 {Stop MC move on key release}
GO
GT1 {Return to main program}
EB
EB {End loop block}
Non-Volatile Variables
The non-volatile variables (#F1)-(#F50) are fty user accessible variables that retain their
values through power cycles, warm boots, and system resets. Standard user variable are
reset at power down or reset. Every time one of these variables is changed (i.e. used on the
left side of a equal (=) sign, the new value is written to, and stored in the user non-volatile
FLASH.
The FLASH system variables were originally developed for use in batch manufacturing
applications where a number of variable setup parameters must be entered at the start of
each part run. These same setup parameters can then be used through any number of power
cycles, or machine resets.
Example: A program called [Set-up] is run at the start of each part run to initialize a number
of variable part parameters. During production the program called [PARTS] is run. This
program
reads
from the FLASH variables, but does not generate any
writes
to the FLASH,
so the lifetime of the FLASH is not compromised.
[Set-up]
MS1,Feed length?: Writes string beginning at character 1, top line
IV12,(LENGTH),1,15 Loads the part length into volatile user variable (LENGTH)
MS1,Feed Speed?: Writes string beginning at character 1, top line
IV12,(SPEED),.05, 5 Loads the speed into volatile user variable (SPEED)
(#F1)=(LENGTH) Loads the length into non-volatile system variable (#F1)
(#F2)=(SPEED) Loads the speed into non-volatile system variable (#F2)
EN
CAUTION
Caution must be used when using these variables. Since FLASH have a limited read/
write lifetime (100,000 writes before failure), variable values that change frequently
should not be stored as FLASH system variables. Examples include loop count
variables, and POS1 and POS 2 variables. The SmartStep will allow only 1,000
FLASH writes between power cycles. This limit has been set to prevent a simple
programming mistake or misunderstanding from permanently damaging the
SmartSteps non-volatile memory. When this write limit has been exceeded, all
programs will stop running, an error message will be displayed, and the appropriate
status bits will be set.
Chapter 7 - Programming Your Application
7-6
[PARTS] [PARTS] runs on power up, unless new parameters are entered.
(LENGTH)=(#F1) Load the part specic variable from the non-volatile variables.
(SPEED)=(#F2)
LP(NUMBER) Loop (NUMBER) of times
DI(LENGTH) Move (LENGTH)
VE(SPEED) at (SPEED) velocity
GO
OT1 TD.1 OT0 Toggle output to indicate part done
EB End the loop Block
Arithmetic Operands and Equations
The SmartStep supports addition (+), subtraction (-), multiplication (*), and division (/).
Expressions may only contain
one
operand. Complex equations require multiple
statements. Variables and xed point numbers may be mixed in arithmetic equations. All
user arithmetic and variable storage uses 32 bit integer and fractional representation.
The + and - symbols have a dedicated button on the keypad. Pressing the button will toggle
between the two.
The *, /, and = are accessed from the Alpha+0+ keystrokes.
Examples:
(X)=(Y)*10
(AO15)=(VOLTAGE)+(ERROR)
You can not enter:
(X)=1+2-3 This statement is not legal, because it has more than one
operand.
(Length)=(Total)*.03125 The SmartStep xed-point variable storage only
supports 4 places to the right of the decimal place (32 bit
storage of fractional decimal number).
Instead enter:
(X)=1
(X)=(X)+2 or (X)+=2
(X)=(X)-3 or (X)-=3
and
(Length)=(Total)*3.125 Multiply by the signicant gures.
(Length)=(Length )*.01 Then move the decimal place.
or
(Length)=(Total)/32 The SmartStep xed-point variable storage supports
4 characters to the right of the decimal place (32 bit
storage of fractional decimal number).
Chapter 7 - Programming Your Application
7-7
Boolean Operators - & (And), | (Or)
The operators & and | will perform the respective bitwise Boolean functions on immediate
or variable parameters.
An application example of the Boolean operators would be: isolating a specic bit from an
SD response. Suppose you want to determine if axis #1 drive was enabled from a program.
This corresponds to a bit #5 (10000) Binary, (16) Integer in the SD response. The program
segment would look as follows:
(DRIVE STAT)=(SD1)&16 IF(DRIVE STAT)=16 MS,1Drive Enabled EB
The 16 corresponds to an integer weight of bit #5 (10000) since you wish to mask out the
enable bit.
Logical Operations on Expressions (&&,||)
Conditional commands (IF,WT, LU, LW) support logical operations of AND (&&) and OR
(||). Two expressions may be logically ANDd or ORd within one conditional command.
For example:
(A)=5 (B)=2.5 IF(A)>2&&(B)=2.5 MS1, True Statement EB
In the above program, the message True Statement would appear since BOTH
conditional statements are true, thus making the entire IF conditional true.
Incrementing and Decrementing Variables (++, =+, --, -=)
There are four syntaxes supported by variables: ++ (Single Increment), += (Value
Increment), -- (Single Decrement), -= (Value Decrement). These operators will initialize
any uninitialized variable to zero before incrementing or decrementing it for the rst time.
(Variable Name)++ Increments a variable value by 1
(Variable Name)+=n Increments a variable value by n
(Variable Name)-- Decrements a variable value by 1
(Variable Name)-=n Decrements a variable value by n
Expressions
The SmartStep supports ve conditional expressions, less than (<), equal to (=), greater
than (>), less than or equal to (<=), and greater than or equal to (>=). The IF and WT
commands can use these expressions to direct program ow or wait for an analog input to
meet a condition. The > and < symbols are entered into the keypad editor with the
ALPHA+
....
Examples:
IF (X)>10 GS20 EB If X is greater than 10 gosub to program #20.
WT(AI12)<(MAX TEMP) Wait for the temperature to go below the maximum before
continuing command processing.
Chapter 7 - Programming Your Application
7-8
Other Typical Programming Examples
The following example programs will give you an idea of how the IDeal command
language can be used to solve simple tasks. More extensive and elaborate example
programs can be found in the DEMOS.idc le that came with your IDC CD-rom. This le
can be accessed from application developer.
To aid your program documentation, comments can be placed in brackets. These comments
are stripped from the program as it is downloaded to help conserve memory in the control.
Files should be saved BEFORE downloading for documentation purposes.
Example: DI10,2 GO Moves to load position
DI15,15 GO Moves to unload position
To create a Message and input a Variable
[GET PARTS] Name the subroutine
MS1, Clears the Display
MS1,How many?: Writes string beginning at character 1, top line
IV12,(PIECES) Waits at 12th character for the # of pieces.
MS1, Clears the Display
MS1,How long?: Writes string beginning at character 1, top line
IV12,(LENGTH) Waits at 12th character for the length.
LP(PIECES) Loops the number of pieces entered
DI(LENGTH) Moves the length entered.
GO EB
Creating an Operator Menu
(see the FK command description for details)
MS1, Clears keypad screen
MS21,PART1 PART2 PART3 Writes a message above function keys.
FK1,2,3 Waits for a Function Key to be pressed
(FKEY)=(FKEY)+50 Add an offset to FKEY
GT(FKEY) Goto program #51, 52, or 53. (50 + 1, 2, or 3)
Chapter 7 - Programming Your Application
7-9
Fast In, Slow Feed Move
(Using the Distance to Change (
DC
) command)
AC.05 Set acceleration
DE.09 Set deceleration
VE50 Set rst velocity
DA6 Set
total
move distance
DC5.5 Set point where you want to change speed
VE5 Set second speed
GO Start the move prole
Turning On an Output on-the-fly
AC.05 Set acceleration
VE10 Set velocity
DA4 Set
total
move distance
DC1 Set point to turn on...
OT1 Output 1
DC2 Set point to turn on...
OT2,1 Output 2
DC3 Set point to turn on...
OT3,1 Output 3
GO
To input a 4-Digit BCD number reading 2 Digits-at-a-time
[GET 4 BCDS] Returns value of 4 digit BCD number
OT01 Connect ground of rst two BCD digits
(4 DIGIT BCD)=(2TW)*100 Make value of rst two digits the MSB
OT10 Connect ground of 2nd two BCD digits
(4 DIGIT BCD)=(4 DIGIT BCD)+(2TW) Add value of 2nd two to 1st two * 100
0
5.0
50
5.5 6.0
1 2 3 4
OT1,1 OT2,1 OT3,1
Chapter 7 - Programming Your Application
7-10
Reading an Analog Input
The value of the analog system variables (AI1-AI6) are scaled from 14,400 to 72,000 Hz.
This value is actually a scaled frequency read from the OPTO module representing the
analog signal. These input values are updated every 16 milliseconds . If your program needs
to display this value in units such as VOLTS, you will need to scale the value to VOLTS in
your program. The scaling factor depends upon the type of OPTO module used. For
example: a "J" thermocouple uses a different factor than a "K" thermocouple. Due to slight
variances in the output frequency from module to module, it is recommended that the
OPTO be calibrated by querying the corresponding AIx value with no input signal
connected to the OPTO. This value should be used as the zero input reference frequency.
Example: Using a 0-10 VDC analog input. 0V=14,400; 10V=72,000 or 5,760 Hz/volt.
(VOLT)=(AI2) Read the value of analog input #2 into variable
volts
(VOLT)=(VOLT)-14400 Remove frequency offset
(VOLT)=(VOLT)*1.736 Scaling factor multiplied by 10,000
(VOLT=(VOLT)*.0001 Scaling back to volts
The variable (VOLT) is now in units of volts. If you are waiting for a condition to occur or
doing a comparison, (see below) there is no need to go through the conversion process.
(TEMP)=(AI5) Read in temperature from analog input
WT(AI3)<45000 GO Wait for analog input 3 <45000 (<5.3 VDC using
the previous example) before moving
IF(AI2)<45000 GO EB Go if analog input 2 < 45000
80
70
60
50
40
30
20
10
Output
Freq.
(KHz)
14.4
72
Min.
Input Value
Input Signal
Max.
Input Value
Chapter 8 - Programming With Serial Communication
8-1
Chapter 8 - Programming with Serial Communication
Overview
Any RS-232C terminal, PC, computer serial RS-232C card, or RS-232C-equipped PLC can
be used to congure, program, and operate IDCs SmartStep controls. IDC provides and
strongly recommends using our Windows-based
Application Developer
for conguration
and programming. If you choose not to use this tool, all of the
IDeal
TM
RS-232C
programming and setup commands are listed alphabetically later in this chapter.
Application Developer
provides a graphical conguration environment, a program
development editor, and a terminal communication package.
Application Developer
also
provides application upload and download utilities, and an online software reference help
utility.
This chapter is divided into 4 sections. Section 1 covers the installation of
Application
Developer
. Section 2 covers
Using Application Developer
to setup and program SmartStep
systems. Section 3 covers common RS-232C details, including baud rate settings as well as
hardware and daisy-chaining information. Section 4 provides details on all of the RS-232C
commands that
Application Developer
employs. This section will be useful to users who
are not using Windows, or who plan to run the SmartStep in a hosted environment. (i.e.
the host streams down individual commands for immediate execution, or calls previously
dened programs.) The host could be a PC, RS-232C equipped PLC, or some other type of
intelligent device.
Chapter 8 - Programming With Serial Communication
8-2
This page intentionally left blank.
Chapter 8 - Programming With Serial Communication
8-3
Section 1:
Application Developer
Software
All of IDCs SmartSteps come with
Application Developer
software. The programs and
data les are automatically installed with a setup utility included on the CD.
Installing Application Developer in Windows 95, 98, or NT
1. Insert the
Application Developer
CD in your CD-ROM drive.
2. Click on Start.
3. Click on Run.
4. Type the following in the Command Line box that appears (replace "d" with your CD
drive letter if different):
d:\App_Dev\Setupex.exe
5. Click OK.
6. Follow the installation instructions on the screen.
7. Restart Windows (required).
If You Need Help Installing Application Developer
There are no known installation problems with Application Developer. Please call the IDC
Electric Applications Department at (800) 544-8466 or (704) 588-5693 (from outside U.S.)
if you need assistance installing this software.
Chapter 8 - Programming With Serial Communication
8-4
Section 2: Using Application Developer
Application Developers
graphical environment helps you setup and program your
SmartStep from your computer. It guides you through conguring your control, following
the same steps and menus as the keypad conguration. Complete details on setup menus
and choices can be found in Chapter 5 -
Conguring Your System
. Applications (programs
and conguration les) may be created, saved, edited and downloaded (sent) to your
control.
Application Developer
will also upload (receive) an entire setup and program
memory from a control.
Using the Setup Wizard
The Setup Wizard allows the quickest and most accurate initial selection of drive, encoder,
mechanics, and motion units. This chapter contains information to help you get started
using Application Developer.
Open an Existing File
The window shown below appears immediately after starting the Application Developer
program. If you Open an Existing Project, Application Developer will bypass the Setup
Wizard and allow you to select a le in the Open File window (see below). After you have
opened an existing le it is still possible to use the Setup Wizard at any time by simply
clicking on the Wizard tool bar button.
Chapter 8 - Programming With Serial Communication
8-5
New Project - Using the Setup Wizard
1. Click on the
New Project
button to start the Setup Wizard.
2. Select the product you are conguring,
SmartStep
in this case, and click on the
Next
button.
The
Wizard
Navigator
(left of photo) allows you to quickly locate your current
position at any time during the setup process. The column of boxes represents the axis
to be congured. A boxs color represents its conguration status, i.e.
gray
indicates a
parameter that has not been congured,
yellow
indicates the parameter currently being
congured, and
black
indicates the completed conguration of that parameter.
Wizard
Navigator
Chapter 8 - Programming With Serial Communication
8-6
3. Click on the Next button and the Motor setup window will appear.
4. From the pulldown menu select the IDC motor you will be using and the Wizard will
calculate the rest. Select Other if you are using a non-IDC motor.
5. Click on the Next button and the Encoder setup window will appear.
6. If you will be connecting an encoder, select one of the Encoder Operation Modes.
Encoder modes are described in Chapter 5.
7. If you have made a selection other than Open Loop (no encoder), you may wish to edit
the Encoder Resolution and Following Error parameters at this time.
Chapter 8 - Programming With Serial Communication
8-7
8. Click
Next
and you will be in the Mechanics setup window. Mechanical System setup
is particulary easy if you are using IDC systems.
Select the IDC Mechanical System and Part # you intend to control and the Wizard will
calculate the rest. Select Other if you are using a system not otherwise specied.
9. Clicking on the
Next
button will bring up the
Units
setup window. The SmartStep lets
you program the control in the units that work best for your application.
10. Select your preferences from the pulldown menus and click on
Next
.
Thomson
Actuator
TN
TC2
TC3
TC4
TC5
Select IDC
equivalent
N2
EC2
EC3
EC4
EC5
Chapter 8 - Programming With Serial Communication
8-8
11. When all parameters have been congured, the following window will appear. This
display gives you the opportunity to review the settings you have made and return
(using the Back button) to any parameter you may wish to change at this time.
12. When you are satised with the setup of your system, click on
Finish
. Note that the
Wizard Navigator now indicates that all axes and parameters have been congured.
After Using the Setup Wizard - More Configuration Parameters
Your basic system setup parameters have been congured by the Setup Wizard, and though
the system is functional, your application will probably require further conguration and
ne-tuning.
The remainder of this chapter provides the same setup information as congured by the
Setup Wizard plus more detailed information on each parameter to allow more control of
your system and greater capacity for applications.
The Setup Wizard remains available at any time by clicking on the
Wizard
button. The
Axis
Setup
,
I/O Setup
, and
Misc
toolbar buttons provide access to the setup parameters that will
be explained throughout the remainder of this chapter.
Setup Tool Bar Buttons
To access the setup windows and menus, simply
click on the desired toolbar buttons as shown here:
A
x
is
S
e
tu
p I/O
S
e
tu
p
M
is
c
W
iz
a
rd
Chapter 8 - Programming With Serial Communication
8-9
Axis Setup
Click on the Axis Setup button.
The rst menu to appear will be the Motor menu, as
shown below:
Note
: please refer to Chapter 5 for detailed descriptions of setup parameters.
Axis 1
Axis 1 is automatically selected (SmartStep is a single-axis drive). Congure each
parameter as it applies to your application (Motor, Encoder, Mechanics, Jog, Limits).
Motor Menu
(shown above)
Settings for Drive Type, Resolution, Stop Decel Rate, and motor Directions are selected in
the
Motor
menu. Motor
Type
automatically defaults to Stepper (no options).
Axis Setup
Chapter 8 - Programming With Serial Communication
8-10
Encoder Menu
If you are not using an encoder, only the Encoder Mode must be congured.
Ensure that
OPEN LOOP is selected if you are not using an encoder,
and skip to
the Mechanics
menu.
Mechanics Menu
The Mechanics menu allows you to program distance, velocity, and acceleration units
convenient for your application. This menu also allows you to set a maximum allowable
speed and acceleration for each axis.
Chapter 8 - Programming With Serial Communication
8-11
Jog Menu
The parameters which control your jog operation are congured using the Jog menu shown
below.
Limits Menu
Your SmartStep has a built-in homing function which combines the exibility of a
customized homing routine with the ease of use of calling a canned program. Also see
the GH command in the IDeal Command Reference chapter for more details on homing.
Chapter 8 - Programming With Serial Communication
8-12
I/O Setup
Click on the I/O Setup button.
To dene a dedicated function for each discrete
input and output, scroll through the pulldown lists
and select from the available choices.
I/O Setup
Chapter 8 - Programming With Serial Communication
8-13
Miscellaneous (Misc) Setup
Click on the Misc (Miscellaneous) button.
Misc Setup contains two conguration categories that
include options available in the PROGRAM SETUP and RS-
232C SETUP menus detailed in Chapter 5.
Diagnostic Display Format
Diagnostic Display Format allows you to customize the data display on the IDC FP220
Keypad. This parameter does not apply if you do not have the keypad.
Program
a. Sets the SmartStep address (Set Unit Number To).
b. Sets the program to run on power-up (Powerup Program). No program will run if
set to 0.
c. Sets the debounce (Scanning Time) of the program select inputs in milliseconds.
Stop Scanning Program Select Lines After
...
Allows you to select the conditions under which program scanning stops.
Misc
Chapter 8 - Programming With Serial Communication
8-14
File Menu
Applications (programs and conguration les) may be stored on disk as DOS les. The
default sufx is *.idc. The other selections under File are generic to all Windows
applications.
Chapter 8 - Programming With Serial Communication
8-15
Program Editor
The
Program Editor
features standard windows editing features. Cut, Copy, Paste, Undo,
Delete, and Select All are available by pressing the right mouse button. An online HELP
le may be reached by clicking on the Command Help button shown below.
The drop down menu box (A) in the upper left hand corner shows the number and name of
the currently active program, plus a list of up to 399 more programs. When the entire le is
downloaded to the SmartStep, these program numbers correspond to the program numbers
the controller uses for binary and BCD program selections.
Program comments are placed between brackets {comments}. These comments are not
downloaded to the SmartStep Total program length, not including comments, is limited to
1k. Total program length with comments is 8k.
A
Chapter 8 - Programming With Serial Communication
8-16
View Configuration
Click on the View Conguration button at any time to see your system conguration status.
All conguration parameters are listed and may be viewed by scrolling the list.
Communications
All Communications functions may be accessed
from the main menu bar. Send All, Receive All
and IDC Terminal are selectable on the Toolbar
as shown here:
Send All
Use
Send All
to download the application you have developed. In addition to motion
programs, your application le will include the setup commands derived from the choices
you made in the Setup dialog boxes.
Send All
completely congures the SmartStep control,
and will overwrite any existing programs or congurations in the control. The feature
allows easy conguration of repeat machines. Program comments will be stripped off
before being sent to the SmartStep. IDC recommends saving the commented version of
your application before downloading.
Retrieve All
Use
Retrieve All
to upload the entire contents of a SmartStep control to a new le that can
then be edited, downloaded to another SmartStep, or saved to a PC le for documentation
purposes. This le contains the complete contents of the SmartStep including all the
programs dened, I/O denition, and mechanical scaling parameters.
Please note that this version of your application does not contain any comments, as they are
stripped off during download to conserve memory in the SmartStep.
Send
All Receive
All
IDC
Terminal
Chapter 8 - Programming With Serial Communication
8-17
Change Unit Number
Change Unit Number
is used to set the device address of the control that
Send/Receive
Program
uploads and downloads to on a single RS-232C daisy chain. Each unit must have
its own unique software address. The Unit number of each control should be set
BEFORE
the units are connected in a daisy chain (the default address is one).
Send Program
only
sends information to the unit selected here. A new unit number must be set to download to
the next unit on the daisy chain. See
RS-232C Protocol
, earlier in this chapter, for hardware
information on daisy-chain wiring.
Setup Comm Port
Comm Port
is used to select a Comm Port when your PC has multiple serial ports. This
dialog box also has a comm port test utility to verify proper RS-232C operation.
IDC Terminal
Terminal
is a standard terminal emulator used for on-line communication with a SmartStep
control. It is very useful for troubleshooting interactive host/control communications.
Run Menu
Run > Program
is used to run a specic program from
Application Developer
. Programs
can also be initiated via dedicated program select inputs, through the keypad, or via any
terminal using the RN command.
Run is only accessible from the main menu bar.
Chapter 8 - Programming With Serial Communication
8-18
This page intentionally left blank.
Chapter 8 - Programming With Serial Communication
8-19
Section 3: RS-232C Protocol
IDCs SmartStep series controls use a 3-wire implementation of RS-232C. The RX, TX,
and COM lines are the serial signals supported. No hardware handshaking is required. Note
that some RS-232C devices require handshaking, such as RTS and CTS. It is the
responsibility of the user to disable this handshaking via software or hardware.
Making RS-232C Connections to the SmartStep
Make your RS-232C connection as shown below. The SmartStep-to-PC Cable (IDC P/N
PCS-4991) shown below, is an ideal choice for making trouble-free connections.
Troubleshooting Serial Communication Problems
If communications between computer and SmartStep are unsuccessful, one or more of the
following procedures will usually solve the problem:
1. Test your terminal or terminal emulation software. Unhook the drive and transmit a
character. An echoed character should not be received. If an echoed character is
received, you are in half duplex mode. Jumper your hosts TX and RX connections, and
transmit another character. If you do not receive the echoed character, consult the
manufacturer of the hosts serial interface for proper pin-outs.
2. Host transmit (TX) must be connected to receive (RX) of the drive unit, and receive
(RX) of the host must be connected to transmit (TX) of the drive. If communication
fails, try switching connections on either the host or the drive.
3. Many serial ports require handshaking. Jumper
RTS to CTS, and DSR to DTR (see table).
4. Congure the host to the identical baud rate,
number of data bits, number of stop bits, and
parity.
5. Receiving double characters (XX) when entering single characters (X), indicates your
computer is set to the half duplex mode. Change to the full duplex mode.
6. Check your grounds. Use DC common or signal ground as your reference. Do not use
earth ground or shield.
7. Check your cable length. If any cable is over 50 ft. long, you should be using a line
driver, optical coupler, or shield. Shields must be connected to earth ground at one end
only.
Computer Connectors
25-pin
Connector
Pin #
9-pin
Connector
Pin #
2 (TX)
3 (RX)
7 (GND)
3 (TX)
2 (RX)
5 (GND)
SmartStep
5V
RX
TX
COM
Shld
RS-232C
or
Keypad
Comm Port Settings
Baud Rate 9600 Parity None
Stop Bits 1 XON/XOFF Yes
Data Bits 8
SmartStep-to-
PC Cable
P/N PCS-4991
Jumpers 9 pin D 25 pin D
RTS to CTS 7 to 8 4 to 5
DSR to DTR 4 to 6 6 to 20
Chapter 8 - Programming With Serial Communication
8-20
Daisy Chaining SmartSteps
Your SmartStep also supports daisy chaining. The unit address (range 1-99) can be set via
the keypad, through Application Developer, or with a terminal program using the Unit
Number (UN) command, or the entire chain may be addressed at once using the Auto-
Address (AA) command.
Rules for Daisy Chain Operation
1. Units on a daisy chain must be device addressed (numbered) in ascending order away
from the host device/controller in order for the Load All (LA - EX) commands to work
properly. The unit addresses are not required to be numerically sequential, but must be
in ascending order.
Example: 1, 2, 4, 6, 8 is valid addressing. 6, 3, 10, 8, 2 is not valid.
2. Do not duplicate unit numbers or addresses.
3. RS-232C Echo should be enabled for each unit on the daisy chain. Disabling RS-232C
Echo will prevent the daisy chain from functioning properly.
4. Any loose RS-232C connections or miswiring along the daisy chain will cause
communication to fail. Please double check wiring if communication problems arise.
5. Device Addressing RS-232C commands (using the specic unit number in front of
the command) is necessary if the user wants only one specic unit to perform an
operation.
6. Status commands require addressing.
Please call IDC if you need to daisy chain more than 99 drives.
The hardware diagram below shows how to connect the daisy chain.
RX TX COM
RX TX COM RX TX COM
RX
TX
COM
. .
SmartStep
SmartStep SmartStep
Unit 1
Unit 2 Unit 3
PC/Host
RS-232C
Device
Chapter 8 - Programming With Serial Communication
8-21
RS-485 Protocol
SmartStep Multi-Dropping
RX-
RX+
TX-
TX+
Com
120 ohm
120 ohm
Important Modification for RS-485 Users
If you are "multi-dropping" SmartSteps, add ter-
mination resistors (120 ohms each) across RX
and TX connections of the last unit as shown to
the right.
Note: On early RS485 SmartSteps, Com may
have been labeled as Shld. Functionally, they
are identical.
Chapter 8 - Programming With Serial Communication
8-22
This page intentionally left blank.
Chapter 8 - Programming With Serial Communication
8-23
Section 4: RS-232C IDeal
Command Reference
Overview
Though we strongly recommend taking advantage of the capabilities and convenience of
Application Developer, you can congure, program, and run a SmartStep from any RS-
232C terminal or computer. If you do not intend to use the Windows software tools we
provide, you will need to use the IDeal
TM
RS-232C command listings that follow.
Hosted or interactive motion control from a PLC or PC is also a common mode of
operation. You can write your control programs in your language of choice (BASIC, C,
ladder, etc.).
RS-232C SmartStep operation is divided into four categories of commands. The rst
category is Serial Setup Commands. These are the commands that IDCs Application
Developer program uses to congure the SmartStep according to the choices made in the
SETUP dialog boxes. These Serial Setup Commands include the syntax of the command,
but the full command denitions and examples are found in Chapter 5 - Conguring Your
System.
The second category is Serial Programming
Commands. These are commands that can be
executed over RS-232C or downloaded to the SmartSteps non-volatile memory for later
execution. This category of commands is identical in syntax and functionality to the
equivalent keypad command. These run-time RS-232C commands are listed in the RS-
232C Command Reference, but the full denition and examples are listed in Chapter 6 -
Programming Commands.
The third category of Serial commands is Serial Immediate Status Commands. These
commands bypass the normal command buffer and are executed immediately, regardless of
what else the SmartStep has been asked to do. These commands include instantaneous
position reporting, drive status, and emergency kill and stop commands.
The nal category is Serial Supervisory Commands. These are the actual uploading and
downloading of the setup and program parameters. Once an application with setup
parameters and command has been created, these commands are used to download and
upload the le to and from the SmartStep.
Chapter 8 - Programming With Serial Communication
8-24
Sample *.idc File
To familiarize yourself with IDeal RS-232C programming commands, review the
following example of a typical le created in Application Developer for download to a
SmartStep. You will need to generate a similar le to congure your SmartStep. Individual
programs can be downloaded in such a conguration le, or downloaded separately at run-
time. the SmartStep can also execute run-time commands in an "immediate" mode outside
of any program. See the Command Syntax section of this chapter for more details.
The conguration
(setup) le is viewed
by clicking on the View
Conguration button.
This sample file is continue on the next page.
Chapter 8 - Programming With Serial Communication
8-25
Sample conguration le continued:
Chapter 8 - Programming With Serial Communication
8-26
Command Syntax
All IDeal
2
AR
unloaded
is also required to calculate your exact Anti-Resonance value (AR).
AR = AR
unloaded
-K (see Conguring Anti-Resonance in Chapter 5, Conguring Your
System)
Note: AR
unloaded
will be different for series and parallel motors, because the speed-torque
curve is a component of Vb and Tm.
Chapter 10 - SmartStep Troubleshooting
10
-
1
Chapter 10 - SmartStep Troubleshooting
Symptom Possible Causes Possible Remedies
Motor moves the wrong
distance
Wrong Gear Ratio. Check distance units
Motor stalled. Check motor current, induc-
tance, anti-resonance settings
Check Speed Torque require-
ments of move, lower accelera-
tion.
Motor stalls Acceleration and/or velocity
are too high.
Reduce acceleration and/or
velocity.
Motor configured incorrectly. Check motor current, induc-
tance, anti-resonance settings.
Motor moves the wrong
direction
The motor phases are mis-
wired.
Check per manual, or swap A+
with A-.
The systems direction is intu-
itively opposite to yours.
Change the controls direction
parameter.
The controller does not
respond to keypad input.
The keypad has been dis-
abled.
Check the dip switch settings
on the back of the keypad.
The keypad is blank, but
the backlight is on.
You have an older keypad that
requires new firmware. The
SmartStep requires a keypad
with Version 2.10 firmware or
higher.
Call IDC for a free firmware up-
grade to your keypad.
The DF parameter is set to
DF0,0,0,0
See page 5-38 or 8-27.
The keypad is blank and
the backlight is off.
The keypad is not receiving a
good +5VDC signal.
Check wiring, verify that the
+5VDC is between 4.8 and
5.2V.
It is difficult to read the
display
The Contrast needs adjust-
ment
Adjust the contrast with the pot
on the back of the keypad.
The motor seems to
whine
The Inductance or anti-reso-
nance setting likely requires
adjustment.
Change/Confirm the Induc-
tance setting. The SmartStep
operates best with motors 4
mH or above. If this does not
help try the anti-resonance set-
ting.
Chapter 10 - SmartStep Troubleshooting
10-2
The SmartStep ON LED
is yellow.
FLASH fault. FLASH has been
corrupted.
The operating system and user
programs must be reloaded
with application developer.
The SmartStep ON LED
is red.
A Fault has occurred. The specific fault can be diag-
nosed by plugging in a keypad
or using serial status com-
mands (SS, SA, SD).
Cant Communicate over
RS232, but keypad
works.
If the keypad works the Smart-
Step RS232 port is working.
Something else is configured
wrong (wiring, configuration,
address).
Refer to Chapter 5, RS232
Troubleshooting for in depth
help.
Cant Communicate over
RS232, and keypad does
NOT work.
The keypad is disabled. Check the label to make sure
you dont really have an RS485
version. Either connect to
RS485 or call IDC (or your dis-
tributor) to exchange units.
Enable keypad through dip
switch on back of keypad and
try again.
The serial port is not working. Call IDC (or your distributor) for
application assistance.
Hit A Limit An EOT+/- switch has been
activated.
Either the motion commanded
was not correct, or the EOT
switch is incorrectly positioned
on your system.
Amplifier Fault Multiple drive faults have
occurred.
Check the cause of the faults
RS-232 SS, SA, and SD com-
mands.
Symptom Possible Causes Possible Remedies
Chapter 10 - SmartStep Troubleshooting
10
-
3
Over Temperature Fault Internal Fan or Heatsink Tun-
nel is clogged or restricted.
Remove obstruction, or clean
tunnel by removing unit, use
screwdriver to prevent the fan
from turning, and blow shop air
through the tunnel. Return unit
to installation.
Ambient air in cabinet is too
hot.
The SmartStep can produce
significant heat. If multiple units
are installed next to each other,
the cabinet must be adequately
ventilated to remove heat.
The fan is not turning. With power off confirm the in-
ternal fan connection. If con-
nected the fan bearings have
probably worn. Contact IDC to
obtain a replacement fan.
Over Current Fault The motor is mis-wired or inter-
nally shorted. The SmartStep
is protected against such
shorts, but you will need to cor-
rect the problem to clear the
fault.
With power off recheck con-
nections. Check SmartStep
current setting to make sure
you did not accidentally dam-
age a winding by using more
current than the motor is rated
for. Check to see the motor
phases are not shorted to one
another or to the case of the
motor. The resistance in each
phase should be about the
same and only a few ohms. If
the phases are open or have
large resistances the motor is
probably damaged and should
be replaced.
Over Voltage Fault Too high a bus voltage is
present. This is usually caused
by a regeneration event that
overwhelms our internal power
dump circuit. It can also be
caused by high line voltage, or
voltage spikes.
Eliminate the regen event by
reducing the load or make the
move less aggressively by re-
ducing the commanded accel-
eration or velocity. Check your
AC line voltage to verify it is
within the SmartStepss limits.
Interlock Fault Motor connector does not con-
tain an interlock wire connec-
tion, or motor has been
disconnected.
Connect motor connector with
Interlock.
Symptom Possible Causes Possible Remedies
Chapter 10 - SmartStep Troubleshooting
10-4
Following Error Motor stalled. Confirm proper motor configu-
ration (current, AR, mH). Make
a less aggressive move.
Wrong encoder resolution set. Setting the encoder resolution
incorrectly will cause a follow-
ing error to occur. Confirm the
settings are correct.
Encoder Wired Back-
wards
Encoder position is moving op-
posite of commanded position.
Check motor and encoder wir-
ing. Reverse phases of either
motor or encoder. Consult IDC
if unsure.
Encoder Fault Attempted motion in a closed
loop mode, and encoder posi-
tion remained unchanged.
Check encoder wiring, and if
the encoder is connected and
powered properly.
Error Finding Home Both EOT switches were acti-
vated without finding a home
switch.
Check if home switch is con-
nected and that the home
switch is properly configured
as NORM OPEN or NORM-
CLOSED.
Invalid Program Attempted to access an empty
program (i.e. GT, GS).
Verify program number, or de-
fine program called.
Program Too Large Program exceeds 1024 bytes
in length.
Split program into smaller pro-
grams or reduce program size.
Insufficient Memory All stored user programs ex-
ceed 60K.
Reduce program size, or de-
lete programs.
Invalid Program # Program number value ex-
ceeds 400, or program name
does not exist.
Verify program name and num-
ber.
Unknown Command A command not in the IDeal
programming set has been is-
sued.
Check program for data entry
errors.
Command Is Too Long Command and parameter
string exceeds 80 characters.
Reduce command string size.
Too Many Parameters Parameter list exceeds
amount supported by com-
mand.
Reduce parameter list size.
Invalid Parameter Parameter type is invalid with
command.
Verify parameter with com-
mand syntax.
Symptom Possible Causes Possible Remedies
Chapter 10 - SmartStep Troubleshooting
10
-
5
Bad Command Syntax Command and parameter list
has invalid syntax.
Check program for data entry
errors.
Too Many Nested LPs Program exceeds 16 nested
loops.
Reduce nested loops.
Too Many Nested GSs Program exceeds 16 nested
gosubs.
Reduce nested gosubs.
Too Many Nested EBs Program exceeds 16 nested IF
blocks.
Reduce number of nested IF
blocks.
Bad Variable Name A variable used as a command
parameter is undefined or mis-
spelled.
Verify variable name, or define
variable with an initial value.
No Free Variables Attempted to define more than
100 user variables.
Reduce number of user vari-
ables.
B8961/2 Command
Only
Command is available on ser-
vo SmartDrives only.
Delete the command or pur-
chase a B8961/2.
Symptom Possible Causes Possible Remedies
Product Support & Warranty
11-1
Product Support
Factory Authorized Distributors
IDC has factory-trained and authorized automation technology distributors located
throughout North America, Western Europe, and the Pacic Rim. Each has been selected
for their technical expertise, their local market knowledge, and exemplary business
practices. They are ready to assist you in applying IDCs systems, as well as other
complementary equipment. Contact us at (800) 227-1066 or (603) 893-0588 (from outside
the U.S.) for the name of the distributor in your area.
Regional Offices
IDC Distributors are supported by local, direct Danaher Motion Field Sales Engineers
(FSEs). Danaher Motion FSEs are available to assist with unusually demanding
applications, present on site customer seminars, determine custom product needs, or
respond to high volume requirements.
Toll Free Technical Support
IDC employs a full staff of Applications Engineers, whose full time responsibility is to help
you select the proper system, install it correctly, and get it up and operating to your
satisfaction. The toll free number is (800) 227-1066. Outside of the United States call (603)
893-0588. Email should be directed to: [email protected].
CAD Library
Actuator, motor, and gear-motor CAD drawings (in .dxf format) are available to save you
valuable design time and prevent transcription errors. Low volume requests are
complimentary. Check the web site for CAD drawings that may be downloaded.
Web Site
Check us out at
www.idcmotion.com
for information on our products and support.
Product Support & Warranty
11-2
Warranty & Repairs
IDC warrants this product to be free of defects in material and workmanship for a period of
two (2) years from the date of shipment to the end user. Products that have been improperly
used or damaged, in the opinion of IDC, are not subject to the terms of this warranty.
IDC maintains a repair facility at its factory in Rohnert Park, California for products
manufactured by IDC. Prior approval by IDC is required before returning any product for
any reason. All returned packages must be accompanied by an RMA# (Return Material
Authorization number).
To obtain return authorization, contact your local IDC distributor or IDC. Please note the
following procedure:
1. Obtain the model and serial number of the defective unit.
2. Prepare a purchase order for possible repair cost, in the event that the unit is not
warranted.
3. Contact your IDC distributor or IDC (1-800-277-1066) for an RMA#.
4. Provide information describing the nature of the failure. The better the information, the
faster well have your problem resolved.
5. Ship unit prepaid to the address below (be sure to include your RMA # on the shipping
label):
Attn: Repair Department
RMA# _ __ _ _
Dahaner Motion
7C Raymond Avenue
Salem, NH 03079
Appendix A - IDC Actuator Ratios
A-1
Appendix A - IDC Electric Actuator Ratios
Configuring
inch
&
mm
Units on SmartSteps Used With IDC Actuators
One of the rst steps in setting up an IDC SmartStep with an IDC linear actuator is to
congure the distance, velocity, and acceleration to use meaningful units, probably
inches
or
millimeters
. This is done via the RATIO (GR) command. The RATIO is the number of
motor revs
per
distance unit
. The Distance Unit used is selected via the SETUP > MECH
menu from the keypad or Application Developer.
Example: GR5:1 means 5 motors revs per 1 distance unit. Several other examples are
available in the
Conguring Your System
chapter of this manual.
The RATIO is also used to scale the velocity and acceleration numbers when
user units/sec
or
units/sec
2
have been selected from the velocity or acceleration menus.
Until now, since each actuator has its own revs per inch ratio, data from the model
number had to be interpreted and then a ratio calculated. The following pages reduce that
procedure to looking up the
inch
or
mm
ratio from a table sorted by actuator model number.
Instructions are also included to calculate a ratio for other distance units. Increased
positional accuracy is often achieved when using these values, because some ratios arent
exact (3.5:1 is really 50:14, or 3.571428).
Shown below are the three different ways to change the RATIO in an SmartStep. Please
note that some ratios cannot be entered via the keypad or Application Developer. The
keypad and Application Developer screens only support up to 5 digits in each RATIO
number. Via RS-232C, up to 8 digits can be entered for each number. The rounding error
caused by only being able to enter 5 digits is very minimal for most actuators and stroke
lengths, and is often much less than the positional uncertainty caused by mechanical
backlash and windup.
Methods For Configuring Ratio
There are three methods for entering the ratio information. The keypad is the quickest
method, if your system includes that option.
1. SmartStep Keypad [EDIT-SETUP-MECH-RATIO Menu]
2. Application Developer software [
Setup, Axis
Menu]
3. Direct RS-232C connection [GR Command]
Using the Keypad to Enter Ratio Information
Press: Keypad Display
Default: 1 to 1
These two integer values set the number of
motor revs
per
distance unit
(i.e. inch, mm,
cm, etc.)
> SETUP > MECH > RATIO
EDIT
- - - Axis One Ratio - - -
1 to 1
Appendix A - IDC Actuator Ratios
A-2
Application Developer
RS-232C Terminal
Note: Your entire application (setup parameters and pro-
grams) must be downloaded to the SmartStep before the new
RATIO scaling will be used. You cannot download only a new
RATIO from Application Developer.
1DU2
1GR10:1
Example:
1DU2 {distance unit =inches}
1GR10:1 {gear ratio = 10:1}
Gear Ratio Notes:
You can change DIST or RATIO at any time. Changing them will not change the associated
DI or DA values in a program, so all moves will change by the same factor that RATIO was
changed.
If using an IDC supplied actuator, the proper Gear Ratios for entering units of Inches and
mm can be found in the following actuator ration tables.
Appendix A - IDC Actuator Ratios
A-3
IDC Actuator Ratios
N2, EC2, EC3, EC4, EC5 Series
N2
Series
Motor Screw Overall Ratio
Smart Drive
Mechanical Ratio
Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
N2-10-2x 1 2 2 2 to 1 20 to 254
N2-15-2x 1.5 2 3 3 to 1 30 to 254
N2-20-2X 2 2 4 4 to 1 40 to 254
N2-10-5x 1 5 5 5 to 1 50 to 254
N2-15-5x 1.5 5 7.5 75 to 10 750 to 2540
N2-20-5x 2 5 10 10 to 1 100 to 254
N2-25-5x 2.5 5 12.5 125 to 10 1250 to 2540
N2-31-5x 3.125 5 15.625 250 to 16 2500 to 4064
N2-120-5x 12 5 60 60 to 1 600 to 254
N2-10-8x 1 8 8 8 to 1 80 to 254
N2-15-8x 1.5 8 12 12 to 1 120 to 254
N2-20-8x 2 8 16 16 to 1 160 to 254
N2-31-8x 3.125 8 25 25 to 1 250 to 254
N2-120-8x 12 8 96 96 to 1 960 to 254
EC2
Series
Motor Screw Overall Ratio
Smart Drive
Mechanical Ratio
Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
EC2-10-16B 1 1.5875 1.59 254 to 160 1 to 16
EC2-15-16B 1.471 1.5875 2.33 6350 to 2720 25 to 272
EC2-20-16B 2 1.5875 3.18 508 to 160 2 to 16
EC2-50-16B 5.022 1.5875 7.97 242341 to 30400 9541 to 30400
EC2-100-16B 10.005 1.5875 15.88 183487 to 11552 72239 to 115520
EC2-10-05B 1 5.08 5.08 254 to 50 1 to 5
EC2-15-05B 1.471 5.08 7.47 6350 to 850 25 to 85
EC2-20-05B 2 5.08 10.16 508 to 50 2 to 5
EC2-50-05B 5.022 5.08 25.51 242341 to 9500 9541 to 9500
EC2-100-05B 10.005 5.08 50.83 183487 to 3610 72239 to 36100
EC2-10-04A 1 6.35 6.35 254 to 40 1 to 4
EC2-15-04A 1.471 6.35 9.34 6350 to 680 25 to 68
EC2-20-04A 2 6.35 12.70 508 to 40 2 to 4
EC2-50-04A 5.022 6.35 31.89 242341 to 7600 9541 to 7600
EC2-100-04A 10.005 6.35 63.53 183487 to 2888 72239 to 28880
Appendix A - IDC Actuator Ratios
A-4
EC3
Series
Motor Screw Overall Ratio
Smart Drive
Mechanical Ratio
Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
EC3-10-16B 1.000 1.5875 1.59 254 to 160 1 to 16
EC3-15-16B 1.500 1.5875 2.38 3810 to 1600 15 to 160
EC3-20-16B 2.063 1.5875 3.27 8382 to 2560 33 to 256
EC3-50-16B 5.038 1.5875 8.00 284988 to 35635 112200 to 356352
EC3-70-16B 7.000 1.5875 11.11 327736 to 29491 129030 to 294912
EC3-10-10B 1.000 2.54 2.54 254 to 100 1 to 10
EC3-15-10B 1.500 2.54 3.81 3810 to 1000 15 to 100
EC3-20-10B 2.063 2.54 5.24 8382 to 1600 33 to 160
EC3-50-10B 5.038 2.54 12.80 284988 to 22272 112200 to 222720
EC3-70-10B 7.000 2.54 17.78 327736 to 18432 129030 to 184320
EC3-10-05B 1.000 5.08 5.08 254 to 50 1 to 5
EC3-15-05B 1.500 5.08 7.62 3810 to 500 15 to 50
EC3-20-05B 2.063 5.08 10.48 8382 to 800 33 to 80
EC3-50-05B 5.038 5.08 25.59 284988 to 11136 112200 to 111360
EC3-70-05B 7.000 5.08 35.56 327736 to 9216 129030 to 92160
EC3-10-04A 1.000 6.35 6.35 254 to 40 1 to 4
EC3-15-04A 1.500 6.35 9.53 3810 to 400 15 to 40
EC3-20-04A 2.063 6.35 13.10 8382 to 640 33 to 64
EC3-50-04A 5.038 6.35 31.99 284988 to 8909 112200 to 89088
EC3-70-04A 7.000 6.35 44.45 327736 to 7373 129030 to 73728
EC4/5
Series
Motor Screw Overall Ratio
Smart Drive
Mechanical Ratio
Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
EC5-10-32B 1.000 0.79375 0.79 254 to 320 1 to 32
EC5-15-32B 1.500 0.79375 1.19 3810 to 3200 15 to 320
EC5-20-32B 2.000 0.79375 1.59 508 to 320 2 to 32
EC5-50-32B 5.110 0.79375 4.06 107777 to 26570 42432 to 265696
EC5-100-32B 10.007 0.79375 7.94 174346 to 21949 68640 to 219488
EC4-10-25B 1.000 1.016 1.02 254 to 250 1 to 25
EC4-15-25B 1.500 1.016 1.52 3810 to 2500 15 to 250
EC4-20-25B 2.000 1.016 2.03 508 to 250 2 to 25
EC4-50-25B 5.110 1.016 5.19 107777 to 20757 42432 to 207575
EC4-100-25B 10.007 1.016 10.17 174346 to 17148 68640 to 171475
EC4/5-10-10B 1.000 2.54 2.54 254 to 100 1 to 10
EC4/5-15-10B 1.500 2.54 3.81 3810 to 1000 15 to 100
EC4/5-20-10B 2.000 2.54 5.08 508 to 100 2 to 10
EC4/5-50-10B 5.110 2.54 12.98 107777 to 8303 42432 to 83030
EC4/5-100-10B 10.007 2.54 25.42 174346 to 6859 68640 to 68590
Appendix A - IDC Actuator Ratios
A-5
R2A
Series
Motor Screw Overall Ratio
Smart Drive Mechanical Ratio Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
R2A-10T 1 0.33333 0.33333 1 to 3 10 to 762
R2A-15T 1.5 0.33333 0.5 1 to 2 10 to 508
R2A-20T 2 0.33333 0.66667 2 to 3 20 to 762
R2A-31T 3.125 0.33333 1.04167 50 to 48 500 to 12192
R2A-35T 3.571 0.33333 1.19048 50 to 42 500 to 10668
R2A-120T 12 0.33333 4 4 to 1 40 to 254
R2A-102 1 2 2 2 to 1 20 to 254
R2A-152 1.5 2 3 3 to 1 30 to 254
R2A-202 2 2 4 4 to 1 40 to 254
R2A-312 3.125 2 6.25 50 to 8 500 to 2032
R2A-352 3.571 2 7.14286 50 to 7 500 to 1778
R2A-1202 12 2 24 24 to 1 240 to 254
R2A-105 1 5 5 5 to 1 50 to 254
R2A-155 1.5 5 7.5 7.5 to 1 75 to 254
R2A-205 2 5 10 10 to 1 100 to 254
R2A-315 3.125 5 15.625 250 to 16 2500 to 4064
R2A-355 3.571 5 17.8571 250 to 14 2500 to 3556
R2A-1205 12 5 60 60 to 1 600 to 254
R2A-108 1 8 8 8 to 1 80 to 254
R2A-158 1.5 8 12 12 to 1 120 to 254
R2A-208 2 8 16 16 to 1 160 to 254
R2A-318 3.125 8 25 25 to 1 250 to 254
R2A-358 3.571 8 28.5714 200 to 7 2000 to 1778
R2A-1208 12 8 96 96 to 1 960 to 254
Appendix A - IDC Actuator Ratios
A-6
R3
Series
Motor Screw Overall Ratio
Smart Drive Mechanical Ratio Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
R3-10T 1 0.1666667 0.16667 1 to 6 10 to 1524
R3-15T 1.5 0.1666667 0.25 15 to 60 150 to 15240
R3-20T 2 0.1666667 0.33333 1 to 3 10 to 762
R3-30T 3.000 0.1666667 0.5 3 to 6 30 to 1524
R3-50T 5.037 0.1666667 0.83951 3536 to 4212 354 to 10699
R3-100T 10.000 0.1666667 1.66667 10 to 6 100 to 1524
R3-102 1 2 2 2 to 1 20 to 254
R3-152 1.5 2 3 3 to 1 30 to 254
R3-202 2 2 4 4 to 1 40 to 254
R3-502 5.037 2 10.07401 212160 to 21060 21216 to 53492
R3-1002 10.000 2 20 20 to 1 200 to 254
R3-105 1 5 5 5 to 1 50 to 254
R3-155 1.5 5 7.5 75 to 10 750 to 2540
R3-205 2 5 10 10 to 1 100 to 254
R3-505 5.037 5 25.18519 106080 to 4212 10608 to 10699
R3-1005 10.000 5 50 50 to 1 500 to 254
R3-108 1 8 8 8 to 1 80 to 254
R3-158 1.5 8 12 12 to 1 120 to 254
R3-208 2 8 16 16 to 1 160 to 254
R3-508 5.037 8 40.2963 212160 to 5265 21216 to 13373
R3-1008 10.000 8 80 80 to 1 800 to 254
R4
Series
Motor Screw Overall Ratio
Smart Drive Mechanical Ratio Setting
[EDIT]-[SETUP]-[MECH]-[RATIO] menu
Reduction Pitch (Mtr Turns/Inch) Ratio for Inches Ratio for mm
R4-10T 1 0.1333333 0.13333 8 to 60 8 to 1524
R4-15T 1.5 0.1333333 0.2 12 to 60 12 to 1524
R4-20T 2 0.1333333 0.26667 16 to 60 16 to 1524
R4-30T 3.000 0.1333333 0.4 24 to 60 24 to 1524
R4-50T 5.110 0.1333333 0.68139 28288 to 41515 2829 to 105448
R4-100T 10.007 0.1333333 1.33430 27456 to 20577 2746 to 52266
R4-101 1 1 1 1 to 1 10 to 254
R4-151 1.5 1 1.5 15 to 10 15 to 254
R4-201 2 1 2 2 to 1 20 to 254
R4-501 5.110 1 5.11044 42432 to 8303 4243 to 21090
R4-1001 10.007 1 10.00729 68640 to 6859 6864 to 17422
R4-104 1 4 4 4 to 1 40 to 254
R4-154 1.5 4 6 6 to 1 60 to 254
R4-204 2 4 8 8 to 1 80 to 254
R4-504 5.110 4 20.44177 169728 to 8303 16973 to 21090
R4-1004 10.007 4 40.02916 274560 to 6859 27456 to 17422
R4-106 1 6 6 6 to 1 60 to 254
R4-156 1.5 6 9 9 to 1 90 to 254
R4-206 2 6 12 12 to 1 120 to 254
R4-506 5.110 6 30.66265 254592 to 8303 25459 to 21090
R4-1006 10.007 6 60.04374 411840 to 6859 41184 to 17422
Appendix A - IDC Actuator Ratios
A-7
Steps for Entering Custom Distance Units
(when ratio for
inches
is known)
Instruction Example
1.
Select User Units
Select a preferred unit-of-measure for linear distance. This will be used for
programming distance, and can be used for velocity and acceleration as
well.
centimeters
2.
Determine Overall Mechanical Ratio
Look up actuator mechanical inch ratio. Units must be motor turns/
inch.
6.25
motor turns/inch
3.
Convert Ratio to
Turns/User Unit
Convert turns/inch ratio by multiplying or dividing by the same factor you
would to convert inches to your preferred user unit.
6.25 + (2.54 c
m/in
)
= 2.4606
4.
Convert Decimal Ratio to
Ratio of Two Integers
A. Multiply by the power of ten required to move decimal point to the far
right. Note that a maximum of six digits can be entered into the Smart
Drive - it might be necessary to round of the number from step 3) above.
This is the numerator of the integer ratio.
B. The power of ten becomes the denominator.
2.4606 x 10
4
=
24606
10
4
= 10000
5.
Enter Ratio into Smart Drive
A. Press [EDIT], [SETUP], [MECH], [RATIO] to get to the Mechanical
Ratio menu. The numbers from step 4 can now be entered.
B. Press [Enter] after entering the ratio numerator, then [(] to move right
and enter the ratio denominator. Press [Enter] after entering the
denominator, then [ESC] to move back one menu.
24606 to 10000
(24606 revs = 10000 cm)
6.
Program Smart Drive
The Smart Drive is now ready to program in your own User Units.
Distances will match the units congured above.
DI10.0 GO
(moves 10.0 cm)
Index
I-1
Index
A
acceleration
maximum 5-21
units 5-20
accessories
input and output 9-9
amplifier fault 5-28
analog input 5-25, 7-10
anti-resonance 5-11
calculating anti-resonance 9-25
Application Developer software
axis setup 8-9
communications 8-16
file menu 8-14
I/O setup 8-12
installation 8-3
misc. setup 8-13
program editor 8-15
Run menu 8-17
Setup Wizard 8-4
view configuration 8-16
applications
typical SmartStep 5-1
arithmetic operands and equations 7-6
arrow keys 4-12
at home output 5-28
B
BCD inputs 7-9
BCD program select input 5-23
binary program select 5-23
Boolean operators 7-7
brake output 5-28
break (command) 6-2
breakout board (25-pin) 9-15
breakout board (PNP) 9-16
built-in variables 7-3
examples 7 -4
C
clear command buffer input 5-23
commands
programming 6-1
configuring software
acceleration maximum 5-21
acceleration units 5-20
anti-resonance 5-11
display format 5-40
drive resolution 5-14
echo enable 5-39
enable line polarity 5-41
encoder mode 5-15
encoder resolution 5-16
end of travel switch polarity 5-31
fault line polarity 5-41
gear ratio 5-19
home offset 5-35
home switch 5-34
homing mode 5-36
idle mode 5-14
inputs 5-22
jog acceleration 5-32
jog enable 5-33
jog high velocity 5-32
jog low velocity 5-32
maximum velocity 5-20
mechanical parameters 5-18
motor direction 5-14
motor inductance 5-12
motor type 5-9
offsets 5-13
OPTO modules 5-30
output definition 5-27
output states on fault 5-30
output states on power up 5-30
output states on power-up 5-30
output states on Stop Kill 5-31
passwords 5-42
position maintenance gain 5-17
position maintenance in-range deadband 5-17
position maintenance max. velocity 5-17
power up program 5-37
rest mode 5-13
scan conditions 5-37
scan delay 5-38
serial communications 5-38, 5-39
stop decel rate 5-41
unit number 5-39
velocity units 5-20
waveform 5-12
connecting hardware 9-6
AC power connection 5-7
connecting the keypad 5-5
encoder wiring 5-4
motor wiring 5-3
connection to SmartStep 8-19
COPY (keypad) 4-17
D
daisy chaining SmartDrives 8-20
data valid input 5-26
deceleration (command) 6-6
decrementing variables 7-7
DELETE (keypad) 4-19
DI 6-6
direction output 5-28
Index
I-2
display format 5-40
distance absolute (command) 6-3
distance to a change (command) 6-4
distance units 5-18
drive signals 9-5
E
echo enable 5-39
editing an existing program 4-11
enable/disable amplifier (command) 6-6
encoder
following error 5-16
resolution 5-16
encoder color code 5-4
encoder input schematic 9-8
encoder interface 9-5
encoder mode 5-15
end of block (command) 6-7
end of routine (command) 6-7
end of travel switch polarity 5-31
entering a new program 4-10
entering characters with ALPHA key 4-12
entering commands with number keys 4-10
environmental requirements - specs. 9-5
equations 7-6
expressions (conditional) 7-7
extend jog input 5-23
F
factory authorized distributors 11-11
fault line polarity 5-41
fault output 5-28
FLASH system variables 7-5
following error 5-16
following error limit 5-16
function key (command) 6-8
G
gear ratio 5-19
go (start a move - command) 6-13
go home (command) 6-10
go immediate (command) 6-11
go to program (command) 6-14
gosub (command) 6-14
grounding your machine 5-2
H
hardware
9-1
limit switches 9-8
OPTO rack connections 9-11
screw terminal breakout board 9-15
SmartStep Connections 9-6
SmartStep schematics 9-7
HELP (keypad) 4-16
home parameters
5-34
home edge 5-34
home final direction 5-35
home offset 5-35
home switch 5-34
homing mode 5-36
I
I/O setup 5-22
IDC web site 11-11
IDeal Commands
Acceleration - AC 6-2
Break - BR 6-2
Deceleration - DE 6-6
Distance Absolute - DA 6-3, 6-23
Distance Incremental - DI 6-6
Distance to a Change - DC 6-4
Enable Disable Amplifier - EA 6-6
End of Block - EB 6-7
End of Routine - EN 6-7
Function Key - FK 6-8
Go (start a move) - GO 6-13
Go Home - GH 6-10
Go Immediate - GI 6-11
Go to a Program - GT 6-14
Gosub - GS 6-14
If - IF 6-15
Input Variable - IV 6-16
Loop - LP 6-17
Loop Until - LU 6-18
Loop While condtion true - LW 6-19
Message to Display - MS 6-22
Move Continuous - MC 6-20
Output - OT 6-24
Quote - " " 6-24
Registration - RG 6-25
Set Position - SP 6-26
Square Root - SQ 6-26
Stop on Input - ST 6-27
Time Delay - TD 6-27
Velocity - VE 6-28
Wait - WT 6-29
idle mode 5-13, 5-14
if (command) 6-15
incrementing variables 7-7
inductance 5-12
input and output cables
wiring color codes 9-14
input characters
analog 5-25
BCD program select 5-23
binary program select 5-23
Index
I-3
clear command buffer 5-23
data valid 5-26
extend jog 5-23
interrupt (run 98) 5-23
jog speed 5-24
kill motion 5-24
lock keypad 5-23
motor shutdown 5-25
pause/continue 5-25
registration 5-23
retract jog 5-25
stop 5-25
unassigned 5-25
warm boot 5-26
input power requirements - specs. 9-5
input schematic
discrete 9-7
input variable (command) 6-16
input/output accessories 5-6
interrupt (run 98) input 5-23
J
jog parameters 5-32
jog acceleration 5-32
jog enable 5-33
jog high velocity 5-32
jog low velocity 5-32
jog speed input 5-24
JOG sub-menus 4-5
jogging the motor 4-5
K
keypad
features 4-1
remote mounting 9-3
keypad (using the IDC Keypad)
adjusting display contrast 4-2
COPY menu 4-17
DEL menu (DELETE) 4-19
EDIT menus 4-9
functions of keys 4-3
HELP menu 4-16
menu structure 4-4
password access 4-2
remote mounting 4-2
RUN menu 4-5
keypad (using the IDC Keypad)
setting DIP switches 4-2
kill motion input 5-24
L
legal variable names 7-3
limit error output 5-28
limit switches
connecting 9-8
types of switches 9-8
limits connections 5-3
line polarity, enable 5-41
lock (disable) keypad 5-23
loop (command) 6-17
loop until (command) 6-18
loop while (command) 6-19
M
mechanics 5-18
menu (operator) accessibility 5-42
message to display (command) 6-22
miscellaneous setup parameters 5-40
motor current 5-9
motor direction 5-14
motor shutdown input 5-25
motor specifications (IDC motors) 9-179-23
motor type 5-9
motor wiring 5-3
motors
using non-IDC motors 9-24
mounting the SmartStep 9-1
move complete output 5-28
move continuous (command0 6-20
multidropping SmartSteps 8-21
N
naming a program 4-11
non-volatile system variables 7-5
O
offset potentiometers 5-13
offsets
fine-tuning 5-13
on (command) 6-23
operands 7-6
OPTO modules
connecting modules 9-11
OPTO racks (I/O accessories) 9-10
types and part numbers 9-14
types of modules 9-13
wiring examples 9-11, 9-13
output (command) 6-24
output characters
amplifier fault 5-28
at home 5-28
brake 5-28
direction of motion 5-28
fault 5-28
limit error 5-28
move complete 5-28
programmable 5-29
stall 5-29
Index
I-4
output power available - specs. 9-5
output states of fault 5-30
output states on power up 5-30
output states on stop/kill 5-31
P
passwords 5-42
pause/continue 5-25
position maintenance gain 5-17
position maintenance in-range deadband 5-17
position maintenance max. velocity 5-17
power connection (AC) 5-7
product support 11-11
PROG sub-menus 4-5
program
creating a new program on the keypad 4-9
editing an existing program 4-11
naming a program 4-11
program setup parameters
5-37
power-up program 5-37
scan conditions 5-37
scan delay 5-38
programmable output 5-29
programming 7-1
Boolean operators 7-7
built-in variables 7-3
conditional expressions 7-7
examples
create a message and input a variable 7-8
create an operator menu 7-8
fast in, slow feed move 7-8, 7-9
input a 4-digit BCD number reading 2 digits-
at-a-time 7-9
turning on an output on-the-fly 7-9
FLASH variables 7-5
incrementing and decrementing variables 7-7
legal variable names 7-3
logical operations on expressions 7-7
non-volatile variables 7-5
operands and equations 7-6
reading an analog input 7-10
variables 7-2
programming commands
IDeal Commands 6-2
Q
quick starting the SmartStep 3-1
quote (command) 6-24
R
regional offices 11-11
registration (command) 6-25
registration input 5-23
resolution 5-14
rest mode 5-13
retract jog 5-25
returning the SmartDrive for repair 11-12
RS-232C communication
connecting to SmartStep 8-19
RS-232C programming 8-1
S
saving a program 4-11
scan conditions 5-37
scan delay 5-38
schematic
encoder input 9-8
schematics 9-7
serial communication
Application Developer 8-3
commands not available in hosted mode 8-33
daisy chaining drives 8-20
IDeal commands 8-23
immediate status commands 8-34
programming 8-1
programming commands 8-31
RS-232C protocol 8-19
RS-485 protocol 8-21
setup commands 8-27
supervisory commands 8-40
set position (command) 6-26
SETUP sub-menus 4-14
specifications 9-5
environmental requirements 9-5
output power available 9-5
square root (command) 6-26
stall output 5-29
stop decel rate 5-41
stop input (also see scan conditions) 5-25
stop on input (command) 6-27
T
TEST sub-menus 4-6
time delay (command) 6-27
toll free technical support 11-11
troubleshooting
SmartStep application 10-1
troubleshooting communication problems 8-19
U
unassigned input 5-25
unit number 5-39
V
velocity
maximum 5-20
units 5-20
Index
I-5
velocity (command) 6-28
W
wait (command) 6-29
warm boot input 5-26
warranty and repairs 11-12
waveform 5-12
wiring practices - IDC recommended 5-2
Keypad Programming Template
Use this template to write MS (Message to Display) command menus or programs exactly as they will appear on the
keypad LCD display. Each character-position on the keypad display is represented by a numbered blank square below.
Please feel free to make copies of this page for writing your programs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
Keypad Programming Template
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
FK2 FK1 FK3
IDeal Programming Commands
Serial Setup Commands
Serial Immediate Status Commands
Serial Supervisory Commands
Operators, Functions, and Expressions
- see pages 7-6 thru 7-7
Built-In Variables - see pages 7- 3 thru 7- 5
AC Acceleration 6-2 FK Function Key 6-8 LU Loop Until 6-18 SQ Square Root 6-26
BR Break 6-2 GH Go Home 6-10 LW Loop While 6-19 ST Stop Move 6-27
DA Distance Absolute 6-3 GI Go Immediate 6-11 MC Move Continuous 6-20 TD Time Delay 6-27
DC Distance to Change 6-4 GO Start Move 6-13 MS Message 6-22 VE Velocity 6-28
DE Deceleration 6-6 GS Go to Subroutine 6-14 ON On Condition 6-23 WT Wait 6-29
DI Distance Incremental 6-6 GT Go to Program 6-14 OT Outputs ON/OFF 6-24
EA Enable Amplier 6-6 IF If Conditional 6-15 _ Quote 6-24
EB End Block 6-7 IV Input Variable 6-16 RG Registration 6-25
EN End Routine 6-7 LP Loop 6-17 SP Set Position 6-26
AM Acceleration Max. 8-27 FL Fault Line Polarity 8-28 JE Jog Enable 8-28 OP OPTO Conguration 8-29
AU Acceleration Units 8-27 GR Units Ratio 8-28 JH Jog High Velocity 8-29 PG Pos. Maint. Gain 8-29
AR Anti-Resonance 8-27 HE Home Edge 8-28 JL Jog Low Velocity 8-29 PU Power-Up Program 8-29
DF Display Format 8-27 HF Home Final Direction 8-28 MD Motor Dir. Reference 8-29 PV Pos. Maint. Max. Vel. 8-29
DU Distance Unit Label 8-27 HM Homing Mode 8-28 MH Motor Inductance 8-29 PW Password 8-30
DY Scan Delay 8-27 HO Home Offset 8-28 MI Motor Current 8-29 RE Rest 8-30
EL Enable Line Polarity 8-27 HS Home Switch 8-28 MR Motor Resolution 8-29 SN Scan Conditions 8-30
EM Encoder Mode 8-27 ID Input Denition 8-28 MT Motor Type 8-29 SR Stop Decel. Rate 8-30
ER Encoder Resolution 8-28 IL Idle 8-28 MV Maximum Velocity 8-29 UN Unit Number 8-30
ET E-O-T Switch Polarity 8-28 IR Pos. Maint. Deadband 8-28 OD Output Denition 8-29 VU Velocity Units 8-30
FE Following Error Limit 8-28 JA Jog Acceleration 8-28 OE Output State on Event 8-29 WA Waveform 8-30
CB Clear Comnd. Buffer 8-35 MN Model Number 8-35 RS Reset System 8-36 SD Tell Drive Status 8-38
IS Tell Input States 8-35 OS Tell Output States 8-35 S Stop 8-36 SS Tell System Status 8-39
K Kill 8-35 PA Tell Absolute Position 8-35 SA Tell Axis Status 8-37
AA Auto Address 8-40 EP End Prog. Denition 8-40 OC Orig. Conguration 8-41 UA Upload All 8-41
DP Delete Program 8-40 EX Ends UA or UL 8-41 PR Dene Program 8-41 UL Upload Program 8-41
DR Dwnld. Prog. to RAM 8-40 LA Load All 8-41
RN
Run Program 8-41
LA
EC
RS-232 Echo Enable 8-40
LS
List Programs 8-41
SW
Tell Software Version 8-41
LS
[ ]
Name Program
+
Add
<
Less Than
+=
Increment by n
( )
Name Variable
-
Subtract
>=
Greater or Equal to
--
Decrement Variable
&&
Logical AND
*
Multiply
<=
Less or Equal to
-=
Decrement by n
||
Logical OR
/
Divide
&
Bitwise Boolean AND << Shift Left
! Logical NOT = Equal | Bitwise Boolean OR >> Shift Right
!= Not Equal > Greater Than ++ Increment Variable
(AI1) thru (AI6) Analog input 1 - 6 Read Only (1TW) Scans input 1-4 for BCD digit Read Only
(AROWREL) Current status of any arrow key Read Only (2TW) Scans input 1-8 for BCD digit Read Only
(CPOS1) Commanded position of axis 1 Read Only (TIME) Elapsed time (ms) since last
power-up or reset
Read Only
(EPOS1) Encoder position of axis 1 Read Only (CRCS) Val. of setup checksum Read Only
(POS1) Current position of axis 1 Read Only (CRCP) Val. of program checksum Read Only
(VEL1) Cmnd. velocity of axis 1 Read Only (SA1) Value of axis status Read Only
(EE1) thru (EE50)
(#F1) thru (#F50)
Non-volatile variables Read/Ltd.
Write
(SD1) Value of drive status Read Only
(FKEY) Val. of Func. Key pressed Read Only (SS) Value of System Status Read Only
(LASTKEY) Val. of last function key pressed Read/Write (INT98CTRL) Enable/Disable (ARM INT98) Read/Write
(TERM) Send variable out RS232 Port Write Only (ARM INT98) Enable/Disable INT98 if
(INT98CTRL) is enabled
Read/Write
Summary and Page Reference of All Commands Used with the SmartStep
TM