Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
236
 
Turbo PMAC Computational Features 
The servo clock frequency is determined by: 
• 
Jumpers E98, E29 – E33, and E3 – E6 on a Turbo PMAC 
• 
I7m00, I7m01, and I7m02 (for clock-source Servo IC m as set by I19) on a (non-Ultralite) Turbo PMAC2 
• 
I6800, I6801, and I6802 on a Turbo PMAC2 Ultralite 
The default update frequency is 2.25 kHz (440 
µsec cycle).  At the default, the servo update of each 
motor takes approximately 1% of Turbo PMAC’s computational power.  See Closing the Servo Loop for 
information on optimizing this update rate. 
Real-Time Interrupt Tasks 
The real-time interrupt (RTI) tasks are the fourth highest priority on Turbo PMAC.  They occur 
immediate after the servo update tasks at a rate controlled by parameter I8 (every I8+1 servo update 
cycles).  There are two significant tasks occurring at this priority level: motion program move planning 
and the PLC 0 programs (interpreted and compiled). 
Motion Program Move Planning 
Motion program move planning consists of working through the lines of a motion program until the next 
move or dwell command is encountered, and computing the equations of motion for this next part of the 
move sequence.  Every time Turbo PMAC starts executing a new move, it sets an internal flag indicating 
that it is time to plan the next move in the program.  This planning occurs at the next RTI. 
PLC Program 0, Compiled PLC Program 0 
PLC 0 and PLCC 0 (compiled PLC 0) are special PLC programs that execute at a higher priority than the 
other PLC programs.  They are meant to be used for only a few tasks that must be done at a higher 
frequency than the other PLC tasks.  PLC 0 and PLCC 0 will execute every real-time interrupt as long as 
the tasks from the previous RTI have been completed.  PLC 0 and PLCC 0 are potentially the most 
dangerous tasks on Turbo PMAC as far as disturbing the scheduling of tasks is concerned.  If they are too 
long, they will starve the background tasks for time.  The first thing you will notice is that 
communications and background PLC tasks will become sluggish.  In the worst case, the watchdog timer 
will trip, shutting down the card, because the housekeeping tasks in background did not have the time to 
keep it updated. 
VME Mailbox Processing 
Reading or writing a block of up to 16 characters through the VME mailbox registers is the 5th highest 
priority in Turbo PMAC.  The rate at which this happens is controlled by the host.  This never takes a 
significant portion of Turbo PMAC’s computational power. 
Background Tasks 
In the time not taken by any of the higher-priority tasks, Turbo PMAC will be executing background tasks.  
There are three basic background tasks: command processing, interpreted and compiled PLC programs 1-
31, and housekeeping.  The frequency of these background tasks is controlled by the computational load on 
Turbo PMAC: the more high-priority tasks are executed, the slower the background tasks will cycle 
through; and the more background tasks there are the slower they will cycle through. 
Interpreted PLC Programs 1 – 31 
 Interpreted PLC programs 1 – 31 are executed in background.  Each background cycle, Turbo PMAC 
will execute one scan (to the end or to an ENDWHILE statement) of a single active interpreted background 
PLC program uninterrupted by any other background task (although it can be interrupted by higher 
priority tasks).  In between each scan of each interpreted background PLC program, Turbo PMAC will do 
its general housekeeping, and respond to a host command, if any.