User`s manual

1.0 - Introduction to PMAC
Page - 11
1.6.8 - Priority Level Optimization
PMAC will usually have enough speed and calculation power to perform all of the tasks asked of it without the user having
to worry. Some applications will put a large demand on a certain priority level and to make PMAC run more efficiently
some priority level optimization should be done. When PMAC begins to run out of time, problems such as sluggish
communications, slow PLC/PLCC scan rates, run-time errors, and even tripping the Watchdog timer can occur.
- The active part of the Encoder Conversion Table is ended by the first Y word that is equal to all zeros. For an
application with less than 8-encoders (the default table converts the eight incremental encoder registers on the base
PMAC) a last entry with all zeros in the Y word could be defined as necessary.
- Check to see if everything performed in the Real Time Interrupt (RTI) is necessary or if some of it could be moved to a
lower priority or slowed down. PLC0 could maybe be done as PLCC1, or the RTI could be done every 4th or 5th servo
cycle setting I8=3 or higher.
- Large PLC programs can be split into a few shorter PLC programs. This increases the frequency of Housekeeping and
communications by giving more breaks in PLC scans.
- Motion program WHILE (condition)WAIT statements could be done as follows;
WHILE (condition)
DWELL20
ENDWHILE
This will give more time to other RTI jobs such as Move Planning and PLC/PLCC0.
- If your routines of lower priority than the servo loop are not executing fast enough, you should consider slowing down
the servo update rate (increasing the update time). You may well be updating faster than is required for the dynamic
performance you need. If so, you are just wasting processor time on needless extra updates. For example, doubling the
servo update time from 442 µsec to 885 µsec, virtually doubles the time available for motion and PLC program
execution, allowing much faster motion block rates and PLC scan rates. This frequency change could be executed
either by jumpers or individually per motor by means of the Ix60 variable.
- A faster than 20 MHz PMAC will perform calculations faster, in proportion to the corresponding clock rate increase. In
general a clock rate increase is desirable to increase the real time interrupt (RTI) share of the total computational time
available. These cases include applications where large move calculations are involved (small-moves contouring),
maintaining the same servo-loop rate and therefore the same control performance.
20 MHz PMAC,
8 commutated servo-
motors
40 MHz PMAC,
8 commutated servo-
motors
20 MHz PMAC,
8 non-commutated
servo-motors
40 MHz PMAC,
8 non-commutated
servo-motors
Servo Cycle
Phase Cycle
Real
-
Time
Interrupt
Background
Cycle