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)