Reference Guide

PMAC Quick Reference Guide
70 Troubleshooting
If holding position well, but cannot move the motor, probably the hardware limits are not being held low.
Check which limits I125 is addressed to (usually +/-LIM1), then make sure those points are held low (to
AGND), and sourcing current (unscrew the wire from the terminal block and put the ammeter in series
with this circuit to confirm this). Refer to the section Installing and Configuring PMAC for details on
checking the limit inputs.
If the motor dies after it has been given a JOG command, the fatal following error limit has been
exceeded. If this has happened, it is either because a move has been requested that is more than the
system can physically do (if so, reduce I122), or because it is very badly tuned (if this is the case, increase
proportional gain I130). To restore closed-loop control, issue the J/ command.
Motion Programs
If the program does not run at all, there are several possibilities:
1. Can the program be listed? In terminal mode, type LIST PROG 1 (or whichever program), and see if
it is there. If not, try to download it to the card again.
2. Is the program buffer closed? Type A just in case the program is running; type CLOSE to close any
open buffer; type B1 (or the program #) to point to the top of the program; and type R to try to run it
again.
3. Can each motor in the coordinate system be jogged in both directions? If not, review that motor’s
setup.
4. Have any motors been assigned to the coordinate system that is not really set up yet? Every motor in
the coordinate system must have its limits held low, even if there is no real motor attached.
Try the following steps for any other motion program problem:
1. Type &1%100 in the terminal window.
2. Check that only one of the motors can be jogged that is to be used in the motion program.
3. Type the following commands in a text editor to be downloaded to PMAC:
close ; Close any buffer opened
delete gather ; Erase unwanted gathered data
undefine all ; Erase coordinate definitions in all coordinate systems
#1->2000X ; Replace #1 for the motor being used and 2000 by the
; appropriate scale factor for the number of counts
; per user units
OPEN PROG 1 CLEAR ; Prepare buffer to be written
LINEAR ; Linear interpolation
INC ; Incremental mode
TA500 ; Acceleration time is 500 msec
TS0 ; No S-curve acceleration component
TM2000 ; Total move time is 500 + 2000=2500 msec
X1 ; One unit of distance, 2000 encoder counts
CLOSE ; Close written buffer, program one
4. To run it, press CTRL+A and then type B1R in the terminal window.
5. Repeat steps 2 through 4 for all the motors intended to run in the actual motion program.
A good method to test motion programs is to run them at lower than one hundred percent override rate.
Any value for n from 1 to 100 in the %n online command will run the motion programs slower, increasing
the chances of success of execution. For example, in the terminal window type: &1 %75 B1R
If a program runs successfully at lower feedrate override values, there can be mainly two reasons why it
fails at 100%: either there is insufficient calculation time for the programmed moves or the acceleration
and\or velocity parameters involved are unsuitable for the machine into consideration. Look for further
details in the PMAC Tasks section.