User`s manual

5.0 - Motion Programs
Page - 44
5.4 - Running a MOTION PROGRAM
1) Select the Coordinate System where the motion program will be running under. This is done by issuing the command
& followed by the coordinate system number, like &1 for the coordinate system one.
2) Select the program that you want to run with the B{constant} command, where the {constant} represents the
number of the motion program buffer. You must use the B command to change motion programs, and after any motion
program buffer has been opened. You do not have to use it if you are repeatedly running the same motion program
without modification; when PMAC finishes executing a motion program, the program counter for the coordinate
system is automatically set to point to the beginning of that program, ready to run it again.
3) Once you are pointing to the motion program you wish to run, you may issue the command to start execution of the
program. If you wish continuous execution of the program, use the R command (<CTRL-R> for all coordinate
systems simultaneously). The program will execute all the way through unless stopped by command or error
condition.
4) If you wish to execute just one move, or a small section of the program, use the S command (<CTRL-S> for all
coordinate systems simultaneously). The program will execute to the first move DWELL, or DELAY, or if it first
encounters a BLOCKSTART command, it will execute to the BLOCKSTOP command.
5) When a run or step command is issued, PMAC checks the coordinate system to make sure it is in proper working
order. If it finds anything in the coordinate system is not set up properly, it will reject the command, sending a
<BELL> command back to the host. If I6 is set to 1 or 3, it will report an error number as well telling the reason the
command was rejected. PMAC will reject a run or step command for any of the following reasons:
A motor in the coordinate system has both overtravel limits tripped (ERR010)
A motor in the coordinate system is currently executing a move (ERR011)
A motor in the coordinate system is not in closed-loop control (ERR012)
A motor in the coordinate system in not activated {Ix00=0} (ERR013)
There are no motors assigned to the coordinate system (ERR014)
A fixed (non-rotary) motion program buffer is open (ERR015)
No motion program has been pointed to (ERR016)
After a / or \ stop command, a motor in the coordinate system is not at the stop point (ERR017)
6) Before starting the program is convenient to issue a CTRL+A command to PMAC to ensure that all the motors will be
potentially in closed loop and that all previous motions are aborted. Also, if in doubt, the functioning of each motor
could be check individually prior to run a program by means of Jog commands. For example, “#1J^2000 will
make motor #1 move 2000 encoder counts and that would be a way to confirm if the motors are able to run motion
programs or not.
7) All motors in the addressed coordinate system have to be ready to run a motion program. Depending on Ix25, even if
one motor defined in the coordinate system is not closing the loop, all motors in the coordinate system could be brought
down impeding of running any motion program.
8) Sometimes the feedrate override for the current addressed coordinate system is set at zero and no motion will occur in
result of this. Check the feedrate override parameter by issuing a “&1%” command on the terminal window (replace 1
for the appropriate coordinate system number). If is zero or too low, set it to an appropriate value. The “&1%100
command will set it to 100 %.
9) For troubleshooting purposes it is a good technique to change the feedrate override to a lower than 100% value. If the
program is run for the first time, a preceding “%10” command could be issued to run the motion program in “slow”
motion. Running the program slowly will allow observing the programmed path more clearly, it will demand less
calculation time from PMAC and it will prevent damages due to potentially wrong acceleration and/or feedrate
parameters.
10) A motion program could be stopped by sending a “&1a” or, for simplicity, a CTRL+A command which will stop any
motion taking place in PMAC.
11) If the motion of any axis becomes uncontrollable and is desired to be stopped, a CTRL+K command could be issued
“killing” all the motors in PMAC (disabling the amplifier enable line if connected). However, the motor will come to a
stop in an uncontrollable way and might proceed to move due to its own inertia.
12) A motion program could also be stop by issuing a CTRL+Q command. The last programmed moves in the buffer will
be completed before the program quits execution. It could be resumed by issuing an “R” command alone, without first
pointing to the beginning of the buffer by the “B” command.