omron — PMAC Quick Reference

PMAC Quick Reference Guide Conversion Table Structure The Encoder Conversion Table has two columns, one in the X memory space of the processor, and one in the Y memory space. The X-column holds the converted data, while the Y-column holds the addresses of the source registers, and the conversion methods used on the data in each of those source registers. Basically, the table is set up by writing to the Y-column, and PMAC uses the Y-column data to fill up the X-column each servo cycle. The encoder conversion table starts at address $720 (1824 decimal) in PMAC’s memory. It can continue through address $73F (1855 decimal).

The active part of the table is ended by the first Y word that is all zeros. The encoder table as shipped from the factory converts the eight incremental encoder registers on the base PMAC board in locations $720 through $727 (1824 to 1831). Locations $728 and $729 create time base information from the converted Encoder 4 register ($723). Y:$72A is zero, ending the active part of the table. Some conversion types need more than one entry; the other Y-words are further setup parameters for the conversion. The conversion result is placed in the last (highest address) X-word, and the other X-words hold intermediate data. Example:

The result of this time base value based on encoder #4 is placed in register X:$0729, the second and last entry for this conversion. Further Position Processing Once the position feedback signals have been processed by the Encoder Conversion Table (which happens at the beginning of each servo cycle), the data is ready for use by the servo loop. For each activated motor, PMAC takes the position information in the 24-bit register pointed to by Ix03 and extends it in software to a 48-bit register that holds the actual motor position. Several other features are available for conditioning the feedback signal as needed: • Axis Position Scaling:

in the coordinate system axis definition a scale factor determines the relationship between encoder counts and user units to be used in motion programs. • Leadscrew Compensation: a compensation table containing corrective values for errors due to the leadscrew imperfections can be created for each motor. • Backlash Compensation: On reversal of the direction of the commanded velocity, a pre-programmed backlash distance is added to or subtracted from the commanded position. • Torque Compensation Tables: The table belonging to a motor provides a torque correction to that motor as a function of that motor’s position. Programming PMAC 39 $728 (1832) $400723 Time-base from converted Enc.

4 $729 (1833) $000295 Time-base scale factor for above