Reference Manual
PMAC 2 Software Reference 
PMAC I/0 and Memory Map  399 
Motor Calculation Registers: PMAC(1), PID Servo Algorithm 
This section provides addresses for motor calculation registers for PMAC(1) boards with the standard 
PID servo algorithm (without the Option 6 Extended Servo Algorithm). 
The addresses given are for Motor #1. For the registers for another motor x, add (x-1)*$3C – (x-1)*60 – 
to the appropriate motor #1 address. The address table shown every 16 addresses (every 10hex) gives the 
matching addresses for motors 1-8 to make address calculations easier. 
Example: Using the table, Motor 6’s actual position address is $014C + ($28-$20) = $0154. Using the 
formula, it is (6-1)*$003C+$0028 = $0154. 
Motor # 
1 2 3 4 5 6 7 8 
Hex 
[$0020] [$005C] [$0098] [$00D4] [$0110] [$014C] [$0188] [$01C4] 
Decimal 
32  92  152 212 272 332 392 452 
D:$0020 (32) 
Time left in move (X-register units msec*2 at %100) 
D:$0021 (33) 
Present desired jerk residual 
D:$0022 (34)   
Present desired jerk (dA/dt) 
D:$0023 (35)   
Present desired acceleration residual 
D:$0024 (36) 
Present desired acceleration (X-register units 6/[Ix08*32] cts/msec
2
at %100); Y is fractional 
D:$0025 (37) 
Present desired velocity residual 
D:$0026 (38) 
Present desired velocity (X-register units 3/[Ix08*32] cts/msec at 
%100); Y is fractional 
D:$0027 (39) 
Present desired position residual 
D:$0028 (40) 
Present desired position (1/[Ix08*32] counts) 
X:$0029 (41) 
Address of position feedback (Ix03) 
Y:$0029 
Position scaling factor (Ix08) 
X:$002A (42) 
Address of master (handwheel) register (Ix05) 
Y:$002A 
Previous actual position value 
D:$002B (43) 
Present actual position (1/[Ix08*32] counts) 
X:$002C (44) 
Master (handwheel) scale factor (Ix07) 
Y:$002C 
Previous master (handwheel) position 
D:$002D (45)   
Present master (handwheel) position (1/[Ix07*32]cts of the master or 
1/[Ix08*32]cts of the slaved motor) 
X:$002E (46) 
Feedpot (timebase) pointer 
Y:$002E 
Servo cycle extension (Ix60) 
D:$002F 
Previous net desired position (1/[Ix08*32] counts) 
Motor # 
1 2 3 4 5 6 7 8 
Hex 
[$0030] [$006C] [$00A8] [$00E4] [$0120] [$015C] [$0198] [$01D4] 
Decimal 
48  108 168 228 288 348 408 468 
X:$0030 (48) 
Velocity feedforward gain (Ix32) 
Y:$0030 
Previous desired velocity (1/[Ix08*32] cts/servo cycle) 
X:$0031 (49) 
Address of “velocity” encoder (Ix04) 
Y:$0031 
Previous “velocity” position 
X:$0032 (50) 
Acceleration feedforward gain (Ix35) 
Y:$0032 
“Velocity” scaling factor (Ix09) 
X:$0033 (51) 
Actual velocity (1/[Ix09*32] cts/[Ix60+1]servo interrupts) 
Y:$0033 
Derivative gain (Ix31) 










