User's Manual

PMAC2 User Manual
Setting Up PMAC2 for MLDT Feedback 77
WY:$0729,$30C018,$07FFFF,32 ; Parallel read of Timer 4
WY:$072C,$30C000,$07FFFF,32 ; Parallel read of Timer 5
WY:$072F,$30C008,$07FFFF,32 ; Parallel read of Timer 6
WY:$0732,$30C010,$07FFFF,32 ; Parallel read of Timer 7
WY:$0735,$30C018,$07FFFF,32 ; Parallel read of Timer 8
The resulting values from these conversions are in the following registers:
Channel 1
X:$0722
Channel 2
X:$0725
Channel 3
X:$0728
Channel 4
X:$072B
Channel 5
X:$072E
Channel 6
X:$0731
Channel 7
X:$0734
Channel 8
X:$0737
Motor variables Ix03 and Ix04 should contain the addresses of these resulting values to use the MLDT for
position- and velocity-loop feedback, respectively.
PMAC2 Servo Loop I-Variable Setup
Position Loop Feedback Address: Ix03
The MLDT position is commonly used in the servo loop. If it is used for the position loop feedback of
Motor x, Ix03 should contain the address of the result register in the conversion table for the appropriate
MLDT value – $0722 in the example above.
Velocity Loop Feedback Address: Ix04
If the MLDT position is also used for the velocity loop feedback of Motor x (this is the usual case), Ix04
should also contain the address of the result register in the conversion table.
Master Position Address: Ix05
If the MLDT position is used for the master position of Motor x, Ix05 should contain the address of the
result register in the conversion table.
Absolute Power-Up Position Address: Ix10
In order to use the MLDT as an absolute position sensor, reporting the proper position on power-up and
reset, Ix10 must be set to read the MLDT timer register directly on power-up/reset. If Ix10 is left at its
default value of 0, PMAC will report the power-up/reset position as 0, regardless of what the MLDT
reports, and change position incrementally from there.
To read the MLDT timer register, Ix10 should be set to $17aaaa where 17hex (=23dec) tells PMAC to
read all 23 bits of the timer register, and aaaa is the address of the timer register (as above, $C000 for
Timer 1, $C008 for Timer 2, etc.).
Remember that Ix10 will read the timer during the power-up/reset cycle, before any user programs or
commands have had a chance to be executed. In an actual power-up, this will occur before a pulse
frequency setting has been made to create an output pulse. Therefore it is required to do an extra software
reset of the card after writing to the pulse frequency register, either with a PLC program (see the PFM
Output Frequency section), or with on-line commands from the host computer.
Example:
To set up Motors 1 to 8 to use MLDT timers 1 to 8, respectively, for absolute power-up/reset position, the
following settings should be used:
I110=$17C000 I510=$17C020
I210=$17C008 I610=$17C028
I310=$17C010 I710=$17C030
I410=$17C018 I810=$17C038