Delta Tau GEO PMAC Manual Do Utilizador
Geo PMAC Drive User Manual
Setting Up Encoders
49
Encoder Conversion Table Setup
The encoder conversion table provides a pre-processing of the raw SSI feedback data so it can be used by
the PMAC motor software properly. The encoder conversion table can be set up through an interactive
menu in the Setup program (pending) or the Executive program, or by direct memory write commands.
the PMAC motor software properly. The encoder conversion table can be set up through an interactive
menu in the Setup program (pending) or the Executive program, or by direct memory write commands.
The Geo PMAC will read the SSI encoder data as “parallel feedback”. The source data appears in
register Y:$FF54 for Channel 1 and Y:$FF74 for Channel 2. Generally, the user should employ the “Y-
word parallel, with filtering” conversion format (method $3). This is a 3-line entry in the conversion
table.
register Y:$FF54 for Channel 1 and Y:$FF74 for Channel 2. Generally, the user should employ the “Y-
word parallel, with filtering” conversion format (method $3). This is a 3-line entry in the conversion
table.
The first line of the entry specifies the method and the source address. It should be $30FF54 to use
Channel 1, or $30FF74 to use Channel 2.
Channel 1, or $30FF74 to use Channel 2.
The second line of the entry specifies which bits of the source register are used. It should be set to
$000FFF for the 12-bit word length, to $00FFFF for the 16-bit word length, to $0FFFFF for the 20-bit
word length, or to $FFFFFF for the 24-bit word length.
$000FFF for the 12-bit word length, to $00FFFF for the 16-bit word length, to $0FFFFF for the 20-bit
word length, or to $FFFFFF for the 24-bit word length.
The third line of the entry specifies the maximum change in one servo cycle that will be accepted as real.
It should be set to a value slightly greater (e.g. ~25%) than the maximum true velocity expected,
expressed in counts per servo cycle.
It should be set to a value slightly greater (e.g. ~25%) than the maximum true velocity expected,
expressed in counts per servo cycle.
The result of the conversion is in the X-register at the address of the last line of the entry. This address
will be used by any task that needs to access the result. In the result register, the LSB from the encoder
has been shifted left 5 bits – equivalent to a multiplication by 32, so the units of this result register are
1/32-count.
will be used by any task that needs to access the result. In the result register, the LSB from the encoder
has been shifted left 5 bits – equivalent to a multiplication by 32, so the units of this result register are
1/32-count.
If the filtered parallel-read entry is the first entry in the ECT, its result will be in register X:$0722. If a
second filtered parallel-read entry immediately follows, its result will be in register X:$0725.
second filtered parallel-read entry immediately follows, its result will be in register X:$0725.
Direct Memory Write Example
There is a 24-bit SSI encoder with a maximum speed of 200 LSBs per servo cycle connected to Channel
1, and a 16-bit SSI encoder with a maximum speed of 100 LSBs per servo cycle connected to Channel 2.
The following direct memory-write commands could be used to set up the encoder conversion table for
these sensors:
1, and a 16-bit SSI encoder with a maximum speed of 100 LSBs per servo cycle connected to Channel 2.
The following direct memory-write commands could be used to set up the encoder conversion table for
these sensors:
WY:$0720,$30FF54,$FFFFFF,256
; 24-bit read from SSI Channel 1, 256 cts/cycle max
WY:$0723,$30FF74,$00FFFF,128
; 16-bit read from SSI Channel 2, 128 cts/cycle max
The result of the first conversion is in X:$0722 (the third line of the first entry); the result of the second
conversion is in X:$0725 (the third line of the second entry).
Motor I-Variables
Ix03, Ix04: Position-Loop and Velocity-Loop Feedback Address
Ix03 and Ix04 specify the address of the X-register to be read for the feedback for Motor x’s position loop
and velocity loop, respectively. Unless dual feedback is used for the motor, these two variables will
specify the same address and so have the same value. These variables expect the specified register to
have data in units of 1/32-count.
and velocity loop, respectively. Unless dual feedback is used for the motor, these two variables will
specify the same address and so have the same value. These variables expect the specified register to
have data in units of 1/32-count.
To use SSI feedback for these loops, these variables should specify the address of the result register in the
encoder conversion table.
encoder conversion table.
Ix10: Absolute Power-On Position and Format
Ix10 specifies the address of the register to be read for the absolute power-on position for Motor x, and