Reference Manual

PMAC 2 Software Reference
412 PMAC I/0 and Memory Map
General Global Registers
$0770 - $077F
Open memory; cleared to 0 on power-on/reset
(useful for 24-bit M-variables)
(1904-1919)
Y:$0780 - Y:$07D1
LCD Display character memory (1920-2001)
X:$0780 (1920)
Dwell (fixed) feedpot (I10)
X:$0781 (1921)
Jog-to-position move delay time (I12)
X:$0782 (1922)
Programmed move delay time (I11)
X:$0783 - X:$078C
VME address and vector values (See VME
Interface Document for details)
(1923 - 1932)
X:$0786 - X:$0787
PC Dual-ported RAM host address registers (See
Option 2 Manual for details)
(1926 - 1927)
X:$078D (1933)
Move segmentation time (I13)
X:$078E (1934)
Hold feedpot value (must be zero)
X:$078F (1935)
Addressed motor/coordinate system word
Bits
0-2 Motor number minus 1 (#n-1)
3-5 Coordinate system number minus 1 (&n-1)
X:$0790 (1936)
Card software address
X:$0794 (1940)
Running software checksum value (frozen if any error)
X:$07A1 (1953)
# of MACRO ring errors since power-on/reset
X:$07B1 (1969)
PROM (Firmware) Reference checksum value
X:$07B2 (1970)
User Program Reference checksum value
X:$07B3 (1971)
Defined buffer checksum value
X:$07B9 (1977)
Data gathering source mask (I20)
X:$07BA - X:$07D1
(1978 - 2001)
Data gathering source addresses (I21-I44)
Y:$07EF (2031)
Watchdog timer minimum value since power-on/reset
$07F0 - $07FF
(2032 - 2047)
Open registers (useful for creating 24-bit M-variables to
handle rollover of other 24-bit registers); on PMACs
without flash memory (no option CPU) these are stored
in battery-backed RAM
Motor and Coordinate System Status and Control Registers
The addresses given in this section are for Motor 1 and Coordinate System 1. Table headers for each set
of 16 registers give the starting addresses of the set for each Motor/C.S. For the register of another Motor
x or C.S. x, add (x-1)*$C0 or (x-1)*192 to the appropriate Motor 1 or C.S. 1 address.
Example: For the Motor 4 target position register, using the table compute $0A40 + ($080B-$0800) =
$0A4B. Using the formula, compute (4-1)*$C0 + $080B = $0A4B
Mot/CS
1 2 3 4 5 6 7 8
Hex
[$0800] [$08C0] [$0980] [$0A40] [$0B00] [$0BC0] [$0C80] [$0D40]
Decimal
2048 2240 2432 2624 2816 3008 3200 3392
L:$0800 (2048)
Motor #1 jog speed (Ix22) [floating point]
L:$0801 (2049)
Motor #1 jog max. accel (Ix19) [float. pt.]
X:$0802 (2050)
Motor #1 jog/home S-curve time (Ix21)
Y:$0802
Motor #1 jog/home accel time (Ix20)
X:$0803 (2051)
Motor #1 flag pointer and mode (Ix25)
Y:$0803
Motor #1 fatal following error limit (Ix11)
L:$0804 (2052)
Motor #1 limit/abort accel (Ix15) [flt. pt.]
X:$0805 (2053)
Motor #1 in-position band (Ix28)