KEY PAD PROGRAMMING MENU STRUCTURE...........................................................................10
RUN Menus ......................................................................................................................................................10
HELP Menus .....................................................................................................................................................16
At the Main Menu...............................................................................................................16
At the Menus and Sub-Menus .............................................................................................16
In the Editor .......................................................................................................................16
PROGCopy a Program to Another Program.................................................................16
TO PAD Upload Memory to Keypad................................................................................17
FROMDownload Memory to Control...........................................................................17
DEL Men u.........................................................................................................................................................17
Key Pad Tuning ..............................................................................................................................................45
Keypad Tuning Menu Tree..................................................................................................45
GAINSSetting the Servo Gains ......................................................................................45
Setup Wizar d ....................................................................................................................................................95
File Menu .......................................................................................................................................................104
Program Editor ............................................................................................................................................105
Run Men u......................................................................................................................................................107
B8961 AND B8962 SMART DRIVE MOUNTING...........................................................................131
FK1 and FK2 Fan Kit ................................................................................................................................132
RPACK-1 and RP ACK-2 Mounting Installation ..................................................................................132
AC Power Line Filtering .............................................................................................................................150
Motor Output P ower Cable Shielding ...................................................................................................151
Declaration of Confromity .......................................................................................................................152
APPENDIX C: FAN KIT OPTION .....................................................................153
IDC’s B8961 and B8962,one and two axis Smart Drives,combine a DSP based
servo amplifier with a powerful,but easy to use,machine controller.We offer a
single axis version (B8961) and a dual axis version (B8962).The B8962 has two
axes of independently configurable amplifiers.Both products incorporate IDC’s 5
amp continuous,10 amp peak,120/230VAC,digital servo amplifier with a
motion/machine controller in a single,compact package.Up to 24 digital I/O are
available to control other machine functions.Up to 8 of these can be configured as
analog inputs or outputs.
The B8000 Series Smart Dri ves fe a t u re a 5 amp continu o u s , 10 amp peak, d i gi t a l
b rushless servo dri ve using state of the art DSP tech n o l o gy to provide high
p e r fo rmance closed loop servo control to a wide va riety of permanent mag n e t
b rushless and brushed servo motors and actuators offe red by Industrial Dev i c e s
C o r p o ra t i o n .
The Vector Control used by the servo amplifier offers higher bandwidth torque
and velocity control when compared with sinusoidal or hall effect commutated
brushless servo amplifiers.This results in an expanded torque speed curve that
leads to higher throughput machines.The easy servo setup offered by the keypad
configuration or via Application De veloper gives high speed,high torque,brushless
servo motor performance,with an ease of use rivaled only by a stepper system.
IDC’s IDeal™Smart Drives provide excellent value when your application calls for
any of the following:
• A small,1-2 axis machine controller
• A “motion node”to a master PLC or PC
• A cost effective operator interface
• Thumbwheel data inputs
• Flexible I/O capabilities
• On-board OPTO I/O modules (analog or digital)
The B8000 Series Smart Drives also feature a programming/operator interface.The
intent of the Smart Drive’s keypad is to allow you to quickly and easily configure
and program your system.Initial setup and configuration,in most cases,will require
only a few minutes using the keypad.While Smart Drives fully support PC based
RS232 programming,the setup and configuration sections of this manual often
emphasize the keypad approach.RS232 commands and setup definitions are in a
separate chapter.We strongly recommend using a keypad with your first B8000
Series Smart Drive application. You will also find it an invaluable troubleshooting
and machine commissioning aid during subsequent applications.
The following manual has been designed to help you successfully install,program
and operate your IDeal Programmable Smart Drive System.Each section of the
manual emphasizes the common theme “Ease of Use”.If you have any questions
that this manual does not adequately answer, please contact our factory application
engineers.
The manual begins with this Overview, followed by a Quick Star t chapter to help
you quickly confirm basic system operation.Next the manual describes
Communication with Your Control via the keypad interface.RS-232 interface
details are covered in Chapter 7, RS-232 Operation .
1
Page 6
B8961 and B8962 User Manual
Chapter 4 covers the procedure for Configuring Your System to your specific
equipment and application re q u i re m e n t s . It includes step-by-step keypad instru c t i o n s
on scrolling through and entering setup para m e t e rs .This chapter cove rs initial motor
settings,I/O configuration,and defining the mechanics of your system.IDC’s
Windows based Application De veloper also follows the same menu structure
described here. .
Chapter 5, Programming Your Control , provides detailed program and application
examples and strategies.Other topics include variable usage,user menus,math
functions,and analog I/O. Our IDEAL™command language is generally regarded as
the easiest motion control language in the industry. It is both easy to remember
and intuitive,without sacrificing flexibility or power.
In Chapter 6, Command Ref e re n c e,this alphabetical listing of Smart Dri ve commands
explains in detail syntax, ra n ge s ,d e fa u l t s , and provides pro gramming ex a m p l e s .
Chapter 7, RS-232 Operation , is for users who plan to use the Smart Drive in an
RS232 hosted mode,or who wish to program and configure the drive via RS232.
IDC’s Application De veloper program follows a standard Windows dialog box
structure to make configuring and programming the Smart Drive control straight
forward.This section also covers RS232 command syntax and definition for users
who are not using Windows.
The Har dware Reference chapter provides detailed I/O schematics,as well as
motor drawings,cables and specifications.The Troubleshooting chapter lists a
series of common application problems along with their symptoms and solutions.
Included with this manual is the Application De veloper cd-rom.IDC’s ApplicationDeveloper and Servo Tuner software are automatically installed on your hard drive
by running the setup program on the Application Developer cd-rom.This disc also
includes a readme file containing the latest information on software features.Many
demo programs are included with AppDeveloper.
If you cannot find the information that you need in this manual,please contact the
Applications Department.(800) 227-1066.
Shipping Contents
1.B8961 or B8962 Smart Drive control
2.120 VAC power cable
3.Application Developer software cd-rom
4.Installed OPTO modules (optional)
5.Fan Kit (optional)
Note:Units ordered as B8961NPs or B8962NP do not include the following keypad
items:
The purpose of the Quick Start chapter is to help an experienced motion control
user quickly set-up and bench test a B8000 Series Smart Drive with an IDC
supplied motor/encoder package.The following directions assume that the user is
familiar with servo motors,encoders,servo amplifiers,servo controls,and their
related electrical connections.Please refer to Chapter 4, “Configuring YourSystem” if you have questions on any of these procedures.
For ease of set-up,we recommend that you use a key p a d ,and in this chapter it is
assumed that a keypad is used for set-up, even if an RS232 connection will be used later.
Caution: All connectors are KEYED to prevent “backwards”
installation. The connectors should fit snugly, but do not need to
be forced.
Caution: Do not plug the motor/encoder connector into the drive
until instructed. The motor and encoder can be damaged by an
incorrect motor setting.
Apply Power
Chapter 2 - Quick Start
Connect the B8000 Series Smart Drive to 120VAC
using the supplied AC power cable and connector.
The AC power input terminals are labeled and
located at the top of the Smart Drive.When power is
applied,the display briefly shows Model number and Software Revision,then
changes to the Main Display.The Main Display continuously shows the position of
each axis on the top line and the status of Inputs 1-8 and Outputs 1-8 on the
bottom line.
Select the Motor Type
1.Press the EDIT key. Press SETUP (F2),then MOTOR
(F1),then TYPE (F1).
2.The display should show NONE.Use the á and â
keys to change the motor choice.If you have a
B8962,use the ß and à arrows to change to axis
two to verify the motor choice.
3.Once the proper motor and voltage level has been
selected,press ESC to save your choices.
4.You will be prompted to Enable each axis.Choose YES (F1).
If using a non-IDC motor, please call the factory for details on obtaining a motor
data file for your motor. If you already have this custom motor data file, see the
Using Non-IDC M o t o r section of Chapter 7, RS-232 Opera t i o n .
+0.0000 +0.0000
00000000 00000000
------ á EDIT â ------
PROG SETUP POS
Axis One Motor Type
B23:110 VAC
3
Page 8
B8961 and B8962 User Manual
Connect The Motor and Encoder Cable(s)
Power down the drive and connect the pre-wired motor and encoder cables to the
Smart Drive.The 20 pin motor/encoder cable plugs into the bottom of the Smart
Drive.The MS connectors are keyed at the motor end.See the diagram below for
more information.If necessary,please refer to the Har dware Reference chapter for
wiring diagrams.
End-of-travel inputs are jumpered at the factory. See the Har dware Reference
section for IDC supplied limit switch wiring schematics.
After all motor and encoder cables are firmly connected, reapply power and
continue on with the Quick Star t directions.
Caution: The motor will be
enabled when the drive is
powered up.
Jog the Motor
1.Press RUN.Press JOG (F2).
2.Press the ß or à key to jog (and á and â keys
to jog axis two on the B8962).
3.Change the Jog Speed by pressing High (F2) or Low (F1) and jog again.
------ RUN ------
PROG JOG TEST
Run [TEST MOVE] Program
Press ESC to return to the Main Display.
1.Press RUN.Press TEST(F3).Press MOVE(F3)
2.Select the axis to test.(F1,F2,or F3) The axis
selected will move forward and backward one distance unit.(Distance units
default to motor revolutions.)
------ TEST MOVE -----Axis 1 Both Axis 2
4
Page 9
Create and Run a Simple Program
Press ESC to return to the Main Display.
1.Press EDIT. Press PROG (F1). Enter 1.(Edit program #1.)
AC1Press F2 & 2 & 1 & ENTER
VE10Press F1 & 2 & 1 & 0 & ENTER
DI3Press F2 & 1 & 3 & ENTER
GOPress F1 & 3 & ENTER
ENPress F3 & 6 & ENTER
2.Press ESC to save the program and return to the Main Display.
3.Press RUN,then PROG (F1),then enter 1.(Run program #1.) The program
should move the motor 3 revolutions.
Discrete Input Test
Connect a 12” test wire to one of the COM screw terminals found on the side of
the drive.One by one,touch the test lead to each Input screw terminal and verify
that the input status shown on the Main Display toggles between 0 and 1.
Discrete Output Test
1.Press RUN. Press TEST (F3). Press OUTPUT (F2)
2.Press the ß or à key to select an output number.
3.Press the â or á to turn the output ON or OFF.
4.Press ESC to leave this menu.The outputs will return to their state prior to
entering the test mode.Please use caution when manually toggling outputs
connected to live devices.No software interlocks are observed during this test.
Chapter 2 - Quick Start
The OPTO position’s default configuration is as an input.Please see Configuring
Your System for information on changing these to Outputs.You will then be able
to toggle their state from this screen.
Where to go from here?
Successfully completing these steps confirms the basic operation of your system.At
this point, you may want to refer to the following sections for more information:
• Hardware connectionsp.134
• Configuring Your Systemp.19
• IDC Actuator Gear Ratiosp.25
• Non-IDC’s motor operationp.21
• Drive mountingp.131
• Fan Kit and RPACK connectionsp.132
• I/O software configurationp.28
• I/O hardware schematicsp.135
• Basic keypad operationp. 7
• Programming examplesp.58
• RS232 connection and usagep.91
5
Page 10
Keypad Operation
This chapter is meant to familiarize a first time user with the basics of IDC’s
keypad operation.IDC’s keypad functions fall into two categories. The keypad
functions first as a programming and troubleshooting tool.Secondly, it functions as
an operator interface.Operators can run programs,make menu choices,or be
prompted to enter data via the keypad number keys.
The first section of this chapter, Keypad Features , defines the basic function of
each button on the keypad.The second section,Menu Structur e, gives the
programmer a broad overview of how the keypad’s setup and programming menus
operate and fit together. Detailed information about each step parameter is
presented in Configuring Your Control .
Keypad Features
Chapter 3 - Keypad Operation
Display
Easy to read,2 line,40 character,back-lit supertwist display.
F1, F2, F3 Function Keys
Used as Menu selectors.Used with numeric keys to select commands in the editor.
Programmable as operator menu selections.See the FK command for information
on using the function keys within a program.
7
Page 11
B8961 and B8962 User Manual
RUN
Runs a Program, Jogs an axis,or accesses Test/Debugging functions like Program
Trace mode,and amplifier Enable/Disable/Reset.
EDIT
Edits setup parameters,programs,tuning (servos only),and resets position counter.
Also accesses program listing and teach mode. (Teach mode will be implemented
in a future software r evision.)
HELP
Provides help on keys,menus and command syntax.
COPY
Copies one program to another within a unit.Copying a complete application,
including all programs,setup parameters and motor configuration information.
Smart Drive to Smart Drive copying,via the keypad,will be implemented in a
future software release.
DEL
Deletes characters in the editor, or entire programs from memory.
Arrows (ß, à, and á, â)
Scroll through menu options,setup choices and programs in the editor.Also used
to move an axis in jog mode.
Decimal Point
Used to enter fixed point numbers.
Comma
Used in multi-axis controls to separate axis command parameters.Also part of the
syntax in message and variable prompt commands.
ALPHA
Alpha plus a numeric key selects the first letter on that key.Press the numeric key
more than once to select second or third characters. For example,Alpha+1+1
selects B.Other ASCII symbols,such as the >< and á characters can be selected
with Alpha using the á and â arrow keys.
ENTER
Selects a choice and enters a space in the editor.
Sign (+/-)
Selects the direction of motion in programs and can be used in math expressions.
ESC
Stops a program,backs up a menu level,also used for exiting and saving programs
while in the editor.
Numeric Keys (0-9)
Enters numbers.Used with Alpha to select characters.Used with F1-F3 to enter
commands in the editor.
8
Page 12
Keypad Hardware Features
Dipswitches
A bank of four dipswitches on the back of the keypad provide a way to lock
operators out of various keypad access levels.See the chart below for switch
assignments.If access to a menu level is denied,pressing that key will have no
effect. For example,if 1 is on,and 2 is off, the operator will be able to stop motion,
and program execution,(by pressing the escape key) but will not be able to access
the RUN menus to select another program to run.This is a hardware inhibit,and is
independent of any software,or setup parameter in the Smart Drive. Power must
be cycled before keypad dipswitch changes take effect.
In addition,access to the jog menu can be enabled or disabled from software.
SW1SW2Function Level
offoffFull keypad functionality
offonNo access to RUN, ESC,EDIT,COPY, DEL menus
onoffNo access to RUN, EDIT,COPY, DEL menus
ononNo access to EDIT, COPY, DEL menus
Chapter 3 - Keypad Operation
Switch 3 and 4 are reserved for future functionality.
Contrast
On the back of the keypad,there is a single,plastic, flat head screw driver
adjustable,potentiometer.This is used to adjust the contrast on the LCD display. If
the Smart Drive and keypad were purchased together,this adjustment has been
made by IDC.Some adjustment may still be needed to accommodate unusual
lighting or viewing angles.
Remote Mounting
The keypad can easily be remote mounted and sealed to NEMA 4 specifications by
using the included mounting gasket and 6 foot communication cable.The gasket
should be installed with its adhesive side to the enclosure.A pressure seal is formed
between the gasket and the keypad,while the adhesive maintains the seal between
the enclosure and the gasket.The keypad communicates with the Smart Drive via
RS-232 so this cable can be extended if needed.At longer distances,users may have
to provide a separate 5 VDC supply to power the keypad.Complete keypad
drawings and pinouts can be found in the Har dware Reference chapter.
Back of Keypad Detail drawing
9
Page 13
B8961 and B8962 User Manual
Key Pad Programming Menu Structure
Most operations from the Keypad are menu-driven.A menu consists of a title bar
on the top display line and as many as three options (or sub-menus) at a time on
the bottom display line.Each option is positioned over one of the function keys.
Pressing a function key will select the corresponding option.
If a menu has more than three options,arrows will appear in the title bar
indicating that there are more options which are not displayed.Pressing the
appropriate arrows (indicated on the display) will cycle through all options
associated with the menu.To leave a menu,without making a selection,or to back
up one menu level,press ESC.
The following tree shows the Menus which are accessible from the Main Display
by pressing RUN, EDIT, HELP, COPY, and DEL keys.
NOTE:ESC backs up one menu in SETUP, and returns the user to the Main Display
elsewhere.
RUNEDITHELPCOPYDEL
PROG: Run pro g r a m s ,
by name or number.
JOG: Jog either axis
at low or high speeds
using submenu and
a r row keys
T E S T: Run pro g r a m s
in trace mode,
amplifier shutdown
and reset, test
outputs, and moves.
RUN Menus
PROG: Edit/Wr i t e
p rograms, most
commands are listed
on the keypad.
SETUP: Configure
system and operating
l i m i t s .
POS: Sets curre n t
position to a desire d
v a l u e .
L I S T: D i rectory of
s t o red pro g r a m s ,
memory usage and
available space.
TUNING: Servo tuning
via keypad, or set-up
for PC-based tuning.
TEACH: Teach move
p o s i t i o n s
At Main Menu:
P rovides help on the
function of each key.
At Menus:
P rovides help on how
to move about menus.
At Sub-Menus:
Explains setup
c h o i c e s .
In the Editor:
P rovides command
d e s c r i p t i o n s .
PROGRAM: Copies
p rograms within a
c o n t ro l .
T O PA D : Uploads a
c o n t rols memory to a
k e y p a d .
FROM: Downloads
keypad memory to a
c o n t ro l .
PROGRAM: Deletes a
p ro g r a m .
Pressing the RUN key displays a second set of RUN
RUN
sub-menus.Access the sub-menus by pressing the
function keys F1,F2,and F3,which are below PROG,
JOG and TEST respectively.
10
------ RUN ------
PROG JOG TEST
Page 14
PROG Running Programs
Run an existing program by program number, by
pressing:
1.PROG(F1)
2.Program number 1-199 using numeric keys
(1-400 available with the 30k expanded memory option)
3.ENTER
Chapter 3 - Keypad Operation
á RUN PROGRAM â
> 5
Run an existing program by name by pressing:
1.PROG(F1)
2.á and â keys to scroll through the list of available
programs until you find the program you want
3.ENTER
JOG Jogging the Motor
Jog either axes by pressing:
1.RUN
2.JOG(F2)
3.ß and à keys to move axis 1
á and â keys to move axis 2 on a B8962.
Note:The á and â keys will also jog Axis 1 on a single axis unit.
Change between Low and High speeds with the F1 and F2 keys. Jog speeds and
accelerations can be changed in the JOG \ SETUP menu.
“Jog”an incremental distance by:
1.RUN
2.JOG (F2)
3.Entering a number (i.e.,0.012).
4.Pressing and releasing an arrow key will make the motor move this distance.
The arrow pressed determines the direction of the move.
5.Repeat 3 and 4 until at desired position.
Additional pushes of arrow keys will jog the same distance until either, F1,F2,or F3
is pressed.This feature is intended for very fine, final positioning.The incremental
jog speed is therefore fixed at a very low speed.
--á RUN PROGRAM â--
> 12 GRIND
JOG AXIS 1 +0.0000
<LO> HIGH
JOG AXIS 1 +0.0000
Dist.: .01
11
Page 15
B8961 and B8962 User Manual
TEST Test and Debugging functions
TRACE
The trace features allows you to de-bug programs by
sequentially executing one program command at a
time.
Press:
1.RUN \ TEST \ TRACE
2.Enter the program name or number
3.ENTER
The top line displays the program number, the
number of nested 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 control’s outputs,
as well as the devices to which they are connected,
by forcing them on and off. Press:
1.RUN \ TEST \ OUTPUT
2.ß à keys to scroll through outputs 1-8,and any OPTO positions configured as
outputs.
3.á â keys to turn the output on and off
Please use caution when connected to live devices.The Outputs will revert to their
original state when ESC is pressed.
NOTE:The OPTO position default to Inputs.They must be configured as outputs
from the SETUP / I/O / OPTO menu before being accessible from this test utility.
See Configuring Your System for details.
á TRACE PROGRAM â
>_
PR:5 LP:1 GS:0
DI8000
Test Output #4
ß áON â à
MOVE
This selection moves your motor shaft one user unit forward and backwards.This
allows you to verify basic motor, encoder, and amplifier operation.
Press: RUN \ TEST \ MOVE,and select the axis to move.Pressing the axis Function
key will start the move.
SHUTDN
Selecting SHUTDN (shut down) allows you to
enable,disable or reset axis 1 or axis 2 (B8962).
When a drive is disabled,the amplifier is off and your
motor has no power.The shaft can be manually rotated relatively easily. RESET returns each drive to its power-on condition.
Existing set-up parameters are restored.
Press:
1.RUN \ TEST \ à \ SHUTDN
2.ENABLE,DISABLE or RESET
ß Drive 1 Disabled à
ENABLE DISABLE RESET
12
Page 16
RS232 Serial Communications
Chapter 3 - Keypad Operation
ENCODER
EDIT Menus
EDIT
RUN > TEXT > RS232
This feature allows for testing of the terminal serial communications port through
the keypad.
Testing Serial Transmission:
1. From the Test Connection menu press the F1 key to
select the TRANSMIT option
2. The SmartDrive will now transmit the string ”ABC123” every 5 seconds.
Testing Serial Receive:
1. From the Test Connection menu press the F3 key to
select the RECEIVE option.
2.Any character received on the terminal port will be displayed on the keypad.
To be implemented in a future version of software.
Pressing the EDIT key reveals three sub-menus called
PROG,SETUP and POS.
---- Test Connection-----
TRANSMIT RECEIVE
Test String ‘ABC123’
Transmitting....
Data Received
------ á EDIT â ------
PROG SETUP POS
Pressing the â key reveals three more EDIT
sub-menus called LIST,TUNING and TEACH.
Access the PROG, SETUP, POS,LIST,TUNING and TEACH sub-menus by pressing the
appropriate function key. See descriptions of each of these sub-menus below.
PROG Creating and Editing Motion Programs
This menu allows you to edit an existing program,or
begin entering 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,and press ENTER.
You are now viewing your IDeal™motion program in
the keypad program editor and are ready to edit your
program.
See Programming Your Application for more information on editing IDeal motion
programs with the keypad.
------ á EDIT â ------
LIST TUNING TEACH
-á EDIT PROGRAM â-
-> 5
AC3 VE1 DI8000 GO
EN
13
Page 17
B8961 and B8962 User Manual
SETUP System Set-up Menu
The following table shows the structure within the SETUP menu. For complete
descriptions of each system parameter in the SETUP sub-menu,see ConfiguringYour System .
Sub-Set-upDescription of Set-up Parameters
MenusParameters
MOTORTYPEMotor type
D-RESDrive Resolution
DIRDirection of travel
ENCMODESelect open/closed loop mode
E-RESEncoder resolution
FOL-ERRFollowing error
MECHDISTDistance Units
RATIOScale distance to preferred user units
BKLASHElectronic backlash compensation
VELSpeed units
VMAXCritical speed limit
ACCELAcceleration units
LO-VELLow jog velocity
HI-VELHigh jog velocity
ENABLEEnable/disable jog in RUN menu
HOMEEDGEEdge of home switch
SWITCHType of home switch
OFFSETPosition counter offset
FINALFinal homing direction
PROGPWR-UPProgram to run on power up, if any
SCANHow to scan program select inputs
DELAYProgram Select de-bounce time
RS232ECHOEcho characters
UNIT#Serial address
MISCDISPLAYDisplay mode
STOP-RATEDecel rate when stop input activated
TESTEnable Test Menu
14
Page 18
POS Reset Current Position to Zero
POS is a quick way to reset the motor’s current
position to (absolute) zero,which can be a helpful
setup and debugging tool.
Press:
1.EDIT \ POS
2.YES (F1) or NO (F3)
LIST List User Memory Usage
LIST provides a way to view your program memory usage.Your IDC Smart Drive
will accept up to 199 IDeal™motion programs of 1024 characters each,with 6K
bytes of program storage available (up to 400 programs available with the 30k
expanded memory option).
Pressing:
1.EDIT \ â \ LIST
Displays the number of programs stored in your
Smart Drive.
Chapter 3 - Keypad Operation
Reset Position?
YES NO
DIRECTORY áMOREâ
PROGRAMS: 18
2.â
Displays the total amount of memory your
programs have used.
3.â
Displays the number of bytes of memory you
still have available.
4.âââ ... â
Displays the number of bytes being used by each
of your programs.
TUNING Servo Tuning
The following shows the structure of the TUNING menu.See Configuring Your
System for a complete description of servo tuning and the parameters in the
TUNING sub-menus.
Sub-Set-upDescription of Set-up Parameters
MenusParameters
AXIS 1GAINSAlter servo gains for AXIS 1.
TOGGLEStart step function generator to view system
To be implemented in a future version of software.
HELP Menus
Whenever you have a question using the keypad,pressing HELP will display a help
HELP
message related to the menu you are currently in.Help messages are often several
lines,which you can scroll through using the á and â keys.When you are finished
reading a help message,pressing ESC returns you to the menu.
At the Main Menu
HELP explains the functions available when you
press any of the non-numeric keys.
At the Menus and Sub-Menus
HELP explains the selections available from your
current menu location.
In the Editor
HELP provides a brief alphabetical command list.Full
syntax and details on command usage are available in
the IDeal™Command Reference of this manual,or from HELP in the Application
Developer editor.
COPY Menus
Copying programs from one name (or number) to another can save you a
COPY
significant amount of time when programming your Smart Drive.The keypad has
its own non-volatile memory, which allows you to upload the memory (motion
programs,set-up and tuning parameters) of one Smart Drive, reconnect and
download the memory contents to another unit.Note:Smart Drive to Smart Drive
c o pying via the keypad is not yet implemented in the B8000 Series of Smart Dri ve s .
- - - - á HELP â - - - -
Use RUN key to...
This option is used to
select the motor type...
á COMMAND SUMMARY â
AC Acceleration
Pressing the COPY key brings up three choices that
can be accessed by pressing the function keys.
PROG Copy a Program to Another Program
This selection allows you to copy any existing
program to a new program name.
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).
Then
1.Enter the target program.
2.Press ENTER
Remember to change the name of the copied programs to avoid subroutine call
conflicts.
16
- - - - - COPY - - - - -
PROG TO PAD FROM
á SOURCE PROGRAM â
> 5
á TARGET PROGRAM â
> 5
Page 20
TO-FROM PAD Copy to-from Keypad
Chapter 3 - Keypad Operation
DEL Menu
DEL
The COPY TO-FROM feature has been implemented
which allows user setup and programs to be downloaded to and from the keypad.A special keypad
cable (PCS-5004) provides a +5V power supply and a 9 pin D style connector for
communications with Application Developer™.COPY TO-FROM requires
SmartDrive version v6.00 or higher and keypad firmware v2.60 or higher.
Contact IDC for firmware upgrades and cable information
Copy TO Keypad:
1.Press F2 key to select TO PAD (Note:Unit address is not saved in keypad)
Copy FROM Keypad:
1.Press F3 key to select FROM (Note:Unit address is not set from keypad transfer)
In order to use COPY TO-FROM with Application Developer™, connect the kepad to
the PC using cable PCS-5004 and select “Retrieve All”from the Application
Developer Communications menu to load data from the keypad and select “Send
All”from the Application Developer Communications menu to load data to the
keypad.See the Application Developer section in the S696X,B896X and 96X manuals for more information on using Application Developer.
The DEL key lets you delete any motion program
currently in your Smart Drive.
Press:
1.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.ENTER
-----------COPY---------PROG TO PAD FROM
á DELETE PROGRAM â
> _
Run-Time Operator Interface
Your keypad features an easy-to-read,2-line,40-character, back-lit display that can be
easily remote mounted to a panel and exposed to industrial NEMA 4 environments.
While motion programming and system configuration procedures using the keypad
are defined by IDC, run-time operation (i.e.how the machine operator will
interface with the Smart Drive) falls completely within the customer’s control.
Here are some of the operating functions you can program with the Smart Drive:
• 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 prog ram by name
• Lock-out operators from programming functions
For more information on programming your Smart Drive’s operator interface,see
the Programming Your Application and IDeal™Command Reference chapters.
17
Page 21
Configuring Your System
This chapter presents a straight forward,intuitive procedure for Configuring Your
System to your specific equipment and application requirements.The following
configuration section contains detailed,step-by-step directions for customizing the
B8961 and B8962 to your specific application and mechanical requirements.IDC
recommends that even experienced users follow this procedure in its entirety.
Following all the SETUP steps will insure that no critical parameters are
overlooked.
The task of configuring your B8961 or B8962 Smart Drive system to a specific
application consists of customizing a number of software parameters to match the
mechanics of the system.These parameters include distance,acceleration and
velocity scaling as well as I/O configuration.Other than plugging in the
motor/encoder cable and connecting your I/O wiring,there are no hardware
settings on a B8961 or B8962 Smart Drive system.
All of the software configuration can be done via the keypad,or via RS232 using
Application De veloper.The Configuring Your System description presented here is
from a keypad user’s perspective,via the keypad menu structure and step-by-step
keypad instructions.
Chapter 4 - Configuring Your System
Keypad
strokes
needed to
get to the
input set-up
menu.
Application De veloper and RS-232C users will want to refer to this chapter for
detailed explanations of configuration parameters.Details on how to use IDC’s
Application De veloper can be found in the Chapter 7. For RS-232C terminal users,
non-Windows™PC users,or PLC users,the equivalent 2-character ASCII
configuration commands are detailed in the RS-232 Command Reference section
Chapter 7,but the examples presented here are valid for all users.The 2-character
ASCII command appears in brackets next to the appropriate keypad menu choice
in this chapter.Application De veloper users will find that the Windows dialog
boxes under the Setup menu follow the keypad menu structure very closely.
Users who plan to create and download their own ASCII setup file will also find
this section useful.The RS-232 command that relates to the parameter being set is
in brackets below the keypad menu structure.RS-232 command syntax details are
in the RS-232 Command Reference section of Chapter 7.
Each SETUP step follows the format of the example below:
In App Developer
click on SETUP/I/O
EDIT
SETUP I/O
Input Defn[ID]
Default:UUUUUUUUUUUUUUUU
RS-232 input
configuration
command
IN1: unassigned
BBBBKREJUUUUßáâà
The function of each input is easily configured using the k eypad as described on the fol lowing page.
19
Page 22
B8961 and B8962 User Manual
SETUP Menu
Pressing the EDIT key followed by the SETUP
function key reveals three menus.
Pressing â reveals a second and a third set of menus.
Each of these sub-menus are explained below.
- - - á SETUP â - - -
MOTOR ENC MECH
- - - á SETUP â - - -
I/O JOG HOME
NEW MOTOR CONFIGURATION
The structure of the motor type selection menu has
changed in order to accommodate the addition of
the built-in linear servo motor files plust the expansion of the B servo motor series.The MOTOR TYPE
menu option now has three sub-menus: STEPER (for step motor drive parameters),
R-SRVO (for rotary ser vo motors) and L-SRVO (for linear servo motors).
Configuring Stepper Motor Type
EDIT
Configuring R-SRVO Motor Type [MT]
EDIT
This option specifies the type of rotary servo motor connected to the B896X
SmartDrive and the operating voltage level.The motor parameters used for drive
configuration have been specifically tailored for IDC supplied rotary servo motors.
> SETUP > MOTOR > TYPE > STEPER
Default:STEPPER(S696X)
N/A(B896X)
INDEXER(96X)
> SETUP > MOTOR > TYPE > R-SRVO
Default:N/A(S696X)
NONE(B896X)
INDEXER(96X)
- - - á SETUP â - - -
PROG RS232 MISC
--- Motor Type ---
STEPER R-SERVO L-SERVO
Axis One Motor Type
ßá STEPPER âà
– Axis One R-Srvo Type –
ßá B32:110VAC âà
20
1.Use the ß and à keys to select an axis.
2.Use the á and â keys to scroll through the list of IDC’s rotary motors
3.Press the ESC key to select
None (Sets Kiiand Kipgains to zero.)
B12:110VAC
B22:110VAC,B22:220VAC
B23:110VAC,B23:220VAC
B23H:110VAC,B23H:220VAC
B32:110VAC,B32:220VAC
B33:110VAC,B33:220VAC
B40:110VAC,B40:220VAC
B41:110VAC,B41:220VAC
B42:110VAC,B42:220VAC
BN21:110VAC
BN23:100VAC
BN31:110VAC
BN32:110VAC
H3:110VAC
H4:110VAC
or OTHER
Default:None.
Consult the factory if you intend to use a non-IDC motor.See Chapter 7, RS-232Operation , for information on configuring a Smart Drive for a non-IDC motor.
Page 23
Chapter 4 - Configuring Your System
CAUTION: If the motor type is set incorrectly the motor may be damaged.
Specifying the incorrect voltage will not damage anything, but different
current loop gains are used so system instability may result.
The safest way to change motor types is to:
1.Power up the control without the motor connected.
2.Change the Motor Type setup parameter to the new motor.
IDC’s B8961 and B8962 Smart Drives allow you to set a different drive input
resolution than the actual resolution encoder.This option specifies the input
resolution for each axis of your digital servo smart drive,in counts per motor
revolution.This is a very useful feature when retrofitting microstepping systems.
It is ve ry i m p o rtant that the e n c o d e r resolution (E-RES) is set to your post-quadra t u re
encoder resolution.D-RES can be set at the users discretion.
1.Use ß and à keys to select an axis.
2.Use the áâ and ENTER keys to select from a list of drive resolutions available:
Your mechanics,and application needs will dictate the choice of D-RES. For
example,if you want to move in .1 deg ree increments,a D-RES choice of 18,000
will allow 50 motor steps per degree and prevent any resolution induced rounding
errors.
EDIT
SETUP MOTOR DIR
- Axis One Motor Dir -
ßá POSITIVE âà
Motor Direction [MD]
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 ß and à keys to select an axis.
2.Use the áâ and ENTER keys to select a direction
21
Page 24
B8961 and B8962 User Manual
ENC Encoder Configuration
EDIT
SETUP ENC MODE
- Axis One Enc Mode -
ßá CLOSED LOOP âà
Encoder Mode [EM]
Default:SERVO CLOSED LOOP
This option sets the encoder mode for each axis.
The B8961 and B8962 servo position loops are closed by the DSP in the amplifier,
freeing up the motion control board to do other processing.Therefore, you can run
the servo in either “open loop”or “servo closed loop”modes.This allows you to
view (on the keypad display or via the PAn commands) either the commanded or
actual position in user units.All programmed moves are based on the Motor/Drive
Resolution setting (D_RES).
1.Use ß and à keys to select an axis.
2.Use the á and â keys to scroll through the list of encoder modes and press
ESC to select:
Encoder ModeDescription
OPEN LOOPThe OPEN LOOP position will be displa yed on the keypad.
OPEN-STALLThe OPEN LOOP position will be displayed on the k eypad but the
encoder will be used for stall detection.
CLOSED LOOPThe encoder position is displayed on the keypad.All moves are
based on encoder position and stall detection is enabled.
SERVO-CLOSEDThe encoder position is displa yed on the keypad.All mo ves are
based on the commanded OPEN LOOP position and stall detection
is enabled.
CLOSED LOOP PMThe encoder position is displayed on the keypad.All moves are
based on encoder position,however, post move correction algorithms will keep the encoder position equal to the last commanded
OPEN LOOP position. 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
SmartDrive to signal a fault when the displacement can not be corrected (i.e.the motor is stalled at an obstruction). Position maintenance will not attempt to correct position while navigating menus
with the keypad.
EDIT
> SETUP > ENC > IN-RANGE > WINDOW
- Axis One PM DeadBnd -
ßá 25 Steps âà
Configuring Position Maintenance Deadband [IR]
Default:25 motor steps
Range:0 - 99999
Position maintenance deadband is a user definable region surrounding the commanded position in which the motor shaft can reside and not be considered “out of
position”.A displacement position exceeding the last commanded position +/- the
deadband value,will cause position maintenance to attempt to correct the position.
1.Use ß and à keys to select an axis.
2.Use numeric keys to enter a new deadband value and press ENTER then ESC
to register.
22
Page 25
Chapter 4 - Configuring Your System
NOTE: EDIT > SETUP > ENC > INRANGE > WINDOW and the IR serial command
have an alternate functionality with servo SmartDrive systems. See the B8961/2
manual for more details.
EDIT
> SETUP > ENC > PMGAIN
Configuring Position Maintenance Gain [PG]
Default:10
Range:1 - 32767
The position maintenance gain value is an integer factor usedin determining the
velocity at which the position maintenance correction move will travel.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.
1.Use ß and à keys to select an axis.
2.Use numeric keys to enter a new position maintenance gain and press ENTER
then ESC to register.
EDIT
> SETUP > ENC > PMMAX
- Axis One PMGain -
ß10à
- Axis One PMMax -
ß 1 RPS à
Configuring Position Max Velocity [PV]
Default:1 RPS
Range:0.005 - 9999999
The position maintenance maximum velocity value sets a velocity limit in which
position maintenance will attempt to correct position.Regardless of the magnitude
of displacement or correction gain,the correction velocity will never exceed the
maximum velocity setting.
1.Use ß and à keys to select an axis.
2.Use numeric keys to enter a new position maintenance max velocity in the
same units selceted in teh SETUP>MECH>VEL menu and press ENTER the ESC
to register.
EDIT
SETUP ENC E-RES
Encoder Resolution [ER]
Default:8,000 for B motors,2,000 for H motors,4000 for BN Motors.
This option is used to set the encoder resolution for each axis.The resolution is
specified in encoder pulses per revolution of the motor, post-quadrature.
- Axis One Encoder Res
ßá 4000 counts/rev âà
23
Page 26
B8961 and B8962 User Manual
Specifying the wrong encoder resolution will prevent the Smart Drive from
properly communicating the motor and could damage it,as well as cause unstable
system behavior.For this reason,IDC fixes the encoder resolution for our servo
motors.Consult the factory if your application requires using another motor or
resolution encoder.
1.Use ß and à keys to select an axis.
2.Use the áâ and ENTER keys to select from a list of encoder resolutions,or
use the numeric keys to enter the encoder resolution.
EDIT
SETUP ENC FOL-ERR
Following Error Limit [FE]
Default:8,000 counts
This option defines 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.
Range:0-524,000 step counts,0 = OFF
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 defined as a “Stall”or Fault output.
• The ESC key or a RESET (either an input or via RS-232) will need to be issued
before motion can occur.
MECH Mechanical Configuration
Through the mechanical setup menu, your IDeal™Programmable Smart Drive
allows you to program in distance, velocity and acceleration units convenient for
your application.Once configured, 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 the MECH function key displays three menu
choices:
Pressing â reveals three additional menu choices:
- - Axis One Fol Error - -
ß8000 stepsà
-- á MECH SETUP â -DIST RATIO BKLASH
-- á MECH SETUP â -VEL VMAX ACCEL
24
Page 27
Chapter 4 - Configuring Your System
EDIT
SETUP MECH DIST
- Axis One Dist Units ßá revs âà
Distance Unit [DU]
Default:Motor Revs
DIST is used along with RATIO to select your distance units and unit label.All
distance values specified 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 defined with the RATIO command defined below.
1.Use ß and à keys to select an axis.
2.Use the áâ keys to select distance units from:
• mils• inch
• feet• yards
• mm• cm
• meter• arcsec
• arcmin• degrees
• radians• grads
• steps• %
• index• revs
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.)
• If steps is chosen,the control automatically fixes the RATIO (see below).
EDIT
SETUP MECH RATIO
- - Axis One Ratio - -
ßá1 to 1 âà
Gear Ratio [GR]
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 r evolutions per DIST unit . Up to 5 digits on
either side of the ratio can be entered to properly scale your DIST units.
1.Use ß and à keys to select an axis.
2.Use the numeric keys to enter a ratio
expressed as 2 integers.Ex:When programming in output shaft revolutions of
a 5:1 gearbox,enter “5 to 1” rather than
“1 to .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 fac tor that RATIO was changed.
• If using an IDC supplied actuator,the
proper Gear Ratios for programming in
units of Inches and mm can be found in
Appendix A,directly following the Index.
25
Page 28
B8961 and B8962 User Manual
Units Example - Lead Screw System
• Desired distance units:inches
• Lead Screw:4 revs/inch
DIST = inch
RATIO = 4 to 1
Units Example - Rotary Index Table
• Desired distance units:1/8 of a revolution
DIST = inch
RATIO = 1 to 8
Units Example - Gear Reduced Tangential Drive System
• Desired distance units:mm
• Reducer:5:1 reduction
Drive Pulley:6 inch circumference
5 revolutions of motor travel results in 152.4 mm of linear road 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.
DIST = mm
RATIO = 50 to 1524
BKLASH allows your Smart Drive to compensate for the backlash in each axis of
your mechanical system.The Smart Drive will automatically take up (add) the
backlash distance specified whenever the move direction is reversed.
1.Use ß and à keys to select an axis.
2.Use the numeric keys to enter a backlash value in DIST units.
EDIT
SETUP MECH VEL
Velocity Units [VU]
Default:rps (motor Revolutions Per Second)
Use this option to select your velocity units.All
velocity values specified in the system will be
expressed in these units.
1.Use ß and à keys to select an axis.
2.Use the áâ and ENTER keys to select velocity units from the list:
• rps
• rpm
• (DIST units)/sec(see DIST above)
• (DIST units)/min(see DIST above)
- Axis One Vel. Units ßámm/sec âà
26
Page 29
Chapter 4 - Configuring Your System
EDIT
Maximum Velocity [MV]
Default:50 (velocity units)
SETUP MECH VMAX
- - Axis One Max Vel. -
ßá 50.0 inch/sec âà
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 or ballscrew.
1.Use ß and à keys to select an axis.
2.Use the numeric keys to set the maximum velocity in VEL units.
EDIT
Acceleration Units [AU]
Default:sec
SETUP MECH ACCEL
- Axis One Accel. Units
ßásec âà
This option is used to select acceleration (and deceleration) units.All acceleration
and deceleration values specified in the system will be expressed in these units.
You can specify acceleration as a rate,or in time-to-accelerate to full speed.
1.Use ß and à keys to select an axis.
2.Use the áâ and ENTER keys to select acceleration units from the list:
• sec (time to reach top speed)
• (DIST units)/sec
2
• rps2(motor Revolutions Per Sec2)
EDIT
> SETUP > MECH > AMAX
– Axis One Max Accel –
ß 0.002 sec à
Configuring Acceleration Maximum [AM]
Default: 0.002 (acceleration units)
Range:0.002 - 99999999 (acceleration units)
Acceleration maximum sets a maximum acceleration and deceleration limit for programmed move profiles in the current acceleration units.Programmed accelerations and decelerations for moves will be limited by this parameter (analogous to
VMAX for velocity).Regardless of acceleration units,the absolute maximum acceleration is 0.002 seconds.
1. Use the ß and à keys to select an axis.
2. Use numeric keys to enter a new acceleration maximum in the same units
selected in the SETUP > MECH > ACCEL menu and press ENTER then ESC to
register.
27
Page 30
B8961 and B8962 User Manual
I/O Input & Output Configuration
Your IDeal™Programmable Smart Drive has eight discrete optically-isolated inputs,
and eight discrete optically-isolated outputs.It also supports up to eight Opto I/O
modules (G4/G5 footprint),which is like having a G4PB8 board and cable built in
— plus,it has the capability of supporting a mix of analog and digital modules.All
the inputs and outputs can be configured to a specific machine control function.
The eight OPTO positions can be inputs or outputs,logic or AC/DC power, digital
or analog,or even used as a thermocouple (Type K or J) inputs.The control is
completely protected from errors in interchanging modules.You will not damage
the unit by plugging in the wrong module.Simply insert the modules you need
into the positions you desire,and configure each position in the OPTO menu
(explained below) as either an input or an output.
Your I D e a l P ro gra m m able Smart Dri ve is compatible with almost any manu fa c t u re r ’s
G4 or G5 digital opto modules (OPTO 22,Grayhill,Gordos,etc.).However, at the
time of this printing,only Grayhill’s analog modules are compatible with our
control.Other manufacturer’s analog opto modules do not fit into a G4 footprint.
For more information on how to use your Smart Drive’s inputs and outputs in an
application, refer to Chapter 5, Applying the Product , and Chapter 6, ProgrammingCommand Reference , in this manual.
The function of each input and output in your
system is easily configured in the I/O SETUP menus.
- - - â I/O SETUP á- - -
INPUT OUTPUT OPTOS
Once you have your I/O defined,it is a good idea to
write down your configuration scheme for later
reference when you develop your motion programs.
OUTSTS (Output States on Event) allows user configuration of output states after power-up,fault or a
- - - â I/O SETUP á- - -
OUTSTS LIMITS
OUTPUT STATES ON
PWR-UP FAULT ST/K
Stop/Kill.LIMITS allows user configuration of the
EOT (End of Travel) switch polarity.Also a new configurable input CLR CMD
BUFFER “c”has been added.
EDIT
Input Definition [ID]
Default:UUUUUUUUUUUUUUUU
SETUP I/O INPUTS
IN1: EXTEND JOG 1
EBBBKREJUUUUßáâà
The function of each input is easily configured using the keypad as described
below.
The function for each input channel is indicated by a letter along the bottom of
the display.The first 8 letters are for the dedicated Inputs and the last 8 letters are
for the optional OPTO inputs.
OPTO positions configured as outputs are shown as dashes and cannot be
configured without changing the position to an input in the OPTO menu.The
OPTO position’s default configurations are as inputs.(see below).
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:
28
Page 31
Chapter 4 - Configuring Your System
CharacterFunction
BBinary Formatted Program Select
Allows programs to be run remotely using a PLC, switches or outputs from a
computer. Up to 199 programs may be selected using binary inputs.The lowest
numbered input becomes the least significant selection bit (i.e.,input #1 is less
significant than input #2).The act of configuring an input as a program select input
also enables binary program select mode.
CBCD Program Select Input
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 significant selection bit
(i.e.,input #1 is less significant than input #2).
The act of configuring an input as a program select input also enables the BCD
program select mode.
cClear Command Buffer
Clears the terminal input buffer and buffered commmand buffer.
DDisable Keypad
When activated,the keypad is disabled allowing NO user access.The keypad
resumes normal operation,subject to the dipswitch pattern,when the input is
released.
E, eExtend Jog (E specifies AXIS 1, e specifies axis 2)
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-232 will also clear the fault.
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 configured for Jog Speed,the motor will jog at the Jog Low setting.
29
Page 32
B8961 and B8962 User Manual
F,fSet CL Force (F specifies axis 1, f specifies axis 2)
In addition to being able to set a clamping current via the CL command,the user
can also set the clamp curent on the fly based on an input.When the SET CL
FORCE input is asserted during a CL defined move,the control will maintain the
torque the motor is producing at that instant. For example,if the following move is
executing:VE1 CL3 DA3 GO (CL units are Amps),and a SET CL FORCE input is activated when the motor current control is at 1.5 amps,the current will be clamped
to 1.5 amps.If this input is not triggered,the control will clamp the current to 3
amps.The SET CL FORCE input requires a valid CL move to be in progress otherwise the input is ignored.The SET CL FORCE input is intended for applications
clamping to load cell feedback.
HZ axis Home Input
Not yet implemented.
IInterrupt (Run 98)
When activated,motion on all axes is stopped,at the stop-rate (see Edit-Setup-MiscStop-Rate).The current program is stopped,and processing continues with the first
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 configured as Interrupts,only the first edge of the first activated input will be
seen.If subsequent Interrupt inputs go active while the first Interrupt input is
active,no additional interrupts will be seen.
Advanced Interrupt handling can be achie ved using the (INT98CRTL) and (ARM
INT98) variables.The (INT98CTRL) varia ble determines whether Interrupts can be
disabed or not.The (ARM INT98) variable allows you to arm and disarm the
Interrupt as desired.
When the Indexer powers up (INT98CTRL) is initialized to 0.In this mode, evry
interrupt results in an immediate jump to program 98, even if you just entered program 98.This means that it is possible for the interrupt service routine to be interrrupted by another interrupt input.This functionality is backwards compatible with
earlier versions of firmware in 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 reenable them by setting (ARM INT98) =
1.This allows you to control when you want to reenable interrupts in your interrupt service routine (program 98).
To summarize,when (INT98CTRL)=1:
If (ARM INT98) = 0
I n t e rrupts are ignore d .(ARM INT98) is automatically set to 0 by the Smart Dri ve on
the fi rst edge of the input,if the previous (ARM INT98) value was 1. I n t e rrupt pro c e s sing will be suspended until (ARM INT98) is reset to 1.This allows for input debouncing and gi ves teh user control over the ability of pro gram 98 to interrupt itself.
If (ARM INT98) = 1
The system is awaiting the firt INT98 input assert edge.Once the interrupt is seen
the control will go to program 98.Subsequent interrupts are ignored until (ARM
INT98) is set to 1.
30
Page 33
Chapter 4 - Configuring Your System
(INT98CTRL) and (ARM INT98) are reset to default values on power-up.
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 it is ON it will jog at
the Jog High speed.If the input is not configured the jog inputs will result in
motion at the low speed.
KKill Motion
When activated,causes the control to abruptly stop commanding further motion
and terminates program execution.No deceleration ramp is used.Caution should
be used because of the damage instantaneous deceleration could cause to your
mechanical system.The Stop input provides a more controlled halt.(Implemented
in V2.22 or later)
M, mMotor Shutdown: (M specifies axis 1, m specifies axis 2)
This input,only active at the top menu level,while a program is not running,
disables the motor.All current on the motor will be removed, resulting in little or
no holding torque.
NaNalog
Only the OPTO I/O may be configured as analog inputs.To use an analog or
temperature I/O module the I/O position must be configured as an analog input
signal.This tells the Smart Drive that the input is no longer a discrete input and
prevents the input signal from being misinterpreted.
Analog signals are read into input variables (AI9) through (AI16) corresponding to
OPTO positions 9 through 16.See Programming Your Application for details on
using analog I/O.
PPause/Continue
While 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 command
for interrupting moves in progress.
R, rRetract Jog (R specifies axis 1, r specifies axis 2)
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 RS-232 will also clear the fault.
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 configured for Jog Speed,the motor will jog at the Jog low setting.
SStop
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.
31
Page 34
B8961 and B8962 User Manual
See the SCAN setup parameter for more information on stopping program
execution.See the ST command for more information on stopping moves without
halting command execution.
UUnassigned
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.
VData Valid
When the input is configured,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.Configuring this output
can greatly reduce panel wiring.
In the example shown below,use the Data Valid input reduced the number of
wires required for selecting programs by one-half.
WWarm Boot - System Reset
Resets the Smart Drive, 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
defined,will be run.
ZZ Axis Fault
Not yet implemented.
EDIT
SETUP I/O OUTPUTS
Output Definition [OD]
OUT1: Programmable
PPPPPPPP - - - - ßáâà
Default:PPPPPPPP - - - - - - - -
The function for each output channel is indicated by a letter along the bottom of
the display.The first 8 letters are for the dedicated Outputs and the last 8 letters are
for Opto channels configured as outputs.Opto positions configured as inputs are
shown as dashes and cannot be configured without changing the OPTO position to
an output.
1.Use ß and à keys to select an Output or Opto 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 configurations for each channel.See next page.
32
Page 35
Chapter 4 - Configuring Your System
CharacterFunction
AAmplifier Fault
B, bBrake
Cover Current
D, dDirection
FFault
H, hat Home
IIndexer Step (Z axis)
K,kAt CL Limit
LLimit Error
M, mMove Complete
NAnalog Output
PProgrammable
SStall
TTorque Mode
UUnstable
ZZ Direction
AAmplifier Fault
Output goes low on any amplifier fault.An amplifier fault may be due to
temperature,motor short circuits, excessive following error,over-voltage and
excessive regeneration conditions.
B, bBrake (B specifies AXIS 1,b specifies axis 2)
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.Brake
outputs will go on whenever a fault occurs and prevent a load from moving.
COver Current / Over Voltage Fault
Not yet implemented.
D, dDirection (D specifies axis 1,d specifies axis 2)
The Direction Output indicates the direction of motion for a given axis.The output
remains set until motion begins in the reverse direction.
FFault
The fault output acts as a fail-safe fault output.Under normal operation the output
is grounded (ON) and goes high (OFF) when any type of fault occurs.(Smart Drive
software prior to V2.10 had this polarity reversed.) A fault can occur from any
amplifier fault condition as well as for the following general faults:
• BMA (Board Monitor Alarm) time-out.
• Error finding Home.Both limits were hit.
The exact cause of the fault can be determined in a number of ways:
• Shown on the keypad’s display.
• Over RS232 using the SS, SD, and SA status commands.
• Other outputs can be configured to show more specific fault states.
H, hAt Home (H specifies AXIS 1,h specifies axis 2)
The output is on as long as an axis is at home.
IIndexer Step
Not yet implemented.
LLimit 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.
The AT CL LIMIT output will become active when the motor current reaches the
value defined by CL in the user’s program.This output allows the Servo SmartDrive
to indicate to a PLC when it has begun clamping,so that the user may synchronize
the clamping operation with other processes in the application (for example
drilling,cutting,or milling the clamped part).
M, mMove Complete (M specifies axis 1,m specifies axis 2)
The output goes high as soon as an axis move is started and goes low when a
move is completed.
NaNalog
Only the OPTO I/O may be configured as analog outputs.To use an analog output
module the position must be configured as an analog output.This tells the Smart
Drive that the output is no longer a discrete output and assures that the output
signal is sent properly.
Analog signals are set by assigning a value to reserved variables (AO9)-(AO16)
corresponding to OPTPO positions 9 through 16.See Programming YourApplication for more details on using analog I/O modules.
PProgrammable
Unassigned outputs default to programmable and can be used in OT commands.
EDIT
SETUP I/O OPTOS
The output goes low if the control
detects a motor stall.
S Stall
Opto Configuration [OP]
Default:IIIIIIII
OPTO14: Output
IIIIOOOO ßáâà
TTorque Mode
Not yet implemented.
UAmplifier Unstable
Not yet implemented.
ZZ Direction
Not yet implemented.
The OPTOS menu allows you to configure each OPTO I/O position as either an
input or an output.The hardware is protected against damage if you mistakenly
configure an input as an output.
1.Use the ß and à keys to select an OPTO channel.The top line displays
whether the channel is currently configured as an input or an output.
2.Once your cursor is on the desired channel,use áâ to select INPUT or
OUTPUT.
Your I D e a l™P ro gra m m able Smart Dri ve is compatible with almost any manu fa c t u re r ’s
G4 or G5 digital OPTO modules (OPTO-22,Grayhill,Gordos,etc.).However,at the
time of this printing only Grayhill’s analog modules are compatible with our
control.Other manufacturer’s analog modules do not fit into a G4 footprint.
IDC stocks the following Opto modules,which may be specified when ordering an
IDeal™Programmable Smart Drive:
34
Page 37
Chapter 4 - Configuring Your System
Order CodeI/O Module DescriptionOpto-22Grayhill P/N
(p/n)P/N
A (PCB-1210)10-32 VAC/VDC InputG4IDC5
B (PCB-1211)TTL InputG4IDC5K
C (PCB-1212)35-60V DC InputG4IDC5G
D (PCB-1213)90-140 VAC InputG4IAC5
E (PCB-1214)180-240 VAC InputG4IAC5A
F (PCB-1215)5-60 VDC, 3 Amps OutputG4ODC5
G (PCB-1216)12-140 VAC, 3 Amps Output G4OAC5
H (PCB-1217)Output 24-280 VAC, 3 Amps G4OAC5A
I (PCB-1218)Input Test SwitchG4SWIN
J (PCB-1219)0-10 Volt Analog Input73G-IV10
K (PCB-1220)4-20 mA Analog Input73G-II420
L (PCB-1221)0-10 Volt Analog Output73G-OV10
M (PCB-1222)4-20 mA Analog Output73G-OI420
N (PCB-1223)J Type Thermocouple Input,73G-ITCJ
0 to 700˚C
O (PCB-1319)K Thermocouple Input,
-100 to 924˚C
P (PCB-1224)RTD Thermocouple Input,73G-ITR100
100 Ohm
More information on available OPTO modules is a vailable from the Opto module
manufacturer or your local distributor.
EDIT
> SETUP > I/O > OUTSTS > PWR-UP
Configuring Ouput States on Power Up [OEP]
Default:OFF
This option.sets the desired states of the outputs on
power up.
1.Use ß and à keys to scroll throu outputs #1 – #8 and any OPTO positions
configured as outputs.
2.Use the á and â keys to set the output state as OFF or ON and press ESC
to register.
EDIT
> SETUP > I/O > OUTSTS > FAULT
- On PwrUp Output #1 -
ßâOFF áà
Configuring Ouput States on Fault [OEF]
Default:NO CHANGE
This option.sets the desired states of the outputs on a
fault.
1.Use ß and à keys to scroll throu outputs #1 – #8 and any OPTO positions
configured as outputs.
2.Use the á and â keys to set the output state as OFF, ON or NO CHANGE and
press ESC to register.
- On Fault Output #1 -
ßâNO CHANGE áà
35
Page 38
B8961 and B8962 User Manual
EDIT
> SETUP > I/O > OUTSTS > ST / K
Configuring Ouput States on Stop/Kill [OES]
Default:NO CHANGE
This option.sets the desired states of the outputs on
a Stop or Kill.
1.Use ß and à keys to scroll throu outputs #1 – #8 and any OPTO positions
configured as outputs.
2.Use the á and â keys to set the output state as OFF, ON or NO CHANGE and
press ESC to register.
EDIT
> SETUP > I/O > LIMITS
- On ST / K Output #1 -
ßâNO CHANGE áà
Configuring End of Travel Switch Polarity [ET]
Default:NORM CLOSED
This option.allows configuration of the EOT switch
polarity as NORM OPEN or NORM CLOSED to
accommodate the use of either type of switch.
1.Use ß and à keys to select an axis.
2.Use the á and â keys to select NORM OPEN or NORM CLOSED and press ESC
to register.
-- Axis One EOT Pol --
ßâ NORM CLOSED áà
JOG Jogging Configuration
Your IDeal™Programmable Smart Drive’s keypad
gives the programmer (and the machine operator
if desired) a convenient way to jog the motor.
The para m e t e rs which control your jog operation are set using the JOG SETUP menu :
Note:The Units used by the Jog parameters are configured from the SETUP-MECH
menu.
EDIT
SETUP JOG ACCEL
- - - á JOG SETUP â - - ACCEL LO-VEL HI-VEL
- - - á JOG SETUP â - - ENABLE
Jog Acceleration [JA]
- - Axis One Jog Accel
Default:0.3 (Accel Units)
This option sets the acceleration and deceleration used during a jog move.
1.Use ß and à keys to select an axis.
2.Use the numeric keys to enter a new jog accel/decel value in the same units
you selected in the SETUP/MECH/ACCEL menu.
ßO.3 sec à
36
Page 39
Chapter 4 - Configuring Your System
EDIT
Jog Low Velocity [JL]
SETUP JOG LO-VEL
- Axis One Jog Lo-Vel
ßO.5 in/sec à
Default:0.5 (Velocity Units)
This option sets the low speed jog velocity used during a jog move.
1.Use ß and à keys to select an axis.
2.Use the numeric keys to enter a new low jog velocity value in the same units
you selected in the SETUP/MECH/VEL menu.
EDIT
Jog High Velocity [JH]
Default:2.0 (Velocity Units)
SETUP JOG HI-VEL
Axis One Jog Hi-Vel
ß2.0 in/sec à
This option sets the high speed jog velocity used during a jog move.
1.Use ß and à keys to select an axis.
2.Use the numeric keys to enter a new high jog velocity value in the same units
you selected in the SETUP/MECH/VEL menu.
EDIT
Jog Enable [JE]
Default:Enabled
SETUP JOG ENABLE
- Axis One Jog Enable
ß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 operators from accessing them.
1.Use ß and à keys to select an axis.
2.Use á and â keys to enable and disable the function.
HOME Homing Configuration
Your IDeal™Programmable Smart Drive has a built-in
homing function which combines the flexibility of a
customized homing routine with the ease of use of
calling a “ c a n n e d ”p ro gra m .Also see the G H c o m m a n d
in the IDeal Command Reference chapter for more
details on homing.
EDIT
> SETUP > HOME > MODE
Configuring Home Mode [HM]
Default:SWITCH ONLY (Any OPEN LOOP encoder mode)
SWITCH THEN Z (Any CLOSED LOOP encoder mode)
The homing mode parameter establishes how a Go Home (GH) command will
execute homing routines..
1.Use ß and à keys to select an axis..
2.Use the á and â keys to scroll through the list of homing modes and press
ESC to select..
-- á HOME SETUP â -
MODE EDGE SWITCH
- á HOME SETUP â --
OFFSET FINAL
- Axis One Home Mode -
ßâ SWITCH ONLY áà
37
Page 40
B8961 and B8962 User Manual
Homing ModeDescription
SWITCH ONLYGH will only home to the appropriate edge of the home switch
regardless of encoder mode.This is the only mode available without
an encoder.
SWITCH THEN ZGH will home to the switch,align to the edge and then slowly move
until an encoder Z pulse is found.This mode requires an encoder.
Z CHANNEL ONLYGH will slowly move until an encoder Z pulse is found.The state
of the home switch is ignored.The magnitude of the GH velocity
parameter is ignored.The sign of the GH velocity paramter determines the low speed direction.This mode requires an encoder.
SETUP HOME EDGE
EDIT
Home Edge [HE]
- Axis One Home Edge -
ßNEGATIVE à
Default:NEGATIVE
This option selects which side (positive or negative) of the home switch active
region the Smart Drive must find before searching for the index channel of the
encoder.
1.Use ß and à keys to select an axis.
2.Use á and â keys to select the active edge as the positive or negative side of
the home switch.
EDIT
Home Switch [HS]
SETUP HOME SWITCH
Axis One Home Switch-
ßNorm Open à
Default:Normally 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.
1.Use ß and à keys to select an axis.
2.Use á and â keys to select the switch type.(NORM OPEN or NORM CLOSED)
EDIT
Home Offset [HO]
Default:0.0 (Distance Units)
SETUP HOME OFFSET
- Axis One Home Offset
ß0.0 rev à
This option sets the home offset for each axis.After a successful homing move,the
home position (the default home position is +0.0000) is set to the offset value.
1.Use ß and à keys to select an axis.
2.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 pro grams 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 finds 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.
38
Page 41
Chapter 4 - Configuring Your System
EDIT
SETUP HOME FINAL
Home Final Direction [HF]
Default:POSITIVE
Specify the final 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 ß and à keys to select an axis.
2.Use á and â keys to select the final approach direction.
PROG Program-Run Configuration
Your IDeal™Programmable Smart Drive is capable
of running any pre-defined program on power-up,
or whenever a valid BCD or binary program combination is read on inputs
configured as BCD or Binary Program Select inputs (usually from a PLC or thumbwheel switches).The conditions under which these programs execute are defined
in PROGRAM SETUP.
This option selects a power-up program.The selected program is executed (run)
when your Smart Drive is powered up or reset.If a value of 0 is entered in this
menu,or if the specified program does not exist,no program is run.
Use the numeric keys to enter a program number.
EDIT
Scan Conditions [SN]
SETUP PROG SCAN
- - -Stop Scan After- - -
ßá YYYYYYY ESCâà
Default:YYYYYYY
The SCAN menu allows you to select which events will cause the control to stop
scanning program-select configured 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 Smart Drive 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 configured as program select inputs (either BCD or Binary).
1.Each event is represented by one of seven Y/N positions on the bottom display
line.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 á and â keys to enable (Y) or disable (N) the selected event.
39
Page 42
B8961 and B8962 User Manual
EDIT
SETUP PROG DELAY
Scan Delay [DY]
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 1 ms.If program select inputs are not stable for a
time equal to or greater than the specified delay, the program will not be executed.
Use numeric keys to enter a value in ms.
RS232 RS-232C Configuration
If you plan to use the serial communications port on
your Smart Drive, you can use your keypad to turn the auto-echo on and off and set
the unit’s daisy chain address.The baud rate of 9600 is fixed on the Smart Drive.
Fixed RS-232 parameters:
• Baud rate:9600
• Data bits: 8
• Stop bits: 1
• Parity:none
EDIT
SETUP PROG ECHO
Echo Enable [EC]
Default:ENABLED
This option is used to enable or disable the RS-232C echo.If the ECHO is disabled,
characters received by the control’s serial port will not be re-transmitted.ECHO
must be enabled in daisy chaining applications.
Use the áâ keys to enable or disable the ECHO.
- - - Scan Debounce: - DELAY (ms): _
- - - RS232 SETUP - - ECHO UNIT #
- - - - RS232 Echo - - - áENABLED â
40
EDIT
SETUP PROG UNIT#
Unit Number [UN]
Default: 1
Range:(1-99) (Limited to 1-15 in firmware version 1.40 and earlier)
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 for more information on
this type of application.
Use the numeric keys to enter the unit address.
MISC Miscellaneous Configuration Parameters
The following miscellaneous set-up parameters
include auto-formatting of the keypad display, setting
the deceleration rate used with a stop input,or the
ESC key while an axis is moving,and disable/enable
the TEST menus accessible from the RUN function
key.
- - - Unit Address - - -
NUMBER: _
- -á MISC SETUP â- -
DISP STOP-RATE TEST
- -á MISC SETUP â- -
FAULT ENABLE PASWRD
Page 43
Chapter 4 - Configuring Your System
EDIT
DISP [DF]
Default: Quad #1: POS1.
> SETUP > MISC > DISP
Quad #2:POS2 (dual axis units)
BLANK (single axis units)
< Quad #1 >Quad #2
Quad #3Quad #4
----Quad #1 Display ---áINPUTS â
Quad #3:INPUTS
Quad #4:OUTPUTS
Display format allows teh user to customize the data displayed on the keypad run
time screen.The run time screen has been divided into 4,10 character configurable
quadrants.The DISP menu displays labels for teh 4 quadrants with carets (<>)
denoting the selected quadrant.
1.Use the ß,à, á and â keys to move quadrant selection delimiters (<>)..
2.Press ENTER to edit quadrant.
Once a quadrant is selected,there are 16 possible data types that can be displayed
in that quadrant.
Data TypeQuadrant Display
BLANKNo display
POS1Axis #1 position
POS2Axis #2 position
POS1+UNITAxis #1 position with axis units
POS2+UNITAxis #2 position with axis units
VEL1Axis #1 commanded velocity
VEL2Axis #2 commanded velocity
CUR1Axis #1 current in Amps (B896X only)
CUR2Axis #2 current in Amps (B896X only)
INPUTSDiscreet input status (0 of f, 1 on)
OUTPUTSDiscreet output status (0 of f, 1 on)
OPTOSOPTO input and output status (0 off, 1 on) as configured
SA_STATUS1Displays SA serial command response for axis #1
SA_STATUS2Displays SA serial command response for axis #2
SS_STATUSDisplays SS serial command response
TEXTDisplay user defined text in a quadrant
3.Use the á and â key to scroll through the data types and press ESC to register
all data types except TEXT (see below).
4.In order to define a text field,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.
EDIT
Stop Decel Rate [SR]
Default:100 rps2(units fixed at motor rps2)
This option is used to set the deceleration rate for each axis whenever configurable
stop input is activated,or when the ESC key is pressed while an axis is moving.
SETUP MISC STOP-RATE
- Axis One Stop Decel
ß0.1 (rps2)à
41
Page 44
B8961 and B8962 User Manual
This is usually set to the fastest controllable deceleration rate possible with
mechanics in your application.
1.Use the ßà keys to select an axis.
2.Use the numeric keys to enter a stop deceleration.
EDIT
TEST n/a
SETUP MISC
Option currently not
implemented
Default:Enabled
Will be implemented in a future software release.
Enables and disables the RUN-TEST menu.Disable the test menu to prevent
operators from accessing test functions such as I/O operation,trace mode and test
moves.
Use the áâ keys to change the setting.
EDIT
> SETUP > MISC > PASWRD
CONFIGURING KEY PASSWORDS [PW]
Default:None
In addition to the keypad dip switches,user definable passwords allow restricted access to the RUN,EDIT, COPY and DEL menus.
1. From the PASWORD SETUP menu,press F1 to enter an OPRATR password or
press F2 to enter an ADMIN password.
2.Enter password using a maximum of 4 alpha-numeric characters only (0-9,A-Z
and a-z only).See S696X,B896X and 96X manuals on how to enter alpha-numeric data on the keypad.
--- PASSWORD SETUP ---
OPRATR ADMIN CLEAR
3.Press ENTER to register the password and ESC to exit.
Defined PasswordsMenu Accessibility
ORATR onlyRUN,EDIT, COPY, DEL
ADMIN onlyRUN, EDIT, COPY, DEL
OPRATR with ADMINRUN only (All RUN functions except TEST)
ADMIN with OPRATRRUN, EDIT, COPY, DEL
If no passwords are defined,there are no menu
restrictions.If passwords are defined,pressing RUN,
Enter Password:
>
EDIT, COPY or DEL will display the password
prompt.Entering the wrong password or pressing ESC at the password prompt
will return the keypad to the standard run-time display. Selecting EDIT > SETUP >
MISC > PASWRD > CLEAR will delete all passwords.
NOTE: Once a valid password is entered,the password prompt is replaced by the USE LAST, RESET
USE LAST RESET
Password
prompt.Select USE LAST (F1) to use the last entered
password or RESET (F3) to require the password to be reentered (i.e. require the
next user to enter the password).This allows for subsequent use of the RUN, EDIT,
COPY and DEL keys without requiring the pass word to be entered each time.
42
Page 45
Tuning Your Servo System
Your B8961 or B8962 IDeal™Programmable Smart Drive is a high-performance
servo drive and motion controller in a single package.Your entire servo “system”
includes the Smart Drive,motor and encoder.The encoder provides motor position
and velocity feedback to the Smart Drive.You create a motion program using the
IDeal programming language.The Smart Drive generates move trajectories and
motor torque based on your high-level commands,which tell the motor where to
go.It also takes care of closing the servo loops,which force the motor to follow
the velocity and position profiles.
Since the B Series Smart Drive is a fully digital drive,motor data must be
downloaded to it prior to operation.When an IDC MOTOR TYPE is selected from
the EDIT/SETUP menu in the Keypad or Application Developer, motor data and
tuning parameters are downloaded from the controller’s non-volatile memory,to
the drive’s on-board memory.This data includes motor winding information,pole
count,and encoder resolution.These files also contain default tuning parameters.
The tuning parameters have been optimized for use with IDC motors and
actuators.They work very well with inertia ratios up to about 15 to 1.Most
applications,in fact over 80%, require NO ADDITIONAL TUNING.
The B Series Smart Drives also allow you to monitor the performance of the drive
during machine integration.Each axis has an analog Monitor Port that can be
configured to output position and velocity error,as well as commanded velocity,
commanded torque,and actual torque,in real time,scaled to user defined units.The
Monitor Ports,along with an oscilloscope,make a powerful diagnostic tool.The
Monitor Port is a 12 bit analog signal,updated at 2 kHz.
Chapter 4 - Configuring Your System
IDC’s DSP-based servo Smart Drives use an easy-to-understand digital servo
algorithm,so tuning is straightforward.You also have the option of invoking two
additional proprietary algorithms,Anti-Hunt and Inertial Anti-Windup which may
further improve your system’s performance.
Your Smart Drive can be completely tuned with just the keypad and an
oscilloscope.(Even the oscilloscope is optional for less demanding applications.)
The keypad has two built in tuning functions.The first configures and scales the
monitor output port.This allows you to view, on an oscilloscope, real time velocity
and position error. No more “guessing”at the best tuning values.The second
function outputs a torque, velocity, or position command square wave to the motor
and mechanics.This extremely demanding move profile makes it easy to determine,
and minimize, overshoot and response time.
Compensator
43
Page 46
B8961 and B8962 User Manual
Before starting the tuning procedure,it is important to have a general idea of the
control loop that you will be modifying.The structure of the B8000 control loop is
very simple.The loops are nested similar to a traditional analog servo system.
Because of this structure,the basic procedure for tuning a B Series Smart Drive is
generally non-iterative.A simplified schematic of the proportional - integral - velocity loop (PIV) compensator is shown below.The compensator also contains velocity
and acceleration feedforward terms that are not shown.
If tuning is needed for your application,it is a straightforward process.Please note
that an oscilloscope is required to do any more than the roughest tuning.If an
oscilloscope is not available,it is unlikely, except in very high inertia mismatch
applications,that modifying the default tuning parameters will result in increased
performance.
Tuning your system is a simple 3 step process.Each servo loop, velocity, position
and integral, must be tuned.Because of the implementation of the B8000 digital
servo algorithm this tuning process is non-iterative.The loops are tuned from the
inside out.The torque loop is motor/bus voltage dependent and is tuned at the
factory.
1.Tune the velocity loop using a velocity toggle.
2.Tune the position loop using a position toggle.
3.Tune the integral loop using a position toggle (optional)
Details on how to do this are covered below and,in much greater detail,in the
Servo Tuner manual.IDC also recommends accessing Servo Tuner’s on-line help
utility for the most up-to-date tuning procedures and hints.
RS-232C Users
Servo Tuner users will find that the S e rvo Tuner manual presents mu ch of the same tuning information
that is in this section.Please reference Chapter 7 for
details on configuring a Smart Drive for RS-232 tuning,and the Servo Tuner manual
included with this product for detailed tuning information and strategies.
Pressing the EDIT key followed by the TUNING function key produces a menu that
looks like this:
Selecting RS-232 allows you to enable servo tuning via the Servo Tuner software.
Servo Tuner also has an Select/Axis1 or Axis 2 pulldown menu to access Smart
Drives without keypads.We provide this menu option to keypad users because
there are additional tuning aids available with our Windows-compatible ServoTuner software.
- - - - - TUNING - - - - -
AXIS1 AXIS2 RS232
44
Page 47
Key Pad Tuning
The Keypad tuning utilities were designed to mimic most of the capabilities of
IDC’s Servo Tuner software,but in a menu structure format.The default gain
parameters generally provide adequate performance.If your application requires
exceptional performance,whether it be low velocity ripple, fast settling times,or
no steady state position error, you will may need to modify these standard gain
parameters.
The keypad menu tree is shown below. Explanations on the use of the TORQUE,
VELOCITY, and POSITION toggles can be found in the Servo Tuner manual.The
same basic strategies presented there,apply to keypad based products as well.
Keypad Tuning Menu Tree
Axis Sub-Set-upDescription of Set-up Parameters
MenusParameters
GAINSKVVelocity Gain
KPPosition Gain
KIIntegral Gain
KFAFeed Forward Acceleration Gain
KFVFeed Forward Velocity Gain
Chapter 4 - Configuring Your System
TOGGLETORQUETorque toggle (magnitude and period)
VELOCITYVelocity toggle (magnitude and period)
POSITIONPosition toggle (magnitude and period)
There are five user accessible servo GAINS, available
to tune your system.The gains are described below.
1.Use an F1,F2,or F3 to highlight the gain you wish to change.
2.Use the áâ keys to switch to the other menu.
3.Use the numeric keys to Enter a new value for the gain that is highlighted.
If you need to tune your system,the fastest way to get top performance out of it is
to tune it from “scratch.” Set all your gains to zero,and follow the procedure
outlined above,or in the Servo Tuner manual.
TUNING AXIS GAINS
CAUTION: This procedure does not work on load with steady
state forces (such as gravity in a vertically oriented application).
Call IDC for details on tuning these difficult loads.
áKV=1537 â
< KV > KP KI
áKFA=0 â
< KFA > KFV
45
Page 48
B8961 and B8962 User Manual
Toggle Tuning Stimulus
EDIT
TUNING AXIS TOGGLE
1.Pick type of toggle;Press F1 to select a velocity, position,or torque toggle.
2.Magnitude of toggle.Press F2
• Torque:% of max torque
• Velocity:RPM
• Position:steps (8000 steps/rev)
3.Period of toggle (in msec).Press F3
4.Start toggle.
Your motor and system will start moving when you press the RUN key.The toggle
is stopped with the STOP (ESC) key.You can disable the amplifier by pressing the
DEL key.Pressing DEL a 2ndtime will enable the amplifier. If your system goes
unstable because of too aggressive a toggle,or because of improper gain settings,
disabling the amplifier is the only way to stop the out of control oscillations. Just
pressing the ESC key and stopping the toggle won’t stop an unstable system.These
same toggle “hot”keys are active in the GAIN sub-menu so tuning changes can be
made and evaluated while the system is actually moving.
CAUTION: The toggle generates instantaneous torque, velocity,
and position commands. The amplifier and motor will not be
damaged, but your mechanics may be damaged by these very
aggressive moves.
POS |0 |0
MODE | STEP | MSEC
Monitor Monitor Port
EDIT
TUNING AXIS TOGGLE
1.Press MODE (F1)
2.Pick parameter to monitor with the á and â
buttons.Choices include actual velocity,
commanded velocity, position error, and actual
torque.
3.Press RANGE.Enter the range of values you want to monitor.The units depend
on the parameter being monitored.
Connect your oscilloscope to Mon 1 (or Mon 2 for axis 2) and Mon Ref to view the
selected parameter.This output is updated at 2kHz anytime the Smart Drive is
powered up.Actual torque and velocity can be recorded while the program is
running and the axis are moving.
Anti-Hunt (NOHUNT) and Inertial Anti-Windup
(WINDUP) are two additional servo compensation
algorithms which you can utilize with your Smart
Drive.Details on these proprietary algorithms are
provided in the Servo Tuner manual.
-----EDIT MONITOR----MODE RANGE
-- á TUNING AXIS 1 â NOHUNT WINDUP
46
Page 49
Chapter 5 - Programming Your Application
Programming Your Application
The purpose of this chapter is to provide information that will help programmers
begin developing applications with the SmartDrive.There are also several practical
examples that can be copied and modified.Other program examples are available
from the Application De veloper disk set (see DEMOS.idc).
Smart Drive Programming Overview
Before beginning to develop a machine control program with a SmartDrive,the
user must decide how the SmartDrive fits into the overall machine control hierarchy.There are three basic ways SmartDrives are used.They can be used in a standalone mode where the SmartDrive controls all the I/O and motion on a machine.
They can also be used with a PLC,where the PLC runs the machine and just calls
on the SmartDrive,via program select lines, for motion.Thirdly, they can be used in
a ìhostedî mode with a PC.In this mode no programs are stored in the SmartDrive,
the PC downloads a string of commands at execution time.
The information in this chapter applies to all three modes of machine control.The
SmartDrive uses a sequential,interpretive,command processor.This means that
commands in a program are executed one at a time,and that the action called for
in one command must complete before the next command is processed.
Example:[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.The state changes on outputs 1 and 2 happen at the same time.
The programmer can control the flow 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
IDC’s IDeal Command language is easy to remember and powerful.Command
descriptions are also available on-line using the HELP key within the ApplicationDeveloper program editor.
If you need help with basic keypad operation,please refer to Chapter 4 - Using theKeypad , and Chapter 5 - Configuring Your System .
47
Page 50
B8961 and B8962 User Manual
Command Summary
The chart below lists all the IDeal commands that can be stored and executed as a
part of a program.In Chapter 8,Programming with Serial Communication, there
is more information on serial commands,such as Setup,Immediate Status,
Supervisory Commands,and “Commands Not Available in Hosted Mode.”
Command DescriptionCommand Description
AC
BR
DA
DC
DE
DI
EA
EB
EN
FK
GH
GI
GO
GP
GS
GT
Acceleration
Break
Distance Absolute
Distance to a Change
Deceleration
Distance Incremental
Enable Amplifier
End of Block
End of Routine
Function Key
Go Home
Go Immediate
Go (Start a Move)
Go Point
Gosub
Go to
IV
LP
LU
LW
MC
MS
ON
OT
RG
SP
SQ
ST
TD
VE
WT
“ “
Input Variable
Loop
Loop Until
Loop While
Move Continuous
Message to Display
On Command
Output
Registration Move
Set Position
Square Root
Stop on Input
Time Delay
Velocity
Wait
“Message to Serial Port”
IF
If Then
48
Page 51
Variables and Arithmetic
Variables
The Smart Drive will accept a variable in a command instead of a constant.
Variables may be used in:
• 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
Legal Variable Names
The Smart Drive allows you to create descriptive variable names,as opposed to V1,
V2,etc.Variables can be up to 14 characters,but the first 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
e n closed in pare n t h e s i s ,( va ri able name).Pa renthesis are not legal va ri able ch a ra c t e rs .
Chapter 5 - Programming Your Application
The standard software allows for up to 100 variables.All variables are stored as
fixed point numbers.All variables are global.All standard variables are volatile,
though non-volatile variables are available as well.
49
Page 52
B8961 and B8962 User Manual
Built-In Variables
The following variable names are predefined in the control. They can be used
throughout your programs in expressions,to set voltages,to test conditions,or
even to display information on the keypad screen or some other external serial
device.
Variable NameDescriptionType
(AI9) thru (AI16)Analog Input 9 thru 16Read Only
(AO9) thru (AO16) Analog Output 9 thru 16Write Only
(AROWREL)Current status of any of the four arrow keysRead Only
(CPOS1), (CPOS2) Commanded Position of axis 1, 2Read Only
(EPOS1), (EPOS2) Encoder Position of axis 1, 2Read Only
(POS1), (POS2)Current Position of axis 1, 2Read Only
(VEL1), (VEL2)Commanded Velocity of axis 1, 2Read Only
(EE1) thru (EE20)
(FKEY)
(LASTKEY)
(TERM)
(1TW)
(2TW)
(TIME)
(CRCS)
(CRCP)
(SA1), (SA2)
(SD1), (SD2)
(SS)
(INT98CTRL)
Non-volatile, limited use, user system
variables
Value of Function Key pressedRead Only
Value of last Function key pressedRead/Write
Sends variable out RS-232 portWrite Only
Scans inputs 1-4 for BCD DigitRead Only
Scans inputs 1-8 for BCD DigitRead Only
Elapsed Time (ms) since power up
or since reset
Value of the EEPROM setup checksumRead Only
Value of the EEPROM program checksumRead Only
Integer value of the status of axis 1-2
(See RS232 command SA)
Integer value of the drive status of axis 1-2
(See RS232 command SD)
Integer value of the system status
(See RS232 command SS)
Enables/disables (ARM INT98) trigger
option - Refer to Ch. 5, Configuring Your
Inputs, Input Descriptions, Input I.
Read/
Limited Write
Read Only
Read Only
Read Only
Read/Write
Read/Write
(ARM INT98)
50
Enables/disables INT98 input if
(INT98CTRL) is enabled
Read/Write
Page 53
Chapter 5 - Programming Your System
Examples of Built-In Variables
• (PIECES)=10Assigns 10 to variable
• (SPEED)=(AI12)*(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
• (TERM)=(POS1)Sends the current position of axis 1 out
• (TEMPERATURE)=(AI9)Reads in temperature from analog input
• (AO15)=4012Sets the analog output to 4012
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 ar row keys is being held down.
(AROWREL) = 1 The arrow key has been released.
keypad screen
the RS-232 port of the SmartDrive
(AROWREL) will return k ey 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 ar row 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
LP
IF(AROWREL)=1{Check status of ar row key}
VE0 {Stop MC move on key release}
GO
GT1{Return to main program}
EB
EB{End loop block}
51
Page 54
B8961 and B8962 User Manual
Non-Volatile Variables
The non-volatile variables (EE1)-(EE20) are twenty user accessible variables that
retain their values through power cycles, warm boots,and system resets.Standard
user variables are reset at power down or reset.Each time one of these variables is
changed (i.e.used on the left side of an equal (=) sign,the new value is written to
and stored in the user non-volatile EEPROM.
Caution must be observed when using these variables. Since EE
have a limited read/write lifetime (100,000 writes before failure),
variable values that change frequently should not be stored as EE
system variables. Examples include loop-count variables, and
POS1 and POS 2 variables. The SmartDrive will allow only 1,000
EE writes between power cycles. This limit has been set to prevent a simple programming mistake or misunderstanding from
permanently damaging the SmartDrive’s 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.
CAUTION
The EE 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 EE varia bles,but does not generate any writes
to the EE,so the lifetime of the EE is not compromised.
[Set-up]
MS1,”Feed length?:”Writes string beginning at character 1,top line
IV12,(LENGTH),1,15Loads the part length into volatile user variable
(LENGTH)
MS1,”Feed Speed?:”Writes string beginning at character 1,top line
IV12,(SPEED),.05, 5Loads the speed into volatile user variable (SPEED)
(EE1)=(LENGTH)Loads the length into non-volatile system variable (EE1)
(EE2)=(SPEED)Loads the speed into non-volatile system variable (EE2)
EN
[PARTS][PARTS] runs on power up,unless new parameters
are entered.
(LENGTH)=(EE1)Load the part specific variable from the non-volatile
variables.
(SPEED)=(EE2)
LP(NUMBER)Loop (NUMBER) of times
DI(LENGTH)Move (LENGTH)
VE(SPEED)at (SPEED) velocity
GO
OT1 TD.1 OT0Toggle output to indicate part done
EBEnd the loop Block
52
Page 55
Chapter 5 - Programming Your Application
Arithmetic Operands and Equations
The SmartDrive supports addition (+),subtraction (-), multiplication (*),and division (/).Expressions may only contain one operand.Complex equations require
multiple statements. Variables and fixed 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)
Do not enter:
• (X)=1+2-3This statement is not legal,because it has more
than one operand.
• (Length)=(Total)*.03125The Smart Drive fixed 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)+2or(X)+=2
(X)=(X)-3or(X)-=3
and
• (Length)=(Total)*3.125Multiply by the significant figures.
• (Length)=(Length)*.01Then move the decimal place.
• or (Length)=(Total)/32The SmartDrive fixed point variable storage
supports 4 characters to the right of the
decimal place (32 bit storage of fractional
decimal number).
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 specific bit
from an SD (Tell Drive Status) 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:
The 16 corresponds to an integer weight of bit #5 (10000) since you wish to
“mask”out the enable bit.
53
Page 56
B8961 and B8962 User Manual
Logical Operations on Expressions (&&,||)
Conditional commands (IF,WT, LU, LW) support logical operations of AND (&&)
and OR (||).Two expressions may be logically AND’d or OR’d within one conditional command. For example:
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 first time.
(Variable Name)++Increments a variable value by 1
(Variable Name)+=nIncrements a variable value by n
(Variable Name)--Decrements a variable value by 1
(Variable Name)-=nDecrements a variable value by n
Expressions
The SmartDrive supports five 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 flow or wait for
an analog input to meet a condition.The > and < symbols are entered into the key-
pad editor with the ALPHA+↑+↑....↑
Examples:
IF (X)>10 GS20 EBIf 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.
54
Page 57
Chapter 5 - Programming Your Application
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
Multi-axis Operation
IDC’s IDeal command language is intuitive, yet powerful enough for difficult applications.The SmartDrives allow you to make multi-axis,synchronized,moves or multiple independent moves that start at the same time.
Simple GO Commands
The most intuitive and simple programs utilize the GO commands.Motion parameters for each axis are separated by commas. Motion parameters consist of the AC,
DE,VE and either DI or DA command.These four parameters completely define the
commanded motion profile.The last parameter used by an axis is stored in a table.
The GO command uses the last DI or DA command processed to determine which
axes move and how far they move. For example:
55
Page 58
B8961 and B8962 User Manual
AC2,5Set acceleration of both axes
VE10,3Set velocity of both
DI9,-3.1Set distance of each axis
GOStart both together
DI9Moves only axis 1 because the last D command
GOonly had a parameter for axis 1
DI,2Moves only axis 2 because the last D command
GOonly had a parameter for axis 2
In the first move in the example,the GO command is used to start multiple axes at
the same time.The move profiles for each axis are independent.While axes start at
the same time,the moves are independent and will follow their respective accelerations and velocities,though the axes may not stop moving at the same time.
The Go Point (GP) command allows you to move two axes along a linear path that
starts and stops at the same time.The control uses the most recent value in axis 1,
the first parameter, to specify the AC,VE,and DE values along the path (see example 1 below).In most cases, your program will be easier to understand if you redefine these parameters as a single value for the path (see example 2 below).GP uses
the last distance value for each axis to determine the end points of the linear
move.The two examples below result in identical GP moves.
Example 1:Example 2:
AC2,3AC2
VE4,10VE4
DE.5DE.5
DI5,6DI5,6
GPGP
GO and GI commands support additional parameters providing more advanced features.The additional parameters allow you to:
1.Start each axis based on different conditions.
2.Start one axis with an input while another is moving.
3.Start one or more axis moving based on one input.
4.Start different axis based on dif ferent inputs.
5.Reduce the size of a program by using fewer “move”commands.
GO supports an extended syntax to allow these other move specifications.
GOi,i or GIi,i
i = 0-16,integers only
The extended syntax always explicitly defines which axes will move.Only those
axes which have an active input defined by i will move,and the last move parameters will define the shape and length of the move profile.
An axis will start moving when the input defined by i turns on. You can start different axes at different times by using different integers (i) for each axis.
Setting i = 0 will explicitly define which axis will move when a GO command is
processed.(See the examples below for more clarification.)
56
Page 59
Chapter 5 - Programming Your Application
The last move parameters used to define a move profile are saved.This saves program space in applications where sections of code repeat the same moves.The DI
or DA command is the only motion parameter that needs to be repeated.A stairstep pattern is one example of this.
Using different i’s for each axis allows you to start one axis and wait for an input
on another,or start both based on different inputs.See the examples below for
more clarification.
Examples:
GOMoves all the axes defined in the last DA
or DI command
DI3 GOMove only axis 1
DI3,4 GOMove axes 1 and 2
DI2,2 GO,0Move only axis 2, even if the last DA or DI
command defined both axes
DA(Part 1),(Part 2)
GO4,5Move axis 1 once input 4 is activated,
axis 2 once input 5 is activated
GO4,4Move axis 1 and 2 once input 4 is activated
57
Page 60
B8961 and B8962 User Manual
Typical Programming Examples
The following program examples will show how the IDeal command language can
be used to perform simple tasks.There are more extensive and elaborate example
programs in the DEMOS.idc file that came with your Application Developer disk
set.
To aid your program documentation,comments can be placed in brackets {comment}.These comments are stripped out of 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,3Waits for a Function Key to be pressed
(FKEY)=(FKEY)+50Add an offset to FKEY
GT(FKEY)Goto program #51,52,or 53.(50 + 1,2,or 3)
Fast In, Slow Feed Move (Using the Distance to Change (DC) command)
AC.05 Set acceleration
DE.09 Set deceleration
VE50Set first velocity
DA6 Set total move distance
DC5.5 Set point where you want to change speed
VE5Set second speed
GOStart the move profile
58
Page 61
Chapter 5 - Programming Your Application
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
OT01Connect ground of first two BCD digits
(4 DIGIT BCD)=(2TW)*100Make value of first two digits the MSB
OT10Connect ground of 2nd two BCD digits
(4 DIGIT BCD)=(4 DIGIT BCD)+(2TW)Add value of 2nd two to 1st two * 100
Reading an Analog Input
The value of the analog system variables (AI9-16) are scaled from 14,400 to 72,000
Hz.This value is actually a scaled frequency read by the SmartDrive.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 scale number you use will depend on which analog input you are using.
For example:a "J" thermocouple uses a different factor than a "K" thermocouple.
Example:Using a 0-10 VDC analog input.0V=14,400;10V=72,000 or 5,760 Hz/volt.
(VOLT)=(AI12)Read the value of analog input 12 into
(VOLT)=(VOLT)-14400Remove frequency offset
(VOLT)=(VOLT)*1.736Scaling factor multiplied by 10,000
(VOLT=(VOLT)*.0001Scaling 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)=(AI9)Read in temperature from analog input
WT(AI12)<45000 GOWait for analog input 12 <45000 (<5.3 VDC
IF(AI12)<45000 GO EBGo if analog input 12 < 45000
variable volts
using the previous example) before moving
59
Page 62
B8961 and B8962 User Manual
Configuring an Analog Output
The analog outputs of SmartDrives are 12-bit outputs.The value of the analog output is scaled to this 12-bit (0-4095) resolution.If you have a 4-20 mA output you
will have an output resolution of .004 mA.
The output value is set with the system variable (AOn). n=9-16
The value of n corresponds to the OPTO position of the analog output.
To configure an OPTO position as an analog output:
1.Configure the position as an output using EDIT > SETUP > I/O > OPTOS.
2.Configure the output position as analog using EDIT > SETUP > I/O > OUTPUT.
The analog system output variable has a range of 0-4095 (12 bits).0 is the minimum output and 4095 is the maximum value of the analog module you are using.
Example:
4-20mA output module,0= 4mA,4095=20mA,
(AO15)=256Sets the analog output to 5 mA
60
Page 63
Programming Commands
This chapter defines,in alphabetical order, all of IDC’s IDeal™commands that can
be used in a program.Please refer to Chapter 4, Using the K eypad, 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 defined in Chapter 8, Programming with SerialCommunication , 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 defined according to the following example:
DIDistance Incrementalsyntax - DI±r,±r
Units:selected from the EDIT > SETUP > MECH menu (n/a if no units)
Range:unit scaling dependent (n/a if no range)
Default:If the command has a default,it will be listed here
(n/a if there is no default)
DI specifies 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.
Chapter 6 - Programming Commands
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
61
Page 64
B8961 and B8962 User Manual
CommandDescription
Summary of IDeal™Commands
ACAcceleration
BRBreak
DA
DCDistance to a Change
DEDeceleration
DIDistance Incremental
EA
EB
ENEnd of Routine
FKFunction Key
GH
GI
GOGo (Start a Move)
GPGo Point
GS
GT
IFIf Then
IVInput Variable
LP
Distance Absolute
Enable Amplifier
End of Block
Go Home
Go Immediate
Gosub
Go To
Loop
62
LU
LWLoop While
MCMove Continuous
MS
ON
OTOutput
“__”“Message to Serial Port”
RGRegistration Move
SP
SQSquare Root
STStop on Input
TDTime Delay
VE
WT
Loop Until
Message to Display
On Command
Set Position
Velocity
Wait
Page 65
Chapter 6 - IDeal™Command Reference
ACAccelerationsyntax - ACr,r
Units:sec,rps2or unit/s
(selected from the EDIT > SETUP > MECH menu)
Range:unit scaling dependent
Default:n/a
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 specifically
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 profile.Use DE if you want a different
deceleration rate.Subsequent moves will use the last DE or AC value specified.
Examples:
AC2VE12 DA3 GOSets acceleration and deceleration to 2.
DE.5 VE12 DA6 GO Accel stays at 2,decel changes to 0.5.
VE20 DA0 GOAcceleration and deceleration remain at 2
AC4 DA2 GOAcceleration and deceleration become 4.
DE3 AC1 DI3 GODE reset to 1 by AC1 before the move is made.
2
and 0.5.
BRBreaksyntax - BR
Units:selected from the EDIT > SETUP > MECH menu
Range:unit scaling dependent
Default:n/a
The Break command instantly “breaks”a loop block in which it is defined and continues program execution from the loop’s terminating EB command.This allows for
more complex loop conditioning than LU or LW commands.
EB
(A)++{Increment variable A by 1}
EB{BR command jumps here}
MS1,”A is greater than 10”{Display message}
63
Page 66
B8961 and B8962 User Manual
DADistance Absolutesyntax - DA±r, ±r
Units:selected from the EDIT > SETUP > MECH menu
Range:unit scaling dependent
Default:n/a
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 DA3GO Moves to absolute position 3 units.
DA3 GO DA3GO Moves once to absolute position 3 units.
DCDistance to a Changesyntax - DC±r, ±r
Units:selected from the EDIT > SETUP > MECH menu
Range:unit scaling dependent
Default:n/a
DC is used to define a complex, multiple velocity move profile,or to change an
Output at a specific point during the move.It defines a position at which a change
will occur,“on the fly,” while the motor is still moving.At the specified position you
can change the velocity or change the state of one or more outputs.
The DC command must follow a DA or DI command which specifies 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 specified as a positive number.When multiple DC’s are specified within an incremental move (DI),the incremental distance specified 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 clarification.The stan -dar d software supports a maximum of 20 DC commands within a move profile.
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 finished execution is
invalid and can cause unpredictable results. For example,the following programmed move profile 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:
64
Page 67
Chapter 6 - IDeal™Command Reference
Where n is the cur rent 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 first DC specified in a move profile, n-1 would correspond to the
beginning of the move).
In the following move profile,AC units = seconds,VE units = RPS (see illustration):
AC1.6 DE0.8 VE5 DA20 DC10 AC2.5 VE3 DC? VE2.5 GO
Using the DC formula and solving for DCn,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 verified 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 DCnin 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 profiles:
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 DC3VE15 GO
Move to absolute position 6 units with a starting speed of 30.At 3 units, reduce
speed to 15 (change-on-fly) and complete move.
AC1 DE.5 VE20 DI-8 DC1 OT10 DC3 OT01 GO
Move an incremental distance of negativ e 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 DC5VE10 DC5VE5 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 final position is reached.
AC.1,.1 VE10,20 DI10,10 DC5,5VE20,10 GO
Move an incremental distance of 10 units on axis 1 and 2.After 5 units on axis 1,
ramp up to a speed 20;after 5 units on axis 2, ramp down to speed 10.Note that
these velocity changes both take place after 5 distance units,but they do not take
place at the same time.
Sets the deceleration ramp on all negative velocity changes. The deceleration value
will be the same as the acceleration value unless a deceleration is specified.The
value set will be used on subsequent moves unless it is re-specified by either an
acceleration (AC) or deceleration (DE) command.
Examples:
AC2 VE12 DA3 GOSets acceleration and deceleration to 2.
DE.5VE12 DA6 GOAccel stays at 2 and decel changes to 0.5.
VE20 DA0 GOAcceleration and deceleration remain at
AC4 DA2 GOBoth acceleration and deceleration become 4.
DE3 AC1 DI3 GOAC1 sets both the accel and decel to 1.
2
2 and 0.5.
DIDistance Incrementalsyntax - DI±r, ±r
Units:selected from the EDIT > SETUP > MECH menu
Range:unit scaling dependent
Default:n/a
DI specifies 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.
66
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 final absolute position is -1.0000.
EA sets the state of the amplifier enable signal.The polarity can be changed in EDIT
> SETUP > MISC > ENABLE.
Example:EA0Disables the amplifiers on axis one and two.
Page 69
Chapter 6 - IDeal™Command Reference
EBEnd of Blocksyntax - EB
Units:n/a
Range:n/a
Default:n/a
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 EBPerforms the move twice
IF1,1 DI5 GO DI10 GO EB GH3If input 1 is On,make 2 moves before
homing. If input 1 is Off, jump to the GH
command.
ENEnd of Routinesyntax - EN
Units:n/a
Range:n/a
Default:n/a
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
defined).
The EN command can be used anywhere in a program to stop command execution.
Example:
IF2,1 EN EB DI2 GOIf input #2 is on,stop the program,or return
to the calling program.If not,move 2 units.
FKFunction Keysyntax - FKi,i,...i
Units:n/a
Range:i = 1-28
Default:n/a
Note:24,the ESC key, cannot be assigned since it stops a program.
The FK command allows you to redefine a keypad key function within your pr ogram.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 redefine the keypad function keys as operator menu selection buttons.You can even write your
program with menus that look and feel like our 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.
67
Page 70
B8961 and B8962 User Manual
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 defined in the FK statement are considered valid.
3.Gosub to the appropriate program.
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,18Wait 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.
ENEnd of Routine
Program 18:
[SCREEN 2]
MS21,”Part D Part E Part F”Writes a message above F1,F2,F3.
FK1,2,3,17,18Wait 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)+3Add 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
68
Page 71
Chapter 6 - IDeal™Command Reference
Program 17:
[SCREEN 3]
MS21,”Part G Part H Part J”Writes a message above function keys.
FK1,2,3,17,18Wait 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)+6Add offset to FKEY variable to goto
correct part subroutine
GT(FKEY)Jumps to part G, H,J in program
#7,8 or 9
ENEnd 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.
GHGo Homesyntax - GH±r,±r
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
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 (±) specified until it
either finds a home limit switch or determines that it cannot find one between the
two end-of-travel limit switches.The Go Home move uses the last acceleration and
deceleration specified.
The exact homing routine used,and the ultimate end position of your system’s
home reference,depends upon the values of your EDIT > SETUP > HOME parameters (edge,level, final approach direction,and offset,) and whether or not you have
specified open or closed loop moves in the EDIT > SETUP > ENCODER menu.
The control will reverse direction when the first 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 specified (edge,
level, final 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 first sense the edge of the
switch defined in the Go Home SETUP menu.It will then decelerate the motor to a
stop at the last defined deceleration rate.The final homing motion will now be
determined by the Go Home options selected in the SETUP menu.
The final homing direction dictates the direction from which the final approach to
the switch is made.The edge selected will determine from which side of the home
switch this final approach will be based.In a “closed loop”mode Go Home routine,
the control will additionally slow to a creep,accelerate and stop when it sees the
encoder’s“Z”Marker Pulse after seeing the reference edge of the switch.If a mark-
69
Page 72
B8961 and B8962 User Manual
er pulse is not seen within one motor revolution after the reference edge of the
switch is seen,the final homing routine will be aborted.
Note: Homing Mode directly affects or reconfigures the function of the GH command (see “Configuring Your Home Parameters”in Chapter 5).
Examples:
AC.5 DE.5 GH-20Go Home in the negative direction at a speed of 20
AC.5 DE.5 GH20Axis one Go Home in the positive direction at a speed
of 20.
Axis two Go Home in the positive direction at a speed
of 18.
Application Note from the IDC Applications Engineering Group Regarding Simultaneous 2-Axis Homing Routines (e.g. GH5,5)
When the move is executed,the control looks at the Home 1 and Home 2 inputs.
This homing routing has three phases:
1.Going Home (initial move toward Home switch).
2.Shuttle Move (reverse and search for first switch edge).
3.Low Speed Home (move to final switch edge - positive or negative).
Both axes will not complete their homing routines independently.When a Home
switch is triggered on axis 1, for example,axis 1 stops and waits for axis 2’s Home
switch to be triggered.Basically, the homing routine will not move to the next
phase (Shuttle Move or Low Speed Move) until both axes have completed the current phase.
If type “H”and “h”outputs (At Home 1 and At Home 2) are being used,they will
both turn on when the entire homing routine has been completed,not individually.
GIGo Immediatesyntax - GI or GIi
Units:n/a
Range:n/a
Default:n/a
The GI command begins a defined move profile in the same manner as the GO
command.Unlike the GO command,where program execution waits until all
defined moves have terminated,GI allows program execution to continue once the
move has begun.This allows for other program defined 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 finish 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.
70
Page 73
Chapter 6 - IDeal™Command Reference
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.
B.For multi-axis systems,GI allows moves within a move. For example:
VE1 DA100 GI LP5 VE,10 DI,5 GO EB
C. 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.
71
Page 74
B8961 and B8962 User Manual
D. Another issue is programming conditional GI moves within IF blocks, for exam-
ple:
LP IF1,1 VE5 DI20 GI OTXX100 EB IF2,1 MC,+ VE,10 GO EB IF3,1 VE,0
GO EB EB
In this program,when input #1 is asserted,the GI move will be commanded,however, since the program will continue executing,input #1 may still be asserted on
the next loop iteration.This will cause a second GI move to be commanded which
may be undesirable.To avoid this situation,the addition of a WT1,0 after the IF1,1
will ensure that input #1 is only seen once since it has to be deactivated to allow
the program to continue.
E.DI1 GI DI,5 GO DI1 GI
F.DI10 GI DI,2 GO DI,2 GO DI10 GI
72
Page 75
Chapter 6 - IDeal™Command Reference
G. (VAR1)=10{Initialize Variable}
LP{Beginning of Loop Block}
DI55,10{Define Two Axis Move}
VE10,10
AC.5,.5
GI{Start Go Immediate Move Both Axes}
MS1,’’’’{Clear Screen}
MS1,(AI9){Write Analog Input 9 to the Screen While
Moving}
WT,#2{Wait for Axis 2 to Stop Moving}
TD.5{Time Delay of 0.5 seconds}
DI,10{Define Axis 2 Move of 10 units}
GI{Start Axis 2 GO Immediate Move}
IF8,1{If Input 8 is on}
OT10,1{Turn on Output 10}
TD.1{Time Delay of 0.1 seconds}
OT10,0{Turn off Output 10}
EB{End of If Block}
WT,#2{Wait for Axis 2 to Stop Moving}
TD.5{Time Delay of 0.5 seconds}
DI,10
GI{Start Axis 2 Go Immediate Move}
(DIST)=(VAR1)*1000{Do Variable Math while Moving}
(TERM)=(DIST){Send Value of DIST Variable out of Serial Port}
WT,#2{Wait for Axis 2 to Stop moving}
OT2,1{Turn On Output 2}
WT#1{Wait for Axis 1 to Stop Moving}
OT1,1{Turn On Output 1}
DA0,0
GO{Move Both Axes Back to Starting Position}
EB{End of Loop Block,Restart Loop}
EN{End of Program}
73
Page 76
B8961 and B8962 User Manual
GOGo (Start a Move)syntax - GO or GOi,i
Units:n/a
Range:i = 1-16
Default:n/a
GO executes a move profile defined by some combination of AC,VE,DE,DI, DA,
DC,or MC commands. Actual motion of a new profile 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 configured for some predefined function.
Example:
AC.05 DE.05 VE50 DI5 GO GO initiates calculation of a move profile using
AC.05 DE.05 VE50 DI5 GO2When input 2 is activated,immediate execution
buffered parameters (.05 unit Accel and Decel
Ramp,speed 50,5 unit incremental move) and
then executes it.
of the motion calculation already in the buffer is
performed.
NOTE: If you have a multi-axis control refer to the section on multi-axis moves in
Programming Your Application . It contains important information on multi-axis
syntax and synchronization.
GPGo Point (Linear Interpolation)syntax - GP or GPi
Units:n/a
Range:n/a
Default:n/a
The GP command allows the SmartDrive to execute a linear interpolated move. An
example of the GP move is as follows:
The units and values for path velocity, acceleration and deceleration in GP moves
are specified by the parameters traditionally defined for an axis #1-based move.As
in regular moves, velocity,acceleration,and deceleration only need to be defined
once.Each sequential GP move thereafter will use these values until new values are
specified.The endpoint of the move is specified by a two-axis DA or DI command
74
Page 77
Chapter 6 - IDeal™Command Reference
which corresponds to the appropriate X and Y coordinates. The following program
would execute the move in the illustration above: VE2 AC.1 DA4,2 GP
The path velocity is 2 user units/sec,path acceleration is 0.1 sec.,and the X,Y position would be (4,2).
The GPi syntax is identical to the GOi command.GPi pre-calculates the move and
waits for Input number “i”to activate before executing. For example,GP4 would
pre-calculate the move and wait for input 4 to be active before executing.
Although both axes move during a GP defined move,all GP parameters refer to the
path movement rather than to the individual axis movements.
NOTES ON GP:
GP will work with any velocity and acceleration unit.
The largest possible GP moves are restricted to X2+ Y2<= (231- 1)2in units of
steps. For example,the longest simultaneous X,Y point move is:
Steps:DA1518500249,1518500249
User units with resolution 8000:DA189,812.5311,189,812.5311
User units with resolution 25000: DA60,740.0099,60,740.0099
Commanding moves larger than X2+ Y2<= (231- 1)2will produce unpredictable
results.
The DC command does not recognize an interpolated move as a ‘single’move and
will treat the axes independently. Therefore,using a DC during a GP move will
cause unpredictable results unless the user has calculated the necessary values to
preserve the vector move.
GSGosubsyntax - GSi and GS[name]
Units:n/a
Range:i = 1-199 (1-400 with 30K memory option),[name] =
any legal program name
Default:n/a
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 standar d firmware up to 16 levels deep.A Goto (GT) will
clear the subroutine stack,preventing future Gosubs from overflowing the stack or
returning to the wrong location.
Example:
DI10 GS[Part A] GORun program “Part A”, return and make a 10
unit incremental move.
75
Page 78
B8961 and B8962 User Manual
GTGo to Programsyntax - GTi or GT[name]
Units:n/a
Range:i = 1-199 (1-400 with 30K memory option),[name] =
any legal program name
Default:n/a
GT branches to the program number or name specified.All subsequent commands
in the calling program are ignored. Nested loops and subroutines calls are cleared
by a GT command.
Example:
IF10 GT[PARTA] EBIF input 1 is on and input 2 is off,jump to
IF01 GT20 GT30 EB ENIF input 1 is off and input 2 is on, run program
IFIfsyntax - IF (See Below)
Units:n/a
Range:see below
Default:n/a
program “Part A”
20.Program 30 will never run.Use the GS
command if you want to return to this program
and goto program 30.
Syntax(s):IFi,xx...
IFxx... (assumes first 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 (input level don’t care)
expression = any valid expression (defined 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 flexibility (primarily with programmable logic controllers or PLCs) the
IF command allows you to use configured inputs in the command.To help prevent
this added flexibility 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 configured 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”.
76
Page 79
Chapter 6 - IDeal™Command Reference
Example:
IF14,1 GO EBIf input 14 equals 1 Go
IF12,010 GO EBIf inputs 12-14 equal 010 Go
IF110 GO OT3,1 EBIf inputs 1-3 equal 110 Go and turn on
Output #3
IF(A19)<5500 OT11 GO EBIf analog input 9 is less than 5500,turn on
output 1 and 2,then GO
IF(TEMP)>50 OT1 EBIf temperature variable >50 turn on Output 1
IF(PARTS)=25 GS20 EBIf PARTS variable = 25 Gosub to Program 20
IVInput Variablesyntax - IVi,(variable),min,max
Units:n/a
Range:i - 1-40 display position in character s
variable = any legal variable name
min = the minimum range value (optional)
max = the maximum range value (optional)
Default:n/a
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 specified 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 specified,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,15Waits 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)Defines the desired move length/distance.
GOMoves the length commanded
EBEnds the loop.
77
Page 80
B8961 and B8962 User Manual
LPLoopsyntax - LPi
Units:n/a
R a n ge :n / a
D e fa u l t :0
LP will cause all commands between LP and EB to be repeated “ i ”t i m e s . If LP is fo ll owed by a 0 or no nu m b e r, the loop will repeat continu o u s l y.
Note: An End of Block (EB) command must be used with every LP command.
The s t a n d a r d s o f t wa re allows up to 16 nested loops (one inside the other).E a ch LP
command must have a corresponding EB command to end the bl o ck (loop).A GT
command within a loop will terminate the loop, clear the loop stack , and jump to a
n ew pro gra m .
E x a m p l e :AC.09 DE.09 L P 3VE30 DI1 GO EB VE7 DI-3 GO EN
The motor will perfo rm an incremental 1 unit move at speed 30 three times and then
a 3 unit move at speed 7 in the other dire c t i o n .
LULoop Until Condition Truesyntax - LU (See Below)
Units:n/a
Range:n/a
Default:n/a
The Loop Until (LU) command defines 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 (Input level Don’t Care)
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 specified 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 first iteration.
Loop While (LW) defines loops where the conditional is checked at the beginning
of the loop.
The standar d 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 final position 110 distance
units.
78
Page 81
Chapter 6 - IDeal™Command Reference
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 first 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.
LWLoop While Condition Truesyntax - LW (See Below)
Units:n/a
Range:n/a
Default:n/a
The Loop While (LW) command defines 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: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 (Input level Don’t Care)
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 specified condition is true. LW checks the
condition at the beginning of the loop block,therefore if the condition is false on
the first iteration,the block is immediately skipped.Loop Until (LU) defines loops
where the condition is checked at the end of the loop block.
The standar d 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 final 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
79
Page 82
B8961 and B8962 User Manual
MCMove Continuoussyntax - MC+,+
Units:n/a
R a n ge :n / a
D e fa u l t :n / a
MC sets move pro files to “ c o n t i nuous move ” , utilizing AC and VE para m e t e rs .M ove
C o n t i nuous is enabled on an axis with the “ + ”s i g n . MC+ enables the mode for axis one;
MC,+ enables the command on axis two ;and MC+,+ enables both axe s .D I ,DA and DC
commands reset the mode to distance.
E a ch Move Continuous segment must contain a GO command.A c c e l e rations and ve l o c i ties may be ch a n g ed in any segment.If no ch a n ge is specified to one of these para m e t e rs ,the last value will be used. It is n o t valid to issue positional commands (DI,DA ,D C ,
G H ,SP) to an axis while it is in a Move Continuous mode. H o weve r,you may make distance-based moves on the other axis while running one axis continu o u s ly.A ny command
is valid within an MC segment except Distance Commands (DA ,D C ,& DI).
The direction of the move is specified by the sign of the VE para m e t e r.If the sign of the
VE parameter ch a n ges between two segments,the control will automatically stop the
motor (at the pro grammed rate) and ch a n g e directions to the new speed. This make s
ch a n ging directions based on va ri able inputs ve ry easy to pro gram using a scaled va riable as the VE para m e t e r .
Once a Move Continuous segment is start e d , it will continue to move at the speed specified by VE until either another VE is commanded, the ESC Key is pre s s e d , or an End Of
Trave l ,Kill Motion, I n t e rru p t , or Stop Input is activa t e d .A commanded velocity of zero
(VE0) stops an MC move . Motion will also stop if you enter the Edit, H e l p ,C o py,o r
Delete menu s .
After a continuous move segment has start e d , command processing will continue when
constant velocity is re a ch e d . Other commands are then processed sequentially.
This allows you to:
• H ave asynch ronous inputs ch a n g e the speed of an axis
• M a ke motion pro file ch a n ges based on time delays or input states
• Manipulate I/O while moving as a function of time,d i s t a n c e ,or input states
• C h a n ge speed based on analog inputs or va ri abl e s
• H ave an operator update the speed of an axis through the key p a d
• S e rvo to an analog input
• M a ke a one or two-axis joy s t i ck using analog inputs
• S t a rt 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 pro gra m , the motor will cont i nue mov i n g ,even after the pro gram ends.This allows you to:
• Put diffe rent MC moves in diffe rent pro grams and select diffe rent speeds by ru n n i n g
d i ffe rent pro gra m s .
• C h a n ge speeds based on Binary or BCD pro g ram select lines
• Call MC moves as subro u t i n e s
• Run from “ h o s t e d ” RS-232C mode, w h e re the computer commands speed ch a n ge s
• Run another pro gram from the keypad that does not violate MC syntax.So you could
run another pro g ram from the keypad to ch a n ge speeds,m ove the other axis,m a n i p u late I/O, i n t e r face with an operator or calculate ari t h m e t i c .
80
Page 83
Chapter 6 - IDeal™Command Reference
Example 1: Basic Move Continuous syntax.D e m o n s t rates how to ch a n ge speed and
stop MC moves based on time delays and input conditions.
MC+ E n able Move Continuous on axis 1
AC.1 Set the acceleration ra t e
V E 5 0Set top speed to 50
GO S t a rt the Move Continuous move , command processing will continu e
when axis 1 re a ches constant ve l o c i t y
TD2 D e l a y for 2 seconds at speed
VE25 GO Decel to 25|
WT111 Wait for inputs 1,2,and 3 to go active
VE0 GOStop the move
Example 2: D e m o n s t rates how to prompt an operator for speed ch a n g es on a singleaxis Smart D ri ve .The move is started after the initial velocity pro m p t .The velocity only
ch a n g es when the operator enters a new value via the key p a d . The move can be
stopped by entering a velocity of zero ,or when any of the stop conditions defi n e d
ab ove ex i s t .
[One Axis MC]
MS1,"Enter the Ve l o c i t y "P rompt the opera t o r
I V 2 3 , ( V )Put the operator input in va ri able (V)
MC+ AC 1
VE(V) Use opera t o r - e n t e red va ri able (V) as new speed
GO C h a n ge velocity of axis 1 to the new speed
GT[One Axis MC]R e p e a t
Example 3: D e m o n s t rates how to prompt an operator for speed ch a n g es on a two - a x i s
S m a rt D ri ve .
[ Two Axis MC]
MS1,"Enter the X Ve l o c i t y "P rompt the opera t o r
IV23,(V1) Put the operator input in va ri a ble V 1
MC+ AC1 E n able MC and set acceleration on axis 1
VE(V1) Use operator inputted va ri able (V1) as new speed
G OC h a n ge velocity of axis 1 to the new speed
MS1,"Enter the Y Ve l o c i t y "P rompt the opera t o r
IV23,(V2) Put the operator input in va ri a ble V 2
MC,+ AC , 1E n able MC and set acceleration on axis 2
VE,(V2) Use operator inputted va ri able (V2) as new speed
G OC h a n ge velocity of axis 2 to the new speed
G T [ T wo Axis MC]R e p e a t
Example 4: D e m o n s t rates the use of W T ,OT and TD commands in continuous move .
MC+ AC3 VE3 GO S t a rt fi r st segment
WT8,1 AC.1 VE10 GO Wait for input 8 and ch a n ge speed
TD5 AC.3 VE.2 GO Wait for 5 seconds and ch a n ge speed
WT3,1 VE-10 GOWait for input 3 and ch a n g e speed and dire c t i o n
OT11 Tu rn on outputs 1 and 2
TD10 VE0 GO Wait 10 seconds and stop the move
Example 5: D e m o n s t rates two-axis joy s t i ck control with a Smart Dri ve .The contro l
must be equipped with two analog inputs (in this case we assume AI9 and AI10) and be
connected to an ex t e rn a l ,user supplied joy s t i ck .
81
Page 84
B8961 and B8962 User Manual
[ Joy s t i ck ]Main Pro g ra m , X=Axis 1,Y=Axis 2
GS[Get Speeds]Call a routine that scales the analog input vo l t age
MC+,+ AC . 2 , . 2E n able continuous mode, set accelera t i o n s
V E ( V X ) , ( V Y )Set speeds for X and Y axis
G OS t a rt motion
G T [ Joy s t i ck] When the axes re a ch constant speed, ru n
[Get Speeds]C o nve rts two analog inputs to X and Y speeds
( D e a d b a n d ) = . 1 5Set desired zero speed deadband of joy s t i ck
(Neg Deadband)=-.15
(Max RPS)=5 Set desired full deflection speed
(Scale)=(Max RPS)/28137 Scale factor based on Max RPS
( O ffset X)=47685 X axis offset for analog in
( O ffset Y)=50990 Y axis offset for analog in
( V X ) = ( A I 9 ) - ( O ffset X)C o nve rt the analog input to a speed for X and Y
( V X ) = ( V X ) * ( S c a l e )
( V Y ) = ( A I 1 0 ) - ( O ffset Y )
( V Y ) = ( V Y ) * ( S c a l e )
to X and Y speeds
[ Joy stick] and update the velocity based on the
c u rrent analog input vo l t age .
R e t u rns va ri ables (VX) and (VY), the X and Y
ve l o c i t i e s
IF(VX)<(Deadband) If the speed is within the deadband, set the
speed to zero
IF(VX)>(Neg Deadband)
( V X ) = 0
E B
E B
IF(VY)<(Deadband) If the speed is within the deadband, set the
speed to zero
IF(VY)>(Neg Deadband)
( V Y ) = 0
E B
E B
EP R e t u rn to {Joy Stick} and update the speeds of
X and Y.
82
Page 85
Chapter 6 - IDeal™Command Reference
MSMessage to Displaysyntax - see below
Units:n/a
R a n ge :n = 1-40 display position in ch a ra c t e rs ;C h a ra c t e rs 1-20 on top line,
21-40 on the bottom display line.
D e fa u l t :n / a
S y n t a x :M S ,” ” re t u rns to the default runtime display
M S n ,” ”
M S n ,”user tex t ”
M S n , ( va ri abl e )
MS allows you to put messages on the key p a d ’s display. M e s s ages are typically used to
p rompt for operator input, d i s p l ay function key pro m p t s , or as a diagnostic tool.
M S n ,” ”cl e a r s the display from the n
b e ginning at the n
p l ay beginning at the n
position and I/O display until pro gram execution stops. M S ,” ”can be used to re s t o re the
d e fault axis position and I/O display during pro gram exe c u t i o n .
E x a m p l e s :
M S 1 ,” ”C l e a rs the Display.
M S 3 ,“ Pa rt Count”W rites string beginning at ch a r acter 3,top line.
M S 2 7 , ( C O U N T )D i s p l ays the value of the va ri able (COUNT),
B e l ow is an example of one segment of the Keypad Pro gramming Template which can
be found immediately inside the back cover of this manu a l .The template is provided to
a l l ow you to write MS pro g rams by hand ex a c t ly as they will appear on the 40-ch a ra c t e r
keypad display. Please feel free to make copies of the template for writing your progra m s .
t h
ch a ra c t e r.M S n , ( va ri able) writes the value of the va ri able on the dis-
t h
ch a ra c t e r.The ab ove va riations to MS will disable the defa u l t
t h
ch a racter on.M S n ,”user tex t ”p rints user tex t
b e ginning at position number 27 (7th ch a ra c t e r,
2nd line).
83
Page 86
B8961 and B8962 User Manual
ONON Command (On Event)syntax - ONn, GTx, ONn, GSx, ONn,0
Units:n/a
Range:n/a
Default:n/a
The ON command allows the user to define 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
predefined interrupt program.The inter rupt program can be defined as a GT or a
GS.Defining 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 currently supports EOT as an event conditional.
The syntax for defining an event and 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:LOn End of Travel Limit
The syntax for clearing a previously defined 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 defined,it is active in all user programs and need not
be redefined unless 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 infinitely}
VE5 DA20 GO{Define move}
DA0 GO{Define 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}
84
Page 87
Chapter 6 - IDeal™Command Reference
OTOutputsyntax - see below
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
Syntax:OTi,xx...
OTxx...(assumes first 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 flexibility, the OT command allows you to use configured outputs anytime.To help prevent this added flexibility from causing programming confusion,
you can use any character in the “don’t change”section of your output statement.
This allows you to self-document your OT statements. For example,assume you
configured output #3 as a “FAULT”output.Programming like “OT01F10”can help
remind you that you are already using output # 3.
Example:
OT4,1Turn on Output 4
OT2,0D1Turn Outputs 2 off, leave 3 as is,and turn 4 on
OT110Turn Outputs 1 and 2 on,and 3 off
“”Quotesyntax - “Any ASCII character”
Units:n/a
R a n ge :n / a
D e fa u l t :n / a
The “ ”command transmits a string out the serial communications interfa c e . A “ ”w i t h o u t
a ny string will transmit a carri age re t u rn ch a r acter (ASCII 13).
E x a m p l e :
“ M ove Complete”Transmits string o n ly out serial interfa c e .
“ ”Transmits a carri age re t u rn o n ly.
RGRegistrationsyntax - RGr,r
Units:n/a
Range:n/a
Default:n/a
The Registration Command (RG) specifies a distance to be indexed from the current position - as commanded by a specific input trigger. For example,in the following program of 10 user-units on axis #1,the input trigger is received at userunit 4,to move 3 user-units from the point where the input trigger was received.
VE2 AC.1 DA10 RG3 GO
85
Page 88
B8961 and B8962 User Manual
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 figure below shows the commanded move related to the registration move.
Accompanying the programmable Registration Command is the configurable
Registration Input:G (also G in Serial Setup Commands).To configure a
Registration input from the keypad, choose EDIT > SETUP > I/O > INPUTS.An
input configured 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 configured as a Registration Input (see note).
Application Notes
• Registration Input is only configurable on input #1 for axis #1,and on input #2
for axis #2.
• The RG command cannot be used for both axes during simultaneous 2-axis
moves.When both axes are moving,only one Registation input will register and
function correctly.
Example:AC1 VE1 DI100 RG1 GI AC,1 VE,1 DI,100 RG,1 GI
This program is syntactically correct,but only the RG,1 will work.
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.
There is a Capture Window (Position Lag) associated with the RG Command,which
is a function of move velocity and the Position Capture Delay (reaction time) and
can be calculated with the following equation:
Capture Window = RG Position Capture Delay * Velocity (Steps/Sec)
The Capture Window value is the number of steps accumulated between the falling
edge of the Registration input and the time the current position is captured.
Depending on the FPGA hardware version of your Indexer this RG Position
Capture Delay will either be 164 µs or 5 µs.
The Registration Command is only available on firmware version 4.0 & higher. If
you have FPGA version 5.9 or earlier, the Capture Delay will be 164 µs.If you have
FPGA 6.7 or higher, the position is captured in hardware,and the only Capture
Delay is the input’s opto-isolator (5 µs).Use the keypad’s HELP key to determine
your FPGA version.
Regardless of the FPGA version used, we have found both Capture Delays to be
extremely repeatable.This leads to a very repeatable Capture Window (distance lag
from when the registration input is made) that can be accounted for by decreasing
your commanded registration distance by the Capture Window. For example,a
motor traveling 240,000 steps/sec (30 rps with 8000 step/rev drive resolution) has
a capture window of 39 steps for a 164 µs Capture Delay and 1 step for a 5 µs
Capture Delay.Assuming the desired registration distance was 3 user units (assuming 1 user unit is 8000 motor steps),an RG2.9795 would result in the motor traveling exactly 3 user units for a unit with a 164 µs Capture Delay.
86
Page 89
Chapter 6 - IDeal™Command Reference
SPSet Positionsyntax - SPn,n
Units:selected in EDIT > SETUP > MECH menu
R a n ge :va ries based upon Distance Units
D e fa u l t :0
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 fra m e .
E x a m p l e :
MC+ GO WT1,1 VE0 GO SP10.5After the move is complete,sets the
c u rrent position of axis 1 to 10.5.
SQSquare Rootsyntax - SQr,(var)
Units:n / a
Range:0.00001 to 214748.3645
Default:n/a
The SQ command calculates the square root of a number and returns the result in
a user defined variable.The n parameter in the syntax can be a number or a variable parameter,however, the second parameter must be a previously defined variable for which the square root result is stored.If the second parameter is not a
defined 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 defined variable (SQRESULT).
Program:(SQRESULT)=0 SQ27,(SQRESULT)
The returned value in (SQRESULT) would be 5.28.
87
Page 90
B8961 and B8962 User Manual
STStop On Inputsyntax - STn,n or ST#n,#n
Units:n / a
R a n ge :0-16 (Inputs)
# 1 ,#2 (Axe s )
D e fa u l t :n / a
S y n t a x e s:
ST stops move execution upon activating the input specified by n.
ST0 disables (turns off) the STn command.
ST#1 stops move execution on axis #1.
S T,#2 stops move execution on axis #2.
ST#1,#2 stops move execution on both axe s .
ST#n functions identically to the STn command without the use of an input allow i n g
p ro gram command conditional motion term i n a t i o n .
After the ST command is exe c u t e d ,the specified input is monitored during eve ry “ m ove
p ro fi l e .” If the imput is activa t e d ,the current “ m ove in pro gre s s ”is term i n a t e d , stoping all
motion until the input is deactivated or a ST0 is pro c e s s e d .the dri ve will process and
calculate commands,but it will wait at the next GO command until the ST input
ch a n ge s .
The motor is stopped at the deceleration rate specified in the Stop Decel Rate setup
p a ra m e t e r. Once issued,Stop on Input remains active until it is turned off by the ST0
c o m m a n d ,a reset is issued, or power is cycl e d .
E x a m p l e :M ove to absolute position of 6 distance units.If (A)>10,motion is stopped.
AC,1 VE25,25 DA6,6 GI{ M ove to 6 absolute distance units and Go
I m m e d i a t e }
I F ( A ) > 1 0{ C h e ck value of A (assume A was prev i o u s ly
axis #2}
E B
S T # 1 , # 2{Stop motion on both axe s }
TDTime Delaysyntax - TDr
Units:s e c o n d s
R a n ge :r = .01 to 99999.99 seconds
D e fa u l t :n / a
D e l ay r seconds befo re executing the next command.
E x a m p l e :VE50 DI4 GO OT11 T D.5 OT 0 0
M ove 4 units,t u rn outputs 1 and 2 on,d e l ay .5 seconds,and turn outputs 1 and 2 off.S e e
a l s o :System va ri able (TIME), in Chapter 7, P ro g ramming Your A p p l i c a t i o n .
88
Page 91
Chapter 6 - IDeal™Command Reference
VEVelocitysyntax - VEr,r
Units:selected from the EDIT > SETUP > MECH menu
R a n ge :.002 - 50 rps. R a n ge is scaled to velocity units
D e fa u l t :1 motor rev per sec (rps)
VE sets the maximum velocity during a move pro fi l e . If the acceleration rate is not high
enough or the move distance is not long enough the motor may end up making a tri a ngular (velocity vs.time) move and the motor may never re a ch the specified speed. O n c e
VE is specifi e d ,the value is used in all subsequent moves until re - d e fi n e d .
E x a m p l e :
AC.1 DE.2 V E 5 0 DA4 GOM ove to absolute position 4 units with a top
speed of 50 units/sec.
WTWaitsyntax - see below
Units:n / a
R a n ge :i = starting input nu m b e r,1 - 1 6
x = 0; input high
x = 1; input low (gro u n d e d )
x = a nything but 1 or 0 ; i g n o re the input leve l
ex p ression = any valid ex p r ession as defined in the math and va ri abl e s
s e c t i o n .
D e fa u l t :n / a
S y n t a x :W Ti , x x . . .
W T x x . . . (assumes fi rst input is input 1)
W T, ex p re s s i o n
W T # 1 ,used with GI move s
This command waits for the specified condition to be true befo re continuing exe c u t i o n
of a pro gra m . Either digital or analog input conditions may be used.
To increase fl exibility the WT command allows you to use confi g u r ed inputs in the
ex p re s s i o n .To help prevent this added fl exibility from causing pro gramming confusion,
you can specify any ch a racter as an input (x).This allows you to self document your W T
s t a t e m e n t s .For ex a m p l e ,assume you confi g u red input #3 as a “JOG SPEED”i n p u t .
P ro gramming like “ W T 0 1 J 1 0 ” can help remind you that you are alre a dy using input # 3.
E x a m p l e :
WT4,1 GOWait for input 4 to equal 1 befo re mov i n g
WT2,010 GOWait for inputs 2-4 to equal 010 befo re mov i n g
WT110 GOWait for inputs 1-3 to equal 110 befo re mov i n g
W T # 1Causes pro gram execution to halt until GI
m ove is complete
N o t e:In order to synch ronize pro gram execution with the end of a GI move ,t h e re is
n ew syntax associated with the WT command:WT#1,#2 will halt pro gram exe c u t i o n
until the re s p e c t i ve axis has completed its move .WT#1 will wait for only axis #1;W T, # 2
will wait only for axis #2;WT#1,#2 will wait until both axes have stopped.
89
Page 92
B8961 and B8962 User Manual
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
R e fer to Chapter 5, P ro gramming Your Ap p l i c a t i o n ,for more details and examples of how
to use the ab ove opera t o rs ,f u n c t i o n s ,and ex p re s s i o n s .
90
Page 93
Chapter 7 - Programming with Serial Communication
Programming with Serial Communication
Overview
Any RS-232C terminal,PC,computer serial RS-232C card,or RS-232C-equipped PLC
can be used to configure,program,and operate IDC’s SmartDrive controls.IDC
p rovides and stro n g ly recommends using our Wi n d ows-based Application Dev e l o p e r
for configuration and programming.If you choose not to use this tool,all of the
IDeal™RS-232C programming and setup commands are listed alphabetically later
in this chapter.
Application De veloper provides a graphical control configuration environment, a
program development editor, and a terminal communication package.ApplicationDeveloper also provides application upload and download utilities,and an on-line
software reference help utility.
This chapter is divided into 4 main sections.Section 1 covers common RS-232C
details including baud rate settings as well as hardware and daisy chaining information.All RS-232 users will need this information.Section 2 covers the installation of
Application De veloper. Section 3 covers Using Application De veloper to setup and
program SmartDrive systems.Section 4 provides details on all of the RS-232C setup
commands that Application De veloper employs.This section will be useful to users
who are not using Windows,or who plan to run the SmartDrive in a “hosted”environment.(i.e.the host streams down individual commands for immediate execution,or calls previously defined programs.) The host could be a PC,RS-232C
equipped PLC,or some other type of intelligent device.IDC recommends that even
users whose final application will be run in hosted mode use ApplicationDeveloper to initially configure their system.
Section 1: RS-232 Protocol
I D C ’s Smart D ri ve series controls use a 3-wire implementation of RS-232C.The RX,T X ,
and COM lines are the serial signals support e d . No hardwa re handshaking is re q u i re d .
Note that some RS-232C devices re q u i re handshaking, s u ch as RTS and CTS.It is the
responsibility of the user to disable this handshaking via softwa re or hardwa re .
Making RS-232C Connections to the B8961/2
M a ke your RS-232C connection as shown below.The Smart D ri ve-to-PC Cable (IDC
P/N PCS-4852) is an ideal choice for making tro u bl e - f ree connections.
91
Page 94
B8961 and B8962 User Manual
Troubleshooting Serial Communication Problems
If communications between computer and Smart D ri ve are unsuccessful, one or more
of the fo l l o wing pro c e d u res will usually solve the pro bl e m :
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 host’s TX and RX
connections,and transmit another character. If you do not receive the echoed
character, consult the manufacturer of the host’s serial interface for proper pinouts.
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).
Jumpers9 pin D25 pin D
RTS to CTS7 to 84 to 5
DSR to DTR4 to 66 to 20
4.Configure 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.
Daisy Chaining SmartDrives
Your SmartDrive 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.
92
Page 95
Chapter 7 - Programming with Serial Communication
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 RS232C 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 specific unit number in
front of the command) is necessary if the user wants only one specific 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 configuration below shows how to connect the daisy chain.
Section 2: Application Developer Software
All of IDC’s SmartDrives come with Application De veloper software.The programs
and data files are automatically installed with a setup utility included on the disk.
Installing Application Developer in Windows 95, 98, or NT
1.Insert Application De veloper CD-Rom in your CD-Rom drive.
2.Click on Start.
3.Click on Run.
4.If there is no drive specified in the Command Line box,type the drive letter,
followed by a colon (:),then a backslash (\),and the word setup.
For example: d:\software\Application Developer\setup
5.Click OK.
The installation program will display the Welcome screen shown below.
Throughout the installation process,the program will prompt you to enter information.Click on the Next button to continue the installation.At any point during the
installation, you can click on Cancel to abort the process.
The Setup program will take you through a series of screens to verify user information and destination directories.
93
Page 96
B8961 and B8962 User Manual
Common Installation Errors and Remedies
There are no known installation problems with Application Developer. Please
call the IDC Applications Department at ( 8 1 5 - 2 2 6 - 2 2 2 2).if you need assistance
installing this software.
94
Page 97
Chapter 7 - Programming with Serial Communication
Section 3: Using Application Developer
Application De veloper’s graphical environment helps you setup and program your
SmartDrive from your computer. It guides you through configuring your control,
following the same steps and menus as the keypad configuration.Complete details
on setup menus and choices can be found in Chapter 5 - Configuring Your System .
Applications (programs and configuration files) 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.The window shown
below appears immediately after starting the Application Developer program.
Upload Project
To begin immediately with a drive,select Upload Project and then the controller
type.Com Port setting will be confirmed before uploading from the drive or keypad (depending on controller type).
Launch Now
Launch now allows immediate software launch, bypassing Uploading,opening an
existing project and project wizard.The controllable type will be prompted.
Project Wizard
The Project 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
If you “Open an Existing Project”,Application Developer will bypass the Setup
Wizard and allow you to select a file in the Open File window (see below).After
you have opened an existing file it is still possible to use the Setup Wizard at any
time by simply clicking on the Wizard tool bar button.
Page 98
B8961 and B8962 User Manual
New Project - Using the Project Wizard
1.Click on the New Project button to start the Setup Wizard.
2.Select the product you are configuring, S6962 in this case,and click on the
Next button.
Note:an a B8962 will be configured in this example of using the Project
Wizard.If you are configuring an B8961, you will only be configuring one axis.
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 axes to be configured.A box’s color represents its configuration sta-
tus,i.e. gray indicates a parameter that has not been configured, yellow indi-
cates the current position of the Wizard (parameter being configured),and
black indicates that the parameter has been configured.
96
Page 99
Chapter 7 - Programming with Serial Communication
3.Click on the Next button and the Motor setup window will appear.
4.Select the motor and AC voltage that will be used,and select Next.
5.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 Mechanical System and Part # you intend to control with this axis,
and the Wizard will calculate the rest.Select Non IDC Mechanics if you are
using a non-IDC system,or motor only.
6.Clicking on the Next button will bring up the Units setup window.The
SmartDrive lets you program the control in the units that work best for your
application.
97
Page 100
B8961 and B8962 User Manual
7.Select your preferences from the pulldown menus and click on Next.
8.When all axes have been configured,the following window will appear.This
display gives you the opportunity to review the settings you have made for
each axis, and to return (using the Back button) to any parameter you may
wish to change at this time.
9.When you are satisfied with the setup of your system, click on Finish.Note
that the Wizard Navigator now indicates that all axes and parameters have
been configured.
After Using the Setup Wizard
Your basic system setup parameters have been configured by the Setup Wizard,and
though the system is functional, your application will probably require further configuration and fine-tuning.
The remainder of this chapter provides the same setup information as configured
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 but-
98
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.