Delta Tau GEO BRICK LV User Manual
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.
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).
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.
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.
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.
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.
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.
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.