Anaheim Stepper PCL601USB Users Guide
Have a look at the manual Anaheim Stepper PCL601USB Users Guide online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 523 Anaheim manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
1 #L010183September 2005 PCL601USB Programmable Step Motor Controller User’s Guide 910 East Orangefair Lane, Anaheim, CA 92801 e-mail: [email protected](714) 992-6990 fax: (714) 992-0471 website: www.anaheimautomation.com ANAHEIM AUTOMATION, INC.
2 #L010183September 2005 Table of Contents Section 1: Introduction ............................................................................................................................. 3 Description ............................................................................................................................................... 3 Methods of Communication ..................................................................................................................... 4 Baud Rate ................................................................................................................................................ 4 Axis Selection ........................................................................................................................................... 4 Status LEDs ............................................................................................................................................. 4 Interfacing With a Step Motor Driver ........................................................................................................ 4 Electrical Specifications ........................................................................................................................... 5 Ordering Information ................................................................................................................................ 5 Dimensions/Switch Locations .................................................................................................................. 6 Wiring Diagrams ....................................................................................................................................... 6 Terminal Descriptions .............................................................................................................................. 7 Connector Descriptions ............................................................................................................................ 7 Slide Switch Descriptions ......................................................................................................................... 7 Section 2: Functions ................................................................................................................................. 8 Section 3: SMC60WIN Software ............................................................................................................ 12 File Menu ............................................................................................................................................... 13 Setup Menu ............................................................................................................................................ 13 Setup - Axis Menu .................................................................................................................................. 13 Program Menu ....................................................................................................................................... 14 Program - Autostart Program Menu ....................................................................................................... 14 Edit Menu ............................................................................................................................................... 14 Help Menu .............................................................................................................................................. 15 “The Unit is Connected” / “The Unit is NOT Connected” ....................................................................... 15 Toolbar ................................................................................................................................................... 16 Tab Sheets ............................................................................................................................................. 16 Tab Sheets - Real Time Motion ............................................................................................................. 17 Tab Sheets - Encoder Options and Registration Inputs ......................................................................... 18 Tab Sheets - Analog Input and Thumbwheel Options ........................................................................... 19 Tab Sheets - Create and Edit Program .................................................................................................. 20 Add/Change/Insert Commands .............................................................................................................. 21 Add Tab Sheets - Motion Commands .................................................................................................... 22 Add Tab Sheets - If/Then and Output Commands ................................................................................ 23 Add Tab Sheets - Goto, For Loops, Encoder and Thumbwheel Commands ........................................ 24 Add Tab Sheets - Analog, Registration and Text Commands ............................................................... 25 Calculator ............................................................................................................................................... 26 Section 4: Direct Talk Mode ................................................................................................................... 27 Section 5: Troubleshooting .................................................................................................................... 37 Error Codes ............................................................................................................................................ 38 Section 6: Tutorial .................................................................................................................................. 39 Sample Program 1: ................................................................................................................................ 39 Sample Program 2: ................................................................................................................................ 40 Sample Program 3: ................................................................................................................................ 41 Sample Program 4: ................................................................................................................................ 42 Sample Program 5: ................................................................................................................................ 43 Appendix 1: ASCII Table for Direct Mode .............................................................................................. 44 Appendix 2: Firmware Revisions ............................................................................................................ 44
3 #L010183September 2005 Section 1: Introduction The PCL601USB is a single-axis step motor controller containing 2 Kbytes of nonvolatile stored program- ming space and quadrature encoder feedback. The user can write the program and then have the PCL601USB autostart the program on power up. It provides flexible, independent control of stepper mo- tors from computers, or any machine controller with a USB port. It is also capable of standalone operation, making it an embedded machine controller. The easy to use Windows software, SMC60WIN, can be used to directly control motion and to program the PCL601USB. The PCL601USB also has the ability for real time functions. “Direct Mode” is used to directly control motion for Real Time Movements through serial communication. The PCL601USB has 40 commands, which are easy-to-remember for direct movement of a stepper motor. The PCL601USB communicates via an USB data bus. A windows driver is provided to communi- cate with the PCL601USB through a virtual comport from the PC. This driver will turn any USB port into a virtual comport, thus enabling simple serial programs to send information to the PCL601USB. To use the SMC60Win software, the virtual comport driver must be installed. Special functions of the PCL601USB include 8 programmable open collector outputs and 6 TTL, CMOS and 24V compatible inputs, a quadra- ture encoder input with the ability to autocorrect, an analog input to control either maximum speed or absolute position, registration mark indexing during a slew command, an output that will trigger during an index command at an absolute position, and a thumbwheel input for indexing a motor. The PCL601USB can be powered with a DC voltage of either 5VDC or 8 -24VDC and uses only 2 watts at 24VDC and only a 1/2 watt at 5VDC (with no connections to terminal blocks). Description The PCL601USB step motor controller provides independent programming of acceleration/deceleration, base speed (start up speed), max speed (running speed), jog speed, and the number of steps to be taken in both relative and absolute positioning modes. On absolute positioning moves, the PCL601USB automatically determines the proper direction to go and the number of steps to take. The relative positioning will move a number of steps in the direction that the user defines. The PCL601USB also has specific functions such as index-on-the-fly, which during a slew move will move a predefined number of steps after an input has been triggered. Output-on-the-fly, which will trigger an output on for 50uS during an indexing move at an absolute position and repeat triggering the output on after a given number of steps. An analog input can be used to set either the maximum speed or goto an absolute position based between the upper and lower programmable limits. A seven decade thumbwheel switch can be read for relative indexing. The PCL601USB also has a high level programming command set that includes: branching, looping, conditional statements, time delays, text strings, and I/O which the user can use in the programming mode to fully control all machine functionality. A home input, a set of bidirectional hard and soft limit switch inputs and bidirectional jog inputs are provided for each axis. These features are generally required in most machine control designs. 6 testable TTL, CMOS and 24V compatible inputs and 8 programmable open-collector outputs are provided per axis. The I/O may be used for monitoring and controlling machine operation and/or interaxis coordination. The I/O are accessible independent of the busy state of the axis controls. The PCL601USB has a built-in programmable reset circuit. Reset is automatic on power-up, or by pressing the external reset button. A CD, provided when you purchase the unit, contains this user’s manual, along with the SMC60WIN software, windows virtual comport driver and PCL601USB program examples. The software allows you to write and change programs that are to be stored in the PCL601USB for autostart use, and also upload the program that is stored in the PCL601USB itself for editing and viewing. The software also allows you to save the programs onto your computer hard drive, and easily retrieve them when needed.
4 #L010183September 2005 Methods of Communication There are two methods for sending commands to the PCL601USB. One is to directly talk to the PCL601USB by using Direct Talk Mode. This is usually used with a computer, where the computer gives the PCL601USB serial commands to off-load its processor. A windows driver is provided to communicate with the PCL601USB through a virtual comport from the PC. The driver can be found on the provided CD in the drivers folder. The second way to give commands to the PCL601USB is to use the software program SMC60WIN to either manually control, or to write and send programs. This method is used when the PCL601USB is the main controller. For example: A PCL601USB can replace simple motion control and replace I/O functions when minimal quantities of I/O are required to control specific machinery. Simple motion profiles that can operate with 6 or less inputs and 8 or less outputs can utilize a PCL601USB controller. Baud Rate A term used frequently in serial data communications, a “baud” is defined as the reciprocal of the shortest pulse duration in a data word signal, including start, stop, and parity bits. This is often taken to mean the same as “bits per second”, a term that expresses only the number of “data” bits per second. Very often, the parity bit is included as an information or data bit. The Virtual comport that communitcates with the PCL601USB through the computers USB port accepts a baud rate of 38400 only . Axis Selection Each PCL601USB is addressed using a programmable register allowing the PC to address up to 99 PCL601USB’s. The Default axis is “0”. To change the axis, use the SMC60WIN software or the “~” com- mand. To verify or check the axis, use the SMC60WIN software or the “%” command. The axis designa- tion is nonvolatile and will remain the same until changed by the user. Status LEDs When powered and operated properly, the status LED will be green. When an error occurs, the LED will change to RED, and an error code will be generated in the error code register. To read and clear the error with the software, click on the “Verify Parameters” button located in the “Motion Tab”. To read and clear the error while in “Direct Mode”, use the error code “!” command. Once the error has been read and cleared, the LED will return to green and the error code register will be cleared to 0. Refer to the table on page 39 for a complete list of the error codes. The RX LED will blink when data is being recieved from the PC.The TX LED will blink when data is being transmitted back to the PC. Interfacing With a Step Motor Driver The PCL601USB controller was designed to control a step motor driver. For drivers with “Opto-isolated” inputs, the PCL601USB needs to sink current through the driver’s input LEDs. To do this, connect the +5VDC to the positive terminals of the inputs and connect the clock, direction and on/off outputs of the PCL601USB to the negative terminals of the corresponding inputs on the driver. For a driver with “TTL/ CMOS” inputs, the PCL601USB has a negative going clock that will sink the current from the driver’s inputs. Wire the clock, direction and on/off outputs and 0VDC reference of the PCL601USB to the corre- sponding inputs of the driver respectively. For a PCL601USB controller purchased with an integrated driver and power supply (Driver Pack), these connections are already internally made.
5 #L010183September 2005 Electrical Specifications Power Requirements With No Connections: 5VDC @ 100mA or 8VDC to 24VDC @ 90mA Operating Temperature: 0 to 60 degrees C Pulse Output Range: 1 to 50,000 Hz 10uS negative going pulse width Inputs (TTL-CMOS): Logic “0”: 0 to 0.8VDC Logic “1”: 3.5 to 24VDC Analog input 1: 0 to 5VDCOutputs (CLK,DIR,ON/OFF): Open Drain Type 40VDC, 75mA Baud Rate: 38400 Baud, Fixed Data Format: Half-Duplex, 1 start bit, 8 data bits, no parity, 1 stop bit Outputs (8 programmable): Open Drain Type 40V, 100mA Output1 active low time for output on the fly: 50uS Note: For inductive loads, customers must connect a clamping diode to protect from flyback voltage spikes. Encoder and Driver Output: +5VDC Output, 50mA r e b m u N t r a Pn o i t p i r c s e D B S U 1 0 6 L C P. k c a b d e e f r e d o c n e h t i w r e l l o r t n o c r o t o m p e t s d e r u t a e F 1 1 6 0 5 Y P Dy l p p u s r e w o p d n a B S U 1 0 6 L C P , e v i r d r a o p i b p m a 5 a s e r u t a e F - k c a P e v i r D / r e l l o r t n o C . e g a t l o v s u b r o t o m C D V 8 4 h t iw 1 0 6 L C P. s n o i t a c i n u m m o c 5 8 4 S R / . 2 3 2 S R h t i w r e l l o r t n o c r o t o m p e t S 1 0 6 5 7 D P Dh t i w y l p p u s r e w o p d n a 1 0 6 L C P , e v i r d r a l o p i n u p m a 7 a s e r u t a e F - k c a P e v i r D / r e l l o r t n o C . e g a t l o v s u b r o t o m C D V 0 6 1 0 6 0 1 N P Dh t i w y l p p u s r e w o p d n a 1 0 6 L C P , e v i r d r a l o p i b p m a 0 1 a s e r u t a e F - k c a P e v i r D / r e l l o r t n o C . e g a t l o v s u b r o t o m C D V 0 8 1 0 6 P L M P Dr o t o m C D V 0 6 1 h t i w 1 0 6 L C P d n a e v i r d r a o p i b p m a 8 a s e r u t a e F - k c a P e v i r D / r e l l o r t n o C . e g a t l o v s u b 7 S W T. r e l l o r t n o c s e i r e s 0 6 C M S y n a h t i w e l b i t a p m o c h c t i w s l e e h w b m u h t n o i t i s o p n e v e S B T 9 D S 5 8 4.r e t r e v n o c 5 8 4 S R o t 2 3 2 S R 6 - B A - B S U A A. r o t c e n n o c e l a m B - B S U e n o d n a r o t c e n n o c e l a m A - B S U e n o h t i w e l b a c B S U t o o f 6 6 - C F M 9 A Ae l a m e f e n o d n a r o t c e n n o c 9 B D e l a m e n o h t i w e l b a c n o i t a c i n u m m o c l a i r e s 2 3 2 S R t o o f 6 . r o t c e n n o c 9 B D A 7 . 2 V 4 2 M A S P)A 7 . 2 @ V 4 2 ( . B S U 1 0 6 L C P r o f y l p p u s r e w o P Ordering Information The table below lists a variety of products available from Anaheim Automation, Inc. These products include those covered by this manual, along with supporting cables and devices. We are continually adding new products to our line, so please consult Anaheim Automation, Inc. or its representatives for information on the latest releases.
6 #L010183September 2005 Dimensions/Switch Locations Wiring Diagrams
7 #L010183September 2005 Slide Switch Descriptions r e b m u N h c t i w Sn o i t p i r c s e D 2 W S. 6 d n a 5 s t u p n i r o l e e h w b m u h t e h t r e h t i e t c e l e s o t d e s u s i h c t i w s s i h T Connector Descriptions r e b m u N h c t i w Sn o i t p i r c s e D 1 P. B S U d e l e b a l s i d n a n o i t a c i n u m m o c B S U e h t r o f s i r o t c e n n o c s i h T 1 J. S W T d e l e b a l s i d n a e l u d o m l e e h w b m u h t e h t r o f s i r o t c e n n o c s i h T Terminal Descriptions n o i t i s o Pr e w o P - n o i t p i r c s e D 1tu p n I r e w o P C D V 4 2 - 8 2nr u t e R r e w o P d n u o r G n o i t i s o Pr e d o c n E - n o i t p i r c s e D 1re d o c n e r o f y l p p u s C D V 5 + 2re d o c n e r o f l e n n a h c A 3re d o c n e r o f l e n n a h c B 4re d o c n e r o f n r u t e r d n u o r G n o i t i s o Ps t u p t u O r e v i r D - n o i t p i r c s e D 1r e v i r d d e t a l o s i - o t p o r o f y l p p u S C D V 5 + s t u p n i 2tu p t u o k c o l C 3tu p t u o n o i t c e r i D 4tu p t u o f f o / n o t n e r r u c r o t o M 5d e t a l o s i - o t p o n o n r o f e c n e r e f e r d n u o r G s t u p n i r e v i r d n o i t i s o Ps t u p n I - n o i t p i r c s e D 1tu p n i g o l a n A - 1 t u p n I 2tu p n i y l f e h t n o x e d n I - 2 t u p n I 33t u p n I 44t u p n I 56/ 5 N I n o i t i s o p n i 2 W S - 5 t u p n I 66/ 5 N I n o i t i s o p n i 2 W S - 6 t u p n I 7dn u o r G n o i t i s o Ps t u p t u O - n o i t p i r c s e D 1tu p t u o y l f e h t n o t u p t u O - 1 t u p t u O 22t u p t u O 33t u p t u O 44t u p t u O 55t u p t u O 66t u p t u O 77t u p t u O 8tu p t u o r o r r e s e i r t e r r e d o c n E - 8 t u p t u O n o i t i s o Ps t u p n I h c t i w S t i m i L - n o i t p i r c s e D 1ti m i L e m o H 2+g o J 3-g o J 4go J t s a F 5+t i m i L d r a H 6-t i m i L d r a H 7+t i m i L t f o S 8-t i m i L t f o S 9dn u o r G
8 #L010183September 2005 Section 2: Functions Move Number of Steps: This command causes the motion to start in the direction last specified. This command will move the motor the number of steps given. (Range: 1 to 8388607) Move to Position: The move to position command specifies the next absolute position to go to. The PCL601USB controller automatically sets the direction and number of steps needed to go to that position. (Range: -8388607 to +8388607) Slew: The slew command will accelerate the motor up to maximum speed and continue to run at that speed until reaching a registration mark, hard limit switch, soft limit switch, receiving a “.” (stop hard) or “,” (stop soft) command. Set Position: The set position command sets the position register to a designated value. The number will be the new absolute position of the motor. The default value is 0. (Range: -8388607 to +8388607) Limit Switch Inputs: The limit switch inputs are internally pulled up by a resistor making them normally +5 volts. To activate the input, the pin must be grounded to (0VDC). All limit switch inputs are internally clamped to +5V, thus allowing voltages of upto +24VDC to be used. Hard Limit Inputs: When a hard limit switch is encountered, the motion will stop immediately. The position counter will also cease counting. Hard limits are intended as an emergency stop for your system. It should not be used to do any positioning type functions. These limits are directional. Soft Limit Inputs: These switches should be used exclusively for homing. Once positioned properly with the appropriate parameters, it causes the motor to ramp down to the base speed before encoun- tering the home limit switch. However, the soft limit switch will work for any type of motion command. These limits are directional. NOTE: Whenever a soft limit switch is activated, the motor will decelerate and run at base speed during an indexing move, or stop during a slewing move. Be sure to come back past the soft limit switch to set any origins, otherwise the motor will decelerate as it goes past the soft limit switch during normal operation. Home Limit Input: This switch is used to establish a position designated “home” or datum position using the following: home to soft and home limit, or home to home limit. This limit is not directional. Home to Soft, Home Limit (2 Switch Operation): This type of homing routine requires two grounding type limit switches called home and soft. The first limit switch seen is the soft limit. This will decelerate the motor down to base speed. The motor will then continue to run at base speed until it contacts the home limit switch input causing the motor to stop. The home limit switch activates as a hard limit if a soft limit is not sensed. The soft limit is directional, meaning that it will work in only one direction as specified. The soft limit switch will work for any type of motion command. The home limit switch will work only for the two home motion commands. NOTE: There should be sufficient distance between the two limit switches, as to let the motor reach base speed. Home to Home Limit (1 Switch Operation): This type of homing differs in that only one limit switch is needed. In this homing routine the motor moves toward the home limit switch. When the home limit switch is contacted the motor will ramp down to base speed, reverse direction and continue at base speed until the limit switch is released. This is a good way to compensate for any backlash in a sys- tem. It is also useful for minimizing the number of limit switches needed for homing. NOTE: The home switch needs to be low during the entire deceleration and reversing time.
9 #L010183September 2005 Jog Inputs: The jog switch inputs are internally pulled up by a resistor making them normally +5 volts. To activate the input, the pin must be grounded to (0VDC). All jog switch inputs are internally clamped to +5V, thus allowing voltages of upto +24VDC to be used. Jog is a manual function. The user can select the direction and speed (fast or slow) by grounding the appropriate combinations of inputs. To jog a motor, it is necessary to ground the jog input for the direction desired. For fast jog, both the fast input and jog input for the appropriate direction must be low at the same time. By grounding one of the jog inputs, the user causes the motor to run at base speed. When the fast input is grounded, the motor will then accelerate to the programmed jog speed. The position register will keep track of the number of steps that are taken during jogging. Once a +jog or a -jog function has been performed, the direction register will retain the last direction of movement; that is, a subsequent go command will be in the same direction as the last jog command. Inputs: All inputs (except input 1) are internally pulled up by a resistor making them normally +5 volts. To activate the input, the pin must be grounded to (0VDC). All inputs are internally clamped to +5V, thus allowing voltages of upto +24VDC to be used. Six inputs are provided per axis. The inputs are TTL, CMOS and 24V compatible. The inputs may be used to initiate a machine cycle, for inter-axis coordination (in stored program mode), for operator intervention, for sensing a machine condition such as out of stock or wait for temperature to be reached, etc. A grounded input will read a “0” and an open or high input will read as a “1”. Input 1 is a special input that is capable of reading an analog voltage between 0 and +5VDC. Since this input does not have a pull-up resistor, biasing of this input is needed if it is not used as an analog input. Inputs 5 and 6 are used together with the thumbwheel switch. To use inputs 5 and 6, SW2 must be in the IN5/6 position. If SW2 is in the TWS position, then these two inputs are not connected to the processor. Analog Input: Input 1 can be configured to read an analog voltage to either set the absolute position of the motor or to set the maximum speed of the motor. To set the position, when told via the goto analog position command, the input will read a voltage between 0 and +5VDC and based on the” upper and lower” limits of the function, a move will occur to a calculated position between the two limits. The motor must finish the move before it can be told to read the input again for the next position. For example, if the lower limit is set to 0 and the upper limit is set to 5000 and the analog position is set at +2.0VDC, then the motor will move to position 2000. Changing the lower limit to 1000 and the voltage to +3.2VDC, the motor will move to position 3560. See examples below for calculations of the analog inputs. (Range of limits: 0 to 65535 and the lower limit < upper limit) To set the max speed, when told via the set analog speed command the input will read a voltage between 0 and +5VDC, and based on the “upper and lower” limits of the function, a max speed can be obtained based on a calculated frequency between the two points. The speed however can not be changed when the DPY50601 is busy (moving). See examples below for calculations of the analog inputs. (Range of limits: 0 to 50000 and the lower limit < upper limit) Analog calculations. Example1: Example2: (Upper-Lower) * (Voltage/5) = X (5000 - 0) * (2 / 5) = 2000 (5000 - 1000) * (3.2 / 5) = 2560 Lower + X = Position or Frequency 0 + 2000 = 2000 1000 + 2560 = 3560 Outputs: Eight outputs are provided per axis. Outputs may be used to operate relays, coolant valves, air cylinders, or, with the correct interfacing, any electronically controlled device. The outputs can drive all types of common peripheral power loads, including lamps, relays, solenoids, LED’s, printer heads, and heaters. For inductive loads, it will be necessary to connect a clamping diode (refer to specification section) from the output to the power source in order to provide adequate fly-back protection. The outputs are current sinking, open collector darlingtons. They are capable of sinking up to 100mA per output with voltages up to 40VDC. Turning an output on will pull the output pin to ground and turning an output off will make the output pin open. Output 1 has a special function (output on the fly) that will enable it to be triggered at a certain absolute position during a move. Output 8 has a special function that will trigger when the encoder retries function fails.
10 #L010183September 2005 Output on the fly: This special function enables output 1 to turn on during a relative index or absolute move. There are three critical portions of information needed to make this function work correctly. First, output 1 will turn on (0VDC) for a preset delay of 50uS at a specific absolute position set by the 1st output position command. Second, the output can then repeat this after a preset amount of steps set by the number of steps between outputs command, and third a predetermined amount of times to set the output is required by the number of outputs command which determines the preset amount of times to trigger the output. So if you start at position 0 and want to move to an absolute position of 10,000, you can set output 1 to turn on at position 2000, and every 1000 steps after that 5 times. So at position 2000, 3000, 4000, 5000, and 6000 output 1 will turn on for 50uS. To only have the output turn on at one position set both the “number of steps between outputs” and the “number of outputs” commands to 0. This function must be enabled, and will only work during a relative index or absolute position move. The output will trigger while going in either direction. If you do not want the output to trigger in the negative direction, the function must be turned off before the index move is started. Index on the Fly: This special function uses Input 2 when a motor is slewing to move a predetermined amount of steps, set with the registration index command, before stopping. This function must be enabled, and will only work during a slew move. The registration index must be set before movement begins. (Range: 1 to 8388607) End of Program: The end of program command, used within a stored program, stops execution of the program. This command must be used at the end of all programs. Wait: In stored program mode, the wait command pauses the program for the specified number of milliseconds. (Range: 1 to 65535) If/Then Statements: The if/then statements are conditional based on the values preset in the program. The user can either test each individual input or all inputs at once. If the input or input register matches the given value or values, then the program will execute the next line. If the input or input register does not match the given value, the program will skip the next line and execute the following line. An open input is read as a 1, and a grounded input is read as a 0. Branching or Goto Statements: The goto instruction will have the program jump to the given label. If no label is in the program, it will error when trying to send. Return from Subroutine: This function can be placed anywhere in the program as long as a goto statement has been already executed. The program will jump back to the last goto statement encoun- tered and execute the next line in the program. Inner and Outer Loop: The loop instructions allow the user to loop a program a variable number of times. The program will loop to the designated label location of the program. However , the label must always be at a lower line number than the loop instruction itself. You can only nest inner loops inside an outer loop. You may not nest an inner loop inside an inner loop, or an outer loop inside an outer loop. Multiple nested inner loops are allowed in one outer loop. Finish Move: When writing a program, the finish move command is used directly after every motion command. When using this command, the PCL601USB internally generates a busy signal and will wait until the move is complete before executing any further commands. Unless the finish move command is used, the PCL601USB will continue to execute the program. If it encounters a command that cannot be used when the motor is moving, the PCL601USB will error and stop the program prematurely. Repeat Last Move: This command will move the motor the number of steps given in the last indexing move. This command will not work correctly if the encoder autocorrect function is enabled.