USER'S MANUAL for CLCI2000 SERIES 1 to 4 AXIS COMPUTER INDEXERS Anaheim Automation (714) 992-6990 (714) 992-0471 fax May 6, 2002 #L010018
COPYRIGHT Copyright 1993 by Anaheim Automation. All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of Anaheim Automation, 910 E. Orangefair Lane, Anaheim, CA 92801. The only exception to this would be use of the program examples in this manual.
TABLE OF CONTENTS DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Packing Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DESCRIPTION GENERAL DESCRIPTION The CLCI2000 Series Indexer is one of ANAHEIM AUTOMATION's Computer Indexer that generates clock and direction signals for a step motor drivers. This Indexer allows the user to control speed, ramping, position, and I/O to perform complex motion with step motors. The CLCI2000 Series can control from 1 to 4 axes, using only one computer slot found in an IBM Compatible Computer. The Indexer was designed to produce pulse rates far above those offered by most indexers.
1 1 2 1 Ribbon cable with DB37 Connector and bracket CLCI2000 SERIES DISK #6 x 1/4 screws Users Manual for CLCI2000 Series 1 to 4 Axis Computer Indexers CLCI2004 1 CLCI2001 Computer Indexer 1 Ribbon cable with DB37 Connector and bracket 1 CLCI2000 SERIES DISK 2 #6 x 1/4 screws 1 Users Manual for CLCI2000 Series 1 to 4 Axis Computer Indexers ORDERING INFORMATION 1-AXIS Indexer Board 2-AXES Indexer Board 3-AXES Indexer Board 4-AXES Indexer Board 1-AXIS Driver Pack 2-AXIS Driver Pack DB37,MF Cable, 6 feet DB
AA37MFC-10 This is a DB37 Cable with a male connector on one end and a female connector on the other. The cable is 10 feet long. This cable should be used with the CLCI2000 Series Indexer and the AA2M37 Terminal Breakout Board. AA37MMC-6 This is a DB37 Cable with a male connector on both ends. The cable is 6 feet long. This cable should be used with the CLCI2000 Series Indexer and the DPI65200 Series Driver Packs. AA37MMC-10 This is a DB37 Cable with a male connector on both ends. The cable is 10 feet long.
SPECIFICATIONS POWER REQUIREMENTS 5 VDC @ 500mA BUS ARCHITECTURE ISA Bus (PC/XT/AT/x86 Compatible) INPUTS Logic "0" 0 to 0.8 VDC Logic "1" 3.5 to 5 VDC All Inputs are pulled up to 5 VDC CLOCK OUTPUT HCMOS Type source current 16mA (Voh=2.7V) sink current 12mA (Vol=0.5V) DIRECTION OUTPUT HCMOS Type source current 8mA (Voh=2.7V) sink current 6mA (Vol=0.5V) OUTPUT 1 - OUTPUT 10 Open-Collector Type max individual sink current 500mA total sink current 3.0A with 27% duty cycle total sink current 2.
INSTALLATION INSTALLING THE BOARD The Board Mounts into an IBM PC Compatible Computer's 8 bit Expansion Slot. To install the Board, line the back of the board up with the card guide in the back of the computer. Gently but firmly press the board into the Expansion slot. Screw down the mounting bracket with the screw provided. If the computer does not have a card guide, be sure to secure the board in some fashion so that it will not touch any other boards or the metal case.
QUICKSTART WITH QUICKBASIC This is a quick procedure for hooking up the CLCI2000 Series Computer Board with a Driver and Step Motor. 1. Plug the CLCI2000 Series Computer Indexer into the computer. 2. Connect the cable from the computer to the DPI Series Driver Pack (verify that the LED lights up when the connector is plugged in), or alternately, connect only the Clock, Direction, and 0VDC signals from the computer connector to the driver pack. 3.
CONNECTOR DESCRIPTIONS The CLCI2000 Series Indexer will come with either one or two 37 Pin D-Sub Connectors. For a CLCI2001 and CLCI2002, there is only one connector. For a CLCI2003 and CLCI2004 there is a second connector that connects to the board via a 37 pin ribbon cable. This second connector will need a port location to screw down to. NOTE: This does not require an extra expansion slot to plug into, but only a space to screw down the connector. The connectors are Female D-Sub types.
DIRECTION SIGNALS This output is TTL/CMOS compatible. The source current rating (Voh = 2.7 V) is 12mA. The sink current rating (Vol = 0.5 V) is 9mA. The Direction signal is +5VDC for '+' or clockwise motion, and 0VDC for '-' or counterclockwise motion. SOFT LIMIT This input will cause the motor to ramp down to the base speed. This input contains a 2.5K pullup resistor to +5VDC. It should be activated by connecting it to the 0VDC pin, or a logic level that can sink 2.0mA at TTL levels.
ENCODER INPUTS A Rotary Encoder is a device that measures rotation of a shaft. The encoder can be mounted on the step motor shaft, or for even greater accuracy, it can be mounted on the shaft of the load. The encoder sends signals in a format called 'quadrature' to the controller which will take this data and use it to verify the motor position. The encoder has four or five wires: Power, Ground, Phase A, Phase B, and a Marker Pulse .
PROGRAMMING WITH ANAHEIM AUTOMATION LIBRARIES Anaheim Automation has written Libraries that can be used to control the CLCI2000 Series Indexer Board in many different languages. These languages include QuickBASIC, VisualBasic, C, and any Windows programming language. There are two different libraries written for the 'BASIC' languages, one library for the 'C' users, and one library for the windows users (this Windows Library must be requested).
CLCISUB1.BAS LIBRARY The CLCISUB1.BAS Library is for use with QuickBASIC, VisualBasic for DOS, or any other similar 'BASIC' based programming languages. This Library is set up to run CLCI2000 Series Indexers at any open addresses. The following is a command list for all the usable Subroutines and Functions in this Library. This is a comprehensive list that will allow complete control of the CLCI2000 Series Index Boards. To use these commands you need to LOAD the file CLCISUB1.
This Function will return the value of the +Hard Limit Switch. If the Limit Switch is ACTIVE or 0VDC, the function will return a 1. If the Limit Switch is NOT ACTIVE, the function will return a 0. HOME.CCW ADDRESS, AXIS# This Subroutine will HOME (sometimes called SLEW) the motor in the counterclockwise direction. The motion begins at Base Speed, ramps up to Max Speed and continues moving in that direction until the software instructs it to do something different, or a hardware Limit Switch is activated.
marker pulse. The marker pulse must be enabled by the LIMIT.CONTROL Command for this Command to work properly. ORIGIN.INDEX.CW ADDRESS, AXIS# This Subroutine will move in the CW Direction at base speed until the Encoder Marker is 'active'. When the Encoder Marker is 'active' the motion will stop. This is a good way to 'home' the motor to a rotary position using the encoder's marker pulse. The marker pulse must be enabled by the LIMIT.CONTROL Command for this Command to work properly.
what the state of the five Outputs will be. A '1' for the Outputs will turn the Output ON, and a '0' will turn the output OFF. The last two numbers will specify which home switch will be chosen HOME.DIR.3 refers to AXIS 3 (also called Axis C), and HOME.DIR.4 refers to AXIS 4 (Also refered to as Axis D). Only one home switch may be chosen for each axis at a given time. A '1' will specify that the '+' or 'CW' direction Home Limit Switch will be chosen.
SAMPLE #1 (PROGRAM SAMPLE1.BAS ON THE CLCI2000 DISK) This is a sample program written for a single axis. If Input #1 is active, then the motor will move in the clockwise direction 5000 steps. If input #2 is active then the motor will move in the counterclockwise direction 4000 steps. It continues this loop indefinitely. 'PROGRAM FOR QUICKBASIC OR 'VISUALBASIC USING CLCISUB1.BAS DECLARE ()...
SAMPLE #2 (PROGRAM SAMPLE2.BAS ON THE CLCI2000 DISK) This sample shows two different homing routines that can be used to home the motors. The first routine callled Home Type 0, uses two switches - the first switch causes the motor to ramp down to base speed, and the second switch causes the motor to stop.
CLCISUBS.CPP PROGRAM FUNCTION DEFINITIONS The CLCISUBS.CPP Library is for use with C or C++ programming languages. It can also be used with other versions of 'C' or 'C++' with little or no modifications to the code. This Library is set up to run CLCI2000 Series Indexers at any open address. The following is a command list for all the usable Functions in this Library. This is a comprehensive list that will allow complete control of the CLCI2000 Series Index Boards.
ONE_AT_MAX_CCW (ADDRESS, AXIS) This will go one step at the maximum speed in the CCW Direction. ONE_AT_MAX_CW (ADDRESS, AXIS) This will go one step at the maximum speed in the CW Direction. ORIGIN_INDEX_CCW (ADDRESS, AXIS) This will move at base speed until the EZ Channel of the Encoder goes active, and the pulses will stop. ORIGIN_INDEX_CW (ADDRESS, AXIS) This will move at base speed until the EZ Channel of the Encoder goes active, and the pulses will stop.
SLEW_AT_BASE_CCW (ADDRESS, AXIS) This will cause the motor to move at base speed in the CCW direction. SLEW_AT_BASE_CW (ADDRESS, AXIS) This will cause the motor to move at base speed in the CW direction. SOFT_INPUT_CCW (ADDRESS, AXIS) This will return the value for the -Soft Limit Switch. A 1 will mean that the switch is active, and a 0 will mean the switch is not active. SOFT_INPUT_CW (ADDRESS, AXIS) This will return the value for the +Soft Limit Switch.
PROGRAMMING IN WINDOWS USING THE CLCI2000 INDEXER WITH WINDOWS To communicate with the CLCI2000 Indexer, the programming language needs to have access to the computer bus. While running under windows, this bus can be controlled through a Dynamic Link Library, commonly called a DLL. A DLL will allow procedures to be performed that are not part of the standard Windows Instruction Set.
WIN2000.BAS PROGRAM LISTING Below is the file listing for the WIN2000.BAS declaration file including all the Declarations needed to use the DLL with Visual Basic for Windows. ' *--------------------------------------------------------------'* ANAHEIM AUTOMATION DLL LIBRARY SUPPORT '* DATE: DECEMBER 22, 1993 '* Function Declarations ' *----------------------------------------------------------*/ Declare Function BUSY Lib "win2000.
CLCI2004 PROGRAM GENERATOR The CLCI2000 Series Indexers can be easily controlled by using the CLCI2004 Software. This software has been written to enable non programmers to easily control the indexer. The CLCI2004 Software has the capabilities to write programs using the user-friendly editor. The Software will allow control of all 4 axes of motion.
will toggle between two different windows which are shown below. The appropriate Function Window must be showing to activate that particular function. +)))))))))))))))0)))))))))))))))0))))))))))))))), * F1 INSERT * F4 TERMINAL * F7 MORE * F2 ADD * F5 SAVE * F8 PROG RUN * F3 DELETE * F6 LOAD * F9 QUIT .)))))))))))))))2)))))))))))))))2)))))))))))))))- * * * +)))))))))))))))0)))))))))))))))0))))))))))))))), * F1 PROG STOP * F4 PRINT * F7 MORE * F2 SINGLE STEP* * * F3 CLEAR PROG * * F9 QUIT .
By Pressing the F7 key, these commands will be available. F1 - PROG STOP Type the F1 Key to stop the execution of the program. If the program fails to stop, hold down the F1 key. NOTE: The F1 key should not be used as an emergency stop for your system. F2 - SINGLE STEP Type the F2 Key to step the program one line at a time. This is a great way to check the program for any mistakes. F3 - CLEAR PROGRAM Type the F3 Key to clear the current program.
THE COMMAND WINDOW All the Commands available are listed in the window that appears on the right half of the computer screen, called the Command Window. The information is contained in two windows toggled by typing a 'C' for Change Menu. Below is a description for all the commands. Once the Command Key is depressed, the Function Window will be cleared and the user will be prompted for more information. All the commands will allow for user comments to be entered.
CLCI2004 PROGRAM GENERATOR COMMAND DICTIONARY Below is a summary of the commands that are available on the CLCI2004 Program Generator. These command definitions will differ from those command available in the Libraries provided by Anaheim Automation. This program is generally used to setup a machine - and is not intended to be used in the final design of the machine. The Libraries are intended for this purpose, and therefore contain commands that allow for more flexibility and control.
To select Encoder On/Off, type the Command Key 'E'. This parameter specifies if Encoder Correction is to be Enabled or Disabled. A '1' will Enable Encoder Correction, a '0' will Disable it. The Indexer will do all the appropriate corrections needed when the Finish Move (F) command is executed. The default value for this is 0, or no encoder correction. ENCODER RESOLUTION (any number) To select Encoder Resolution, type the Command Key 'Z'. This parameter specifies how many 'lines' the Encoder has.
HOMING (0 or 1) There are 2 homing modes, Home Type 0 and Home Type 1. Home Type 0 uses the Soft Limit Switch, and the Home Limit Switch. When the Soft Limit Switch is encountered, the motor will start ramping down to the Base Speed. When the Home Limit Switch is encountered, the motor will stop. Home Type 1 uses only the Home Limit Switch. When the Home Limit Switch is encountered, the motor will ramp down to the Base Speed and then stop.
SET OUTPUTS (5 characters, a space, 5 characters) To select the command Set Outputs, type the Command Key 'O'. This command will set the outputs to the value that is specified. At power up, all outputs are in their open collector (off) state. SET POSITION (-8,388,608 to 8,388,608) To select the command Set Position, type the Command Key 'S'. This command will set the position to the value specified. Positive and Negative numbers are valid from 0 to ±8,388,608.
ADVANCED PROGRAMMING In modifying an existing Library, or writing a new software library, It is strongly advised that programmers should use the current libraries for Basic or C, and transfer them to the different languages. The current libraries are 'bug free', so this will help the programmer to produce 'bug-free' code. The CLCI2000 is designed to plug into any AT/ISA PC Compatible bus. This is the bus used by most PC Manufacturers. The CLCI2000 communicates over an 8-Bit bus.
ADDRESS SELECTION (Hex) FUNCTION Base Address through Base Address + 3 (H00 -H03) READ INPUTS 1-5 Base Address + 4 through Base Address + 7 (H04-H07) SET OUTPUTS 1-5, A:HOME DIR, B:HOME DIR Base Address + 8 through Base Address + 11 (H08 -H0B) READ INPUTS 6-10 Base Address + 12 through Base Address + 15 (H0C -H0F) SET OUTPUTS 6-10, C:HOME DIR, D:HOME DIR Base Address + 16 (H10) A:Command Buffer Register Base Address + 17 (H11) A:Register Bits 0-7 (LSB) Base Address + 18 (H12) A:Register Bits
DATA BITS COMMAND SET TYPE (SEE DESCRIPTIONS FOR INDIVIDUAL COMMANDS) D7 D6 0 0 START OR STOP COMMANDS 0 1 INITIAL SETUP COMMANDS 1 0 INITIAL SETUP COMMANDS 1 1 INPUT AND OUTPUT CONTROL COMMANDS COMMAND BUFFER REGISTER Description of Command 7 6 5 4 3 2 1 0 0 0 X 0 0 X 0 0 Changes to constant speed operation at the Base Speed rate. * 0 0 X 0 0 X 0 1 Changes to contant speed operation at the Max Speed rate.
DATA BIT FUNCTION OF BIT IF IT IS A "0" IF IT IS A "1" 0 Pulse Rate Source Selection Base Speed Max Speed 1 Ramping Up/Down Enable No Ramping Ramping 2 Pulse Direction Selection CW CCW 3 STOP No Function Stop 4 START No Function Start 5 No Function No Function No Function 6 MUST BE A ZERO Always Not Allowed 7 MUST BE A ZERO Always START STOP COMMAND INDIVIDUAL BIT DEFINITIONS Not Allowed INITIAL SETUP COMMANDS To set up the Position Register and Encoder Register, set the fo
It is necessary to determine the optimum value for the R4 Factor in order to obtain the desired Base Speed and Max Speed. Some balance must be reached between the lowest and highest desired speeds to allow for the most accurate settings of each. A large factor will produce the smoothest ramping, but will not allow for very high speeds. A low factor will produce the higher speeds, but the ramping is not as smooth.
NOTES 35
36
37