User's Manual

PMAC User Manual
54 Setting Up a Motor
To the beginner, the need to specify addresses for input and output may seem cumbersome. However, for
basic applications, most can use the sensible default values (Motor n uses DACn, Encoder n, and Flags n),
and the ability to assign inputs and outputs at will provides unprecedented flexibility in more
sophisticated applications.
Hex vs. Decimal Reporting
If I9 is 0 or 1, PMAC will report address I-variable values as decimal numbers. If I9 is 2 (default) or 3, it
will report these values as hexadecimal numbers. Usually, it is much easier to interpret these values as
hexadecimal numbers, especially when alternate modes are used, because the address digits themselves
can be seen. For example, setting I102 to $C003 (49155) specifies the use of DAC1 for Motor #1
command output in the normal bipolar mode.
Setting bit 16 to 1 tells PMAC to use the register in unipolar (magnitude and direction) mode. In
hexadecimal form, PMAC would report this value back as $1C003, so the address is still obvious, but in
decimal form, PMAC would report 114691, completely obscuring the address.
Selecting the Output(s)
Variable Ix02 determines in which register (or pair of registers, if PMAC-commutated) motor x places its
command output every cycle. The value of Ix02 is the address of the register. Usually, this is a digital-
to-analog-converter (DAC) register. The default value of Ix02 is the register address of DACx (e.g.,
Motor 1 uses DAC1 by default).
Pulse and Direction Output
PMAC can command drives that accept pulse-and-direction inputs — stepper drives and stepper-
replacement servo drives. The analog output from PMAC is converted to a pulse train through a voltage-
to-frequency converter on the Acc-8D Opt 2 board. The PMAC output must be set in sign-and-magnitude
mode by setting bit 16 of Ix02 to 1. The pulse train can be fed back to PMAC for a simulated servo loop,
or an actual encoder can be used.
Selecting the Position Loop Feedback
Variable Ix03 determines from which register Motor x gets its actual position information to close its
position loop every servo cycle. The value of Ix03 is the address of the register. Usually, this register is
the Encoder Conversion Table and contains processed information from a feedback device. With the
default setup of the Encoder Conversion Table, the default value of Ix03 is the register address of
processed data from Encoder x (e.g., Motor 3 uses Encoder 3 by default).
Selecting the Velocity Loop Feedback
Variable Ix04 determines from which register Motor x gets actual position information to close its
velocity loop every servo cycle. The value of Ix04 is the address of the register. Usually, this register is
in the Encoder Conversion Table and contains processed information from a feedback device. With the
default setup of the Encoder Conversion Table, the default value of Ix04 is the register address of
processed data from Encoder x (e.g. Motor 3 uses Encoder 3 by default).
Dual Feedback Systems
In most systems, this register is the same register that is used for closing the position loop, which means
that Ix03 equals Ix04. However, the concept of dual feedback is becoming increasingly popular in motion
systems today. In such a system, there are position sensors on both the motor and the load.