User's Manual

PMAC User Manual
PMAC Features 23
PMAC FEATURES
Executing Motion Programs
The most obvious task of PMAC is executing sequences of motions given to it in a motion program.
When told to execute a motion program, PMAC works through the program one move at a time,
performing all the calculations up to that move command (including non-motion tasks) to prepare for
actual execution of the move. PMAC is always working ahead of the actual move in progress, so it can
blend properly into the upcoming move, if required. Refer to the Writing Programs for PMAC section of
this manual for more details.
Executing PLC Programs
The sequential nature of motion program suits it well for commanding a series of moves and other
coordinated actions; however these programs are not good at performing actions that are not directly
coordinated with the sequence of motions. For these types of tasks, PMAC provides the capability for
users to write PLC programs. These are named after Programmable Logic Controllers because they
operate in a similar manner, continually scanning through their operations as fast as processor time
allows. These programs are very useful for any task that is asynchronous to the motion sequences. Refer
to the Writing Programs for PMAC section of this manual for more details.
Servo Loop Update
In an automatic task that is essentially invisible to the PMAC user, PMAC performs a servo update for
each motor at a fixed frequency (usually around 2 kHz). The servo update for a motor consists of
incrementing the commanded position (if necessary) according the equations generated by the motion
program or other motion command, comparing this to the actual position as read from the feedback
sensor, and computing a command output based on the difference. This task occurs automatically without
the need for any explicit commands. Refer to the Closing the Servo Loop section of this manual for more
details.
Commutation Update
If PMAC is requested to perform the commutation for a multiphase motor, it will perform commutation
updates automatically at a fixed frequency (usually around 9 kHz). The commutation, or phasing, update
for a motor consists of measuring and/or estimating the rotor magnetic field orientation, then apportioning
the command that was calculated by the servo update among the different phases of the motor. This task
occurs automatically without the need for any explicit commands. Refer to the Setting up PMAC
Commutation section of this manual for more details.
Housekeeping
PMAC regularly and automatically performs housekeeping tasks that make sure the system is in good
working order. These tasks include the safety checks, such as following error limits, hardware overtravel
limits, software overtravel limits, and amplifier faults. They also include the update of the watchdog
timer.
If any problem in hardware or software keeps these tasks from executing, the watchdog timer will trip,
and the card will shut down. Refer to the Making Your Application Safe section of this manual for more
details.
Communicating With the Host
PMAC can communicate with the host at any time, even in the middle of a sequence of motions. PMAC
will accept a command, and take the appropriate action (putting the command in a program buffer for
later execution), providing a data response to the host, starting a motor move, etc. If the command is
illegal, it will report an error to the host.